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/01/20 16:18:40 UTC

[33/36] isis git commit: ISIS-785: extracts method in ReferencePanel to create select2 object

ISIS-785: extracts method in ReferencePanel to create select2 object


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

Branch: refs/heads/master
Commit: d1453c12b67019fb400802c70dad1aadc36d2062
Parents: 50a38e9
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Jan 20 15:05:09 2017 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Jan 20 15:05:09 2017 +0000

----------------------------------------------------------------------
 .../scalars/reference/ReferencePanel.java       | 81 ++++++++++----------
 1 file changed, 42 insertions(+), 39 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/d1453c12/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 abf32e4..4e5bc79 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
@@ -124,47 +124,10 @@ public class ReferencePanel extends ScalarPanelAbstract {
         
         entityLink = new EntityLinkSelect2Panel(ComponentType.ENTITY_LINK.getWicketId(), this);
 
-        // create select2
         entityLink.setRequired(getModel().isRequired());
-
-        if(getModel().isCollection()) {
-            final IModel<ArrayList<ObjectAdapterMemento>> model =
-                    ScalarModelWithMultiPending.Util.createModel(getModel());
-            this.select2 = Select2.newSelect2MultiChoice(ID_AUTO_COMPLETE, model, getModel());
-        } else {
-            final IModel<ObjectAdapterMemento> modelObject =
-                    ScalarModelWithPending.Util.createModel(getModel());
-            this.select2 = Select2.newSelect2Choice(ID_AUTO_COMPLETE, modelObject, getModel());
-        }
-
-        setProviderAndCurrAndPending(select2, getModel().getActionArgsHint());
-
-        final Settings settings = select2.getSettings();
-
-        // one of these three case should be true
-        // (as per the isEditableWithEitherAutoCompleteOrChoices() guard above)
-        if(getModel().hasChoices()) {
-
-            settings.setPlaceholder(getModel().getName());
-
-        } else if(getModel().hasAutoComplete()) {
-
-            final int minLength = getModel().getAutoCompleteMinLength();
-            settings.setMinimumInputLength(minLength);
-            settings.setPlaceholder(getModel().getName());
-
-        } else if(hasObjectAutoComplete()) {
-            final ObjectSpecification typeOfSpecification = getModel().getTypeOfSpecification();
-            final AutoCompleteFacet autoCompleteFacet = typeOfSpecification.getFacet(AutoCompleteFacet.class);
-            final int minLength = autoCompleteFacet.getMinLength();
-            settings.setMinimumInputLength(minLength);
-        }
-
+        this.select2 = createSelect2();
         entityLink.addOrReplace(select2.component());
 
-        // end create select2
-
-
         syncWithInput();
 
         setOutputMarkupId(true);
@@ -189,7 +152,8 @@ public class ReferencePanel extends ScalarPanelAbstract {
 
 
         // find the links...
-        final List<LinkAndLabel> entityActions = EntityActionUtil.getEntityActionLinksForAssociation(this.scalarModel, getDeploymentCategory());
+        final List<LinkAndLabel> entityActions =
+                EntityActionUtil.getEntityActionLinksForAssociation(this.scalarModel, getDeploymentCategory());
 
         addPositioningCssTo(labelIfRegular, entityActions);
 
@@ -224,6 +188,45 @@ public class ReferencePanel extends ScalarPanelAbstract {
         return labelIfRegular;
     }
 
+    private Select2 createSelect2() {
+
+        final Select2 select2;
+        if(getModel().isCollection()) {
+            final IModel<ArrayList<ObjectAdapterMemento>> model =
+                    ScalarModelWithMultiPending.Util.createModel(getModel());
+            select2 = Select2.newSelect2MultiChoice(ID_AUTO_COMPLETE, model, getModel());
+        } else {
+            final IModel<ObjectAdapterMemento> modelObject =
+                    ScalarModelWithPending.Util.createModel(getModel());
+            select2 = Select2.newSelect2Choice(ID_AUTO_COMPLETE, modelObject, getModel());
+        }
+
+        setProviderAndCurrAndPending(select2, getModel().getActionArgsHint());
+
+        final Settings settings = select2.getSettings();
+
+        // one of these three case should be true
+        // (as per the isEditableWithEitherAutoCompleteOrChoices() guard above)
+        if(getModel().hasChoices()) {
+
+            settings.setPlaceholder(getModel().getName());
+
+        } else if(getModel().hasAutoComplete()) {
+
+            final int minLength = getModel().getAutoCompleteMinLength();
+            settings.setMinimumInputLength(minLength);
+            settings.setPlaceholder(getModel().getName());
+
+        } else if(hasObjectAutoComplete()) {
+            final ObjectSpecification typeOfSpecification = getModel().getTypeOfSpecification();
+            final AutoCompleteFacet autoCompleteFacet = typeOfSpecification.getFacet(AutoCompleteFacet.class);
+            final int minLength = autoCompleteFacet.getMinLength();
+            settings.setMinimumInputLength(minLength);
+        }
+
+        return select2;
+    }
+
     // //////////////////////////////////////
 
     // called from buildGui