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/05/13 12:17:29 UTC
[isis] branch master updated: ISIS-3050: replace empty text-area when in output mode with html badge
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 f4fc8303b5 ISIS-3050: replace empty text-area when in output mode with html badge
f4fc8303b5 is described below
commit f4fc8303b57269ca407bbfc463bd8a5dc2498126
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri May 13 14:17:23 2022 +0200
ISIS-3050: replace empty text-area when in output mode with html badge
---
.../ui/components/scalars/ScalarPanelAbstract.java | 4 ++--
.../ui/components/scalars/ScalarPanelAbstract2.java | 20 ++++++++++++++++----
.../scalars/ScalarPanelTextFieldAbstract.java | 21 ---------------------
3 files changed, 18 insertions(+), 27 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 a9f7ac8a87..51c7c04d7f 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
@@ -85,12 +85,12 @@ implements ScalarModelSubscriber {
protected static final String ID_SCALAR_VALUE = "scalarValue";
public enum FormatModifier {
- READONLY,
+ //READONLY,
MARKUP,
MULITLINE,
COMPOSITE,
TRISTATE,
- FLEX,
+ //FLEX,
BLOB,
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
index efb7dbae14..5b15e560ab 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
@@ -122,9 +122,7 @@ extends ScalarPanelAbstract {
* However, it may be overridden if required.
*/
protected Component createComponentForOutput(final String id) {
- if(getFormatModifiers().contains(FormatModifier.MULITLINE)
- && !getFormatModifiers().contains(FormatModifier.MARKUP)
- && !getRenderScenario().isCompact()) {
+ if(isUsingTextarea()) {
return PromptFragment.TEXTAREA
.createFragment(id, this, scalarValueId->{
val textArea = Wkt.textAreaNoTab(scalarValueId, this::obtainOutputFormat);
@@ -141,12 +139,26 @@ extends ScalarPanelAbstract {
Wkt.markup(scalarValueId, this::obtainOutputFormat));
}
+ private boolean isUsingTextarea() {
+ if(getRenderScenario().isCompact()
+ || getFormatModifiers().contains(FormatModifier.MARKUP)
+ || !getFormatModifiers().contains(FormatModifier.MULITLINE)) {
+ return false;
+ }
+ // only render a text-area if it has content
+ return !scalarModel().isEmpty();
+ }
+
/**
* Output format (usually HTML) as String, for any non editing scenario.
+ * <p>
+ * Usually HTML, except for (non-empty) text-areas.
*/
protected String obtainOutputFormat() {
return _Strings.nonEmpty(
- scalarModel().proposedValue().getValueAsHtml().getValue())
+ isUsingTextarea()
+ ? scalarModel().proposedValue().getValueAsTitle().getValue()
+ : scalarModel().proposedValue().getValueAsHtml().getValue())
.orElseGet(()->
PlaceholderLiteral.NULL_REPRESENTATION.asHtml(this::translate));
}
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 decc88be45..e0e23548e7 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
@@ -134,27 +134,6 @@ extends ScalarPanelFormFieldAbstract<T> {
return super.obtainOutputFormat();
}
-// protected class ToStringConvertingModel<X> extends Model<String> {
-// private static final long serialVersionUID = 1L;
-//
-// @NonNull private final IConverter<X> converter;
-//
-// private ToStringConvertingModel(final @NonNull IConverter<X> converter) {
-// this.converter = converter;
-// }
-//
-// @Override public String getObject() {
-// val adapter = scalarModel().getObject();
-// val value = ManagedObjects.UnwrapUtil.single(adapter);
-// final String str = value != null
-// ? converter.convertToString(
-// _Casts.uncheckedCast(value),
-// getLanguageProvider().getPreferredLanguage().orElseGet(Locale::getDefault))
-// : null;
-// return str;
-// }
-// }
-
// -- HELPER
<F extends FormComponent<?>> F applyFormComponentAttributes(final F formComponent) {