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);
}