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