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 fd7b89dbb2 ISIS-3112: fixes custom per-Member Value Semantics for
Collections
fd7b89dbb2 is described below
commit fd7b89dbb2e4c3f73d9e0080bd9e906f2b4bb198
Author: andi-huber <[email protected]>
AuthorDate: Mon Aug 8 14:51:56 2022 +0200
ISIS-3112: fixes custom per-Member Value Semantics for Collections
---
.../isis/core/metamodel/facets/object/value/ValueFacet.java | 2 ++
.../apache/isis/viewer/wicket/model/models/ValueModel.java | 6 ++++++
.../java/org/apache/isis/viewer/wicket/ui/util/Wkt.java | 13 ++++++++-----
3 files changed, 16 insertions(+), 5 deletions(-)
diff --git
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacet.java
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacet.java
index 49ead1d33c..9b44f9aea1 100644
---
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacet.java
+++
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacet.java
@@ -137,6 +137,8 @@ extends
return selectRendererForParameter((ObjectActionParameter)feature);
case PROPERTY:
return selectRendererForProperty((OneToOneAssociation)feature);
+ case COLLECTION:
+ return selectRendererForCollection((OneToManyAssociation)feature);
default:
return selectDefaultRenderer();
}
diff --git
a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ValueModel.java
b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ValueModel.java
index 54da2ef25a..68dee246d8 100644
---
a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ValueModel.java
+++
b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ValueModel.java
@@ -75,6 +75,12 @@ extends ModelAbstract<ManagedObject> {
return
objectMemberMemento.getObjectMember(getCommonContext()::getSpecificationLoader);
}
+// @SuppressWarnings("unchecked")
+// public Optional<Renderer<?>> lookupRenderer() {
+// return
getObjectMember().getElementType().lookupFacet(ValueFacet.class)
+//
.flatMap(valueFacet->valueFacet.selectRendererForFeature(getObjectMember()));
+// }
+
// -- HINTING SUPPORT
private ActionModel actionModelHint;
diff --git
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/Wkt.java
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/Wkt.java
index ff1753a1cd..17bc49ca2a 100644
---
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/Wkt.java
+++
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/Wkt.java
@@ -94,9 +94,7 @@ import
org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupComponen
import
org.apache.isis.viewer.wicket.ui.components.widgets.links.AjaxLinkNoPropagate;
import org.apache.isis.viewer.wicket.ui.panels.PanelUtil;
-import lombok.NonNull;
-import lombok.val;
-import lombok.experimental.UtilityClass;
+import static de.agilecoders.wicket.jquery.JQuery.$;
import
de.agilecoders.wicket.core.markup.html.bootstrap.behavior.CssClassNameAppender;
import de.agilecoders.wicket.core.util.Attributes;
@@ -107,8 +105,9 @@ import
de.agilecoders.wicket.extensions.markup.html.bootstrap.form.checkboxx.Che
import
de.agilecoders.wicket.extensions.markup.html.bootstrap.form.checkboxx.CheckBoxXConfig.Sizes;
import
de.agilecoders.wicket.extensions.markup.html.bootstrap.form.fileinput.BootstrapFileInputField;
import de.agilecoders.wicket.jquery.Key;
-
-import static de.agilecoders.wicket.jquery.JQuery.$;
+import lombok.NonNull;
+import lombok.val;
+import lombok.experimental.UtilityClass;
/**
* Wicket common idioms, in alphabetical order.
@@ -827,6 +826,10 @@ public class Wkt {
return markup(id, Model.of(html));
}
+ public MarkupComponent markupAdd(final MarkupContainer container, final
String id, final IModel<String> htmlModel) {
+ return add(container, markup(id, htmlModel));
+ }
+
public MarkupComponent markupAdd(final MarkupContainer container, final
String id, final String html) {
return add(container, markup(id, html));
}