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"><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"/></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"><f:facet name="confirmation"></code>.
--
To stop receiving notification emails like this one, please contact
['"commits@myfaces.apache.org" <co...@myfaces.apache.org>'].