This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch v3
in repository https://gitbox.apache.org/repos/asf/causeway.git


The following commit(s) were added to refs/heads/v3 by this push:
     new 053458f206b CAUSEWAY-3815: CSS fix; also force new tab when collection 
is standalone
053458f206b is described below

commit 053458f206b2f592adced5ee95cae9cc8fd47762
Author: Andi Huber <[email protected]>
AuthorDate: Tue Nov 26 20:10:04 2024 +0100

    CAUSEWAY-3815: CSS fix; also force new tab when collection is standalone
---
 .../serviceactions/ServiceActionsPanel.css          |  4 ----
 .../CollectionContentsAsAjaxTablePanel.java         |  2 +-
 .../ajaxtable/columns/ActionColumn.java             | 21 +++++++++++++++------
 3 files changed, 16 insertions(+), 11 deletions(-)

diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actionlinks/serviceactions/ServiceActionsPanel.css
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actionlinks/serviceactions/ServiceActionsPanel.css
index b32bfdfee21..6f65e140d34 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actionlinks/serviceactions/ServiceActionsPanel.css
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actionlinks/serviceactions/ServiceActionsPanel.css
@@ -353,10 +353,6 @@
     padding-left: 39px;
 }
 
-.additionalLinkListDropDown .dropdown-menu > li > a {
-    padding-left: 0px;
-}
-
 .dropdown-menu > li > a.btn.btn-warning {
     text-align: start;
     border-radius: 0;
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
index 8b7b095bf95..308e40c0810 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
@@ -242,7 +242,7 @@ implements CollectionCountProvider {
             final List<GenericColumn> columns) {
         var collectionModel = getModel();
         var memberIdentifier = collectionModel.getIdentifier();
-        ActionColumn.create(memberIdentifier, 
elementType).ifPresent(columns::add);
+        ActionColumn.create(memberIdentifier, elementType, 
collectionModel.getVariant()).ifPresent(columns::add);
     }
 
 }
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ActionColumn.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ActionColumn.java
index 3c205e94f06..5b12bd592ee 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ActionColumn.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ActionColumn.java
@@ -28,6 +28,7 @@ import 
org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
 import org.apache.causeway.viewer.wicket.model.models.ActionModel;
 import 
org.apache.causeway.viewer.wicket.model.models.ActionModel.ColumnActionModifier;
+import 
org.apache.causeway.viewer.wicket.model.models.EntityCollectionModel.Variant;
 import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
 import 
org.apache.causeway.viewer.wicket.model.models.interaction.coll.DataRowWkt;
 import 
org.apache.causeway.viewer.wicket.ui.components.actionlinks.entityactions.ActionLinksPanel;
@@ -42,26 +43,30 @@ extends GenericColumnAbstract {
 
     public static Optional<ActionColumn> create(
             @NonNull final Identifier featureId,
-            @NonNull final ObjectSpecification elementType) {
+            @NonNull final ObjectSpecification elementType,
+            @NonNull final Variant collectionVariant) {
+        var wktConfig = 
elementType.getMetaModelContext().getConfiguration().getViewer().getWicket();
+        if(!wktConfig.isActionColumnEnabled()) return Optional.empty();
+
         var actions = elementType.streamActionsForColumnRendering(featureId)
                 .collect(Can.toCan());
         if(actions.isEmpty()) return Optional.empty();
 
-        var wktConfig = 
elementType.getMetaModelContext().getConfiguration().getViewer().getWicket();
-        return wktConfig.isActionColumnEnabled()
-                ? Optional.of(new ActionColumn(elementType, actions))
-                : Optional.empty();
+        return Optional.of(new ActionColumn(elementType, actions, 
collectionVariant));
     }
 
     private final Can<String> actionIds;
     private transient Can<ObjectAction> actions;
+    private final Variant collectionVariant;
 
     private ActionColumn(
             final ObjectSpecification elementType,
-            final Can<ObjectAction> actionsForColumnRendering) {
+            final Can<ObjectAction> actionsForColumnRendering,
+            final Variant collectionVariant) {
         super(elementType, "Actions");
         this.actions = actionsForColumnRendering;
         this.actionIds = actions.map(ObjectAction::getId);
+        this.collectionVariant = collectionVariant;
     }
 
     @Override
@@ -88,6 +93,10 @@ extends GenericColumnAbstract {
     private ColumnActionModifier determineColumnActionModifier(
             final ObjectAction action,
             final ObjectSpecification collectionElementType) {
+
+        // refreshing of standalone collections currently not supported
+        if(collectionVariant.isStandalone()) return 
ColumnActionModifier.FORCE_NEW_BROWSER_WINDOW;
+
         return action.getElementType().isVoid()
                 || action.getElementType().isOfType(collectionElementType)
                 ? ColumnActionModifier.FORCE_STAY_ON_PAGE

Reply via email to