You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/03/03 14:46:44 UTC
[isis] branch master updated: ISIS-2877: more refactoring around scalar panels
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new 267f5ab ISIS-2877: more refactoring around scalar panels
267f5ab is described below
commit 267f5ab80e48bf9c8f2afed3d9ce6cbf6a52dea8
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Mar 3 15:46:35 2022 +0100
ISIS-2877: more refactoring around scalar panels
---
.../ui/components/scalars/ScalarPanelAbstract.java | 3 ++-
.../scalars/ScalarPanelTextFieldAbstract.java | 28 ++++++++--------------
.../scalars/ScalarPanelTextFieldNumeric.java | 6 -----
.../ScalarPanelTextFieldWithTemporalPicker.java | 6 -----
.../scalars/markup/ParentedMarkupPanel.java | 21 ++++++----------
5 files changed, 19 insertions(+), 45 deletions(-)
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
index 5c8727d..2657293 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
@@ -621,7 +621,8 @@ implements ScalarModelSubscriber {
// ///////////////////////////////////////////////////////////////////
/**
- * Components returning true for {@link #getInlinePromptConfig()} are required to override and return a non-null value.
+ * Components returning true for {@link #getInlinePromptConfig()}
+ * are required to override and return a non-null value.
*/
protected IModel<String> obtainInlinePromptModel() {
return null;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
index b6c668b..87e1648 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
@@ -142,14 +142,10 @@ implements TextFieldValueModel.ScalarModelProvider {
@Override
protected void onFormGroupCreated(final FormGroup formGroup) {
super.onFormGroupCreated(formGroup);
- formGroup.add(createScalarValueContainer(ID_SCALAR_VALUE_CONTAINER));
- setTextFieldSizeAndMaxLengthIfSpecified();
- }
-
- protected Component createScalarValueContainer(final String id) {
- final Fragment textFieldFragment = new Fragment(id, getTextFieldFragmentId(), this);
+ val textFieldFragment = new Fragment(ID_SCALAR_VALUE_CONTAINER, getTextFieldFragmentId(), this);
textFieldFragment.add(getFormComponent());
- return textFieldFragment;
+ formGroup.add(textFieldFragment);
+ setTextFieldSizeAndMaxLengthIfSpecified();
}
protected String getTextFieldFragmentId() {
@@ -254,14 +250,14 @@ implements TextFieldValueModel.ScalarModelProvider {
}
}
-
- // //////////////////////////////////////
+ // -- CONVERSION
@Override
- protected IModel<String> obtainInlinePromptModel() {
- IModel<?> model = getFormComponent().getModel();
- // must be "live", for ajax updates.
- return _Casts.uncheckedCast(model);
+ protected final IModel<String> obtainInlinePromptModel() {
+ val converter = getConverter(scalarModel());
+ return converter!=null
+ ? new ToStringConvertingModel<>(converter)
+ : _Casts.uncheckedCast(getFormComponent().getModel());
}
protected class ToStringConvertingModel<X> extends Model<String> {
@@ -285,11 +281,7 @@ implements TextFieldValueModel.ScalarModelProvider {
}
}
- protected ToStringConvertingModel<T> toStringConvertingModelOf(final IConverter<T> converter) {
- return new ToStringConvertingModel<>(converter);
- }
-
- // //////////////////////////////////////
+ // -- HELPER
private static Integer getMaxLengthOf(final @NonNull ScalarModel model) {
return model.getScalarTypeSpec()
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
index a49d76d..1158102 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
@@ -21,7 +21,6 @@ package org.apache.isis.viewer.wicket.ui.components.scalars;
import java.io.Serializable;
import org.apache.wicket.Component;
-import org.apache.wicket.model.IModel;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.util.Wkt;
@@ -52,9 +51,4 @@ extends ScalarPanelTextFieldWithValueSemantics<T> {
return label;
}
- @Override
- protected final IModel<String> obtainInlinePromptModel() {
- return super.toStringConvertingModelOf(getConverter(scalarModel()));
- }
-
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldWithTemporalPicker.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldWithTemporalPicker.java
index 98ad8d7..83d29ab 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldWithTemporalPicker.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldWithTemporalPicker.java
@@ -21,7 +21,6 @@ package org.apache.isis.viewer.wicket.ui.components.scalars;
import java.io.Serializable;
import org.apache.wicket.markup.html.form.TextField;
-import org.apache.wicket.model.IModel;
import org.apache.isis.core.metamodel.facets.objectvalue.daterenderedadjust.DateRenderAdjustFacet;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
@@ -58,9 +57,4 @@ extends ScalarPanelTextFieldWithValueSemantics<T> {
return "date";
}
- @Override
- protected IModel<String> obtainInlinePromptModel() {
- return super.toStringConvertingModelOf(getConverter(scalarModel()));
- }
-
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/ParentedMarkupPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/ParentedMarkupPanel.java
index f325569..36bddfd 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/ParentedMarkupPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/ParentedMarkupPanel.java
@@ -21,13 +21,11 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.markup;
import java.io.Serializable;
import org.apache.wicket.Component;
-import org.apache.wicket.model.IModel;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldWithValueSemantics;
import org.apache.isis.viewer.wicket.ui.components.scalars.TextFieldVariant;
-
-import lombok.val;
+import org.apache.isis.viewer.wicket.ui.components.widgets.bootstrap.FormGroup;
/**
* Panel for rendering scalars of type {@link org.apache.isis.applib.value.Markup}.
@@ -49,13 +47,13 @@ extends ScalarPanelTextFieldWithValueSemantics<T> {
}
@Override
- protected Component createScalarValueContainer(final String id) {
- val scalarModel = scalarModel();
- if(scalarModel.isEditMode()) {
+ protected void onFormGroupCreated(final FormGroup formGroup) {
+ if(scalarModel().isEditMode()) {
// fallback to text area
- return super.createScalarValueContainer(id);
+ super.onFormGroupCreated(formGroup);
+ } else {
+ formGroup.add(createMarkupComponent(ID_SCALAR_VALUE_CONTAINER));
}
- return createMarkupComponent(id);
}
@Override
@@ -63,12 +61,7 @@ extends ScalarPanelTextFieldWithValueSemantics<T> {
return createMarkupComponent(ID_SCALAR_IF_COMPACT);
}
- @Override
- protected final IModel<String> obtainInlinePromptModel() {
- return super.toStringConvertingModelOf(getConverter(scalarModel()));
- }
-
protected final MarkupComponent createMarkupComponent(final String id) {
- return markupComponentFactory.newMarkupComponent(id, getModel());
+ return markupComponentFactory.newMarkupComponent(id, scalarModel());
}
}