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>