You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2014/11/11 09:25:03 UTC

[40/44] isis git commit: ISIS-537: changing StandaloneCollectionPanel to use AdditionaLinksPanel (rather than CssMenuPanel); fixing layout for bulk actions and view selector in standalone; ensuring that bootstrap CSS applied to correct element in Additio

ISIS-537: changing StandaloneCollectionPanel to use AdditionaLinksPanel (rather than CssMenuPanel); fixing layout for bulk actions and view selector in standalone; ensuring that bootstrap CSS applied to correct element in AdditionalLinksPanel.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/9726a179
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/9726a179
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/9726a179

Branch: refs/heads/master
Commit: 9726a179954b595c1cd693124077604e3d92a533
Parents: e20203e
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon Nov 10 21:20:35 2014 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon Nov 10 21:20:35 2014 +0000

----------------------------------------------------------------------
 .../additionallinks/AdditionalLinksPanel.css    |  7 +++
 .../additionallinks/AdditionalLinksPanel.java   |  2 +-
 .../collection/bulk/BulkActionsLinkFactory.java |  2 +-
 .../StandaloneCollectionPanel.css               |  4 +-
 .../StandaloneCollectionPanel.html              |  6 +--
 .../StandaloneCollectionPanel.java              | 52 +++++++++++---------
 .../components/widgets/cssmenu/CssMenuPanel.css |  2 +-
 .../wicket/ui/pages/bootstrap-overrides.css     |  5 +-
 .../src/main/java/dom/todo/ToDoItem.layout.json |  2 +-
 9 files changed, 49 insertions(+), 33 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/9726a179/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.css
index eece3f9..fd9ad27 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.css
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.css
@@ -21,3 +21,10 @@ span .fa {
     padding-right: 2px;
 }
 
+
+.additionalLinkList {
+    float:left;
+    margin:0;
+    padding:0;
+    list-style:none;
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/9726a179/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java
index 50b9a1b..ec40f09 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java
@@ -98,7 +98,7 @@ public class AdditionalLinksPanel extends PanelAbstract<ListOfLinksModel> {
                 link.add(new CssClassAppender(linkAndLabel.getActionIdentifier()));
                 String cssClass = linkAndLabel.getCssClass();
                 if(cssClass != null) {
-                    item.add(new CssClassAppender(cssClass));
+                    link.add(new CssClassAppender(cssClass));
                 }
                 viewTitleLabel.add(new CssClassAppender(StringExtensions.asLowerDashed(linkAndLabel.getLabel())));
                 link.addOrReplace(viewTitleLabel);

http://git-wip-us.apache.org/repos/asf/isis/blob/9726a179/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java
index 46f8642..e0534b4 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java
@@ -70,7 +70,7 @@ public final class BulkActionsLinkFactory implements ActionLinkFactory {
 
     @Override
     public LinkAndLabel newLink(
-            final ObjectAdapterMemento serviceAdapterMemento,
+            final ObjectAdapterMemento objectAdapterMemento,
             final ObjectAction objectAction,
             final String linkId,
             final ActionPromptProvider actionPromptProvider) {

http://git-wip-us.apache.org/repos/asf/isis/blob/9726a179/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.css
index eea4518..08ebcec 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.css
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.css
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-
+/*
 .standaloneCollectionPanel {
 }
 
@@ -40,3 +40,5 @@ div.standaloneCollectionPanel .iconAndTitle {
 	clear:both;
 }
 
+*/
+

http://git-wip-us.apache.org/repos/asf/isis/blob/9726a179/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.html
index 194d8fa..f5f7f94 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.html
@@ -28,19 +28,17 @@
             <div wicket:id="actionPromptModalWindow"></div>
             <div class="standaloneCollectionPanel actionComponentType myBlockContainer panel panel-default">
                 <div class="iconAndTitle panel-heading actionPanelHeaderNew">
-                     <div wicket:id="actionName" class="actionName panel-title">[action name]</div>
+                    <span wicket:id="actionName" class="actionName panel-title">[action name]</span>
 
                     <div class="pull-right">
 
                         <div class="btn-group">
-                            <div class="entityActions" wicket:id="entityActions"></div>
+                            <div wicket:id="additionalLinks"></div>
                         </div>
                         <div class="btn-group">
                             <span wicket:id="selectorDropdown"/>
                         </div>
-
                     </div>
-
                 </div>
 
                 <div wicket:id="collectionContents" class="panel-body"></div>

http://git-wip-us.apache.org/repos/asf/isis/blob/9726a179/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java
index 0473974..c1206ff 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java
@@ -20,6 +20,8 @@
 package org.apache.isis.viewer.wicket.ui.components.standalonecollection;
 
 import java.util.List;
+import com.google.common.base.Function;
+import com.google.common.collect.Lists;
 import org.apache.wicket.Component;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.markup.html.basic.Label;
@@ -27,6 +29,7 @@ import org.apache.wicket.model.Model;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 import org.apache.isis.viewer.wicket.model.common.OnSelectionHandler;
+import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
 import org.apache.isis.viewer.wicket.model.models.ActionModel;
 import org.apache.isis.viewer.wicket.model.models.ActionPromptProvider;
 import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel;
@@ -34,17 +37,16 @@ import org.apache.isis.viewer.wicket.ui.ComponentFactory;
 import org.apache.isis.viewer.wicket.ui.ComponentType;
 import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistry;
 import org.apache.isis.viewer.wicket.ui.components.actionprompt.ActionPromptModalWindow;
+import org.apache.isis.viewer.wicket.ui.components.additionallinks.AdditionalLinksPanel;
+import org.apache.isis.viewer.wicket.ui.components.collection.bulk.BulkActionsHelper;
+import org.apache.isis.viewer.wicket.ui.components.collection.bulk.BulkActionsLinkFactory;
+import org.apache.isis.viewer.wicket.ui.components.collection.bulk.BulkActionsProvider;
 import org.apache.isis.viewer.wicket.ui.components.collection.count.CollectionCountProvider;
 import org.apache.isis.viewer.wicket.ui.components.collection.selector.CollectionSelectorHelper;
 import org.apache.isis.viewer.wicket.ui.components.collection.selector.CollectionSelectorPanel;
 import org.apache.isis.viewer.wicket.ui.components.collection.selector.CollectionSelectorProvider;
-import org.apache.isis.viewer.wicket.ui.components.collection.bulk.BulkActionsHelper;
-import org.apache.isis.viewer.wicket.ui.components.collection.bulk.BulkActionsLinkFactory;
-import org.apache.isis.viewer.wicket.ui.components.collection.bulk.BulkActionsProvider;
 import org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.ObjectAdapterToggleboxColumn;
 import org.apache.isis.viewer.wicket.ui.components.collectioncontents.multiple.CollectionContentsMultipleViewsPanelFactory;
-import org.apache.isis.viewer.wicket.ui.components.widgets.cssmenu.CssMenuBuilder;
-import org.apache.isis.viewer.wicket.ui.components.widgets.cssmenu.CssMenuPanel;
 import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
 
 public class StandaloneCollectionPanel extends PanelAbstract<EntityCollectionModel>
@@ -55,24 +57,20 @@ public class StandaloneCollectionPanel extends PanelAbstract<EntityCollectionMod
     private static final String ID_ACTION_NAME = "actionName";
 
     private static final String ID_ACTION_PROMPT_MODAL_WINDOW = "actionPromptModalWindow";
-    private static final String ID_ENTITY_ACTIONS = "entityActions";
+    private static final String ID_ADDITIONAL_LINKS = "additionalLinks";
+    private static final String ID_ADDITIONAL_LINK = "additionalLink";
 
     private static final String ID_SELECTOR_DROPDOWN = "selectorDropdown";
-    private CollectionSelectorPanel selectorDropdownPanel;
 
+    private final ActionPromptModalWindow actionPromptModalWindow;
+    private final CollectionSelectorPanel selectorDropdownPanel;
     private final BulkActionsHelper bulkActionsHelper;
 
-    public StandaloneCollectionPanel(final String id, final EntityCollectionModel entityCollectionModel) {
-        super(id, entityCollectionModel);
-        buildGui(entityCollectionModel);
-
-        bulkActionsHelper = new BulkActionsHelper(entityCollectionModel);
-    }
-
     /**
      * note that the bulk actions components are added in {@link #configureBulkActions(org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.ObjectAdapterToggleboxColumn)}.
      */
-    private void buildGui(final EntityCollectionModel entityCollectionModel) {
+    public StandaloneCollectionPanel(final String id, final EntityCollectionModel entityCollectionModel) {
+        super(id, entityCollectionModel);
 
         ActionModel actionModel = entityCollectionModel.getActionModelHint();
         ObjectAction action = actionModel.getActionMemento().getAction();
@@ -89,9 +87,9 @@ public class StandaloneCollectionPanel extends PanelAbstract<EntityCollectionMod
 
         if (componentFactories.size() <= 1) {
             permanentlyHide(ID_SELECTOR_DROPDOWN);
+            this.selectorDropdownPanel = null;
         } else {
-            CollectionSelectorPanel selectorDropdownPanel;
-            selectorDropdownPanel = new CollectionSelectorPanel(ID_SELECTOR_DROPDOWN, entityCollectionModel, new CollectionContentsMultipleViewsPanelFactory());
+            CollectionSelectorPanel selectorDropdownPanel = new CollectionSelectorPanel(ID_SELECTOR_DROPDOWN, entityCollectionModel, new CollectionContentsMultipleViewsPanelFactory());
 
             final Model<ComponentFactory> componentFactoryModel = new Model<>();
 
@@ -108,11 +106,12 @@ public class StandaloneCollectionPanel extends PanelAbstract<EntityCollectionMod
 
         final ComponentFactoryRegistry componentFactoryRegistry = getComponentFactoryRegistry();
         componentFactoryRegistry.addOrReplaceComponent(this, ComponentType.COLLECTION_CONTENTS, entityCollectionModel);
+
+        bulkActionsHelper = new BulkActionsHelper(entityCollectionModel);
     }
 
     //region > ActionPromptModalWindowProvider
 
-    private ActionPromptModalWindow actionPromptModalWindow;
     public ActionPromptModalWindow getActionPrompt() {
         return ActionPromptModalWindow.getActionPromptModalWindowIfEnabled(actionPromptModalWindow);
     }
@@ -158,15 +157,24 @@ public class StandaloneCollectionPanel extends PanelAbstract<EntityCollectionMod
 
         final List<ObjectAction> bulkActions = bulkActionsHelper.getBulkActions();
 
-        final CssMenuBuilder cssMenuBuilder =
-                new CssMenuBuilder(null, bulkActions, linkFactory, this, null);
-        final CssMenuPanel cssMenuPanel = cssMenuBuilder.buildPanel(ID_ENTITY_ACTIONS, "Actions");
+        List<LinkAndLabel> links = Lists.transform(bulkActions, new Function<ObjectAction, LinkAndLabel>(){
+            @Override
+            public LinkAndLabel apply(ObjectAction objectAction) {
+                return linkFactory.newLink(null, objectAction, ID_ADDITIONAL_LINK, StandaloneCollectionPanel.this);
+            }
+        });
+
+        AdditionalLinksPanel additionalLinks = new AdditionalLinksPanel(ID_ADDITIONAL_LINKS, links);
+        addOrReplace(additionalLinks);
 
-        addOrReplace(cssMenuPanel);
 
     }
+
     //endregion
 
+
+
+
     //region > CollectionSelectorProvider
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/9726a179/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuPanel.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuPanel.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuPanel.css
index e4228f5..c858633 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuPanel.css
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuPanel.css
@@ -230,5 +230,5 @@
 .additionalLinkList li {
 	float:left;
 	margin-right:10px;
-	margin-bottom: 2px;
+/*	margin-bottom: 2px;*/
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/9726a179/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
index cb7ed79..5a65da7 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
@@ -159,6 +159,7 @@ div.label-left .choicesPlaceholder {
     resize: none;
 }
 
-.entityCollectionsPanel .panel-heading {
+.entityCollectionsPanel .panel-heading,
+.standaloneCollectionPanel .panel-heading {
     padding-bottom: 15px;
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/9726a179/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.layout.json
----------------------------------------------------------------------
diff --git a/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.layout.json b/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.layout.json
index 540b13f..69944d2 100644
--- a/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.layout.json
+++ b/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.layout.json
@@ -152,7 +152,7 @@
                         "cssClassFa": { "value": "fa fa-plus-square" }
                     },
                     "remove": {
-                        "cssClass": { "value": "x-caution" },
+                        "cssClass": { "value": "x-caution btn-danger" },
                         "cssClassFa": { "value": "fa fa-minus-square" }
                     }
                 },