You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by hn...@apache.org on 2017/11/03 11:00:13 UTC

[myfaces-tobago] branch master updated: TOBAGO-1820 Add markups for tc:button to set bootstrap colors * add markups * improve button demo page

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

hnoeth pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git


The following commit(s) were added to refs/heads/master by this push:
     new 893df93  TOBAGO-1820 Add markups for tc:button to set bootstrap colors * add markups * improve button demo page
893df93 is described below

commit 893df935e9186c630ad568ef6d9aae05194c446b
Author: Henning Noeth <hn...@apache.org>
AuthorDate: Fri Nov 3 12:00:02 2017 +0100

    TOBAGO-1820 Add markups for tc:button to set bootstrap colors
    * add markups
    * improve button demo page
---
 .../org/apache/myfaces/tobago/context/Markup.java  |  6 +++++
 .../renderkit/renderer/ButtonRenderer.java         | 28 +++++++++++++++++++++-
 .../tobago/renderkit/css/BootstrapClass.java       |  3 +++
 .../040-command/00-button+link/button+link.xhtml   | 22 +++++++++++++++++
 4 files changed, 58 insertions(+), 1 deletion(-)

diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/context/Markup.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/context/Markup.java
index 42185ca..9e3d1b9 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/context/Markup.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/context/Markup.java
@@ -61,6 +61,7 @@ public final class Markup implements Serializable, Iterable<String> {
   public static final Markup BORDERED = valueOf("bordered");
   public static final Markup CENTER = valueOf("center");
   public static final Markup CLICKABLE = valueOf("clickable");
+  public static final Markup DANGER = valueOf("danger");
   public static final Markup DARK = valueOf("dark");
   public static final Markup DEFAULT = valueOf("default");
   public static final Markup DELETED = valueOf("deleted");
@@ -89,13 +90,16 @@ public final class Markup implements Serializable, Iterable<String> {
   public static final Markup MARKED = valueOf("marked");
   public static final Markup MEDIUM = valueOf("medium");
   public static final Markup MODAL = valueOf("modal");
+  public static final Markup NONE = valueOf("none");
   public static final Markup NUMBER = valueOf("number");
   public static final Markup ODD = valueOf("odd");
   public static final Markup PORTLET = valueOf("portlet");
+  public static final Markup PRIMARY = valueOf("primary");
   public static final Markup READONLY = valueOf("readonly");
   public static final Markup REQUIRED = valueOf("required");
   public static final Markup RESIZABLE = valueOf("resizable");
   public static final Markup RIGHT = valueOf("right");
+  public static final Markup SECONDARY = valueOf("secondary");
   public static final Markup SECONDS = valueOf("seconds");
   public static final Markup SELECTED = valueOf("selected");
   /**
@@ -118,10 +122,12 @@ public final class Markup implements Serializable, Iterable<String> {
   public static final Markup SPREAD = valueOf("spread");
   public static final Markup STRIPED = valueOf("striped");
   public static final Markup STRONG = valueOf("strong");
+  public static final Markup SUCCESS = valueOf("success");
   public static final Markup TOGGLER_LEFT = valueOf("togglerLeft");
   public static final Markup TOP = valueOf("top");
   public static final Markup VERTICALLY = valueOf("vertically");
   public static final Markup WARN = valueOf("warn");
+  public static final Markup WARNING = valueOf("warning");
 
   /* Just one of "values" and "value" must be null */
 
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ButtonRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ButtonRenderer.java
index 52eebe9..0c021c9 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ButtonRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ButtonRenderer.java
@@ -20,6 +20,7 @@
 package org.apache.myfaces.tobago.internal.renderkit.renderer;
 
 import org.apache.myfaces.tobago.component.Attributes;
+import org.apache.myfaces.tobago.context.Markup;
 import org.apache.myfaces.tobago.internal.component.AbstractUICommand;
 import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
 import org.apache.myfaces.tobago.renderkit.css.CssItem;
@@ -40,7 +41,32 @@ public class ButtonRenderer extends CommandRendererBase {
 
     return new CssItem[]{
         BootstrapClass.BTN,
-        defaultCommand ? BootstrapClass.BTN_PRIMARY : BootstrapClass.BTN_SECONDARY
+        getButtonColor(command.getMarkup(), defaultCommand)
     };
   }
+
+  private BootstrapClass getButtonColor(final Markup markup, final boolean defaultCommand) {
+    if (markup != null) {
+      if (markup.contains(Markup.NONE)) {
+        return null;
+      } else if (markup.contains(Markup.PRIMARY)) {
+        return BootstrapClass.BTN_PRIMARY;
+      } else if (markup.contains(Markup.SECONDARY)) {
+        return BootstrapClass.BTN_SECONDARY;
+      } else if (markup.contains(Markup.SUCCESS)) {
+        return BootstrapClass.BTN_SUCCESS;
+      } else if (markup.contains(Markup.DANGER)) {
+        return BootstrapClass.BTN_DANGER;
+      } else if (markup.contains(Markup.WARNING)) {
+        return BootstrapClass.BTN_WARNING;
+      } else if (markup.contains(Markup.INFO)) {
+        return BootstrapClass.BTN_INFO;
+      } else if (markup.contains(Markup.LIGHT)) {
+        return BootstrapClass.BTN_LIGHT;
+      } else if (markup.contains(Markup.DARK)) {
+        return BootstrapClass.BTN_DARK;
+      }
+    }
+    return defaultCommand ? BootstrapClass.BTN_PRIMARY : BootstrapClass.BTN_SECONDARY;
+  }
 }
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/BootstrapClass.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/BootstrapClass.java
index 3b8e424..cd3f9e3 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/BootstrapClass.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/BootstrapClass.java
@@ -77,11 +77,14 @@ public enum BootstrapClass implements CssItem {
   BORDER_WARNING("border-warning"),
   BTN("btn"),
   BTN_DANGER("btn-danger"),
+  BTN_DARK("btn-dark"),
   BTN_GROUP("btn-group"),
   BTN_INFO("btn-info"),
+  BTN_LIGHT("btn-light"),
   BTN_LINK("btn-link"),
   BTN_PRIMARY("btn-primary"),
   BTN_SECONDARY("btn-secondary"),
+  BTN_SUCCESS("btn-success"),
   BTN_TOOLBAR("btn-toolbar"),
   BTN_WARNING("btn-warning"),
   CARD("card"),
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/040-command/00-button+link/button+link.xhtml b/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/040-command/00-button+link/button+link.xhtml
index 66caf39..1f001cd 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/040-command/00-button+link/button+link.xhtml
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/040-command/00-button+link/button+link.xhtml
@@ -131,6 +131,28 @@
     </tc:section>
   </tc:section>
 
+  <tc:section label="Markups">
+    <p>Colors can be set with markups. Markup <code>none</code> unset the color.</p>
+    <pre><code class="language-markup">&lt;tc:button label="Primary" markup="primary"/>
+&lt;tc:button label="Secondary" markup="secondary"/>
+&lt;tc:button label="Success" markup="success"/>
+&lt;tc:button label="Danger" markup="danger"/>
+&lt;tc:button label="Warning" markup="warning"/>
+&lt;tc:button label="Info" markup="info"/>
+&lt;tc:button label="Light" markup="light"/>
+&lt;tc:button label="Dark" markup="dark"/>
+&lt;tc:button label="None" markup="none"/></code></pre>
+    <tc:button label="Primary" markup="primary"/>
+    <tc:button label="Secondary" markup="secondary"/>
+    <tc:button label="Success" markup="success"/>
+    <tc:button label="Danger" markup="danger"/>
+    <tc:button label="Warning" markup="warning"/>
+    <tc:button label="Info" markup="info"/>
+    <tc:button label="Light" markup="light"/>
+    <tc:button label="Dark" markup="dark"/>
+    <tc:button label="None" markup="none"/>
+  </tc:section>
+
   <tc:section label="Confirmation">
     <p>A confirmation dialog can be added to a link or a button via
       <code class="language-markup">&lt;f:facet name="confirmation"></code>.

-- 
To stop receiving notification emails like this one, please contact
['"commits@myfaces.apache.org" <co...@myfaces.apache.org>'].