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 2021/01/22 12:21:04 UTC
[myfaces-tobago] branch master updated: feat: dropdown with
selectBooleanToggle
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 0107a45 feat: dropdown with selectBooleanToggle
0107a45 is described below
commit 0107a45fbecc9a3efc6722ada238a36071503b85
Author: Henning Noeth <hn...@apache.org>
AuthorDate: Wed Jan 20 10:38:43 2021 +0100
feat: dropdown with selectBooleanToggle
* selectBooleanToggle can be part of a dropdown
* adjust css
---
tobago-core/npm/scss/_tobago.scss | 7 ++++++-
.../tobago/internal/renderkit/renderer/CommandRendererBase.java | 2 ++
.../internal/renderkit/renderer/SelectBooleanToggleRenderer.java | 5 ++++-
3 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/tobago-core/npm/scss/_tobago.scss b/tobago-core/npm/scss/_tobago.scss
index 12e9da7..fd2ba16 100644
--- a/tobago-core/npm/scss/_tobago.scss
+++ b/tobago-core/npm/scss/_tobago.scss
@@ -74,7 +74,12 @@ $page-padding-top: 1rem;
@mixin dropdownMenuFormCheckComponents() {
.dropdown-menu .form-check {
/* move form-check components to the right, so checkbox/radio buttons are inside dropdown-menu */
- padding-left: (($dropdown-item-padding-x ) + ($form-check-padding-start / 1em))
+ $paddingLeftCheckboxRadio: (($dropdown-item-padding-x / 1rem ) + $form-check-padding-start);
+ padding-left: $paddingLeftCheckboxRadio;
+
+ &.form-switch {
+ padding-left: $paddingLeftCheckboxRadio + ($form-switch-width - $form-check-input-width);
+ }
}
}
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 6d7d417..0ec670f 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
@@ -25,6 +25,7 @@ import org.apache.myfaces.tobago.internal.component.AbstractUICommand;
import org.apache.myfaces.tobago.internal.component.AbstractUIFormBase;
import org.apache.myfaces.tobago.internal.component.AbstractUILink;
import org.apache.myfaces.tobago.internal.component.AbstractUISelectBooleanCheckbox;
+import org.apache.myfaces.tobago.internal.component.AbstractUISelectBooleanToggle;
import org.apache.myfaces.tobago.internal.component.AbstractUISelectManyCheckbox;
import org.apache.myfaces.tobago.internal.component.AbstractUISelectOneRadio;
import org.apache.myfaces.tobago.internal.component.AbstractUISeparator;
@@ -182,6 +183,7 @@ public abstract class CommandRendererBase<T extends AbstractUICommand> extends D
renderLater.add(child);
} else if (child instanceof AbstractUILink
|| child instanceof AbstractUISelectBooleanCheckbox
+ || child instanceof AbstractUISelectBooleanToggle
|| child instanceof AbstractUISelectManyCheckbox
|| child instanceof AbstractUISelectOneRadio
|| child instanceof AbstractUISeparator) {
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectBooleanToggleRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectBooleanToggleRenderer.java
index 9d90d50..c3b5372 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectBooleanToggleRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectBooleanToggleRenderer.java
@@ -36,8 +36,11 @@ public class SelectBooleanToggleRenderer<T extends AbstractUISelectBooleanCheckb
}
protected CssItem[] getOuterCssItems(final FacesContext facesContext, final AbstractUISelectBoolean select) {
+ final boolean insideCommand = isInside(facesContext, HtmlElements.COMMAND);
+ final boolean colFromLabel = !select.isLabelLayoutSkip() && !insideCommand;
return new CssItem[]{
- !select.isLabelLayoutSkip() ? BootstrapClass.COL_FORM_LABEL : null,
+ colFromLabel ? BootstrapClass.COL_FORM_LABEL : null,
+ insideCommand ? BootstrapClass.DROPDOWN_ITEM : null,
BootstrapClass.FORM_SWITCH
};
}