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 2014/01/17 19:04:13 UTC

git commit: ISIS-637: fixes for validation with modal action dialogs

Updated Branches:
  refs/heads/master e7f97df59 -> 04baa307b


ISIS-637: fixes for validation with modal action dialogs

* if entity link (select2choice dropdown) is required, show feedback.
* shouldn't call setResponsePage when commit change to select2choice


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

Branch: refs/heads/master
Commit: 04baa307b7fb1afe42e2b5e684ac9bbab64223cc
Parents: e7f97df
Author: Dan Haywood <da...@apache.org>
Authored: Fri Jan 17 17:57:00 2014 +0000
Committer: Dan Haywood <da...@apache.org>
Committed: Fri Jan 17 17:57:00 2014 +0000

----------------------------------------------------------------------
 .../ui/components/widgets/Select2ChoiceUtil.java  |  3 ++-
 .../entitylink/EntityLinkSelect2Panel.java        | 18 +++++++++++++++++-
 2 files changed, 19 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/04baa307/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/Select2ChoiceUtil.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/Select2ChoiceUtil.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/Select2ChoiceUtil.java
index 8738a80..4edc76e 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/Select2ChoiceUtil.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/Select2ChoiceUtil.java
@@ -36,8 +36,9 @@ public final class Select2ChoiceUtil  {
     
     public static Select2Choice<ObjectAdapterMemento> newSelect2Choice(String id, final IModel<ObjectAdapterMemento> modelObject, ScalarModel scalarModel) {
         Select2Choice<ObjectAdapterMemento> select2Choice = new Select2Choice<ObjectAdapterMemento>(id, modelObject);
-        int typicalLength = scalarModel.getTypicalLength(); 
+        int typicalLength = scalarModel.getTypicalLength();
         select2Choice.add(new AttributeAppender("style", asCssStyleWidth(typicalLength)));
+        select2Choice.setRequired(scalarModel.isRequired());
         return select2Choice;
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/04baa307/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.java
index 3357976..ea2550a 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.java
@@ -93,7 +93,21 @@ public class EntityLinkSelect2Panel extends FormComponentPanelAbstract<ObjectAda
         syncWithInput();
     }
 
+    /**
+     * Necessary because {@link FormComponentPanel} overrides this as <tt>true</tt>, whereas we want to
+     * report on the state of the underlying {@link Select2Choice}.
+     */
+    @Override
+    public boolean checkRequired() {
+        return select2Field.checkRequired();
+    }
 
+    @Override
+    public boolean isRequired() {
+        return super.isRequired();
+    }
+
+    
     /**
      * Must be called after {@link #setEnabled(boolean)} to ensure that the
      * <tt>findUsing</tt> button, and the <tt>entityClearLink</tt> are 
@@ -189,6 +203,7 @@ public class EntityLinkSelect2Panel extends FormComponentPanelAbstract<ObjectAda
         final IModel<ObjectAdapterMemento> model = ScalarModelWithPending.Util.createModel(getScalarModel().asScalarModelWithPending());       
 
         if(select2Field == null) {
+            setRequired(getScalarModel().isRequired());
             select2Field = Select2ChoiceUtil.newSelect2Choice(ID_AUTO_COMPLETE, model, getScalarModel());
             setProviderAndCurrAndPending(select2Field, getScalarModel().getActionArgsHint());
             if(!getScalarModel().hasChoices()) {
@@ -329,7 +344,8 @@ public class EntityLinkSelect2Panel extends FormComponentPanelAbstract<ObjectAda
         if(this.select2Field != null) {
             select2Field.getModel().setObject(selectedAdapterMemento);
         }
-        renderSamePage();
+        // not sure why this was here, at any rate it trips up when performing validation with modal dialogs.
+        // renderSamePage();
     }
 
     public void onNoResults() {