You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2020/10/28 11:07:44 UTC

[myfaces-tobago] 02/03: TOBAGO-1633: Use TypeScript instead of JavaScript. Simplify Renderers: remove "inside": selectBooleanCheckboxInsideCommand, SelectOneRadioInsideCommand, selectManyCheckboxInsideCommand Move CSS class dropdown-item one element up

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

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

commit de299e22577465afb57f65d9803076bc852de0dd
Author: Udo Schnurpfeil <ud...@irian.eu>
AuthorDate: Wed Oct 28 11:58:35 2020 +0100

    TOBAGO-1633: Use TypeScript instead of JavaScript.
    Simplify Renderers: remove "inside": selectBooleanCheckboxInsideCommand, SelectOneRadioInsideCommand, selectManyCheckboxInsideCommand
    Move CSS class dropdown-item one element up
---
 .../renderer/SelectBooleanCheckboxRenderer.java        | 18 +++++-------------
 .../renderkit/renderer/SelectManyCheckboxRenderer.java |  7 +++----
 .../renderkit/renderer/SelectOneRadioRenderer.java     |  7 +++----
 .../resources/renderer/link/booleanInsideLink.html     |  4 ++--
 .../test/resources/renderer/link/manyInsideLink.html   |  8 ++++----
 .../test/resources/renderer/link/radioInsideLink.html  |  8 ++++----
 6 files changed, 21 insertions(+), 31 deletions(-)

diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectBooleanCheckboxRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectBooleanCheckboxRenderer.java
index 0bdb3c3..d25253c 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectBooleanCheckboxRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectBooleanCheckboxRenderer.java
@@ -116,9 +116,7 @@ public class SelectBooleanCheckboxRenderer<T extends AbstractUISelectBooleanChec
     writer.endElement(HtmlElements.INPUT);
 
     writer.startElement(HtmlElements.LABEL);
-    writer.writeClassAttribute(
-        BootstrapClass.FORM_CHECK_LABEL,
-        getCssItems(facesContext, component));
+    writer.writeClassAttribute(BootstrapClass.FORM_CHECK_LABEL);
     if (!disabled && label.getAccessKey() != null) {
       writer.writeAttribute(HtmlAttributes.ACCESSKEY, Character.toString(label.getAccessKey()), false);
       AccessKeyLogger.addAccessKey(facesContext, label.getAccessKey(), clientId);
@@ -163,21 +161,15 @@ public class SelectBooleanCheckboxRenderer<T extends AbstractUISelectBooleanChec
   }
 
   protected CssItem[] getOuterCssItems(final FacesContext facesContext, final AbstractUISelectBoolean select) {
-    final boolean colFromLabel = !select.isLabelLayoutSkip() && !isInside(facesContext, HtmlElements.COMMAND);
+    final boolean insideCommand = isInside(facesContext, HtmlElements.COMMAND);
+    final boolean colFromLabel = !select.isLabelLayoutSkip() && !insideCommand;
     return new CssItem[]{
         BootstrapClass.FORM_CHECK,
-        colFromLabel ? BootstrapClass.COL_FORM_LABEL : null
+        colFromLabel ? BootstrapClass.COL_FORM_LABEL : null,
+        insideCommand ? BootstrapClass.DROPDOWN_ITEM : null,
     };
   }
 
-  protected CssItem[] getCssItems(final FacesContext facesContext, final AbstractUISelectBoolean select) {
-    if (isInside(facesContext, HtmlElements.COMMAND)) {
-      return new CssItem[]{BootstrapClass.DROPDOWN_ITEM};
-    } else {
-      return null;
-    }
-  }
-
   @Override
   protected String getFieldId(final FacesContext facesContext, final T component) {
     return component.getFieldId(facesContext);
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyCheckboxRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyCheckboxRenderer.java
index 763bd94..7ccd77c 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyCheckboxRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyCheckboxRenderer.java
@@ -82,7 +82,8 @@ public class SelectManyCheckboxRenderer<T extends AbstractUISelectManyCheckbox>
         writer.startElement(HtmlElements.DIV);
         writer.writeClassAttribute(
             BootstrapClass.FORM_CHECK,
-            inline ? BootstrapClass.FORM_CHECK_INLINE : null);
+            inline ? BootstrapClass.FORM_CHECK_INLINE : null,
+            isInsideCommand ? BootstrapClass.DROPDOWN_ITEM : null);
         writer.startElement(HtmlElements.INPUT);
         writer.writeClassAttribute(BootstrapClass.FORM_CHECK_INPUT);
         writer.writeAttribute(HtmlAttributes.TYPE, HtmlInputTypes.CHECKBOX);
@@ -108,9 +109,7 @@ public class SelectManyCheckboxRenderer<T extends AbstractUISelectManyCheckbox>
         writer.endElement(HtmlElements.INPUT);
 
         writer.startElement(HtmlElements.LABEL);
-        writer.writeClassAttribute(
-            BootstrapClass.FORM_CHECK_LABEL,
-            isInsideCommand ? BootstrapClass.DROPDOWN_ITEM : null);
+        writer.writeClassAttribute(BootstrapClass.FORM_CHECK_LABEL);
         writer.writeAttribute(HtmlAttributes.FOR, itemId, false);
 
         if (item instanceof org.apache.myfaces.tobago.model.SelectItem) {
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectOneRadioRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectOneRadioRenderer.java
index cba6407..bf759f5d 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectOneRadioRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectOneRadioRenderer.java
@@ -82,7 +82,8 @@ public class SelectOneRadioRenderer<T extends AbstractUISelectOneRadio> extends
         writer.startElement(HtmlElements.DIV);
         writer.writeClassAttribute(
             BootstrapClass.FORM_CHECK,
-            inline ? BootstrapClass.FORM_CHECK_INLINE : null);
+            inline ? BootstrapClass.FORM_CHECK_INLINE : null,
+            isInsideCommand ? BootstrapClass.DROPDOWN_ITEM : null);
         writer.startElement(HtmlElements.INPUT);
         writer.writeClassAttribute(BootstrapClass.FORM_CHECK_INPUT);
         writer.writeAttribute(HtmlAttributes.TYPE, HtmlInputTypes.RADIO);
@@ -108,9 +109,7 @@ public class SelectOneRadioRenderer<T extends AbstractUISelectOneRadio> extends
         writer.endElement(HtmlElements.INPUT);
 
         writer.startElement(HtmlElements.LABEL);
-        writer.writeClassAttribute(
-            BootstrapClass.FORM_CHECK_LABEL,
-            isInsideCommand ? BootstrapClass.DROPDOWN_ITEM : null);
+        writer.writeClassAttribute(BootstrapClass.FORM_CHECK_LABEL);
         writer.writeAttribute(HtmlAttributes.FOR, itemId, false);
         if (item instanceof org.apache.myfaces.tobago.model.SelectItem) {
           final org.apache.myfaces.tobago.model.SelectItem tobagoItem =
diff --git a/tobago-core/src/test/resources/renderer/link/booleanInsideLink.html b/tobago-core/src/test/resources/renderer/link/booleanInsideLink.html
index 64b0466..1e5d1ff 100644
--- a/tobago-core/src/test/resources/renderer/link/booleanInsideLink.html
+++ b/tobago-core/src/test/resources/renderer/link/booleanInsideLink.html
@@ -20,9 +20,9 @@
     <tobago-behavior event='click' decoupled='decoupled'>
     </tobago-behavior><span>dropdown</span></button>
   <div class='dropdown-menu' aria-labelledby='id::command' name='id'>
-    <tobago-select-boolean-checkbox id='id' class='tobago-selectBooleanCheckbox form-check'>
+    <tobago-select-boolean-checkbox id='id' class='tobago-selectBooleanCheckbox form-check dropdown-item'>
       <input class='form-check-input' type='checkbox' value='true' name='id' id='id::field'>
-      <label class='form-check-label dropdown-item' for='id::field'></label>
+      <label class='form-check-label' for='id::field'></label>
     </tobago-select-boolean-checkbox>
   </div>
 </tobago-dropdown>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/link/manyInsideLink.html b/tobago-core/src/test/resources/renderer/link/manyInsideLink.html
index b15a572..8dd548c 100644
--- a/tobago-core/src/test/resources/renderer/link/manyInsideLink.html
+++ b/tobago-core/src/test/resources/renderer/link/manyInsideLink.html
@@ -21,13 +21,13 @@
     </tobago-behavior><span>dropdown</span></button>
   <div class='dropdown-menu' aria-labelledby='id::command' name='id'>
     <tobago-select-many-checkbox class='tobago-selectManyCheckbox'>
-      <div class='form-check'>
+      <div class='form-check dropdown-item'>
         <input class='form-check-input' type='checkbox' name='many' id='many::0' value=''>
-        <label class='form-check-label dropdown-item' for='many::0'>Stratocaster</label>
+        <label class='form-check-label' for='many::0'>Stratocaster</label>
       </div>
-      <div class='form-check'>
+      <div class='form-check dropdown-item'>
         <input class='form-check-input' type='checkbox' name='many' id='many::1' value=''>
-        <label class='form-check-label dropdown-item' for='many::1'>Telecaster</label>
+        <label class='form-check-label' for='many::1'>Telecaster</label>
       </div>
     </tobago-select-many-checkbox>
   </div>
diff --git a/tobago-core/src/test/resources/renderer/link/radioInsideLink.html b/tobago-core/src/test/resources/renderer/link/radioInsideLink.html
index bbb9ed7..4808faf 100644
--- a/tobago-core/src/test/resources/renderer/link/radioInsideLink.html
+++ b/tobago-core/src/test/resources/renderer/link/radioInsideLink.html
@@ -21,13 +21,13 @@
     </tobago-behavior><span>dropdown</span></button>
   <div class='dropdown-menu' aria-labelledby='id::command' name='id'>
     <tobago-select-one-radio class='tobago-selectOneRadio'>
-      <div class='form-check'>
+      <div class='form-check dropdown-item'>
         <input class='form-check-input' type='radio' checked='checked' name='radio' id='radio::0' value=''>
-        <label class='form-check-label dropdown-item' for='radio::0'>Stratocaster</label>
+        <label class='form-check-label' for='radio::0'>Stratocaster</label>
       </div>
-      <div class='form-check'>
+      <div class='form-check dropdown-item'>
         <input class='form-check-input' type='radio' checked='checked' name='radio' id='radio::1' value=''>
-        <label class='form-check-label dropdown-item' for='radio::1'>Telecaster</label>
+        <label class='form-check-label' for='radio::1'>Telecaster</label>
       </div>
     </tobago-select-one-radio>
   </div>