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/10/24 18:03:23 UTC

[09/15] git commit: ISIS-537 Fix the icons for the application actions. Use fa-fw as additional icon type to fix the width

ISIS-537 Fix the icons for the application actions. Use fa-fw as additional icon type to fix the width


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

Branch: refs/heads/master
Commit: ca0085ee6a18f987b4dd53fa4a359479a0479923
Parents: 6ab6109
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Fri Oct 24 16:18:11 2014 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Fri Oct 24 16:18:11 2014 +0300

----------------------------------------------------------------------
 .../cssmenu/ApplicationActionsPanel.html        |  5 ++--
 .../cssmenu/ApplicationActionsPanel.java        |  9 +++---
 .../cssclass/CssClassFaFacetAbstract.java       | 29 ++++++++++++--------
 3 files changed, 26 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/ca0085ee/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/ApplicationActionsPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/ApplicationActionsPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/ApplicationActionsPanel.html
index ba2be98..0a37c74 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/ApplicationActionsPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/ApplicationActionsPanel.html
@@ -12,8 +12,9 @@
             </li>
 
             <wicket:fragment wicket:id="leafItem">
-                <span class="fontAwesomeIcon" wicket:id="menuLinkFontAwesome"/>
-                <a class="menuLink" wicket:id="menuLink"></a>
+                <a class="menuLink" wicket:id="menuLink">
+                    <span class="fontAwesomeIcon" wicket:id="menuLinkFontAwesome"></span> <span wicket:id="menuLinkLabel"></span>
+                </a>
             </wicket:fragment>
 
             <wicket:fragment wicket:id="folderItem">

http://git-wip-us.apache.org/repos/asf/isis/blob/ca0085ee/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/ApplicationActionsPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/ApplicationActionsPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/ApplicationActionsPanel.java
index b4338b7..723f31f 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/ApplicationActionsPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/ApplicationActionsPanel.java
@@ -15,7 +15,6 @@ import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.markup.html.list.ListView;
 import org.apache.wicket.markup.html.panel.Fragment;
 import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.Model;
 import org.apache.wicket.request.resource.CssResourceReference;
 import org.apache.isis.viewer.wicket.ui.util.Components;
 import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
@@ -107,7 +106,9 @@ public class ApplicationActionsPanel extends Panel {
 
         AbstractLink subMenuItemLink = menuItem.getLink();
 
-        subMenuItemLink.setBody(Model.of(menuItem.getName()));
+        Label menuItemLabel = new Label("menuLinkLabel", menuItem.getName());
+        subMenuItemLink.add(menuItemLabel);
+
         if (!menuItem.isEnabled()) {
             listItem.add(new CssClassNameAppender("disabled"));
         }
@@ -119,12 +120,12 @@ public class ApplicationActionsPanel extends Panel {
 
         String cssClassFa = menuItem.getCssClassFa();
         if (Strings.isNullOrEmpty(cssClassFa)) {
-            Components.permanentlyHide(leafItem, "menuLinkFontAwesome");
+            Components.permanentlyHide(subMenuItemLink, "menuLinkFontAwesome");
             subMenuItemLink.add(new CssClassAppender("menuLinkSpacer"));
         } else {
             Label dummy = new Label("menuLinkFontAwesome", "");
             dummy.add(new CssClassAppender(cssClassFa));
-            leafItem.add(dummy);
+            subMenuItemLink.add(dummy);
         }
 
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/ca0085ee/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/cssclass/CssClassFaFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/cssclass/CssClassFaFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/cssclass/CssClassFaFacetAbstract.java
index dae7dfc..8d28563 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/cssclass/CssClassFaFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/cssclass/CssClassFaFacetAbstract.java
@@ -19,28 +19,35 @@
 
 package org.apache.isis.core.metamodel.facets.members.cssclassfa.cssclass;
 
+import java.util.Set;
+import java.util.regex.Pattern;
+import com.google.common.base.Joiner;
+import com.google.common.base.Splitter;
+import com.google.common.collect.Sets;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.SingleStringValueFacetAbstract;
 
 public class CssClassFaFacetAbstract extends SingleStringValueFacetAbstract implements CssClassFaFacet {
 
+    private static final Pattern WHITESPACE = Pattern.compile("\\s+");
+
     public CssClassFaFacetAbstract(final String value, final FacetHolder holder) {
         super(type(), holder, sanitize(value));
     }
 
+    /**
+     * Adds the optional <em>fa</em> and <em>fa-fw</em> FontAwesome classes
+     *
+     * @param value The original CSS classes defined with {@literal @}{@link org.apache.isis.applib.annotation.CssClassFa CssClassFa}
+     * @return The original CSS classes plus <em>fa</em> and <em>fa-fw</em> if not already provided
+     */
     static String sanitize(String value) {
-        return containsFa(value)? value: "fa " + value;
-    }
-
-    private static boolean containsFa(String value) {
-        final String[] split = value.split("\\s");
-        for (String s : split) {
-            if(s.trim().equals("fa")) {
-                return true;
-            }
-        }
-        return false;
+        Iterable<String> classes = Splitter.on(WHITESPACE).split(value);
+        Set<String> cssClassesSet = Sets.newHashSet(classes);
+        cssClassesSet.add("fa");
+        cssClassesSet.add("fa-fw");
+        return Joiner.on(' ').join(cssClassesSet);
     }
 
     public static Class<? extends Facet> type() {