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 d27e49e30a ISIS-3250: adds config option for enable/disable 
clear-field button
d27e49e30a is described below

commit d27e49e30aad788b1773ce0ae5316388fabdfea0
Author: Andi Huber <[email protected]>
AuthorDate: Fri Oct 14 10:41:33 2022 +0200

    ISIS-3250: adds config option for enable/disable clear-field button
---
 .../apache/isis/core/config/IsisConfiguration.java | 24 +++++++++++++++-------
 .../components/scalars/ScalarPanelAbstract2.java   |  3 ++-
 2 files changed, 19 insertions(+), 8 deletions(-)

diff --git 
a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java 
b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
index 6679ae37f9..aa6d94c0a1 100644
--- 
a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
+++ 
b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
@@ -34,6 +34,12 @@ import java.util.Optional;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
+import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
 import javax.activation.DataSource;
 import javax.inject.Named;
 import javax.validation.Constraint;
@@ -65,21 +71,15 @@ import 
org.apache.isis.applib.value.semantics.TemporalValueSemantics.TemporalEdi
 import org.apache.isis.commons.internal.base._NullSafe;
 import org.apache.isis.commons.internal.context._Context;
 import org.apache.isis.core.config.metamodel.facets.ActionConfigOptions;
-import 
org.apache.isis.core.config.metamodel.facets.DomainObjectLayoutConfigOptions;
 import 
org.apache.isis.core.config.metamodel.facets.CollectionLayoutConfigOptions;
 import org.apache.isis.core.config.metamodel.facets.DomainObjectConfigOptions;
+import 
org.apache.isis.core.config.metamodel.facets.DomainObjectLayoutConfigOptions;
 import org.apache.isis.core.config.metamodel.facets.ParameterConfigOptions;
 import org.apache.isis.core.config.metamodel.facets.PropertyConfigOptions;
 import 
org.apache.isis.core.config.metamodel.services.ApplicationFeaturesInitConfiguration;
 import org.apache.isis.core.config.metamodel.specloader.IntrospectionMode;
 import org.apache.isis.core.config.viewer.web.DialogMode;
 
-import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
 import lombok.Data;
 import lombok.Getter;
 import lombok.Setter;
@@ -2012,6 +2012,16 @@ public class IsisConfiguration {
              */
             private boolean clearOriginalDestination = false;
 
+            /**
+             * Whether the clear-field-button, that allows to clear a 
null-able (optional) field
+             * (a property or a dialog argument) is enabled for rendering or 
not.
+             *
+             * <p>
+             *     The default is to enable (show) the clear-field-button.
+             * </p>
+             */
+            private boolean clearFieldButtonEnabled = true;
+
             /**
              * Whether the dialog mode rendered when invoking actions on 
domain objects should be to use
              * the sidebar (the default) or to use a modal dialog.
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 0849951c14..c5d2ed69cb 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
@@ -245,7 +245,8 @@ extends ScalarPanelAbstract {
 
         // add clear-field-button (only if feature is not required and not 
already cleared)
         val isClearFieldButtonVisible =
-                !scalarModel().isRequired()
+                getWicketViewerSettings().isClearFieldButtonEnabled()
+                    && !scalarModel().isRequired()
                     && scalarModel().proposedValue().isPresent();
 
         if(isClearFieldButtonVisible) {

Reply via email to