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