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 2016/05/17 19:37:55 UTC
[4/8] isis git commit: ISIS-1355: minor refactoring to extract method
in wicket viewer.
ISIS-1355: minor refactoring to extract method in wicket viewer.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/8c824bd0
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/8c824bd0
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/8c824bd0
Branch: refs/heads/master
Commit: 8c824bd06575a7b8a79e3be932a465e6e5e1540b
Parents: ba58947
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Tue May 17 08:02:10 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue May 17 08:02:10 2016 +0100
----------------------------------------------------------------------
.../components/scalars/ScalarPanelAbstract.java | 27 +++-----------------
.../scalars/ScalarPanelTextFieldAbstract.java | 5 ++--
.../isisapplib/IsisBlobOrClobPanelAbstract.java | 3 ++-
.../scalars/primitive/BooleanPanel.java | 11 +++++---
.../scalars/reference/ReferencePanel.java | 6 ++---
.../valuechoices/ValueChoicesSelect2Panel.java | 3 ++-
6 files changed, 21 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/8c824bd0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
index 0a29108..90bb5b1 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
@@ -177,30 +177,11 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
return componentIfRegular;
}
- private boolean guiForceBuilt = false;
- /**
- * Bit of a hack, but is an API to force the eager building of this component such that focus can be placed on it.
- *
- * <p>
- * This is used in {@link org.apache.isis.viewer.wicket.ui.components.widgets.linkandlabel.ActionLinkFactoryAbstract}
- * when creating the action prompt parameters panel.
- * </p>
- */
- public void forceBuildGui() {
- buildGui();
- guiForceBuilt = true;
- }
@Override
protected void onBeforeRender() {
if ((!hasBeenRendered() || alwaysRebuildGui())) {
- if(!guiForceBuilt) {
- // skip building, as was forced previously
- buildGui();
- } else {
- // reset flag, so preserve original behaviour before the 'forced' hack.
- guiForceBuilt = false;
- }
+ buildGui();
}
final ScalarModel scalarModel = getModel();
@@ -303,9 +284,11 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
protected abstract Component addComponentForCompact();
- protected void addFeedbackTo(MarkupContainer markupContainer, Component component) {
+ protected void addFeedbackOnlyTo(final MarkupContainer markupContainer, final Component component) {
markupContainer.addOrReplace(new NotificationPanel(ID_FEEDBACK, component, new ComponentFeedbackMessageFilter(component)));
+ }
+ protected void addEditPropertyTo(final MarkupContainer markupContainer) {
final String disableReasonIfAny = scalarModel.disable(getRendering().getWhere());
if (disableReasonIfAny == null && scalarModel.isViewMode()) {
final WebMarkupContainer editProperty = new WebMarkupContainer(ID_EDIT_PROPERTY);
@@ -338,10 +321,8 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
} else {
Components.permanentlyHide(markupContainer, ID_EDIT_PROPERTY);
}
-
}
-
/**
* Optional hook.
*/
http://git-wip-us.apache.org/repos/asf/isis/blob/8c824bd0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
index 259813e..1985440 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
@@ -132,8 +132,9 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
if(describedAs != null) {
labelIfRegular.add(new AttributeModifier("title", Model.of(describedAs)));
}
-
- addFeedbackTo(labelIfRegular, textField);
+
+ addFeedbackOnlyTo(labelIfRegular, textField);
+ addEditPropertyTo(labelIfRegular);
// ... add entity links to panel (below and to right)
addEntityActionLinksBelowAndRight(labelIfRegular, entityActions);
http://git-wip-us.apache.org/repos/asf/isis/blob/8c824bd0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
index 3b21b46..03ced44 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
@@ -114,7 +114,8 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
updateDownloadLink(ID_SCALAR_IF_REGULAR_DOWNLOAD, labelIfRegular);
addOrReplace(labelIfRegular);
- addFeedbackTo(labelIfRegular, fileUploadField);
+ addFeedbackOnlyTo(labelIfRegular, fileUploadField);
+ addEditPropertyTo(labelIfRegular);
// ... add entity links to panel (below and to right)
addEntityActionLinksBelowAndRight(labelIfRegular, entityActions);
http://git-wip-us.apache.org/repos/asf/isis/blob/8c824bd0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
index 7c0dcc5..a58233b 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
@@ -19,16 +19,15 @@
package org.apache.isis.viewer.wicket.ui.components.scalars.primitive;
-import de.agilecoders.wicket.extensions.markup.html.bootstrap.form.checkboxx.CheckBoxX;
-import de.agilecoders.wicket.extensions.markup.html.bootstrap.form.checkboxx.CheckBoxXConfig;
-
import java.util.List;
+
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.Model;
+
import org.apache.isis.applib.annotation.LabelPosition;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
@@ -41,6 +40,9 @@ import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract;
import org.apache.isis.viewer.wicket.ui.components.widgets.bootstrap.FormGroup;
import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
+import de.agilecoders.wicket.extensions.markup.html.bootstrap.form.checkboxx.CheckBoxX;
+import de.agilecoders.wicket.extensions.markup.html.bootstrap.form.checkboxx.CheckBoxXConfig;
+
/**
* Panel for rendering scalars of type {@link Boolean} or <tt>boolean</tt>.
*/
@@ -93,7 +95,8 @@ public class BooleanPanel extends ScalarPanelAbstract {
addPositioningCssTo(labelIfRegular, entityActions);
addOrReplace(labelIfRegular);
- addFeedbackTo(labelIfRegular, checkBox);
+ addFeedbackOnlyTo(labelIfRegular, checkBox);
+ addEditPropertyTo(labelIfRegular);
// ... add entity links to panel (below and to right)
addEntityActionLinksBelowAndRight(labelIfRegular, entityActions);
http://git-wip-us.apache.org/repos/asf/isis/blob/8c824bd0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
index 1fe3a60..36759f8 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
@@ -111,7 +111,7 @@ public class ReferencePanel extends ScalarPanelAbstract {
labelIfCompact.add(entitySimpleLink);
addOrReplace(labelIfCompact);
-
+
return labelIfCompact;
}
@@ -150,8 +150,8 @@ public class ReferencePanel extends ScalarPanelAbstract {
addPositioningCssTo(labelIfRegular, entityActions);
addOrReplace(labelIfRegular);
-
- addFeedbackTo(labelIfRegular, entityLink);
+ addFeedbackOnlyTo(labelIfRegular, entityLink);
+ addEditPropertyTo(labelIfRegular);
// ... add entity links to panel (below and to right)
addEntityActionLinksBelowAndRight(labelIfRegular, entityActions);
http://git-wip-us.apache.org/repos/asf/isis/blob/8c824bd0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
index b6fb5f7..81c4b05 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
@@ -106,7 +106,8 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
addPositioningCssTo(labelIfRegular, entityActions);
- addFeedbackTo(labelIfRegular, select2Field);
+ addFeedbackOnlyTo(labelIfRegular, select2Field);
+ addEditPropertyTo(labelIfRegular);
// ... add entity links to panel (below and to right)
addEntityActionLinksBelowAndRight(labelIfRegular, entityActions);