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/05/16 10:46:19 UTC

[1/4] isis git commit: ISIS-1615: reverts change, since interferes with 'are you sure' semantics on no-arg actions.

Repository: isis
Updated Branches:
  refs/heads/ISIS-1613 221047c7d -> 6c3be0976


ISIS-1615: reverts change, since interferes with 'are you sure' semantics on no-arg actions.


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

Branch: refs/heads/ISIS-1613
Commit: c256984b9af5f2fd5bca1004933f6e3d36fb50dd
Parents: 221047c
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Tue May 16 10:01:47 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue May 16 10:01:47 2017 +0100

----------------------------------------------------------------------
 .../actionmenu/entityactions/AdditionalLinksPanel.java       | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/c256984b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/AdditionalLinksPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/AdditionalLinksPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/AdditionalLinksPanel.java
index 9fa1584..b244198 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/AdditionalLinksPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/AdditionalLinksPanel.java
@@ -108,8 +108,12 @@ public class AdditionalLinksPanel extends PanelAbstract<ListOfLinksModel> {
                 final String itemTitle = first(linkAndLabel.getDisabledReasonIfAny(), linkAndLabel.getDescriptionIfAny());
                 if(itemTitle != null) {
                     item.add(new AttributeAppender("title", itemTitle));
-                    // ISIS-1615, prevent bootstrap from changing the HTML link's 'title' attribute on client-side 
-                    link.add(new AttributeAppender("data-selector", "true"));
+
+                    // ISIS-1615, prevent bootstrap from changing the HTML link's 'title' attribute on client-side
+                    // backing this out, because interfers with the 'areYouSure' confirmation dialog for no-arg actions (a few lines below)
+                    // think a better solution would be to use some JQuery tooltip plugin.
+
+                    // link.add(new AttributeAppender("data-selector", "true"));
                 }
 
                 final Label viewTitleLabel = new Label(ID_ADDITIONAL_LINK_TITLE, linkAndLabel.getLabel());


[3/4] isis git commit: ISIS-1613: fixes bug whereby action prompt (for dialog) was being hidden even if there was an N-arg validation error

Posted by da...@apache.org.
ISIS-1613: fixes bug whereby action prompt (for dialog) was being hidden even if there was an N-arg validation error

Also refactors code slightly, make it easier to follow


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

Branch: refs/heads/ISIS-1613
Commit: fa9cfbdf34bbdea9a390411d4cea39ca258562ca
Parents: 5a3e972
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Tue May 16 11:37:41 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue May 16 11:37:41 2017 +0100

----------------------------------------------------------------------
 .../actions/ActionParametersForm.java           |   3 +-
 .../components/property/PropertyEditForm.java   |   4 +-
 .../wicket/ui/panels/PromptFormAbstract.java    | 148 +++++++++----------
 3 files changed, 75 insertions(+), 80 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/fa9cfbdf/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java
index 492b6c9..5494d32 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java
@@ -86,8 +86,7 @@ class ActionParametersForm extends PromptFormAbstract<ActionModel> {
     }
 
     @Override
-    protected void configureButtons(final AjaxButton okButton, final AjaxButton cancelButton) {
-        super.configureButtons(okButton, cancelButton);
+    protected void doConfigureOkButton(final AjaxButton okButton) {
         applyAreYouSure(okButton);
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/fa9cfbdf/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditForm.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditForm.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditForm.java
index e9d210e..218f198 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditForm.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditForm.java
@@ -73,7 +73,7 @@ class PropertyEditForm extends PromptFormAbstract<ScalarModel> {
     // REVIEW: this overload may not be necessary, recall that the important call needed is getScalarModel().reset(),
     // which is called in the superclass.
     @Override
-    public void onCancel(
+    public void onCancelSubmitted(
             final AjaxRequestTarget target) {
 
         final PromptStyle promptStyle = getScalarModel().getPromptStyle();
@@ -84,7 +84,7 @@ class PropertyEditForm extends PromptFormAbstract<ScalarModel> {
             getScalarModel().clearPending();
         }
 
-        super.onCancel(target);
+        super.onCancelSubmitted(target);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/fa9cfbdf/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java
index 9c6939c..b95d89e 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java
@@ -28,6 +28,7 @@ import org.apache.isis.viewer.wicket.model.hints.UiHintContainer;
 import org.apache.isis.viewer.wicket.model.isis.WicketViewerSettings;
 import org.apache.isis.viewer.wicket.model.models.ActionPrompt;
 import org.apache.isis.viewer.wicket.model.models.ActionPromptProvider;
+import org.apache.isis.viewer.wicket.model.models.FormExecutor;
 import org.apache.isis.viewer.wicket.model.models.FormExecutorContext;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarModelSubscriber2;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract2;
@@ -73,7 +74,8 @@ public abstract class PromptFormAbstract<T extends IModel<ObjectAdapter> & FormE
 
         okButton = addOkButton();
         cancelButton = addCancelButton();
-        configureButtons(okButton, cancelButton);
+        doConfigureOkButton(okButton);
+        doConfigureCancelButton(cancelButton);
     }
 
     @Override
@@ -95,18 +97,11 @@ public abstract class PromptFormAbstract<T extends IModel<ObjectAdapter> & FormE
 
             @Override
             public void onSubmit(AjaxRequestTarget target, Form<?> form) {
-                final ActionPrompt actionPromptIfAny = ActionPromptProvider.Util.getFrom(parentPanel)
-                        .getActionPrompt();
-                if (actionPromptIfAny != null) {
-                    actionPromptIfAny.closePrompt(target);
-                }
-
-                onSubmitOf(target, form, this);
+                onOkSubmittedOf(target, form, this);
             }
 
             @Override
             protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
-                super.updateAjaxAttributes(attributes);
                 if (settings.isPreventDoubleClickForFormSubmit()) {
                     PanelUtil.disableBeforeReenableOnComplete(attributes, this);
                 }
@@ -114,7 +109,6 @@ public abstract class PromptFormAbstract<T extends IModel<ObjectAdapter> & FormE
 
             @Override
             protected void onError(AjaxRequestTarget target, Form<?> form) {
-                super.onError(target, form);
                 target.add(form);
             }
         }
@@ -123,12 +117,11 @@ public abstract class PromptFormAbstract<T extends IModel<ObjectAdapter> & FormE
 
             @Override
             public void onSubmit(AjaxRequestTarget target, Form<?> form) {
-                onSubmitOf(target, form, this);
+                onOkSubmittedOf(target, form, this);
             }
 
             @Override
             protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
-                super.updateAjaxAttributes(attributes);
                 if (settings.isPreventDoubleClickForFormSubmit()) {
                     PanelUtil.disableBeforeReenableOnComplete(attributes, this);
                 }
@@ -136,7 +129,6 @@ public abstract class PromptFormAbstract<T extends IModel<ObjectAdapter> & FormE
 
             @Override
             protected void onError(AjaxRequestTarget target, Form<?> form) {
-                super.onError(target, form);
                 target.add(form);
             }
         };
@@ -152,55 +144,46 @@ public abstract class PromptFormAbstract<T extends IModel<ObjectAdapter> & FormE
 
             @Override
             public void onSubmit(final AjaxRequestTarget target, Form<?> form) {
-                final ActionPrompt actionPromptIfAny = ActionPromptProvider.Util.getFrom(parentPanel)
-                        .getActionPrompt();
-                if (actionPromptIfAny != null) {
-                    actionPromptIfAny.closePrompt(target);
-                }
-
-                onCancel(target);
+                closePromptIfAny(target);
 
+                onCancelSubmitted(target);
             }
         };
         // so can submit with invalid content (eg mandatory params missing)
         cancelButton.setDefaultFormProcessing(false);
 
+        if (formExecutorContext.getPromptStyle() == PromptStyle.INLINE) {
+            cancelButton.add(new FireOnEscapeKey() {
+                @Override
+                protected void respond(final AjaxRequestTarget target) {
+                    onCancelSubmitted(target);
+                }
+            });
+        }
+
         add(cancelButton);
 
         return cancelButton;
     }
 
-    protected void configureButtons(final AjaxButton okButton, final AjaxButton cancelButton) {
-
-        if (formExecutorContext.getPromptStyle() == PromptStyle.INLINE) {
-            cancelButton.add(new AbstractDefaultAjaxBehavior() {
-
-                private static final String PRE_JS =
-                        "" + "$(document).ready( function() { \n"
-                                + "  $(document).bind('keyup', function(evt) { \n"
-                                + "    if (evt.keyCode == 27) { \n";
-                private static final String POST_JS =
-                        "" + "      evt.preventDefault(); \n   "
-                                + "    } \n"
-                                + "  }); \n"
-                                + "});";
-
-                @Override
-                public void renderHead(final Component component, final IHeaderResponse response) {
-                    super.renderHead(component, response);
-
-                    final String javascript = PRE_JS + getCallbackScript() + POST_JS;
-                    response.render(
-                            JavaScriptContentHeaderItem.forScript(javascript, null, null));
-                }
+    protected void closePromptIfAny(final AjaxRequestTarget target) {
+        final ActionPrompt actionPromptIfAny =
+                ActionPromptProvider.Util.getFrom(parentPanel).getActionPrompt();
+        if (actionPromptIfAny != null) {
+            actionPromptIfAny.closePrompt(target);
+        }
+    }
 
-                @Override
-                protected void respond(final AjaxRequestTarget target) {
-                    onCancel(target);
-                }
+    /**
+     * Optional hook
+     */
+    protected void doConfigureOkButton(final AjaxButton okButton) {
+    }
 
-            });
-        }
+    /**
+     * Optional hook
+     */
+    protected void doConfigureCancelButton(final AjaxButton cancelButton) {
     }
 
     private UiHintContainer getPageUiHintContainerIfAny() {
@@ -212,30 +195,20 @@ public abstract class PromptFormAbstract<T extends IModel<ObjectAdapter> & FormE
         return null;
     }
 
-    private void onSubmitOf(
+    private void onOkSubmittedOf(
             final AjaxRequestTarget target,
             final Form<?> form,
             final AjaxButton okButton) {
 
         setLastFocusHint();
 
-        final PromptStyle promptStyle = formExecutorContext.getPromptStyle();
-        boolean succeeded = formExecutorContext.getFormExecutor()
-                .executeAndProcessResults(target.getPage(), target, form);
-        if (succeeded) {
-            if (promptStyle == PromptStyle.DIALOG) {
-                // the Wicket ajax callbacks will have just started to hide the veil
-                // we now show it once more, so that a veil continues to be shown until the
-                // new page is rendered.
-
-                // REVIEW: commenting out, this is throwing a javascript error (function not defined).
-                // in any case, with the new design (of not forwarding unless necessary), not certain it's needed.
-                // target.appendJavaScript("isisShowVeil();\n");
-            }
+        final FormExecutor formExecutor = formExecutorContext.getFormExecutor();
+        boolean succeeded = formExecutor.executeAndProcessResults(target.getPage(), target, form);
 
-            okButton.send(getPage(), Broadcast.EXACT, newCompletedEvent(target, form));
+        if (succeeded) {
+            completePrompt(target);
 
-            rebuildGuiAfterInlinePromptDoneIfNec(target);
+            okButton.send(target.getPage(), Broadcast.EXACT, newCompletedEvent(target, form));
 
         } else {
 
@@ -252,9 +225,9 @@ public abstract class PromptFormAbstract<T extends IModel<ObjectAdapter> & FormE
         }
 
         target.add(form);
-
     }
 
+
     private void setLastFocusHint() {
 
         final UiHintContainer entityModel = getPageUiHintContainerIfAny();
@@ -279,23 +252,20 @@ public abstract class PromptFormAbstract<T extends IModel<ObjectAdapter> & FormE
         }
     }
 
-    public void onCancel(
-            final AjaxRequestTarget target) {
+    public void onCancelSubmitted(final AjaxRequestTarget target) {
 
         setLastFocusHint();
-
-        rebuildGuiAfterInlinePromptDoneIfNec(target);
-
+        completePrompt(target);
     }
 
-    private void rebuildGuiAfterInlinePromptDoneIfNec(final AjaxRequestTarget target) {
-        final PromptStyle promptStyle = formExecutorContext.getPromptStyle();
-        if (promptStyle == PromptStyle.INLINE &&
-                formExecutorContext.getInlinePromptContext() != null) {
+    private void completePrompt(final AjaxRequestTarget target) {
 
+        final PromptStyle promptStyle = formExecutorContext.getPromptStyle();
+        if (promptStyle == PromptStyle.INLINE && formExecutorContext.getInlinePromptContext() != null) {
             formExecutorContext.reset();
-
             rebuildGuiAfterInlinePromptDone(target);
+        } else {
+            closePromptIfAny(target);
         }
     }
 
@@ -348,4 +318,30 @@ public abstract class PromptFormAbstract<T extends IModel<ObjectAdapter> & FormE
         buffer.append("</div>");
         this.getResponse().write(buffer);
     }
+
+    static abstract class FireOnEscapeKey extends AbstractDefaultAjaxBehavior {
+
+        private static final String PRE_JS =
+                "" + "$(document).ready( function() { \n"
+                        + "  $(document).bind('keyup', function(evt) { \n"
+                        + "    if (evt.keyCode == 27) { \n";
+        private static final String POST_JS =
+                "" + "      evt.preventDefault(); \n   "
+                        + "    } \n"
+                        + "  }); \n"
+                        + "});";
+
+        @Override
+        public void renderHead(final Component component, final IHeaderResponse response) {
+            super.renderHead(component, response);
+
+            final String javascript = PRE_JS + getCallbackScript() + POST_JS;
+            response.render(
+                    JavaScriptContentHeaderItem.forScript(javascript, null, null));
+        }
+
+        @Override
+        protected abstract void respond(final AjaxRequestTarget target);
+
+    }
 }


[4/4] isis git commit: ISIS-1613: minor fixes to CSS, remove the heavy focus indicator that had been introduced while debugging tabbing

Posted by da...@apache.org.
ISIS-1613: minor fixes to CSS, remove the heavy focus indicator that had been introduced while debugging tabbing


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

Branch: refs/heads/ISIS-1613
Commit: 6c3be0976c4df56defa5230cecb9b2c41658759e
Parents: fa9cfbd
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Tue May 16 11:38:12 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue May 16 11:38:12 2017 +0100

----------------------------------------------------------------------
 .../apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css    | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/6c3be097/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
index b3f0c23..c4de2b3 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
@@ -265,6 +265,7 @@ body {
 .linksSelectorPanel .viewLinks {
     float:right;
     display:block;
+    margin-left: 15px;
 }
 
 .linksSelectorPanel ul.dropdown-menu {
@@ -906,6 +907,7 @@ tr.headers th form input {
     display: none;
 }
 
+/*
 #container  a:focus,
 #container  .btn:focus,
 #container  input:focus,
@@ -921,4 +923,5 @@ tr.headers th form input {
 #container  a.edit:focus {
     padding: 3px;
 }
+*/
 


[2/4] isis git commit: ISIS-1613: fixes all-arg validation for actions.

Posted by da...@apache.org.
ISIS-1613: fixes all-arg validation for actions.

If the all-args validation failed for an action, the error was not being shown (ie validateSomeAction vs validate0SomeAction).


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

Branch: refs/heads/ISIS-1613
Commit: 5a3e972363d1ecb7328c18559cfa0d7bb4de5b8a
Parents: c256984
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Tue May 16 10:35:43 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue May 16 10:35:43 2017 +0100

----------------------------------------------------------------------
 .../apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/5a3e9723/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java
index 054ad2d..9c6939c 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java
@@ -235,6 +235,8 @@ public abstract class PromptFormAbstract<T extends IModel<ObjectAdapter> & FormE
 
             okButton.send(getPage(), Broadcast.EXACT, newCompletedEvent(target, form));
 
+            rebuildGuiAfterInlinePromptDoneIfNec(target);
+
         } else {
 
             final StringBuilder builder = new StringBuilder();
@@ -249,8 +251,6 @@ public abstract class PromptFormAbstract<T extends IModel<ObjectAdapter> & FormE
             target.appendJavaScript(buf);
         }
 
-        rebuildGuiAfterInlinePromptDoneIfNec(target);
-
         target.add(form);
 
     }