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/11/04 01:34:19 UTC
[21/27] git commit: ISIS-537 Do not re-add the ScalarPanel's
AjaxFormComponentUpdatingBehavior again and again even when rebuilding the
whole GUI for the panel
ISIS-537 Do not re-add the ScalarPanel's AjaxFormComponentUpdatingBehavior again and again even when rebuilding the whole GUI for the panel
https://trello.com/c/DgiUR5Cj/97-improve-the-behavior-of-the-select2-components
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/4bbe17e0
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/4bbe17e0
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/4bbe17e0
Branch: refs/heads/master
Commit: 4bbe17e0e024ca308149b5fb90ee018cd3c3bcdd
Parents: 7cf69d9
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Sun Nov 2 21:43:41 2014 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Sun Nov 2 21:43:41 2014 +0200
----------------------------------------------------------------------
.../components/scalars/ScalarPanelAbstract.java | 43 +++++++++++---------
.../widgets/select2/Select2ChoiceUtil.java | 14 -------
.../valuechoices/ValueChoicesSelect2Panel.java | 3 ++
3 files changed, 26 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/4bbe17e0/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
index 78afa72..b67814a 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
@@ -238,29 +238,32 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
addCssForMetaModel();
if(!subscribers.isEmpty()) {
- addFormComponentBehavior(new AjaxFormComponentUpdatingBehavior("change"){
-
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void onUpdate(AjaxRequestTarget target) {
- for (ScalarModelSubscriber subscriber : subscribers) {
- subscriber.onUpdate(target, ScalarPanelAbstract.this);
- }
- }
-
- @Override
- protected void onError(AjaxRequestTarget target, RuntimeException e) {
- super.onError(target, e);
- for (ScalarModelSubscriber subscriber : subscribers) {
- subscriber.onError(target, ScalarPanelAbstract.this);
- }
-
- }
- });
+ addFormComponentBehavior(new ScalarUpdatingBehavior());
}
}
+ protected class ScalarUpdatingBehavior extends AjaxFormComponentUpdatingBehavior {
+ private static final long serialVersionUID = 1L;
+
+ private ScalarUpdatingBehavior() {
+ super("change");
+ }
+
+ @Override
+ protected void onUpdate(AjaxRequestTarget target) {
+ for (ScalarModelSubscriber subscriber : subscribers) {
+ subscriber.onUpdate(target, ScalarPanelAbstract.this);
+ }
+ }
+
+ @Override
+ protected void onError(AjaxRequestTarget target, RuntimeException e) {
+ super.onError(target, e);
+ for (ScalarModelSubscriber subscriber : subscribers) {
+ subscriber.onError(target, ScalarPanelAbstract.this);
+ }
+ }
+ }
/**
* Mandatory hook.
http://git-wip-us.apache.org/repos/asf/isis/blob/4bbe17e0/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/Select2ChoiceUtil.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/Select2ChoiceUtil.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/Select2ChoiceUtil.java
index ba37ef7..fb82253 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/Select2ChoiceUtil.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/Select2ChoiceUtil.java
@@ -18,7 +18,6 @@ package org.apache.isis.viewer.wicket.ui.components.widgets.select2;
import com.vaynberg.wicket.select2.Select2Choice;
-import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.model.IModel;
import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
@@ -28,22 +27,9 @@ public final class Select2ChoiceUtil {
private Select2ChoiceUtil(){}
- // a guesstimate to convert a single character into 'em' units
- private static final double CHAR_TO_EM_MULTIPLIER = 0.8;
-
- // a further fudge, add some additional characters prior to multiplication.
- private static final int ADDITIONAL_CHARS = 3;
-
public static Select2Choice<ObjectAdapterMemento> newSelect2Choice(String id, final IModel<ObjectAdapterMemento> modelObject, ScalarModel scalarModel) {
Select2Choice<ObjectAdapterMemento> select2Choice = new Select2Choice<>(id, modelObject);
- int typicalLength = scalarModel.getTypicalLength();
- select2Choice.add(new AttributeAppender("style", asCssStyleWidth(typicalLength)));
select2Choice.setRequired(scalarModel.isRequired());
return select2Choice;
}
-
- private static String asCssStyleWidth(int numChars) {
- return "width: " + ((numChars+ADDITIONAL_CHARS) * CHAR_TO_EM_MULTIPLIER) + "em;";
- }
-
}
http://git-wip-us.apache.org/repos/asf/isis/blob/4bbe17e0/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
index b5a1529..e30d698 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
@@ -214,6 +214,9 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
@Override
protected void addFormComponentBehavior(Behavior behavior) {
+ for (Behavior b : select2Field.getBehaviors(ScalarUpdatingBehavior.class)) {
+ select2Field.remove(b);
+ }
select2Field.add(behavior);
}