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 2013/04/12 07:37:07 UTC
git commit: ISIS-382: adding veil to avoid double submit.
Updated Branches:
refs/heads/master 61f2e4cec -> 17a40716f
ISIS-382: adding veil to avoid double submit.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/17a40716
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/17a40716
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/17a40716
Branch: refs/heads/master
Commit: 17a40716f3a592c4b4ecff3ddd89bd63a18d927d
Parents: 61f2e4c
Author: Dan Haywood <da...@apache.org>
Authored: Fri Apr 12 06:36:25 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Fri Apr 12 06:36:25 2013 +0100
----------------------------------------------------------------------
.../wicket/ui/components/actions/ActionPanel.css | 1 +
.../actions/ActionParametersFormPanel.html | 12 ++++++-
.../actions/ActionParametersFormPanel.java | 19 ++++++++--
.../ui/components/actions/spinning-icon-blue.gif | Bin 0 -> 2693 bytes
.../wicket/ui/components/actions/spinning-icon.gif | Bin 0 -> 5266 bytes
.../entity/properties/EntityPropertiesForm.java | 4 ++
.../entity/properties/EntityPropertiesPanel.html | 22 ++++++++++++
.../entity/properties/EntityPropertiesPanel.java | 1 -
.../components/entity/properties/spinning-icon.gif | Bin 0 -> 2693 bytes
.../isis/viewer/wicket/ui/pages/PageAbstract.css | 27 +++++++++++++++
.../isis/viewer/wicket/ui/pages/PageAbstract.html | 1 -
.../isis/viewer/wicket/ui/pages/PageAbstract.java | 2 +
.../wicket/ui/pages/jquery.isis.wicket.viewer.js | 5 +++
13 files changed, 87 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/17a40716/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanel.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanel.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanel.css
index 3869e29..5e9f6e5 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanel.css
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanel.css
@@ -17,6 +17,7 @@
* under the License.
*/
+
.actionPanel {
}
http://git-wip-us.apache.org/repos/asf/isis/blob/17a40716/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.html
index 87c6033..5684190 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.html
@@ -29,7 +29,14 @@
</div>
<span wicket:id="feedback"></span>
<div class="buttons">
- <input type="submit" wicket:id="okButton" value="OK" class="okButton"/>
+ <input type="submit" wicket:id="okButton" value="OK" class="okButton"/>
+ <div id="veil">
+ <div class="imgHolder">
+ <wicket:link>
+ <img src="./spinning-icon.gif"/>
+ </wicket:link>
+ </div>
+ </div>
</div>
</fieldset>
</form>
@@ -37,3 +44,6 @@
</wicket:panel>
</body>
</html>
+
+
+
http://git-wip-us.apache.org/repos/asf/isis/blob/17a40716/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.java
index 90651ea..e4d8b9b 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.java
@@ -27,10 +27,16 @@ import java.util.List;
import com.google.common.collect.Lists;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.IAjaxIndicatorAware;
+import org.apache.wicket.ajax.markup.html.form.AjaxButton;
+import org.apache.wicket.behavior.AttributeAppender;
+import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxButton;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.repeater.RepeatingView;
+import org.apache.wicket.model.Model;
import org.apache.isis.core.commons.ensure.Ensure;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
@@ -43,6 +49,7 @@ import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.model.util.Mementos;
import org.apache.isis.viewer.wicket.ui.ComponentType;
import org.apache.isis.viewer.wicket.ui.components.widgets.formcomponent.FormFeedbackPanel;
+import org.apache.isis.viewer.wicket.ui.errors.JGrowlBehaviour;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
/**
@@ -71,7 +78,7 @@ public class ActionParametersFormPanel extends PanelAbstract<ActionModel> {
add(new ActionParameterForm("inputForm", getModel()));
}
- class ActionParameterForm extends Form<ObjectAdapter> {
+ class ActionParameterForm extends Form<ObjectAdapter> {
private static final long serialVersionUID = 1L;
@@ -80,6 +87,8 @@ public class ActionParametersFormPanel extends PanelAbstract<ActionModel> {
public ActionParameterForm(final String id, final ActionModel actionModel) {
super(id, actionModel);
+ setOutputMarkupId(true); // for ajax button
+
addParameters();
FormFeedbackPanel formFeedback = new FormFeedbackPanel(ID_FEEDBACK);
@@ -114,17 +123,20 @@ public class ActionParametersFormPanel extends PanelAbstract<ActionModel> {
}
}
+
private void addOkButton() {
- add(new Button(ID_OK_BUTTON) {
+ Button okButton = new Button(ID_OK_BUTTON) {
private static final long serialVersionUID = 1L;
@Override
public void onSubmit() {
actionExecutor.executeActionAndProcessResults(ActionParameterForm.this);
};
- });
+ };
+ add(okButton);
}
+
private List<ActionParameterMemento> buildParameterMementos(final List<ObjectActionParameter> parameters) {
final List<ActionParameterMemento> parameterMementoList = Lists.transform(parameters, Mementos.fromActionParameter());
// we copy into a new array list otherwise we get lazy evaluation =
@@ -132,5 +144,4 @@ public class ActionParametersFormPanel extends PanelAbstract<ActionModel> {
return Lists.newArrayList(parameterMementoList);
}
}
-
}
http://git-wip-us.apache.org/repos/asf/isis/blob/17a40716/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/spinning-icon-blue.gif
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/spinning-icon-blue.gif b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/spinning-icon-blue.gif
new file mode 100644
index 0000000..0e2b686
Binary files /dev/null and b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/spinning-icon-blue.gif differ
http://git-wip-us.apache.org/repos/asf/isis/blob/17a40716/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/spinning-icon.gif
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/spinning-icon.gif b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/spinning-icon.gif
new file mode 100644
index 0000000..75e3b1e
Binary files /dev/null and b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/spinning-icon.gif differ
http://git-wip-us.apache.org/repos/asf/isis/blob/17a40716/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java
index 5d9414c..20c72ad 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java
@@ -25,6 +25,8 @@ import org.apache.wicket.Component;
import org.apache.wicket.Session;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.form.AjaxButton;
+import org.apache.wicket.behavior.AttributeAppender;
+import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxButton;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Button;
@@ -189,6 +191,7 @@ class EntityPropertiesForm extends FormAbstract<ObjectAdapter> {
protected void onError(final AjaxRequestTarget target, final Form<?> form) {
toEditMode(target);
}
+
};
add(editButton);
@@ -340,6 +343,7 @@ class EntityPropertiesForm extends FormAbstract<ObjectAdapter> {
};
add(cancelButton);
+ okButton.setOutputMarkupPlaceholderTag(true);
editButton.setOutputMarkupPlaceholderTag(true);
cancelButton.setOutputMarkupPlaceholderTag(true);
http://git-wip-us.apache.org/repos/asf/isis/blob/17a40716/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.html
index 322a526..00494eb 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.html
@@ -37,6 +37,28 @@
<input type="submit" class="edit" wicket:id="edit"/>
<input type="submit" class="ok" wicket:id="ok"/>
<input type="submit" class="cancel" wicket:id="cancel"/>
+
+ <div id="veil"
+ style="display:none;
+ position:absolute;
+ top:0;
+ left:0;
+ z-index=99999;
+ height: 100%;
+ width: 100%;
+ background: rgb(0, 0, 0) transparent;
+ background-color:rgba(0,0,0,0.2);">
+ <div style="display: relative;">
+ <wicket:link>
+ <img style="margin-left: auto;
+ margin-right: auto;
+ display: block;
+ margin-top: 7em;"
+ src="./spinning-icon.gif"/>
+ </wicket:link>
+ </div>
+ </div>
+
</div>
</form>
</div>
http://git-wip-us.apache.org/repos/asf/isis/blob/17a40716/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.java
index ed2e440..81a2310 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.java
@@ -34,7 +34,6 @@ public class EntityPropertiesPanel extends PanelAbstract<EntityModel> {
private static final long serialVersionUID = 1L;
private static final String ID_ENTITY_PROPERTIES = "entityProperties";
-
private EntityPropertiesForm form;
http://git-wip-us.apache.org/repos/asf/isis/blob/17a40716/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/spinning-icon.gif
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/spinning-icon.gif b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/spinning-icon.gif
new file mode 100644
index 0000000..0e2b686
Binary files /dev/null and b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/spinning-icon.gif differ
http://git-wip-us.apache.org/repos/asf/isis/blob/17a40716/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css
index 0566fb9..076b8ba 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css
@@ -730,3 +730,30 @@ colors
#00477F - dark blue
#F0EFEA - bookmark background
*/
+
+
+
+/* veil */
+
+#veil {
+ display: none;
+ position:absolute;
+ top:0;
+ left:0;
+ z-index=99999;
+ height: 100%;
+ width: 100%;
+ background: rgb(210, 240, 243) transparent;
+ background-color:rgba(210, 240, 243,0.5);
+}
+
+#veil div.imgHolder {
+ display: relative;
+}
+
+#veil img {
+ margin-left: auto;
+ margin-right: auto;
+ display: block;
+ margin-top: 7em;
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/17a40716/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html
index 69eaa02..556584f 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html
@@ -31,7 +31,6 @@
<title wicket:id="pageTitle"></title>
</wicket:head>
<body>
-
<div id="container" class="page">
<div class="headerContainer">
<div>
http://git-wip-us.apache.org/repos/asf/isis/blob/17a40716/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
index 66ffee4..d78544e 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
@@ -86,6 +86,7 @@ public abstract class PageAbstract extends WebPage {
public static final String ID_ABOUT_LINK = "aboutLink";
private static final JavaScriptResourceReference JQUERY_JGROWL_JS = new JavaScriptResourceReference(PageAbstract.class, "jquery.jgrowl.js");
+ private static final JavaScriptResourceReference JQUERY_ISIS_WICKET_VIEWER_JS = new JavaScriptResourceReference(PageAbstract.class, "jquery.isis.wicket.viewer.js");
/**
* This is a bit hacky, but best way I've found to pass an exception over to the WicketSignInPage
@@ -168,6 +169,7 @@ public abstract class PageAbstract extends WebPage {
super.renderHead(response);
response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forReference(Application.get().getJavaScriptLibrarySettings().getJQueryReference())));
response.render(new PriorityHeaderItem(JavaScriptReferenceHeaderItem.forReference(JQUERY_JGROWL_JS)));
+ response.render(new PriorityHeaderItem(JavaScriptReferenceHeaderItem.forReference(JQUERY_ISIS_WICKET_VIEWER_JS)));
final String feedbackMsg = JGrowlUtil.asJGrowlCalls(getMessageBroker());
if (!StringUtils.isEmpty(feedbackMsg)) {
http://git-wip-us.apache.org/repos/asf/isis/blob/17a40716/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/jquery.isis.wicket.viewer.js
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/jquery.isis.wicket.viewer.js b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/jquery.isis.wicket.viewer.js
new file mode 100644
index 0000000..2f8c344
--- /dev/null
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/jquery.isis.wicket.viewer.js
@@ -0,0 +1,5 @@
+$(document).ready(function() {
+ $('.buttons .okButton').click(function(){
+ $('#veil').show();
+ });
+});