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 2018/08/07 13:23:26 UTC
[myfaces-tobago] branch master updated: TOBAGO-1908: LabelLayout
attributes gridLeft, gridRight
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
The following commit(s) were added to refs/heads/master by this push:
new 2775e75 TOBAGO-1908: LabelLayout attributes gridLeft, gridRight
2775e75 is described below
commit 2775e757cbc3ff6b8e90540b08c258dc7226d615
Author: Udo Schnurpfeil <lo...@apache.org>
AuthorDate: Tue Aug 7 15:23:02 2018 +0200
TOBAGO-1908: LabelLayout attributes gridLeft, gridRight
---
.../renderer/LabelLayoutRendererBase.java | 42 +++-------------------
.../renderer/MessageLayoutRendererBase.java | 20 +++++++++++
2 files changed, 24 insertions(+), 38 deletions(-)
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/LabelLayoutRendererBase.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/LabelLayoutRendererBase.java
index 4da24be..a906727 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/LabelLayoutRendererBase.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/LabelLayoutRendererBase.java
@@ -53,41 +53,13 @@ public abstract class LabelLayoutRendererBase extends DecodingInputRendererBase
encodeBeginSurroundingLabel(facesContext, component);
- switch (getType(component)) {
- case segmentLeft:
- if (LabelLayout.getSegment(facesContext) == LabelLayout.segmentRight) {
- encodeBeginMessageField(facesContext, component);
- }
- break;
- case segmentRight:
- if (LabelLayout.getSegment(facesContext) == LabelLayout.segmentLeft) {
- encodeBeginMessageField(facesContext, component);
- }
- break;
- default:
- encodeBeginMessageField(facesContext, component);
- break;
- }
+ encodeBeginMessageField(facesContext, component);
}
@Override
public void encodeEnd(final FacesContext facesContext, final UIComponent component) throws IOException {
- switch (getType(component)) {
- case segmentLeft:
- if (LabelLayout.getSegment(facesContext) == LabelLayout.segmentRight) {
- encodeEndMessageField(facesContext, component);
- }
- break;
- case segmentRight:
- if (LabelLayout.getSegment(facesContext) == LabelLayout.segmentLeft) {
- encodeEndMessageField(facesContext, component);
- }
- break;
- default:
- encodeEndMessageField(facesContext, component);
- break;
- }
+ encodeEndMessageField(facesContext, component);
// render the styles here, because inside of <select> its not possible.
if (component.getRendersChildren()) {
@@ -139,7 +111,7 @@ public abstract class LabelLayoutRendererBase extends DecodingInputRendererBase
// - flowLeft (todo)
// - flowRight (todo)
// - skip
- final LabelLayout labelLayout = getType(component);
+ final LabelLayout labelLayout = ((SupportsLabelLayout) component).getLabelLayout();
final boolean flex;
switch (labelLayout) {
case skip:
@@ -205,7 +177,7 @@ public abstract class LabelLayoutRendererBase extends DecodingInputRendererBase
throws IOException {
final TobagoResponseWriter writer = getResponseWriter(facesContext);
- final LabelLayout labelLayout = getType(component);
+ final LabelLayout labelLayout = ((SupportsLabelLayout) component).getLabelLayout();
switch (labelLayout) {
case skip:
@@ -242,11 +214,5 @@ public abstract class LabelLayoutRendererBase extends DecodingInputRendererBase
}
}
- private LabelLayout getType(final UIComponent component) {
- return component instanceof SupportsLabelLayout
- ? ((SupportsLabelLayout) component).getLabelLayout()
- : LabelLayout.skip;
- }
-
protected abstract String getFieldId(final FacesContext facesContext, final UIComponent component);
}
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/MessageLayoutRendererBase.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/MessageLayoutRendererBase.java
index a369767..0487555 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/MessageLayoutRendererBase.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/MessageLayoutRendererBase.java
@@ -19,6 +19,8 @@
package org.apache.myfaces.tobago.internal.renderkit.renderer;
+import org.apache.myfaces.tobago.component.LabelLayout;
+import org.apache.myfaces.tobago.component.SupportsLabelLayout;
import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
import org.apache.myfaces.tobago.renderkit.css.Icons;
import org.apache.myfaces.tobago.renderkit.css.TobagoClass;
@@ -39,12 +41,30 @@ public abstract class MessageLayoutRendererBase extends LabelLayoutRendererBase
@Override
public void encodeBeginMessageField(final FacesContext facesContext, final UIComponent component) throws IOException {
+
+ final LabelLayout labelLayout = ((SupportsLabelLayout) component).getLabelLayout();
+ final LabelLayout segment = LabelLayout.getSegment(facesContext);
+
+ if (labelLayout == LabelLayout.segmentLeft && segment != LabelLayout.segmentRight ||
+ labelLayout == LabelLayout.segmentRight && segment != LabelLayout.segmentLeft) {
+ return; // skip, because this component is the label
+ }
+
encodeBeginSurroundingMessage(facesContext, component);
encodeBeginField(facesContext, component);
}
@Override
public void encodeEndMessageField(final FacesContext facesContext, final UIComponent component) throws IOException {
+
+ final LabelLayout labelLayout = ((SupportsLabelLayout) component).getLabelLayout();
+ final LabelLayout segment = LabelLayout.getSegment(facesContext);
+
+ if (labelLayout == LabelLayout.segmentLeft && segment != LabelLayout.segmentRight ||
+ labelLayout == LabelLayout.segmentRight && segment != LabelLayout.segmentLeft) {
+ return; // skip, because this component is the label
+ }
+
encodeEndField(facesContext, component);
encodeEndSurroundingMessage(facesContext, component);
}