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 2017/04/28 09:21:35 UTC
[30/43] isis git commit: ISIS-1603: simplifies the
ScalarPanelAbstract hierarchy,
removing responsibilities from ScalarPanelTextAbstract (both up and down)
ISIS-1603: simplifies the ScalarPanelAbstract hierarchy, removing responsibilities from ScalarPanelTextAbstract (both up and down)
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/8484d53b
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/8484d53b
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/8484d53b
Branch: refs/heads/master
Commit: 8484d53b0748f81be4c77dea55cfbda19a04cefc
Parents: 5f29ed3
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Tue Apr 25 23:32:36 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Apr 27 13:26:40 2017 +0100
----------------------------------------------------------------------
.../components/scalars/ScalarPanelAbstract.java | 45 +++++++++++++
.../scalars/ScalarPanelTextAbstract.java | 70 --------------------
.../scalars/ScalarPanelTextFieldAbstract.java | 22 +++++-
3 files changed, 66 insertions(+), 71 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/8484d53b/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 f2fff57..a03b917 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
@@ -49,6 +49,7 @@ import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.ComponentType;
import org.apache.isis.viewer.wicket.ui.components.actionmenu.entityactions.AdditionalLinksPanel;
+import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditFormExecutor;
import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditFormPanel;
import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditPanel;
import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditPromptHeaderPanel;
@@ -271,6 +272,50 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
// ///////////////////////////////////////////////////////////////////
/**
+ * For convenience of subclasses that support inline prompts ({@link ScalarPanelTextAbstract}, {@link ReferencePanel}, {@link ValueChoicesSelect2Panel}).
+ */
+ protected void configureInlinePromptCallback() {
+
+ final PromptStyle promptStyle = this.scalarModel.getPromptStyle();
+ if(promptStyle == PromptStyle.INLINE) {
+
+ if(editInlineLink != null) {
+ editInlineLink.add(new AjaxEventBehavior("click") {
+ @Override
+ protected void onEvent(final AjaxRequestTarget target) {
+
+ scalarModel.toEditMode();
+
+ // dynamically update the edit form.
+ final PropertyEditFormExecutor formExecutor =
+ new PropertyEditFormExecutor(ScalarPanelAbstract.this, scalarModel);
+ scalarModel.setFormExecutor(formExecutor);
+ scalarModel.setInlinePromptContext(
+ new ScalarModel.InlinePromptContext(
+ getComponentForRegular(),
+ scalarIfRegularInlinePromptForm));
+
+ switchFormForInlinePrompt();
+
+ getComponentForRegular().setVisible(false);
+ scalarIfRegularInlinePromptForm.setVisible(true);
+
+ target.add(ScalarPanelAbstract.this);
+ }
+
+ @Override
+ public boolean isEnabled(final Component component) {
+ return true;
+ }
+ });
+ }
+ }
+ }
+
+
+ // ///////////////////////////////////////////////////////////////////
+
+ /**
* Mandatory hook.
*/
protected abstract void addFormComponentBehavior(Behavior behavior);
http://git-wip-us.apache.org/repos/asf/isis/blob/8484d53b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.java
index 9245a28..198eb9e 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.java
@@ -19,16 +19,7 @@
package org.apache.isis.viewer.wicket.ui.components.scalars;
-import org.apache.wicket.Component;
-import org.apache.wicket.ajax.AjaxEventBehavior;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.markup.html.panel.Fragment;
-
-import org.apache.isis.applib.annotation.PromptStyle;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.ComponentType;
-import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditFormExecutor;
-import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditFormPanel;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
/**
@@ -43,72 +34,11 @@ public abstract class ScalarPanelTextAbstract extends ScalarPanelAbstract {
private static final long serialVersionUID = 1L;
- public enum CompactType {
- INPUT_CHECKBOX,
- SPAN
- }
-
-
public ScalarPanelTextAbstract(final String id, final ScalarModel scalarModel) {
super(id, scalarModel);
}
- protected Fragment getCompactFragment(CompactType type) {
- Fragment compactFragment;
- switch (type) {
- case INPUT_CHECKBOX:
- compactFragment = new Fragment("scalarIfCompact", "compactAsInputCheckbox", ScalarPanelTextAbstract.this);
- break;
- case SPAN:
- default:
- compactFragment = new Fragment("scalarIfCompact", "compactAsSpan", ScalarPanelTextAbstract.this);
- break;
- }
- return compactFragment;
- }
-
-
-
-
- protected void configureInlineEditCallback() {
-
- final PromptStyle editStyle = this.scalarModel.getPromptStyle();
- if(editStyle == PromptStyle.INLINE) {
-
- if(editInlineLink != null) {
- editInlineLink.add(new AjaxEventBehavior("click") {
- @Override
- protected void onEvent(final AjaxRequestTarget target) {
-
- scalarModel.toEditMode();
-
- // dynamically update the edit form.
- final PropertyEditFormExecutor formExecutor =
- new PropertyEditFormExecutor(ScalarPanelTextAbstract.this, scalarModel);
- scalarModel.setFormExecutor(formExecutor);
- scalarModel.setInlinePromptContext(
- new ScalarModel.InlinePromptContext(
- getComponentForRegular(),
- scalarIfRegularInlinePromptForm));
-
- switchFormForInlinePrompt();
-
- getComponentForRegular().setVisible(false);
- scalarIfRegularInlinePromptForm.setVisible(true);
-
- target.add(ScalarPanelTextAbstract.this);
- }
-
- @Override
- public boolean isEnabled(final Component component) {
- return true;
- }
- });
- }
- }
- }
-
}
http://git-wip-us.apache.org/repos/asf/isis/blob/8484d53b/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 adde04e..332e2e8 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
@@ -165,7 +165,7 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
//
addEditPropertyTo(scalarIfRegularFormGroup);
- configureInlineEditCallback();
+ configureInlinePromptCallback();
if (scalarModel.canEnterEditMode() && scalarModel.getPromptStyle() == PromptStyle.INLINE) {
textField.setVisibilityAllowed(false);
@@ -301,6 +301,26 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
return labelIfCompact;
}
+ public enum CompactType {
+ INPUT_CHECKBOX,
+ SPAN
+ }
+
+
+ protected Fragment getCompactFragment(CompactType type) {
+ Fragment compactFragment;
+ switch (type) {
+ case INPUT_CHECKBOX:
+ compactFragment = new Fragment(ID_SCALAR_IF_COMPACT, "compactAsInputCheckbox", ScalarPanelTextFieldAbstract.this);
+ break;
+ case SPAN:
+ default:
+ compactFragment = new Fragment(ID_SCALAR_IF_COMPACT, "compactAsSpan", ScalarPanelTextFieldAbstract.this);
+ break;
+ }
+ return compactFragment;
+ }
+
@Override
protected void onBeforeRenderWhenViewMode() {