ISIS-402: bulk actions now shown for prototype and exploring modes. ie @Bulk and @Prototype now can be used in conjunction.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/5adf0eb1 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/5adf0eb1 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/5adf0eb1 Branch: refs/heads/master Commit: 5adf0eb137cd21cd582ba235ac524085d31035f6 Parents: fb4b060 Author: Dan Haywood <[email protected]> Authored: Thu May 9 16:37:38 2013 +0200 Committer: Dan Haywood <[email protected]> Committed: Thu May 9 16:37:38 2013 +0200 ---------------------------------------------------------------------- .../CollectionContentsAsAjaxTablePanel.java | 32 +++++++++++++++ .../components/widgets/cssmenu/CssMenuBuilder.java | 5 ++- 2 files changed, 36 insertions(+), 1 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/isis/blob/5adf0eb1/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java index 638dc2e..88091e9 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java @@ -47,6 +47,7 @@ import org.apache.isis.core.metamodel.spec.feature.ObjectActionFilters; import org.apache.isis.core.metamodel.spec.feature.ObjectActions; import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation; import org.apache.isis.core.metamodel.spec.feature.ObjectAssociationFilters; +import org.apache.isis.core.runtime.system.context.IsisContext; import org.apache.isis.viewer.wicket.model.common.SelectionHandler; import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento; import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel; @@ -149,10 +150,41 @@ public class CollectionContentsAsAjaxTablePanel extends PanelAbstract<EntityColl final ObjectSpecification typeSpec = model.getTypeOfSpecification(); List<ObjectAction> objectActions = typeSpec.getObjectActions(ActionType.USER, Contributed.INCLUDED, Filters.<ObjectAction>any()); + + if ( isExploring() || isPrototyping()) { + List<ObjectAction> explorationActions = typeSpec.getObjectActions(ActionType.EXPLORATION, Contributed.INCLUDED, Filters.<ObjectAction>any()); + List<ObjectAction> prototypeActions = typeSpec.getObjectActions(ActionType.PROTOTYPE, Contributed.INCLUDED, Filters.<ObjectAction>any()); + objectActions.addAll(explorationActions); + objectActions.addAll(prototypeActions); + } + if (isDebugMode()) { + List<ObjectAction> debugActions = typeSpec.getObjectActions(ActionType.DEBUG, Contributed.INCLUDED, Filters.<ObjectAction>any()); + objectActions.addAll(debugActions); + } + List<ObjectAction> flattenedActions = ObjectActions.flattenedActions(objectActions); + return Lists.newArrayList(Iterables.filter(flattenedActions, BULK)); } + + public boolean isExploring() { + return IsisContext.getDeploymentType().isExploring(); + } + public boolean isPrototyping() { + return IsisContext.getDeploymentType().isPrototyping(); + } + + /** + * Protected so can be overridden in testing if required. + */ + protected boolean isDebugMode() { + // TODO: need to figure out how to switch into debug mode; + // probably call a Debug toggle page, and stuff into + // Session.getMetaData() + return true; + } + private static void addTitleColumn(final List<IColumn<ObjectAdapter,String>> columns, ObjectAdapterMemento parentAdapterMementoIfAny) { columns.add(new ObjectAdapterTitleColumn(parentAdapterMementoIfAny)); http://git-wip-us.apache.org/repos/asf/isis/blob/5adf0eb1/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuBuilder.java ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuBuilder.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuBuilder.java index 1a657ea..70b6d9d 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuBuilder.java +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuBuilder.java @@ -79,7 +79,7 @@ public class CssMenuBuilder { private void addMenuItems(final CssMenuItem parent, final List<ObjectAction> actions) { addMenuItemsForActionsOfType(parent, actions, ActionType.USER); - if (isPrototyping()) { + if ( isExploring() || isPrototyping()) { addMenuItemsForActionsOfType(parent, actions, ActionType.EXPLORATION); addMenuItemsForActionsOfType(parent, actions, ActionType.PROTOTYPE); } @@ -88,6 +88,9 @@ public class CssMenuBuilder { } } + public boolean isExploring() { + return IsisContext.getDeploymentType().isExploring(); + } public boolean isPrototyping() { return IsisContext.getDeploymentType().isPrototyping(); }
