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 2013/07/16 12:57:04 UTC

git commit: ISIS-457 - New annotation @CssClass for class member, should render in the HTML markup for that member.

Updated Branches:
  refs/heads/master 789022471 -> 94ccda3a3


ISIS-457 - New annotation @CssClass for class member, should render in the HTML markup for that member.

Signed-off-by: Dan Haywood <da...@apache.org>


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

Branch: refs/heads/master
Commit: 94ccda3a3f43665e42abb34368a513ff9dccb06f
Parents: 7890224
Author: bibryam <bi...@gmail.com>
Authored: Tue Jul 16 10:23:44 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Tue Jul 16 11:53:39 2013 +0100

----------------------------------------------------------------------
 .../isis/viewer/wicket/model/links/LinkAndLabel.java     | 11 ++++++++---
 .../components/additionallinks/AdditionalLinksPanel.java |  8 +++++---
 .../appactions/cssmenu/AppActionsCssMenuLinkFactory.java |  5 +++--
 .../ajaxtable/BulkActionsLinkFactory.java                |  3 ++-
 .../ui/components/entity/EntityActionLinkFactory.java    |  4 ++--
 .../ui/components/scalars/ScalarPanelAbstract.java       |  1 -
 .../ui/components/widgets/cssmenu/CssMenuItem.java       |  8 ++++++--
 7 files changed, 26 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/94ccda3a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
index 0b779a5..ae0d73f 100644
--- a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
+++ b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
@@ -32,14 +32,16 @@ public class LinkAndLabel implements Serializable {
     private final boolean blobOrClob;
     private final boolean prototype;
     private final String actionIdentifier;
+    private final String cssClass;
 
-    public LinkAndLabel(final AbstractLink link, final String label, String disabledReasonIfAny, final boolean blobOrClob, final boolean prototype, final String actionIdentifier) {
+    public LinkAndLabel(final AbstractLink link, final String label, String disabledReasonIfAny, final boolean blobOrClob, final boolean prototype, String identifier, final String cssClass) {
         this.link = link;
         this.label = label;
         this.disabledReasonIfAny = disabledReasonIfAny;
         this.blobOrClob = blobOrClob;
         this.prototype = prototype;
-        this.actionIdentifier = actionIdentifier;
+        this.actionIdentifier = identifier;
+        this.cssClass = cssClass;
     }
 
     public AbstractLink getLink() {
@@ -65,5 +67,8 @@ public class LinkAndLabel implements Serializable {
     public String getActionIdentifier() {
         return actionIdentifier;
     }
-    
+
+    public String getCssClass() {
+        return cssClass;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/94ccda3a/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 68d40b2..f726d9c 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
@@ -21,14 +21,12 @@ package org.apache.isis.viewer.wicket.ui.components.additionallinks;
 
 import java.util.List;
 
-import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.behavior.AttributeAppender;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.link.AbstractLink;
 import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.markup.html.list.ListView;
-import org.apache.wicket.model.Model;
 
 import org.apache.isis.core.commons.lang.StringUtils;
 import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
@@ -70,7 +68,7 @@ public class AdditionalLinksPanel extends PanelAbstract<ListOfLinksModel> {
                 final LinkAndLabel linkAndLabel = item.getModelObject();
                 
                 final AbstractLink link = linkAndLabel.getLink();
-                        
+
                 Label viewTitleLabel = new Label(ID_ADDITIONAL_LINK_TITLE, linkAndLabel.getLabel());
                 String disabledReasonIfAny = linkAndLabel.getDisabledReasonIfAny();
                 if(disabledReasonIfAny != null) {
@@ -83,6 +81,10 @@ public class AdditionalLinksPanel extends PanelAbstract<ListOfLinksModel> {
                     link.add(new CssClassAppender("prototype"));
                 }
                 link.add(new CssClassAppender(linkAndLabel.getActionIdentifier()));
+                String cssClass = linkAndLabel.getCssClass();
+                if(cssClass != null) {
+                    item.add(new CssClassAppender(cssClass));
+                }
                 viewTitleLabel.add(new CssClassAppender(StringUtils.toLowerDashed(linkAndLabel.getLabel())));
                 link.addOrReplace(viewTitleLabel);
                 item.addOrReplace(link);

http://git-wip-us.apache.org/repos/asf/isis/blob/94ccda3a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuLinkFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuLinkFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuLinkFactory.java
index 214349c..fdcf44e 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuLinkFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuLinkFactory.java
@@ -53,8 +53,9 @@ class AppActionsCssMenuLinkFactory implements CssMenuLinkFactory {
         final boolean blobOrClob = CssMenuItem.returnsBlobOrClob(action);
         final boolean prototype = CssMenuItem.isExplorationOrPrototype(action);
         final String actionIdentifier = CssMenuItem.actionIdentifierFor(action);
-        
-        return new LinkAndLabel(link, actionLabel, null, blobOrClob, prototype, actionIdentifier);
+        final String cssClass = CssMenuItem.cssClassFor(action);
+
+        return new LinkAndLabel(link, actionLabel, null, blobOrClob, prototype, actionIdentifier, cssClass);
     }
 
     

http://git-wip-us.apache.org/repos/asf/isis/blob/94ccda3a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/BulkActionsLinkFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/BulkActionsLinkFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/BulkActionsLinkFactory.java
index fac0a17..b1e3757 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/BulkActionsLinkFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/BulkActionsLinkFactory.java
@@ -103,7 +103,8 @@ final class BulkActionsLinkFactory implements CssMenuLinkFactory {
         link.add(new JGrowlBehaviour());
         final boolean explorationOrPrototype = CssMenuItem.isExplorationOrPrototype(objectAction);
         final String actionIdentifier = CssMenuItem.actionIdentifierFor(objectAction);
+        final String cssClass = CssMenuItem.cssClassFor(objectAction);
 
-        return new LinkAndLabel(link, objectAction.getName(), null, false, explorationOrPrototype, actionIdentifier);
+        return new LinkAndLabel(link, objectAction.getName(), null, false, explorationOrPrototype, actionIdentifier, cssClass);
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/94ccda3a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityActionLinkFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityActionLinkFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityActionLinkFactory.java
index d042e93..550206c 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityActionLinkFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityActionLinkFactory.java
@@ -85,8 +85,8 @@ public final class EntityActionLinkFactory implements CssMenuLinkFactory {
         final boolean blobOrClob = CssMenuItem.returnsBlobOrClob(action);
         final boolean prototype = CssMenuItem.isExplorationOrPrototype(action);
         final String actionIdentifier = CssMenuItem.actionIdentifierFor(action);
-
-        return new LinkAndLabel(link, label, disabledReasonIfAny, blobOrClob, prototype, actionIdentifier);
+        final String cssClass = CssMenuItem.cssClassFor(action);
+        return new LinkAndLabel(link, label, disabledReasonIfAny, blobOrClob, prototype, actionIdentifier, cssClass);
     }
 
     private AbstractLink createLink(final ObjectAdapterMemento adapterMemento, final ObjectAction action, final String linkId, final ObjectAdapter adapter) {

http://git-wip-us.apache.org/repos/asf/isis/blob/94ccda3a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
index b3cf481..71fc5fc 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
@@ -42,7 +42,6 @@ import org.apache.isis.viewer.wicket.model.models.EntityModel.RenderingHint;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.additionallinks.AdditionalLinksPanel;
 import org.apache.isis.viewer.wicket.ui.components.additionallinks.EntityActionUtil;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract.Rendering;
 import org.apache.isis.viewer.wicket.ui.components.scalars.TextFieldValueModel.ScalarModelProvider;
 import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
 import org.apache.isis.viewer.wicket.ui.util.Components;

http://git-wip-us.apache.org/repos/asf/isis/blob/94ccda3a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItem.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItem.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItem.java
index af86678..5dfeb3b 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItem.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItem.java
@@ -314,7 +314,11 @@ public class CssMenuItem implements Serializable {
         return className + "-" + actionId;
     }
 
-    
+    public static String cssClassFor(ObjectAction action) {
+        CssClassFacet cssClassFacet = action.getFacet(CssClassFacet.class);
+        return cssClassFacet != null ? cssClassFacet.value() : null;
+    }
+
     /**
      * Creates a {@link Builder} for a submenu item where the provided {@link CssMenuLinkFactory} is able to provide the target adapter. 
      */
@@ -361,7 +365,7 @@ public class CssMenuItem implements Serializable {
                 link.add(new CssClassAppender("prototype"));
             }
             if(this.cssClass != null) {
-                link.add(new CssClassAppender(this.cssClass));
+                markupContainer.add(new CssClassAppender(this.cssClass));
             }
             link.add(new CssClassAppender(this.actionIdentifier));