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/09 22:12:33 UTC

[isis] branch master updated: ISIS-2877: wkt: ReferencePanel fixes (after compact/regualur no longer both required)

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 a2a2c81  ISIS-2877: wkt: ReferencePanel fixes (after compact/regualur no longer both required)
a2a2c81 is described below

commit a2a2c810131af1e63e343e0cf90d31772693d435
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Mar 9 23:05:48 2022 +0100

    ISIS-2877: wkt: ReferencePanel fixes (after compact/regualur no longer
    both required)
---
 .../scalars/ScalarPanelSelectAbstract.java         |  4 ++-
 .../scalars/reference/ReferencePanel.java          | 31 +++++++++++++---------
 2 files changed, 22 insertions(+), 13 deletions(-)

diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelectAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelectAbstract.java
index a351aad..069a5e8 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelectAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelectAbstract.java
@@ -56,7 +56,9 @@ extends ScalarPanelAbstract {
 
     @Override
     protected Component getValidationFeedbackReceiver() {
-        return select2.asComponent();
+        return select2!=null
+                ? select2.asComponent()
+                : null;
     }
 
     protected Select2 createSelect2(final String id) {
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
index 026a90a..dd69a0e 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
@@ -45,10 +45,10 @@ import org.apache.isis.viewer.wicket.ui.components.widgets.select2.Select2;
 import org.apache.isis.viewer.wicket.ui.components.widgets.select2.providers.ObjectAdapterMementoProviderForReferenceChoices;
 import org.apache.isis.viewer.wicket.ui.components.widgets.select2.providers.ObjectAdapterMementoProviderForReferenceObjectAutoComplete;
 import org.apache.isis.viewer.wicket.ui.components.widgets.select2.providers.ObjectAdapterMementoProviderForReferenceParamOrPropertyAutoComplete;
-import org.apache.isis.viewer.wicket.ui.util.WktComponents;
-import org.apache.isis.viewer.wicket.ui.util.WktTooltips;
 import org.apache.isis.viewer.wicket.ui.util.Wkt;
 import org.apache.isis.viewer.wicket.ui.util.Wkt.EventTopic;
+import org.apache.isis.viewer.wicket.ui.util.WktComponents;
+import org.apache.isis.viewer.wicket.ui.util.WktTooltips;
 
 import lombok.val;
 
@@ -64,7 +64,8 @@ public class ReferencePanel extends ScalarPanelSelectAbstract {
     private static final String ID_ENTITY_ICON_TITLE = "entityIconAndTitle";
 
     private EntityLinkSelect2Panel entityLink;
-    private EntityLinkSimplePanel entitySimpleLink;
+    private EntityLinkSimplePanel entityLinkOutputFormat;
+    private boolean isOutputFormat = false;
 
     public ReferencePanel(final String id, final ScalarModel scalarModel) {
         super(id, scalarModel);
@@ -81,17 +82,19 @@ public class ReferencePanel extends ScalarPanelSelectAbstract {
     @Override
     protected Component createComponentForCompact() {
 
+        this.isOutputFormat = true;
+
         final ScalarModel scalarModel = getModel();
         final String name = scalarModel.getFriendlyName();
 
-        entitySimpleLink = (EntityLinkSimplePanel) getComponentFactoryRegistry()
+        this.entityLinkOutputFormat = (EntityLinkSimplePanel) getComponentFactoryRegistry()
                 .createComponent(ComponentType.ENTITY_LINK, scalarModel);
 
-        entitySimpleLink.setOutputMarkupId(true);
-        entitySimpleLink.setLabel(Model.of(name));
+        entityLinkOutputFormat.setOutputMarkupId(true);
+        entityLinkOutputFormat.setLabel(Model.of(name));
 
         final WebMarkupContainer labelIfCompact = new WebMarkupContainer(ID_SCALAR_IF_COMPACT);
-        labelIfCompact.add(entitySimpleLink);
+        labelIfCompact.add(entityLinkOutputFormat);
 
         return labelIfCompact;
     }
@@ -100,7 +103,7 @@ public class ReferencePanel extends ScalarPanelSelectAbstract {
     @Override
     protected FormGroup createComponentForRegular() {
 
-        entityLink = new EntityLinkSelect2Panel(ComponentType.ENTITY_LINK.getId(), this);
+        this.entityLink = new EntityLinkSelect2Panel(ComponentType.ENTITY_LINK.getId(), this);
 
         entityLink.setRequired(getModel().isRequired());
         this.select2 = createSelect2AndSemantics();
@@ -146,12 +149,13 @@ public class ReferencePanel extends ScalarPanelSelectAbstract {
     }
 
 
-
     // //////////////////////////////////////
 
     @Override
     protected InlinePromptConfig getInlinePromptConfig() {
-        return InlinePromptConfig.supportedAndHide(select2.asComponent());
+        return isOutputFormat
+                ? InlinePromptConfig.notSupported()
+                : InlinePromptConfig.supportedAndHide(select2.asComponent());
     }
 
     @Override
@@ -167,6 +171,7 @@ public class ReferencePanel extends ScalarPanelSelectAbstract {
     @Override
     protected void onInitializeEditable() {
         super.onInitializeEditable();
+        if(isOutputFormat) return;
         entityLink.setEnabled(true);
         syncWithInput();
     }
@@ -174,6 +179,7 @@ public class ReferencePanel extends ScalarPanelSelectAbstract {
     @Override
     protected void onInitializeNotEditable() {
         super.onInitializeNotEditable();
+        if(isOutputFormat) return;
         entityLink.setEnabled(false);
         syncWithInput();
     }
@@ -181,6 +187,7 @@ public class ReferencePanel extends ScalarPanelSelectAbstract {
     @Override
     protected void onInitializeReadonly(final String disableReason) {
         super.onInitializeReadonly(disableReason);
+        if(isOutputFormat) return;
         val entityLinkModel = (HasRenderingHints) entityLink.getModel();
         entityLinkModel.toViewMode();
         entityLink.setEnabled(false);
@@ -191,7 +198,7 @@ public class ReferencePanel extends ScalarPanelSelectAbstract {
     @Override
     protected void onNotEditable(final String disableReason, final Optional<AjaxRequestTarget> target) {
         super.onNotEditable(disableReason, target);
-
+        if(isOutputFormat) return;
         entityLink.setEnabled(false);
         entityLink.add(new AttributeModifier("title", Model.of(disableReason)));
     }
@@ -199,7 +206,7 @@ public class ReferencePanel extends ScalarPanelSelectAbstract {
     @Override
     protected void onEditable(final Optional<AjaxRequestTarget> target) {
         super.onEditable(target);
-
+        if(isOutputFormat) return;
         entityLink.setEnabled(true);
         entityLink.add(new AttributeModifier("title", Model.of("")));
     }