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/05/22 08:41:00 UTC

[2/2] git commit: ISIS-787: change Wicket viewer OK button to using ajax

ISIS-787: change Wicket viewer OK button to using ajax

... this seems to fix the regression that has occurred in snapshot (perhaps as result of upgrade to Wicket 6.15.0?)


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

Branch: refs/heads/master
Commit: 75059c44ad9797f5b35553c446f63aabf70e7793
Parents: ca7144f
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu May 22 07:40:52 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu May 22 07:40:52 2014 +0100

----------------------------------------------------------------------
 .../entity/properties/EntityPropertiesForm.java | 27 ++++++++----------
 .../viewer/wicket/ui/pages/PageAbstract.html    |  4 +--
 .../panels/AjaxButtonWithPreValidateHook.java   | 29 ++++++++++++++++++++
 .../ui/panels/ButtonWithPreValidateHook.java    | 29 --------------------
 4 files changed, 43 insertions(+), 46 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/75059c44/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 31dec60..190142a 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
@@ -20,18 +20,12 @@ package org.apache.isis.viewer.wicket.ui.components.entity.properties;
 
 import java.util.List;
 import java.util.Map;
-
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
-import org.apache.wicket.RestartResponseException;
 import org.apache.wicket.Session;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
-import org.apache.wicket.ajax.attributes.IAjaxCallListener;
 import org.apache.wicket.ajax.markup.html.form.AjaxButton;
-import org.apache.wicket.core.request.handler.BookmarkablePageRequestHandler;
-import org.apache.wicket.core.request.handler.PageProvider;
-import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.Button;
@@ -41,12 +35,8 @@ import org.apache.wicket.markup.html.panel.ComponentFeedbackPanel;
 import org.apache.wicket.markup.html.panel.FeedbackPanel;
 import org.apache.wicket.markup.repeater.RepeatingView;
 import org.apache.wicket.model.Model;
-import org.apache.wicket.request.cycle.RequestCycle;
-import org.apache.wicket.request.http.handler.RedirectRequestHandler;
-import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.visit.IVisit;
 import org.apache.wicket.util.visit.IVisitor;
-
 import org.apache.isis.applib.annotation.MemberGroupLayout.ColumnSpans;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.filter.Filter;
@@ -76,7 +66,7 @@ import org.apache.isis.viewer.wicket.ui.components.widgets.containers.UiHintPath
 import org.apache.isis.viewer.wicket.ui.components.widgets.formcomponent.CancelHintRequired;
 import org.apache.isis.viewer.wicket.ui.errors.JGrowlBehaviour;
 import org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage;
-import org.apache.isis.viewer.wicket.ui.panels.ButtonWithPreValidateHook;
+import org.apache.isis.viewer.wicket.ui.panels.AjaxButtonWithPreValidateHook;
 import org.apache.isis.viewer.wicket.ui.panels.FormAbstract;
 import org.apache.isis.viewer.wicket.ui.util.Components;
 import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
@@ -308,7 +298,7 @@ public class EntityPropertiesForm extends FormAbstract<ObjectAdapter> {
         markupContainer.add(editButton);
 
         
-        okButton = new ButtonWithPreValidateHook(ID_OK_BUTTON, Model.of("OK")) {
+        okButton = new AjaxButtonWithPreValidateHook(ID_OK_BUTTON, Model.of("OK")) {
             private static final long serialVersionUID = 1L;
 
 
@@ -357,9 +347,15 @@ public class EntityPropertiesForm extends FormAbstract<ObjectAdapter> {
                     super.validate();
                 }
             }
-            
+
+            @Override
+            protected void onError(AjaxRequestTarget target, Form<?> form) {
+                super.onError(target, form);
+                toEditMode(target);
+            }
+
             @Override
-            public void onSubmit() {
+            protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
                 if (getForm().hasError()) {
                     // stay in edit mode
                     return;
@@ -393,7 +389,8 @@ public class EntityPropertiesForm extends FormAbstract<ObjectAdapter> {
                     if(message == null) {
                         throw ex;
                     }
-                    toEditMode(null);
+
+                    toEditMode(target);
                     return;
                 }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/75059c44/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 9f422c4..1e20b5c 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
@@ -49,8 +49,8 @@
     				<div id="secondaryMenu">
     					<div class="links">
     						<span wicket:id="userName">[username]</span>
-    						<a href="#" wicket:id="logoutLink">logout</a>
-    						<a href="#" wicket:id="aboutLink">about</a>
+    						<a class="logout" href="#" wicket:id="logoutLink">logout</a>
+    						<a class="about" href="#" wicket:id="aboutLink">about</a>
     					</div>
     				</div>
     

http://git-wip-us.apache.org/repos/asf/isis/blob/75059c44/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/AjaxButtonWithPreValidateHook.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/AjaxButtonWithPreValidateHook.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/AjaxButtonWithPreValidateHook.java
new file mode 100644
index 0000000..c57692c
--- /dev/null
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/AjaxButtonWithPreValidateHook.java
@@ -0,0 +1,29 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.isis.viewer.wicket.ui.panels;
+
+import org.apache.wicket.ajax.markup.html.form.AjaxButton;
+import org.apache.wicket.model.IModel;
+
+public abstract class AjaxButtonWithPreValidateHook extends AjaxButton implements IFormSubmitterWithPreValidateHook {
+    private static final long serialVersionUID = 1L;
+    public AjaxButtonWithPreValidateHook(String id, IModel<String> model) {
+        super(id, model);
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/75059c44/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/ButtonWithPreValidateHook.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/ButtonWithPreValidateHook.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/ButtonWithPreValidateHook.java
deleted file mode 100644
index 95cf7c7..0000000
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/ButtonWithPreValidateHook.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.viewer.wicket.ui.panels;
-
-import org.apache.wicket.markup.html.form.Button;
-import org.apache.wicket.model.IModel;
-
-public abstract class ButtonWithPreValidateHook extends Button implements IFormSubmitterWithPreValidateHook {
-    private static final long serialVersionUID = 1L;
-    public ButtonWithPreValidateHook(String id, IModel<String> model) {
-        super(id, model);
-    }
-}
\ No newline at end of file