You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by bo...@apache.org on 2021/01/13 07:38:22 UTC
[myfaces-tobago] branch master updated: fix: styling for dropdown
inside a button group
This is an automated email from the ASF dual-hosted git repository.
bommel 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 539a799 fix: styling for dropdown inside a button group
539a799 is described below
commit 539a799b04d6ea3f7e2a44ce336029a6995b7f95
Author: Henning Noeth <hn...@apache.org>
AuthorDate: Tue Jan 12 21:36:33 2021 +0100
fix: styling for dropdown inside a button group
* add .btn-group to tobago-dropdown element inside a button group
* adjust test
---
.../myfaces/tobago/internal/renderkit/renderer/ButtonRenderer.java | 6 ++++++
.../tobago/internal/renderkit/renderer/CommandRendererBase.java | 4 +++-
.../test/resources/renderer/buttons/separator-inside-buttons.html | 2 +-
3 files changed, 10 insertions(+), 2 deletions(-)
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 67163b9..de2eee2 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
@@ -26,6 +26,7 @@ import org.apache.myfaces.tobago.internal.component.AbstractUIButton;
import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
import org.apache.myfaces.tobago.renderkit.css.CssItem;
import org.apache.myfaces.tobago.renderkit.css.TobagoClass;
+import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
import org.apache.myfaces.tobago.util.ComponentUtils;
import javax.faces.component.UIComponent;
@@ -40,6 +41,11 @@ public class ButtonRenderer<T extends AbstractUIButton> extends CommandRendererB
}
@Override
+ protected CssItem[] getOuterCssItems(final FacesContext facesContext, final T command) {
+ return new CssItem[]{isInside(facesContext, HtmlElements.TOBAGO_BUTTONS) ? BootstrapClass.BTN_GROUP : null};
+ }
+
+ @Override
protected CssItem[] getCssItems(final FacesContext facesContext, final T command) {
final boolean defaultCommand = ComponentUtils.getBooleanAttribute(command, Attributes.defaultCommand);
final Markup markup = command.getMarkup() != null ? command.getMarkup() : Markup.NULL;
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/CommandRendererBase.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/CommandRendererBase.java
index 3f69057..6d7d417 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/CommandRendererBase.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/CommandRendererBase.java
@@ -228,7 +228,9 @@ public abstract class CommandRendererBase<T extends AbstractUICommand> extends D
writer.startElement(HtmlElements.TOBAGO_DROPDOWN);
writer.writeIdAttribute(clientId);
- writer.writeClassAttribute(dropdownSubmenu ? TobagoClass.DROPDOWN__SUBMENU : BootstrapClass.DROPDOWN);
+ writer.writeClassAttribute(
+ dropdownSubmenu ? TobagoClass.DROPDOWN__SUBMENU : BootstrapClass.DROPDOWN,
+ getOuterCssItems(facesContext, command));
}
}
diff --git a/tobago-core/src/test/resources/renderer/buttons/separator-inside-buttons.html b/tobago-core/src/test/resources/renderer/buttons/separator-inside-buttons.html
index 6d5a4a4..16d33ff 100644
--- a/tobago-core/src/test/resources/renderer/buttons/separator-inside-buttons.html
+++ b/tobago-core/src/test/resources/renderer/buttons/separator-inside-buttons.html
@@ -18,7 +18,7 @@
CSS class of "tobago-dropdown" has changed from btn-group to dropdown
-->
<tobago-buttons id='list' class='btn-group' role='group'>
- <tobago-dropdown id='id' class='dropdown'>
+ <tobago-dropdown id='id' class='dropdown btn-group'>
<button type='button' id='id::command' name='id' data-toggle='dropdown' class='tobago-button btn btn-secondary dropdown-toggle'><tobago-behavior event='click' client-id='id' field-id='id::command'></tobago-behavior><span>button</span></button>
<div class='dropdown-menu' aria-labelledby='id::command' name='id'>
<button type='button' id='sub1' name='sub1' class='tobago-link dropdown-item'><tobago-behavior event='click' client-id='sub1'></tobago-behavior><span>sub1</span></button>