You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2017/04/21 18:16:24 UTC

[2/5] isis git commit: ISIS-1603: updates pom.xml, trivial changes in PageAbstract and PanelAbstract, the TextFieldXxxModels, also ScalarPanelAbstract

ISIS-1603: updates pom.xml, trivial changes in PageAbstract and PanelAbstract, the TextFieldXxxModels, also ScalarPanelAbstract


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/ca40bda0
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/ca40bda0
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/ca40bda0

Branch: refs/heads/ISIS-1603-reapply
Commit: ca40bda015e5f2dd3424cd370b88bbfdbcd03686
Parents: 55ab1f8
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Apr 21 13:31:48 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Apr 21 13:31:48 2017 +0100

----------------------------------------------------------------------
 core/pom.xml                                     | 13 +++++++++++++
 core/viewer-wicket-ui/pom.xml                    |  8 +++++++-
 .../components/scalars/ScalarPanelAbstract.java  | 19 +++++++++++++------
 .../components/scalars/TextFieldStringModel.java | 11 +++++++++++
 .../components/scalars/TextFieldValueModel.java  | 12 ++++++++++--
 .../viewer/wicket/ui/pages/PageAbstract.java     |  4 +++-
 .../viewer/wicket/ui/panels/PanelAbstract.java   |  5 -----
 7 files changed, 57 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/ca40bda0/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index 150c5f1..6fb09a7 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -149,6 +149,7 @@
         <select2.version>4.0.3</select2.version>
 
         <jquery-ui.version>1.11.4</jquery-ui.version>
+        <x-editable.version>1.5.1</x-editable.version>
 
         <guice.version>4.1.0</guice.version>
         <picocontainer.version>2.15</picocontainer.version>
@@ -1626,6 +1627,18 @@ ${license.additional-notes}
 
             <dependency>
                 <groupId>org.webjars</groupId>
+                <artifactId>x-editable-bootstrap</artifactId>
+                <version>${x-editable.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>org.webjars</groupId>
+                        <artifactId>bootstrap</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+
+            <dependency>
+                <groupId>org.webjars</groupId>
                 <artifactId>select2</artifactId>
                 <version>${select2.version}</version>
             </dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/ca40bda0/core/viewer-wicket-ui/pom.xml
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/pom.xml b/core/viewer-wicket-ui/pom.xml
index e2ff0af..43a9353 100644
--- a/core/viewer-wicket-ui/pom.xml
+++ b/core/viewer-wicket-ui/pom.xml
@@ -56,6 +56,7 @@
 	</build>
 
 	<dependencies>
+
 		<dependency>
 			<groupId>org.apache.isis.core</groupId>
 			<artifactId>isis-core-viewer-wicket-model</artifactId>
@@ -92,7 +93,12 @@
 			<artifactId>wicketstuff-select2</artifactId>
 		</dependency>
 
-        <dependency>
+		<dependency>
+			<groupId>org.webjars</groupId>
+			<artifactId>x-editable-bootstrap</artifactId>
+		</dependency>
+
+		<dependency>
             <groupId>org.webjars</groupId>
             <artifactId>select2</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/ca40bda0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
index a394fb4..8f93090 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
@@ -37,6 +37,7 @@ import org.apache.wicket.markup.html.panel.Fragment;
 import org.apache.wicket.model.Model;
 
 import org.apache.isis.applib.annotation.ActionLayout;
+import org.apache.isis.applib.annotation.PropertyEditStyle;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
@@ -74,6 +75,8 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
     protected static final String ID_SCALAR_IF_REGULAR = "scalarIfRegular";
     protected static final String ID_SCALAR_NAME = "scalarName";
     protected static final String ID_SCALAR_VALUE = "scalarValue";
+    protected static final String ID_SCALAR_VALUE_EDIT_INLINE = "scalarValueEditInline";
+    protected static final String ID_SCALAR_VALUE_EDIT_INLINE_LABEL = "scalarValueEditInlineLabel";
 
     protected static final String ID_SCALAR_IF_COMPACT = "scalarIfCompact";
 
@@ -164,7 +167,7 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
     }
 
     protected Rendering getRendering() {
-        return Rendering.renderingFor(getModel().getRenderingHint());
+        return Rendering.renderingFor(scalarModel.getRenderingHint());
     }
 
     protected Component getLabelForCompact() {
@@ -199,7 +202,7 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
 
     /**
      * hook for highly dynamic components, eg conditional choices.
-     * 
+     *
      * <p>
      * Returning <tt>true</tt> means that the component is always rebuilt prior to
      * every {@link #onBeforeRender() render}ing.
@@ -288,8 +291,10 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
     }
 
     protected void addEditPropertyTo(final MarkupContainer markupContainer) {
-        final String disableReasonIfAny = scalarModel.disable(getRendering().getWhere());
-        if (disableReasonIfAny == null && scalarModel.isViewMode()) {
+
+        final PropertyEditStyle editStyle = this.scalarModel.getEditStyle();
+        if(editStyle == PropertyEditStyle.DIALOG) {
+
             final WebMarkupContainer editProperty = new WebMarkupContainer(ID_EDIT_PROPERTY);
 
             editProperty.setOutputMarkupId(true);
@@ -301,11 +306,12 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
                             .getFrom(ScalarPanelAbstract.this).getActionPrompt();
 
                     PropertyEditPromptHeaderPanel titlePanel = new PropertyEditPromptHeaderPanel(prompt.getTitleId(),
-                            scalarModel);
+                            ScalarPanelAbstract.this.scalarModel);
 
                     final PropertyEditPanel propertyEditPanel =
                             (PropertyEditPanel) getComponentFactoryRegistry().createComponent(
-                                    ComponentType.PROPERTY_EDIT_PROMPT, prompt.getContentId(), scalarModel);
+                                    ComponentType.PROPERTY_EDIT_PROMPT, prompt.getContentId(),
+                                    ScalarPanelAbstract.this.scalarModel);
 
                     propertyEditPanel.setShowHeader(false);
 
@@ -317,6 +323,7 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
             });
 
             markupContainer.addOrReplace(editProperty);
+
         } else {
             Components.permanentlyHide(markupContainer, ID_EDIT_PROPERTY);
         }

http://git-wip-us.apache.org/repos/asf/isis/blob/ca40bda0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/TextFieldStringModel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/TextFieldStringModel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/TextFieldStringModel.java
new file mode 100644
index 0000000..051969f
--- /dev/null
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/TextFieldStringModel.java
@@ -0,0 +1,11 @@
+package org.apache.isis.viewer.wicket.ui.components.scalars;
+
+public class TextFieldStringModel extends TextFieldValueModel<String> {
+
+    private static final long serialVersionUID = 1L;
+
+    public TextFieldStringModel(final TextFieldValueModel.ScalarModelProvider parent) {
+        super(parent);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/ca40bda0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/TextFieldValueModel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/TextFieldValueModel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/TextFieldValueModel.java
index 4f69b40..b2a290a 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/TextFieldValueModel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/TextFieldValueModel.java
@@ -29,12 +29,12 @@ import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 
 /**
  * For custom {@link ScalarPanelTextFieldAbstract}s to use as the {@link Model}
- * of their {@link TextField} (as constructed in {@link ScalarPanelTextFieldAbstract#createTextFieldForRegular()}).
+ * of their {@link TextField} (as constructed in {@link ScalarPanelTextFieldAbstract#createTextFieldForRegular(String)}).
  */
 public class TextFieldValueModel<T extends Serializable> extends Model<T> {
     
     private static final long serialVersionUID = 1L;
-    
+
     public interface ScalarModelProvider {
         ScalarModel getModel();
         AdapterManager getAdapterManager();
@@ -67,4 +67,12 @@ public class TextFieldValueModel<T extends Serializable> extends Model<T> {
             scalarModelProvider.getModel().setObject(objectAdapter);
         }
     }
+
+    // FIXME: a bit of a hack to just use toString(), probably want to format somehow.
+    public String getObjectAsString() {
+        T object = getObject();
+        return object != null ? object.toString() : null;
+    }
+
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/ca40bda0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
index d7dad78..be3313d 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
@@ -282,7 +282,9 @@ public abstract class PageAbstract extends WebPage implements ActionPromptProvid
     }
 
     private void addBootLint(final IHeaderResponse response) {
-        response.render(BootlintHeaderItem.INSTANCE);
+        // rather than using the default BootlintHeaderItem.INSTANCE;
+        // this allows us to assign 'form-control' class to an <a> (for x-editable styling)
+        response.render(new BootlintHeaderItem("bootlint.showLintReportForCurrentDocument(['E042'], {'problemFree': false});"));
     }
 
     private boolean isModernBrowser() {

http://git-wip-us.apache.org/repos/asf/isis/blob/ca40bda0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
index 0995a80..4b43e78 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
@@ -116,11 +116,6 @@ public abstract class PanelAbstract<T extends IModel<?>> extends Panel {
         return UiHintContainer.Util.hintContainerOf(this);
     }
 
-    // seemes to be unused
-    public <T extends UiHintContainer> T getUiHintContainer(final Class<T> additionalConstraint) {
-        return UiHintContainer.Util.hintContainerOf(this, additionalConstraint);
-    }
-
 
     // ///////////////////////////////////////////////////////////////////
     // Convenience