You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by de...@apache.org on 2017/03/03 08:18:46 UTC

svn commit: r1785228 - in /myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal: component/ renderkit/renderer/

Author: deki
Date: Fri Mar  3 08:18:46 2017
New Revision: 1785228

URL: http://svn.apache.org/viewvc?rev=1785228&view=rev
Log:
TOBAGO-1703: No ID for tc:out with labelLayout=skip
* an outer DIV with the ID is now always rendered, even for labelLayout=skip
* this commit also resolve TOBAGO-1707
[developed by hnoeth]

Modified:
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIFile.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIInput.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectManyListbox.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectManyShuttle.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectOneChoice.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectOneListbox.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/InRenderer.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/LabelLayoutRendererBase.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectBooleanCheckboxRenderer.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyShuttleRenderer.java

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIFile.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIFile.java?rev=1785228&r1=1785227&r2=1785228&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIFile.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIFile.java Fri Mar  3 08:18:46 2017
@@ -19,7 +19,6 @@
 
 package org.apache.myfaces.tobago.internal.component;
 
-import org.apache.myfaces.tobago.component.LabelLayout;
 import org.apache.myfaces.tobago.component.SupportFieldId;
 import org.apache.myfaces.tobago.component.SupportsLabelLayout;
 import org.apache.myfaces.tobago.component.Visual;
@@ -67,14 +66,7 @@ public abstract class AbstractUIFile ext
 
   @Override
   public String getFieldId(final FacesContext facesContext) {
-    if (getLabelLayout() == LabelLayout.skip) {
-      return getClientId(facesContext);
-    } else {
-      return getClientId(facesContext) + ComponentUtils.SUB_SEPARATOR + "real";
-    }
+    return getClientId(facesContext) + ComponentUtils.SUB_SEPARATOR + "real";
   }
 
-  public boolean isLabelLayoutSkip() {
-    return getLabelLayout() == LabelLayout.skip;
-  }
 }

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIInput.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIInput.java?rev=1785228&r1=1785227&r2=1785228&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIInput.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIInput.java Fri Mar  3 08:18:46 2017
@@ -19,15 +19,12 @@
 
 package org.apache.myfaces.tobago.internal.component;
 
-import org.apache.myfaces.tobago.component.Facets;
-import org.apache.myfaces.tobago.component.LabelLayout;
 import org.apache.myfaces.tobago.component.SupportFieldId;
 import org.apache.myfaces.tobago.component.SupportsAccessKey;
 import org.apache.myfaces.tobago.component.SupportsLabelLayout;
 import org.apache.myfaces.tobago.component.Visual;
 import org.apache.myfaces.tobago.util.ComponentUtils;
 
-import javax.faces.component.UIComponent;
 import javax.faces.component.behavior.ClientBehaviorHolder;
 import javax.faces.context.FacesContext;
 
@@ -46,17 +43,6 @@ public abstract class AbstractUIInput ex
 
   @Override
   public String getFieldId(final FacesContext facesContext) {
-    final UIComponent before = getFacet(Facets.before.name());
-    final UIComponent after = getFacet(Facets.after.name());
-
-    if (getLabelLayout() == LabelLayout.skip && before == null && after==null) {
-      return getClientId(facesContext);
-    } else {
-      return getClientId(facesContext) + ComponentUtils.SUB_SEPARATOR + "field";
-    }
-  }
-
-  public boolean isLabelLayoutSkip() {
-    return getLabelLayout() == LabelLayout.skip;
+    return getClientId(facesContext) + ComponentUtils.SUB_SEPARATOR + "field";
   }
 }

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectManyListbox.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectManyListbox.java?rev=1785228&r1=1785227&r2=1785228&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectManyListbox.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectManyListbox.java Fri Mar  3 08:18:46 2017
@@ -19,7 +19,6 @@
 
 package org.apache.myfaces.tobago.internal.component;
 
-import org.apache.myfaces.tobago.component.LabelLayout;
 import org.apache.myfaces.tobago.component.SupportFieldId;
 import org.apache.myfaces.tobago.util.ComponentUtils;
 
@@ -29,10 +28,6 @@ public abstract class AbstractUISelectMa
 
   @Override
   public String getFieldId(final FacesContext facesContext) {
-    if (getLabelLayout() == LabelLayout.skip) {
-      return getClientId(facesContext);
-    } else {
-      return getClientId(facesContext) + ComponentUtils.SUB_SEPARATOR + "field";
-    }
+    return getClientId(facesContext) + ComponentUtils.SUB_SEPARATOR + "field";
   }
 }

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectManyShuttle.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectManyShuttle.java?rev=1785228&r1=1785227&r2=1785228&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectManyShuttle.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectManyShuttle.java Fri Mar  3 08:18:46 2017
@@ -19,13 +19,7 @@
 
 package org.apache.myfaces.tobago.internal.component;
 
-import org.apache.myfaces.tobago.component.LabelLayout;
-import org.apache.myfaces.tobago.component.SupportFieldId;
-import org.apache.myfaces.tobago.util.ComponentUtils;
-
-import javax.faces.context.FacesContext;
-
-public abstract class AbstractUISelectManyShuttle extends AbstractUISelectManyBase implements SupportFieldId {
+public abstract class AbstractUISelectManyShuttle extends AbstractUISelectManyBase {
 
   public abstract String getSelectedLabel();
 
@@ -35,16 +29,4 @@ public abstract class AbstractUISelectMa
     return getSelectedLabel() != null || getUnselectedLabel() != null;
   }
 
-  @Override
-  public String getFieldId(final FacesContext facesContext) {
-    if (getLabelLayout() == LabelLayout.skip) {
-      return getClientId(facesContext);
-    } else {
-      return getClientId(facesContext) + ComponentUtils.SUB_SEPARATOR + "unselected";
-    }
-  }
-
-  public boolean isLabelLayoutSkip() {
-    return getLabelLayout() == LabelLayout.skip;
-  }
 }

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectOneChoice.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectOneChoice.java?rev=1785228&r1=1785227&r2=1785228&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectOneChoice.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectOneChoice.java Fri Mar  3 08:18:46 2017
@@ -19,7 +19,6 @@
 
 package org.apache.myfaces.tobago.internal.component;
 
-import org.apache.myfaces.tobago.component.LabelLayout;
 import org.apache.myfaces.tobago.component.SupportFieldId;
 import org.apache.myfaces.tobago.util.ComponentUtils;
 
@@ -29,10 +28,6 @@ public abstract class AbstractUISelectOn
 
   @Override
   public String getFieldId(final FacesContext facesContext) {
-    if (getLabelLayout() == LabelLayout.skip) {
-      return getClientId(facesContext);
-    } else {
-      return getClientId(facesContext) + ComponentUtils.SUB_SEPARATOR + "field";
-    }
+    return getClientId(facesContext) + ComponentUtils.SUB_SEPARATOR + "field";
   }
 }

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectOneListbox.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectOneListbox.java?rev=1785228&r1=1785227&r2=1785228&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectOneListbox.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectOneListbox.java Fri Mar  3 08:18:46 2017
@@ -19,7 +19,6 @@
 
 package org.apache.myfaces.tobago.internal.component;
 
-import org.apache.myfaces.tobago.component.LabelLayout;
 import org.apache.myfaces.tobago.component.SupportFieldId;
 import org.apache.myfaces.tobago.util.ComponentUtils;
 
@@ -29,10 +28,6 @@ public abstract class AbstractUISelectOn
 
   @Override
   public String getFieldId(final FacesContext facesContext) {
-    if (getLabelLayout() == LabelLayout.skip) {
-      return getClientId(facesContext);
-    } else {
-      return getClientId(facesContext) + ComponentUtils.SUB_SEPARATOR + "field";
-    }
+    return getClientId(facesContext) + ComponentUtils.SUB_SEPARATOR + "field";
   }
 }

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/InRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/InRenderer.java?rev=1785228&r1=1785227&r2=1785228&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/InRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/InRenderer.java Fri Mar  3 08:18:46 2017
@@ -77,9 +77,6 @@ public class InRenderer extends MessageL
     if (after != null || before != null) {
       writer.startElement(HtmlElements.DIV); // Wrapping the field to fix input groups with flexLeft/flexRight
       writer.writeClassAttribute(TobagoClass.INPUT__GROUP__OUTER);
-      if (input.isLabelLayoutSkip()) {
-        writer.writeIdAttribute(clientId);
-      }
       writer.startElement(HtmlElements.DIV);
       writer.writeClassAttribute(BootstrapClass.INPUT_GROUP);
     }

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/LabelLayoutRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/LabelLayoutRendererBase.java?rev=1785228&r1=1785227&r2=1785228&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/LabelLayoutRendererBase.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/LabelLayoutRendererBase.java Fri Mar  3 08:18:46 2017
@@ -110,9 +110,6 @@ public abstract class LabelLayoutRendere
     final LabelLayout labelLayout = getType(component);
     final CssItem divClass;
     switch (labelLayout) {
-      case skip:
-        // skip rendering the surrounding element
-        return;
       case flexLeft:
       case flexRight:
         divClass = TobagoClass.FLEX_LAYOUT;
@@ -134,12 +131,15 @@ public abstract class LabelLayoutRendere
     // TODO: optimize findAncestor() -> set a marker in AbstractUILinks?
 
 //    writer.writeClassAttribute(divClass, extra, BootstrapClass.maximumSeverity(component));
-    writer.writeClassAttribute(
-        divClass,
-        TobagoClass.LABEL__CONTAINER,
-        BootstrapClass.FORM_GROUP,
-        BootstrapClass.maximumSeverity(component),
-        ComponentUtils.getBooleanAttribute(component, Attributes.required) ? TobagoClass.REQUIRED : null);
+
+    if (!(LabelLayout.skip == labelLayout)) {
+      writer.writeClassAttribute(
+          divClass,
+          TobagoClass.LABEL__CONTAINER,
+          BootstrapClass.FORM_GROUP,
+          BootstrapClass.maximumSeverity(component),
+          ComponentUtils.getBooleanAttribute(component, Attributes.required) ? TobagoClass.REQUIRED : null);
+    }
 
     switch (labelLayout) {
       case flexLeft:
@@ -154,6 +154,7 @@ public abstract class LabelLayoutRendere
 
     switch (labelLayout) {
       case none:
+      case skip:
       case flexRight:
       case flowRight:
         break;
@@ -179,8 +180,6 @@ public abstract class LabelLayoutRendere
     final LabelLayout labelLayout = getType(component);
 
     switch (labelLayout) {
-      case skip:
-        return;
       case flexRight:
       case flowRight:
         encodeLabel(component, writer, labelLayout);

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectBooleanCheckboxRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectBooleanCheckboxRenderer.java?rev=1785228&r1=1785227&r2=1785228&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectBooleanCheckboxRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectBooleanCheckboxRenderer.java Fri Mar  3 08:18:46 2017
@@ -80,7 +80,6 @@ public class SelectBooleanCheckboxRender
     final String itemLabel = select.getItemLabel();
 
     writer.startElement(HtmlElements.DIV);
-    writer.writeIdAttribute(clientId);
     writer.writeStyleAttribute(select.getStyle());
     writer.writeClassAttribute(
         Classes.create(select),

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyShuttleRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyShuttleRenderer.java?rev=1785228&r1=1785227&r2=1785228&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyShuttleRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyShuttleRenderer.java Fri Mar  3 08:18:46 2017
@@ -47,9 +47,6 @@ public class SelectManyShuttleRenderer e
     final String clientId = select.getClientId(facesContext);
     final TobagoResponseWriter writer = getResponseWriter(facesContext);
     writer.startElement(HtmlElements.DIV);
-    if(select.isLabelLayoutSkip()) {
-      writer.writeIdAttribute(clientId);
-    }
     writer.writeClassAttribute(Classes.create(select), select.getCustomClass());
     HtmlRendererUtils.writeDataAttributes(facesContext, writer, select);
     final String title = HtmlRendererUtils.getTitleFromTipAndMessages(facesContext, select);