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 2016/05/17 19:37:55 UTC

[4/8] isis git commit: ISIS-1355: minor refactoring to extract method in wicket viewer.

ISIS-1355: minor refactoring to extract method in wicket viewer.


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

Branch: refs/heads/master
Commit: 8c824bd06575a7b8a79e3be932a465e6e5e1540b
Parents: ba58947
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Tue May 17 08:02:10 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue May 17 08:02:10 2016 +0100

----------------------------------------------------------------------
 .../components/scalars/ScalarPanelAbstract.java | 27 +++-----------------
 .../scalars/ScalarPanelTextFieldAbstract.java   |  5 ++--
 .../isisapplib/IsisBlobOrClobPanelAbstract.java |  3 ++-
 .../scalars/primitive/BooleanPanel.java         | 11 +++++---
 .../scalars/reference/ReferencePanel.java       |  6 ++---
 .../valuechoices/ValueChoicesSelect2Panel.java  |  3 ++-
 6 files changed, 21 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/8c824bd0/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 0a29108..90bb5b1 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
@@ -177,30 +177,11 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
         return componentIfRegular;
     }
 
-    private boolean guiForceBuilt = false;
-    /**
-     * Bit of a hack, but is an API to force the eager building of this component such that focus can be placed on it.
-     *
-     * <p>
-     *     This is used in {@link org.apache.isis.viewer.wicket.ui.components.widgets.linkandlabel.ActionLinkFactoryAbstract}
-     *     when creating the action prompt parameters panel.
-     * </p>
-     */
-    public void forceBuildGui() {
-        buildGui();
-        guiForceBuilt = true;
-    }
     @Override
     protected void onBeforeRender() {
 
         if ((!hasBeenRendered() || alwaysRebuildGui())) {
-            if(!guiForceBuilt) {
-                // skip building, as was forced previously
-                buildGui();
-            } else {
-                // reset flag, so preserve original behaviour before the 'forced' hack.
-                guiForceBuilt = false;
-            }
+            buildGui();
         }
 
         final ScalarModel scalarModel = getModel();
@@ -303,9 +284,11 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
 
     protected abstract Component addComponentForCompact();
 
-    protected void addFeedbackTo(MarkupContainer markupContainer, Component component) {
+    protected void addFeedbackOnlyTo(final MarkupContainer markupContainer, final Component component) {
         markupContainer.addOrReplace(new NotificationPanel(ID_FEEDBACK, component, new ComponentFeedbackMessageFilter(component)));
+    }
 
+    protected void addEditPropertyTo(final MarkupContainer markupContainer) {
         final String disableReasonIfAny = scalarModel.disable(getRendering().getWhere());
         if (disableReasonIfAny == null && scalarModel.isViewMode()) {
             final WebMarkupContainer editProperty = new WebMarkupContainer(ID_EDIT_PROPERTY);
@@ -338,10 +321,8 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
         } else {
             Components.permanentlyHide(markupContainer, ID_EDIT_PROPERTY);
         }
-
     }
 
-
     /**
      * Optional hook.
      */

http://git-wip-us.apache.org/repos/asf/isis/blob/8c824bd0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
index 259813e..1985440 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
@@ -132,8 +132,9 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
         if(describedAs != null) {
             labelIfRegular.add(new AttributeModifier("title", Model.of(describedAs)));
         }
-        
-        addFeedbackTo(labelIfRegular, textField);
+
+        addFeedbackOnlyTo(labelIfRegular, textField);
+        addEditPropertyTo(labelIfRegular);
 
         // ... add entity links to panel (below and to right)
         addEntityActionLinksBelowAndRight(labelIfRegular, entityActions);

http://git-wip-us.apache.org/repos/asf/isis/blob/8c824bd0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
index 3b21b46..03ced44 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
@@ -114,7 +114,8 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
         updateDownloadLink(ID_SCALAR_IF_REGULAR_DOWNLOAD, labelIfRegular);
         
         addOrReplace(labelIfRegular);
-        addFeedbackTo(labelIfRegular, fileUploadField);
+        addFeedbackOnlyTo(labelIfRegular, fileUploadField);
+        addEditPropertyTo(labelIfRegular);
 
         // ... add entity links to panel (below and to right)
         addEntityActionLinksBelowAndRight(labelIfRegular, entityActions);

http://git-wip-us.apache.org/repos/asf/isis/blob/8c824bd0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
index 7c0dcc5..a58233b 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
@@ -19,16 +19,15 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.primitive;
 
-import de.agilecoders.wicket.extensions.markup.html.bootstrap.form.checkboxx.CheckBoxX;
-import de.agilecoders.wicket.extensions.markup.html.bootstrap.form.checkboxx.CheckBoxXConfig;
-
 import java.util.List;
+
 import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.behavior.Behavior;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.model.Model;
+
 import org.apache.isis.applib.annotation.LabelPosition;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
@@ -41,6 +40,9 @@ import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract;
 import org.apache.isis.viewer.wicket.ui.components.widgets.bootstrap.FormGroup;
 import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
 
+import de.agilecoders.wicket.extensions.markup.html.bootstrap.form.checkboxx.CheckBoxX;
+import de.agilecoders.wicket.extensions.markup.html.bootstrap.form.checkboxx.CheckBoxXConfig;
+
 /**
  * Panel for rendering scalars of type {@link Boolean} or <tt>boolean</tt>.
  */
@@ -93,7 +95,8 @@ public class BooleanPanel extends ScalarPanelAbstract {
         addPositioningCssTo(labelIfRegular, entityActions);
 
         addOrReplace(labelIfRegular);
-        addFeedbackTo(labelIfRegular, checkBox);
+        addFeedbackOnlyTo(labelIfRegular, checkBox);
+        addEditPropertyTo(labelIfRegular);
 
         // ... add entity links to panel (below and to right)
         addEntityActionLinksBelowAndRight(labelIfRegular, entityActions);

http://git-wip-us.apache.org/repos/asf/isis/blob/8c824bd0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
index 1fe3a60..36759f8 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
@@ -111,7 +111,7 @@ public class ReferencePanel extends ScalarPanelAbstract {
         labelIfCompact.add(entitySimpleLink);
         
         addOrReplace(labelIfCompact);
-        
+
         return labelIfCompact;
     }
 
@@ -150,8 +150,8 @@ public class ReferencePanel extends ScalarPanelAbstract {
         addPositioningCssTo(labelIfRegular, entityActions);
 
         addOrReplace(labelIfRegular);
-        
-        addFeedbackTo(labelIfRegular, entityLink);
+        addFeedbackOnlyTo(labelIfRegular, entityLink);
+        addEditPropertyTo(labelIfRegular);
 
         // ... add entity links to panel (below and to right)
         addEntityActionLinksBelowAndRight(labelIfRegular, entityActions);

http://git-wip-us.apache.org/repos/asf/isis/blob/8c824bd0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
index b6fb5f7..81c4b05 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
@@ -106,7 +106,8 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
 
         addPositioningCssTo(labelIfRegular, entityActions);
 
-        addFeedbackTo(labelIfRegular, select2Field);
+        addFeedbackOnlyTo(labelIfRegular, select2Field);
+        addEditPropertyTo(labelIfRegular);
 
         // ... add entity links to panel (below and to right)
         addEntityActionLinksBelowAndRight(labelIfRegular, entityActions);