You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/09/22 05:10:56 UTC

[isis] branch master updated (53afae0cf4 -> 0dc31f9d45)

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


    from 53afae0cf4 ISIS-3201: remove ISIS-3070 hack
     new 205f9f04db ISIS-3201: cleanup select2 on change behaviors
     new 0dc31f9d45 ISIS-3201: time picker on change propagation fixes

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../scalars/ScalarPanelSelectAbstract.java         |  9 ++++++++
 .../ScalarPanelTextFieldWithTemporalPicker.java    | 26 ++++++++++++++++++++++
 ...FormComponent.html => ChoiceFormComponent.html} |  0
 ...FormComponent.java => ChoiceFormComponent.java} |  4 ++--
 .../scalars/choices/ObjectChoicesSelect2Panel.java | 13 ++---------
 .../datepicker/TextFieldWithDateTimePicker.java    | 15 -------------
 6 files changed, 39 insertions(+), 28 deletions(-)
 rename viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/choices/{ObjectChoiceFormComponent.html => ChoiceFormComponent.html} (100%)
 rename viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/choices/{ObjectChoiceFormComponent.java => ChoiceFormComponent.java} (94%)


[isis] 02/02: ISIS-3201: time picker on change propagation fixes

Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 0dc31f9d457144f46aae0544434d947b66b2a2ff
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Sep 22 07:10:51 2022 +0200

    ISIS-3201: time picker on change propagation fixes
---
 .../ScalarPanelTextFieldWithTemporalPicker.java    | 26 ++++++++++++++++++++++
 .../datepicker/TextFieldWithDateTimePicker.java    | 15 -------------
 2 files changed, 26 insertions(+), 15 deletions(-)

diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldWithTemporalPicker.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldWithTemporalPicker.java
index 030eb2a22e..b97b72b9a4 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldWithTemporalPicker.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldWithTemporalPicker.java
@@ -20,6 +20,8 @@ package org.apache.isis.viewer.wicket.ui.components.scalars;
 
 import java.util.Optional;
 
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
 import org.apache.wicket.markup.html.form.TextField;
 
 import org.apache.isis.core.metamodel.util.Facets;
@@ -53,9 +55,33 @@ extends ScalarPanelTextFieldWithValueSemantics<T>  {
                 id, scalarModel, type, getConverter(scalarModel));
     }
 
+    protected final TextField<T> getTextField() {
+        return (TextField<T>)getFormComponent();
+    }
+
     @Override
     protected Optional<InputFragment> getInputFragmentType() {
         return Optional.of(InputFragment.DATE);
     }
 
+    @Override
+    protected void installScalarModelChangeBehavior() {
+        //super.installScalarModelChangeBehavior(); // don't install the default change listener
+
+        /* [ISIS-3201]
+         * Adding OnChangeAjaxBehavior registers a JavaScript event listener on change events.
+         * Since OnChangeAjaxBehavior extends AjaxFormComponentUpdatingBehavior the Ajax request
+         * also updates the Wicket model for this form component on the server side.
+         */
+        getTextField().add(new OnChangeAjaxBehavior() {
+            private static final long serialVersionUID = 1L;
+            @Override
+            protected void onUpdate(final AjaxRequestTarget target) {
+                // triggers update of dependent args (action prompt)
+                ScalarPanelTextFieldWithTemporalPicker.this
+                    .getScalarModelChangeDispatcher().notifyUpdate(target);
+            }
+        });
+    }
+
 }
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/datepicker/TextFieldWithDateTimePicker.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/datepicker/TextFieldWithDateTimePicker.java
index 0ff661e542..9191364963 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/datepicker/TextFieldWithDateTimePicker.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/datepicker/TextFieldWithDateTimePicker.java
@@ -21,8 +21,6 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.datepicker;
 import java.util.Locale;
 import java.util.Map;
 
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
@@ -103,19 +101,6 @@ implements IConverter<T> {
             }
         };
         */
-
-        //XXX ISIS-2834
-        //Adding OnChangeAjaxBehavior registers a JavaScript event listener on change event.
-        //Since OnChangeAjaxBehavior extends AjaxFormComponentUpdatingBehavior the Ajax request
-        // also updates the Wicket model for this form component on the server side.
-        // onUpdate() is a callback method that you could use to do something more or don't do anything
-        add(new OnChangeAjaxBehavior() {
-            private static final long serialVersionUID = 1L;
-            @Override
-            protected void onUpdate(final AjaxRequestTarget target) {
-                // nothing to do
-            }
-        });
     }
 
     @Override


[isis] 01/02: ISIS-3201: cleanup select2 on change behaviors

Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 205f9f04dbe82d39143efcc0a992a59907443a4d
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Sep 22 07:06:08 2022 +0200

    ISIS-3201: cleanup select2 on change behaviors
---
 .../ui/components/scalars/ScalarPanelSelectAbstract.java    |  9 +++++++++
 ...ectChoiceFormComponent.html => ChoiceFormComponent.html} |  0
 ...ectChoiceFormComponent.java => ChoiceFormComponent.java} |  4 ++--
 .../scalars/choices/ObjectChoicesSelect2Panel.java          | 13 ++-----------
 4 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelectAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelectAbstract.java
index 398bbe88d6..55d6a6ed2a 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelectAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelectAbstract.java
@@ -86,6 +86,15 @@ extends ScalarPanelFormFieldAbstract<ManagedObject> {
         return select2;
     }
 
+    // -- CUSTOM UPDATING BEHAVIOR
+
+    @Override
+    protected final void installScalarModelChangeBehavior() {
+        /* no-op, as we already have the Select2OnSelect behavior
+         * (directly) installed with the Select2 form component
+         */
+    }
+
     protected final boolean isEditableWithEitherAutoCompleteOrChoices() {
         if(scalarModel().getRenderingHint().isInTable()) {
             return false;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/choices/ObjectChoiceFormComponent.html b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/choices/ChoiceFormComponent.html
similarity index 100%
rename from viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/choices/ObjectChoiceFormComponent.html
rename to viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/choices/ChoiceFormComponent.html
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/choices/ObjectChoiceFormComponent.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/choices/ChoiceFormComponent.java
similarity index 94%
rename from viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/choices/ObjectChoiceFormComponent.java
rename to viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/choices/ChoiceFormComponent.java
index a5ea4c6429..facd759670 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/choices/ObjectChoiceFormComponent.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/choices/ChoiceFormComponent.java
@@ -25,7 +25,7 @@ import org.apache.isis.core.metamodel.object.ManagedObject;
 import org.apache.isis.viewer.wicket.ui.components.widgets.formcomponent.CancelHintRequired;
 import org.apache.isis.viewer.wicket.ui.components.widgets.formcomponent.FormComponentPanelAbstract;
 
-class ObjectChoiceFormComponent
+class ChoiceFormComponent
 extends FormComponentPanelAbstract<ManagedObject>
 implements CancelHintRequired  {
 
@@ -33,7 +33,7 @@ implements CancelHintRequired  {
 
     private ObjectChoicesSelect2Panel owningPanel;
 
-    public ObjectChoiceFormComponent(final String id, final ObjectChoicesSelect2Panel owningPanel) {
+    public ChoiceFormComponent(final String id, final ObjectChoicesSelect2Panel owningPanel) {
         super(id, owningPanel.scalarModel());
         this.owningPanel = owningPanel;
         setType(ManagedObject.class);
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/choices/ObjectChoicesSelect2Panel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/choices/ObjectChoicesSelect2Panel.java
index 1f3b707563..a4b5317ab0 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/choices/ObjectChoicesSelect2Panel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/choices/ObjectChoicesSelect2Panel.java
@@ -58,7 +58,7 @@ implements ChoiceTitleHandler {
     private static final String ID_AUTO_COMPLETE = "autoComplete";
     private static final String ID_ENTITY_TITLE_IF_NULL = "entityTitleIfNull";
 
-    private ObjectChoiceFormComponent entityLink;
+    private ChoiceFormComponent entityLink;
     private EntityLinkSimplePanel entityLinkOutputFormat;
     private final boolean isCompactFormat;
 
@@ -85,7 +85,7 @@ implements ChoiceTitleHandler {
 
     @Override
     protected FormComponent<ManagedObject> createFormComponent(final String id, final ScalarModel scalarModel) {
-        this.entityLink = new ObjectChoiceFormComponent(UiComponentType.ENTITY_LINK.getId(), this);
+        this.entityLink = new ChoiceFormComponent(UiComponentType.ENTITY_LINK.getId(), this);
         entityLink.setRequired(scalarModel.isRequired());
 
         this.select2 = createSelect2(ID_AUTO_COMPLETE,
@@ -97,15 +97,6 @@ implements ChoiceTitleHandler {
         return entityLink;
     }
 
-    // -- CUSTOM UPDATING BEHAVIOR
-
-    @Override
-    protected void installScalarModelChangeBehavior() {
-        /* no-op, as we already have the Select2OnSelect behavior
-         * (directly) installed with the Select2 form component
-         */
-    }
-
     // -- ON BEFORE RENDER
 
     @Override