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("")));
}