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/02/15 12:17:05 UTC
[myfaces-tobago] 01/02: TOBAGO-1855: Markup "spread" for some
container component to get height from parent.
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 dc0ec3de3cf0fe3647c9335ddcc93f7206485c38
Author: Udo Schnurpfeil <lo...@apache.org>
AuthorDate: Thu Feb 15 11:07:40 2018 +0100
TOBAGO-1855: Markup "spread" for some container component to get height from parent.
Implementation for:
<tc:panel>
<tc:box>
<tc:flexLayout>
<tc:gridLayout>
<tc:segmentLayout>
<tc:selectManyListbox>
<tc:selectManyShuttle>
<tc:selectOneListbox>
<tc:textarea>
<tc:object>
<tc:sheet>
<tc:tabGroup>
<tc:splitLayout>
---
.../tobago/internal/renderkit/renderer/BoxRenderer.java | 3 ++-
.../tobago/internal/renderkit/renderer/FlexLayoutRenderer.java | 7 +++++--
.../tobago/internal/renderkit/renderer/GridLayoutRenderer.java | 10 +++++-----
.../internal/renderkit/renderer/LabelLayoutRendererBase.java | 3 ++-
.../tobago/internal/renderkit/renderer/ObjectRenderer.java | 3 ++-
.../tobago/internal/renderkit/renderer/PanelRenderer.java | 3 ++-
.../internal/renderkit/renderer/SegmentLayoutRenderer.java | 3 ++-
.../internal/renderkit/renderer/SelectManyListboxRenderer.java | 5 ++++-
.../internal/renderkit/renderer/SelectManyShuttleRenderer.java | 3 ++-
.../internal/renderkit/renderer/SelectOneListboxRenderer.java | 5 ++++-
.../tobago/internal/renderkit/renderer/SheetRenderer.java | 3 ++-
.../internal/renderkit/renderer/SplitLayoutRenderer.java | 5 ++++-
.../tobago/internal/renderkit/renderer/TabGroupRenderer.java | 3 ++-
.../tobago/internal/renderkit/renderer/TextareaRenderer.java | 5 ++++-
.../tobago/internal/taglib/component/BoxTagDeclaration.java | 9 ++++++++-
.../internal/taglib/component/FlexLayoutTagDeclaration.java | 9 ++++++++-
.../internal/taglib/component/GridLayoutTagDeclaration.java | 9 ++++++++-
.../tobago/internal/taglib/component/ObjectTagDeclaration.java | 9 ++++++++-
.../tobago/internal/taglib/component/PanelTagDeclaration.java | 7 +++++++
.../internal/taglib/component/SegmentLayoutTagDeclaration.java | 9 ++++++++-
.../taglib/component/SelectManyListboxTagDeclaration.java | 7 +++++++
.../taglib/component/SelectManyShuttleTagDeclaration.java | 7 +++++++
.../taglib/component/SelectOneListboxTagDeclaration.java | 7 +++++++
.../tobago/internal/taglib/component/SheetTagDeclaration.java | 4 ++++
.../internal/taglib/component/SplitLayoutTagDeclaration.java | 9 ++++++++-
.../internal/taglib/component/TabGroupTagDeclaration.java | 7 +++++++
.../internal/taglib/component/TextareaTagDeclaration.java | 7 +++++++
27 files changed, 136 insertions(+), 25 deletions(-)
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/BoxRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/BoxRenderer.java
index cc4719e..0ace522 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/BoxRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/BoxRenderer.java
@@ -57,7 +57,8 @@ public class BoxRenderer extends PanelRendererBase {
TobagoClass.BOX.createMarkup(markup),
BootstrapClass.CARD,
collapsed ? TobagoClass.COLLAPSED : null,
- box.getCustomClass());
+ box.getCustomClass(),
+ markup != null && markup.contains(Markup.SPREAD) ? TobagoClass.SPREAD : null);
final String clientId = box.getClientId(facesContext);
writer.writeIdAttribute(clientId);
writer.writeAttribute(DataAttributes.MARKUP, JsonUtils.encode(markup), false);
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/FlexLayoutRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/FlexLayoutRenderer.java
index 962110d..d556578 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/FlexLayoutRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/FlexLayoutRenderer.java
@@ -20,6 +20,7 @@
package org.apache.myfaces.tobago.internal.renderkit.renderer;
import org.apache.myfaces.tobago.component.UIFlexLayout;
+import org.apache.myfaces.tobago.context.Markup;
import org.apache.myfaces.tobago.internal.util.JsonUtils;
import org.apache.myfaces.tobago.renderkit.RendererBase;
import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
@@ -38,15 +39,17 @@ public class FlexLayoutRenderer extends RendererBase {
public void encodeBegin(final FacesContext facesContext, final UIComponent component) throws IOException {
final UIFlexLayout flexLayout = (UIFlexLayout) component;
final TobagoResponseWriter writer = getResponseWriter(facesContext);
+ final Markup markup = flexLayout.getMarkup();
writer.startElement(HtmlElements.DIV);
writer.writeIdAttribute(flexLayout.getClientId());
- writer.writeAttribute(DataAttributes.MARKUP, JsonUtils.encode(flexLayout.getMarkup()), false);
+ writer.writeAttribute(DataAttributes.MARKUP, JsonUtils.encode(markup), false);
writer.writeClassAttribute(
TobagoClass.FLEX_LAYOUT,
BootstrapClass.D_FLEX,
flexLayout.isHorizontal() ? BootstrapClass.FLEX_ROW : BootstrapClass.FLEX_COLUMN,
- BootstrapClass.valueOf(flexLayout.getAlignItems()));
+ BootstrapClass.valueOf(flexLayout.getAlignItems()),
+ markup != null && markup.contains(Markup.SPREAD) ? TobagoClass.SPREAD : null);
}
@Override
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/GridLayoutRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/GridLayoutRenderer.java
index 8f2786d..a537479 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/GridLayoutRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/GridLayoutRenderer.java
@@ -21,6 +21,7 @@ package org.apache.myfaces.tobago.internal.renderkit.renderer;
import org.apache.myfaces.tobago.component.RendererTypes;
import org.apache.myfaces.tobago.component.UIStyle;
+import org.apache.myfaces.tobago.context.Markup;
import org.apache.myfaces.tobago.internal.component.AbstractUIGridLayout;
import org.apache.myfaces.tobago.internal.util.JsonUtils;
import org.apache.myfaces.tobago.layout.MeasureList;
@@ -31,8 +32,6 @@ import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
import org.apache.myfaces.tobago.renderkit.html.HtmlRoleValues;
import org.apache.myfaces.tobago.webapp.TobagoResponseWriter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
@@ -40,18 +39,19 @@ import java.io.IOException;
public class GridLayoutRenderer extends RendererBase {
- private static final Logger LOG = LoggerFactory.getLogger(GridLayoutRenderer.class);
-
@Override
public void encodeBegin(final FacesContext facesContext, final UIComponent component) throws IOException {
final AbstractUIGridLayout gridLayout = (AbstractUIGridLayout) component;
final TobagoResponseWriter writer = getResponseWriter(facesContext);
+ final Markup markup = gridLayout.getMarkup();
writer.startElement(HtmlElements.DIV);
writer.writeAttribute(HtmlAttributes.ROLE, HtmlRoleValues.PRESENTATION.toString(), false);
writer.writeIdAttribute(gridLayout.getClientId(facesContext));
writer.writeAttribute(DataAttributes.MARKUP, JsonUtils.encode(gridLayout.getMarkup()), false);
- writer.writeClassAttribute(TobagoClass.GRID_LAYOUT);
+ writer.writeClassAttribute(
+ TobagoClass.GRID_LAYOUT,
+ markup != null && markup.contains(Markup.SPREAD) ? TobagoClass.SPREAD : null);
final MeasureList columns = MeasureList.parse(gridLayout.getColumns());
final MeasureList rows = MeasureList.parse(gridLayout.getRows());
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 b4044a9..4da24be 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
@@ -177,7 +177,8 @@ public abstract class LabelLayoutRendererBase extends DecodingInputRendererBase
flex ? BootstrapClass.D_FLEX : null,
TobagoClass.LABEL__CONTAINER,
BootstrapClass.FORM_GROUP,
- ComponentUtils.getBooleanAttribute(component, Attributes.required) ? TobagoClass.REQUIRED : null);
+ ComponentUtils.getBooleanAttribute(component, Attributes.required) ? TobagoClass.REQUIRED : null,
+ markup != null && markup.contains(Markup.SPREAD) ? TobagoClass.SPREAD : null);
switch (labelLayout) {
case none:
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ObjectRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ObjectRenderer.java
index 9ff3fd6..d1b43d9 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ObjectRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ObjectRenderer.java
@@ -57,7 +57,8 @@ public class ObjectRenderer extends RendererBase {
writer.writeClassAttribute(
TobagoClass.OBJECT,
TobagoClass.OBJECT.createMarkup(markup),
- object.getCustomClass());
+ object.getCustomClass(),
+ markup != null && markup.contains(Markup.SPREAD) ? TobagoClass.SPREAD : null);
String noframes = TobagoResourceBundle.getString(facesContext, "browser.noframe.message.prefix");
writer.writeText(noframes);
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/PanelRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/PanelRenderer.java
index 63aa61c..a1296f1 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/PanelRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/PanelRenderer.java
@@ -57,7 +57,8 @@ public class PanelRenderer extends PanelRendererBase {
TobagoClass.PANEL,
TobagoClass.PANEL.createMarkup(markup),
collapsed ? TobagoClass.COLLAPSED : null,
- panel.getCustomClass());
+ panel.getCustomClass(),
+ markup != null && markup.contains(Markup.SPREAD) ? TobagoClass.SPREAD : null);
HtmlRendererUtils.writeDataAttributes(facesContext, writer, panel);
final String tip = panel.getTip();
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SegmentLayoutRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SegmentLayoutRenderer.java
index 29d153f..eddefcf 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SegmentLayoutRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SegmentLayoutRenderer.java
@@ -66,7 +66,8 @@ public class SegmentLayoutRenderer extends RendererBase {
writer.writeClassAttribute(
TobagoClass.SEGMENT_LAYOUT,
TobagoClass.SEGMENT_LAYOUT.createMarkup(markup),
- BootstrapClass.ROW);
+ BootstrapClass.ROW,
+ markup != null && markup.contains(Markup.SPREAD) ? TobagoClass.SPREAD : null);
// writer.writeClassAttribute(Classes.create(layout), BootstrapClass.FORM_GROUP);
}
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyListboxRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyListboxRenderer.java
index a31192b..644eddb 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyListboxRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyListboxRenderer.java
@@ -20,6 +20,7 @@
package org.apache.myfaces.tobago.internal.renderkit.renderer;
import org.apache.myfaces.tobago.component.UISelectManyListbox;
+import org.apache.myfaces.tobago.context.Markup;
import org.apache.myfaces.tobago.internal.util.HtmlRendererUtils;
import org.apache.myfaces.tobago.internal.util.JsonUtils;
import org.apache.myfaces.tobago.internal.util.RenderUtils;
@@ -54,6 +55,7 @@ public class SelectManyListboxRenderer extends SelectManyRendererBase {
final List<SelectItem> items = SelectItemUtils.getItemList(facesContext, select);
final boolean readonly = select.isReadonly();
final boolean disabled = !items.iterator().hasNext() || select.isDisabled() || readonly;
+ final Markup markup = select.getMarkup();
Integer size = select.getSize();
size = Math.max(size != null ? size : items.size(), 2); // must be > 1
@@ -73,7 +75,8 @@ public class SelectManyListboxRenderer extends SelectManyRendererBase {
TobagoClass.SELECT_MANY_LISTBOX.createMarkup(select.getMarkup()),
BootstrapClass.borderColor(ComponentUtils.getMaximumSeverity(select)),
BootstrapClass.FORM_CONTROL,
- select.getCustomClass());
+ select.getCustomClass(),
+ markup != null && markup.contains(Markup.SPREAD) ? TobagoClass.SPREAD : null);
writer.writeAttribute(HtmlAttributes.MULTIPLE, true);
writer.writeAttribute(HtmlAttributes.SIZE, size);
writer.writeAttribute(HtmlAttributes.TITLE, title, true);
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyShuttleRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyShuttleRenderer.java
index d11fe9b..d3ae2e4 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyShuttleRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyShuttleRenderer.java
@@ -59,7 +59,8 @@ public class SelectManyShuttleRenderer extends SelectManyRendererBase {
writer.writeClassAttribute(
TobagoClass.SELECT_MANY_SHUTTLE,
TobagoClass.SELECT_MANY_SHUTTLE.createMarkup(markup),
- select.getCustomClass());
+ select.getCustomClass(),
+ markup != null && markup.contains(Markup.SPREAD) ? TobagoClass.SPREAD : null);
HtmlRendererUtils.writeDataAttributes(facesContext, writer, select);
final String title = HtmlRendererUtils.getTitleFromTipAndMessages(facesContext, select);
if (title != null) {
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectOneListboxRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectOneListboxRenderer.java
index 93d863d..ed2602f 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectOneListboxRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectOneListboxRenderer.java
@@ -20,6 +20,7 @@
package org.apache.myfaces.tobago.internal.renderkit.renderer;
import org.apache.myfaces.tobago.component.UISelectOneListbox;
+import org.apache.myfaces.tobago.context.Markup;
import org.apache.myfaces.tobago.internal.util.HtmlRendererUtils;
import org.apache.myfaces.tobago.internal.util.JsonUtils;
import org.apache.myfaces.tobago.internal.util.RenderUtils;
@@ -53,6 +54,7 @@ public class SelectOneListboxRenderer extends SelectOneRendererBase {
final String fieldId = select.getFieldId(facesContext);
final List<SelectItem> items = SelectItemUtils.getItemList(facesContext, select);
final boolean disabled = !items.iterator().hasNext() || select.isDisabled() || select.isReadonly();
+ final Markup markup = select.getMarkup();
Integer size = select.getSize();
size = Math.max(size != null ? size : items.size(), 2); // must be > 1
@@ -72,7 +74,8 @@ public class SelectOneListboxRenderer extends SelectOneRendererBase {
TobagoClass.SELECT_ONE_LISTBOX.createMarkup(select.getMarkup()),
BootstrapClass.borderColor(ComponentUtils.getMaximumSeverity(select)),
BootstrapClass.FORM_CONTROL,
- select.getCustomClass());
+ select.getCustomClass(),
+ markup != null && markup.contains(Markup.SPREAD) ? TobagoClass.SPREAD : null);
final String title = HtmlRendererUtils.getTitleFromTipAndMessages(facesContext, select);
writer.writeAttribute(HtmlAttributes.TITLE, title, true);
writer.writeAttribute(HtmlAttributes.SIZE, size);
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SheetRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SheetRenderer.java
index 9a61085..c142f14 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SheetRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SheetRenderer.java
@@ -186,7 +186,8 @@ public class SheetRenderer extends RendererBase {
writer.writeClassAttribute(
TobagoClass.SHEET,
TobagoClass.SHEET.createMarkup(markup),
- sheet.getCustomClass());
+ sheet.getCustomClass(),
+ markup != null && markup.contains(Markup.SPREAD) ? TobagoClass.SPREAD : null);
final UIComponent facetReload = ComponentUtils.getFacet(sheet, Facets.reload);
if (facetReload != null && facetReload instanceof UIReload && facetReload.isRendered()) {
final UIReload update = (UIReload) facetReload;
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SplitLayoutRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SplitLayoutRenderer.java
index 06efabd..78b8df3 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SplitLayoutRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SplitLayoutRenderer.java
@@ -20,6 +20,7 @@
package org.apache.myfaces.tobago.internal.renderkit.renderer;
import org.apache.myfaces.tobago.apt.annotation.Preliminary;
+import org.apache.myfaces.tobago.context.Markup;
import org.apache.myfaces.tobago.internal.component.AbstractUISplitLayout;
import org.apache.myfaces.tobago.internal.util.JsonUtils;
import org.apache.myfaces.tobago.renderkit.RendererBase;
@@ -65,13 +66,15 @@ public class SplitLayoutRenderer extends RendererBase {
final AbstractUISplitLayout splitLayout = (AbstractUISplitLayout) component;
final TobagoResponseWriter writer = getResponseWriter(facesContext);
+ final Markup markup = splitLayout.getMarkup();
writer.startElement(HtmlElements.DIV);
writer.writeIdAttribute(splitLayout.getClientId(facesContext));
writer.writeAttribute(DataAttributes.MARKUP, JsonUtils.encode(splitLayout.getMarkup()), false);
writer.writeClassAttribute(
BootstrapClass.D_FLEX, // tbd: SPLIT_LAYOUT
- splitLayout.isHorizontal() ? BootstrapClass.FLEX_ROW : BootstrapClass.FLEX_COLUMN);
+ splitLayout.isHorizontal() ? BootstrapClass.FLEX_ROW : BootstrapClass.FLEX_COLUMN,
+ markup != null && markup.contains(Markup.SPREAD) ? TobagoClass.SPREAD : null);
}
@Override
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TabGroupRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TabGroupRenderer.java
index b2cbcba..ce9f80c 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TabGroupRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TabGroupRenderer.java
@@ -153,7 +153,8 @@ public class TabGroupRenderer extends RendererBase implements ComponentSystemEve
TobagoClass.TAB_GROUP,
TobagoClass.TAB_GROUP.createMarkup(markup),
BootstrapClass.CARD,
- tabGroup.getCustomClass());
+ tabGroup.getCustomClass(),
+ markup != null && markup.contains(Markup.SPREAD) ? TobagoClass.SPREAD : null);
HtmlRendererUtils.writeDataAttributes(facesContext, writer, tabGroup);
writer.writeAttribute(HtmlAttributes.SWITCHTYPE, switchType.name(), false);
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TextareaRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TextareaRenderer.java
index ca46f27..9450f96 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TextareaRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TextareaRenderer.java
@@ -21,6 +21,7 @@ package org.apache.myfaces.tobago.internal.renderkit.renderer;
import org.apache.myfaces.tobago.component.UITextarea;
import org.apache.myfaces.tobago.config.TobagoConfig;
+import org.apache.myfaces.tobago.context.Markup;
import org.apache.myfaces.tobago.internal.component.AbstractUITextarea;
import org.apache.myfaces.tobago.internal.util.AccessKeyLogger;
import org.apache.myfaces.tobago.internal.util.HtmlRendererUtils;
@@ -86,6 +87,7 @@ public class TextareaRenderer extends MessageLayoutRendererBase {
final Integer rows = input.getRows();
final boolean readonly = input.isReadonly();
final boolean disabled = input.isDisabled();
+ final Markup markup = input.getMarkup();
writer.startElement(HtmlElements.TEXTAREA);
writer.writeNameAttribute(clientId);
@@ -108,7 +110,8 @@ public class TextareaRenderer extends MessageLayoutRendererBase {
TobagoClass.TEXTAREA.createMarkup(input.getMarkup()),
BootstrapClass.borderColor(ComponentUtils.getMaximumSeverity(input)),
BootstrapClass.FORM_CONTROL,
- input.getCustomClass());
+ input.getCustomClass(),
+ markup != null && markup.contains(Markup.SPREAD) ? TobagoClass.SPREAD : null);
int maxLength = 0;
int minLength = 0;
String pattern = null;
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/BoxTagDeclaration.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/BoxTagDeclaration.java
index 4aef5f1..7c8376e 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/BoxTagDeclaration.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/BoxTagDeclaration.java
@@ -20,6 +20,7 @@
package org.apache.myfaces.tobago.internal.taglib.component;
import org.apache.myfaces.tobago.apt.annotation.Facet;
+import org.apache.myfaces.tobago.apt.annotation.Markup;
import org.apache.myfaces.tobago.apt.annotation.Tag;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
import org.apache.myfaces.tobago.component.Facets;
@@ -53,7 +54,13 @@ import javax.faces.component.UIPanel;
@Facet(name = Facets.LABEL,
description = "Contains some code to be placed in the header at the label position."),
@Facet(name=Facets.LAYOUT, description = "Deprecated! Contains an layout manager. "
- + "The layout manager tag should surround the content instead.")})
+ + "The layout manager tag should surround the content instead.")},
+ markups = {
+ @Markup(
+ name = org.apache.myfaces.tobago.context.Markup.STRING_SPREAD,
+ description = "Use the full height for the HTML content."
+ )
+ })
public interface BoxTagDeclaration
extends HasIdBindingAndRendered, IsVisual, HasLabel, HasTip, IsCollapsed, HasCollapsedMode {
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/FlexLayoutTagDeclaration.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/FlexLayoutTagDeclaration.java
index 494e321..ba50ede 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/FlexLayoutTagDeclaration.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/FlexLayoutTagDeclaration.java
@@ -19,6 +19,7 @@
package org.apache.myfaces.tobago.internal.taglib.component;
+import org.apache.myfaces.tobago.apt.annotation.Markup;
import org.apache.myfaces.tobago.apt.annotation.Tag;
import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
@@ -45,7 +46,13 @@ import org.apache.myfaces.tobago.layout.JustifyContent;
// As long as no behavior event names are defined, ClientBehaviorHolder must be implemented for Majorra.
"javax.faces.component.behavior.ClientBehaviorHolder"
},
- allowedChildComponenents = "ALL")
+ allowedChildComponenents = "ALL",
+ markups = {
+ @Markup(
+ name = org.apache.myfaces.tobago.context.Markup.STRING_SPREAD,
+ description = "Use the full height for the HTML content."
+ )
+ })
public interface FlexLayoutTagDeclaration extends HasIdBindingAndRendered, IsVisual {
/**
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/GridLayoutTagDeclaration.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/GridLayoutTagDeclaration.java
index 09883dc..85555f0 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/GridLayoutTagDeclaration.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/GridLayoutTagDeclaration.java
@@ -19,6 +19,7 @@
package org.apache.myfaces.tobago.internal.taglib.component;
+import org.apache.myfaces.tobago.apt.annotation.Markup;
import org.apache.myfaces.tobago.apt.annotation.Preliminary;
import org.apache.myfaces.tobago.apt.annotation.Tag;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
@@ -103,7 +104,13 @@ import org.apache.myfaces.tobago.internal.taglib.declaration.IsVisual;
// As long as no behavior event names are defined, ClientBehaviorHolder must be implemented for Majorra.
"javax.faces.component.behavior.ClientBehaviorHolder"
},
- allowedChildComponenents = "NONE")
+ allowedChildComponenents = "NONE",
+ markups = {
+ @Markup(
+ name = org.apache.myfaces.tobago.context.Markup.STRING_SPREAD,
+ description = "Use the full height for the HTML content."
+ )
+ })
public interface GridLayoutTagDeclaration extends HasId, HasSpacing,
HasColumnLayout, HasRowLayout, HasBinding, IsVisual {
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ObjectTagDeclaration.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ObjectTagDeclaration.java
index 58195a4..0e196b5 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ObjectTagDeclaration.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ObjectTagDeclaration.java
@@ -19,6 +19,7 @@
package org.apache.myfaces.tobago.internal.taglib.component;
+import org.apache.myfaces.tobago.apt.annotation.Markup;
import org.apache.myfaces.tobago.apt.annotation.Tag;
import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
@@ -44,7 +45,13 @@ import javax.faces.component.UIOutput;
// As long as no behavior event names are defined, ClientBehaviorHolder must be implemented for Majorra.
"javax.faces.component.behavior.ClientBehaviorHolder"
},
- allowedChildComponenents = "NONE")
+ allowedChildComponenents = "NONE",
+ markups = {
+ @Markup(
+ name = org.apache.myfaces.tobago.context.Markup.STRING_SPREAD,
+ description = "Use the full height for the HTML content."
+ )
+ })
public interface ObjectTagDeclaration extends HasIdBindingAndRendered, IsVisual {
/**
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/PanelTagDeclaration.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/PanelTagDeclaration.java
index 3ef1c14..9b68547 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/PanelTagDeclaration.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/PanelTagDeclaration.java
@@ -21,6 +21,7 @@ package org.apache.myfaces.tobago.internal.taglib.component;
import org.apache.myfaces.tobago.apt.annotation.Behavior;
import org.apache.myfaces.tobago.apt.annotation.Facet;
+import org.apache.myfaces.tobago.apt.annotation.Markup;
import org.apache.myfaces.tobago.apt.annotation.Tag;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
import org.apache.myfaces.tobago.component.ClientBehaviors;
@@ -61,6 +62,12 @@ import javax.faces.component.UIPanel;
name = ClientBehaviors.MOUSEOVER),
@Behavior(
name = ClientBehaviors.MOUSEOUT)
+ },
+ markups = {
+ @Markup(
+ name = org.apache.myfaces.tobago.context.Markup.STRING_SPREAD,
+ description = "Use the full height for the HTML content."
+ )
})
public interface PanelTagDeclaration
extends HasIdBindingAndRendered, IsVisual, IsCollapsed, HasCollapsedMode, HasTip {
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SegmentLayoutTagDeclaration.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SegmentLayoutTagDeclaration.java
index 5433b46..c0480fe 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SegmentLayoutTagDeclaration.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SegmentLayoutTagDeclaration.java
@@ -19,6 +19,7 @@
package org.apache.myfaces.tobago.internal.taglib.component;
+import org.apache.myfaces.tobago.apt.annotation.Markup;
import org.apache.myfaces.tobago.apt.annotation.Tag;
import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
@@ -45,7 +46,13 @@ import org.apache.myfaces.tobago.internal.taglib.declaration.IsVisual;
// As long as no behavior event names are defined, ClientBehaviorHolder must be implemented for Majorra.
"javax.faces.component.behavior.ClientBehaviorHolder"
},
- allowedChildComponenents = "NONE")
+ allowedChildComponenents = "NONE",
+ markups = {
+ @Markup(
+ name = org.apache.myfaces.tobago.context.Markup.STRING_SPREAD,
+ description = "Use the full height for the HTML content."
+ )
+ })
public interface SegmentLayoutTagDeclaration extends HasIdBindingAndRendered, IsVisual {
/**
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyListboxTagDeclaration.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyListboxTagDeclaration.java
index 38e46d5..026374a 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyListboxTagDeclaration.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyListboxTagDeclaration.java
@@ -20,6 +20,7 @@
package org.apache.myfaces.tobago.internal.taglib.component;
import org.apache.myfaces.tobago.apt.annotation.Behavior;
+import org.apache.myfaces.tobago.apt.annotation.Markup;
import org.apache.myfaces.tobago.apt.annotation.Tag;
import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
@@ -71,6 +72,12 @@ import javax.faces.component.UISelectMany;
name = ClientBehaviors.FOCUS),
@Behavior(
name = ClientBehaviors.BLUR)
+ },
+ markups = {
+ @Markup(
+ name = org.apache.myfaces.tobago.context.Markup.STRING_SPREAD,
+ description = "Use the full height for the HTML content."
+ )
})
public interface SelectManyListboxTagDeclaration
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyShuttleTagDeclaration.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyShuttleTagDeclaration.java
index 838b8a7..b947c5f 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyShuttleTagDeclaration.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyShuttleTagDeclaration.java
@@ -21,6 +21,7 @@ package org.apache.myfaces.tobago.internal.taglib.component;
import org.apache.myfaces.tobago.apt.annotation.Behavior;
import org.apache.myfaces.tobago.apt.annotation.BodyContentDescription;
+import org.apache.myfaces.tobago.apt.annotation.Markup;
import org.apache.myfaces.tobago.apt.annotation.Tag;
import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
@@ -72,6 +73,12 @@ import javax.faces.component.UISelectMany;
name = ClientBehaviors.FOCUS),
@Behavior(
name = ClientBehaviors.BLUR)
+ },
+ markups = {
+ @Markup(
+ name = org.apache.myfaces.tobago.context.Markup.STRING_SPREAD,
+ description = "Use the full height for the HTML content."
+ )
})
public interface SelectManyShuttleTagDeclaration extends
IsDisabled, HasId, HasTip, IsRendered, IsRequiredForSelect, HasBinding, IsReadonly, HasConverter,
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectOneListboxTagDeclaration.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectOneListboxTagDeclaration.java
index 2a15496..8f18666 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectOneListboxTagDeclaration.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectOneListboxTagDeclaration.java
@@ -21,6 +21,7 @@ package org.apache.myfaces.tobago.internal.taglib.component;
import org.apache.myfaces.tobago.apt.annotation.Behavior;
import org.apache.myfaces.tobago.apt.annotation.BodyContentDescription;
+import org.apache.myfaces.tobago.apt.annotation.Markup;
import org.apache.myfaces.tobago.apt.annotation.Tag;
import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
@@ -76,6 +77,12 @@ import javax.faces.component.UISelectOne;
name = ClientBehaviors.FOCUS),
@Behavior(
name = ClientBehaviors.BLUR)
+ },
+ markups = {
+ @Markup(
+ name = org.apache.myfaces.tobago.context.Markup.STRING_SPREAD,
+ description = "Use the full height for the HTML content."
+ )
})
public interface SelectOneListboxTagDeclaration
extends HasValidator, HasValue, HasValueChangeListener, HasTabIndex, IsFocus, IsVisual,
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SheetTagDeclaration.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SheetTagDeclaration.java
index 405228f..866f1aa 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SheetTagDeclaration.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SheetTagDeclaration.java
@@ -86,6 +86,10 @@ import javax.faces.component.UIData;
name = org.apache.myfaces.tobago.context.Markup.STRING_STRIPED,
description = "Zebra-striping for table rows."
),
+ @Markup(
+ name = org.apache.myfaces.tobago.context.Markup.STRING_SPREAD,
+ description = "Use the full height for the HTML content."
+ )
})
public interface SheetTagDeclaration
extends HasIdBindingAndRendered, IsVisual, IsShowRoot, IsShowRootJunction, HasVar {
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SplitLayoutTagDeclaration.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SplitLayoutTagDeclaration.java
index 6a9f748..e6bf63e 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SplitLayoutTagDeclaration.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SplitLayoutTagDeclaration.java
@@ -19,6 +19,7 @@
package org.apache.myfaces.tobago.internal.taglib.component;
+import org.apache.myfaces.tobago.apt.annotation.Markup;
import org.apache.myfaces.tobago.apt.annotation.Preliminary;
import org.apache.myfaces.tobago.apt.annotation.Tag;
import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
@@ -46,7 +47,13 @@ import org.apache.myfaces.tobago.internal.taglib.declaration.IsVisual;
uiComponentBaseClass = "org.apache.myfaces.tobago.internal.component.AbstractUISplitLayout",
componentFamily = AbstractUIGridLayout.COMPONENT_FAMILY,
rendererType = "SplitLayout",
- allowedChildComponenents = "NONE")
+ allowedChildComponenents = "NONE",
+ markups = {
+ @Markup(
+ name = org.apache.myfaces.tobago.context.Markup.STRING_SPREAD,
+ description = "Use the full height for the HTML content."
+ )
+ })
public interface SplitLayoutTagDeclaration
extends HasId, HasSpacing, HasBinding, IsVisual {
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TabGroupTagDeclaration.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TabGroupTagDeclaration.java
index bfc9a6e..bf01294 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TabGroupTagDeclaration.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TabGroupTagDeclaration.java
@@ -22,6 +22,7 @@ package org.apache.myfaces.tobago.internal.taglib.component;
import org.apache.myfaces.tobago.apt.annotation.Behavior;
import org.apache.myfaces.tobago.apt.annotation.BodyContentDescription;
import org.apache.myfaces.tobago.apt.annotation.DynamicExpression;
+import org.apache.myfaces.tobago.apt.annotation.Markup;
import org.apache.myfaces.tobago.apt.annotation.Tag;
import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
@@ -54,6 +55,12 @@ import javax.faces.component.UIPanel;
@Behavior(
name = ClientBehaviors.CLICK,
isDefault = true)
+ },
+ markups = {
+ @Markup(
+ name = org.apache.myfaces.tobago.context.Markup.STRING_SPREAD,
+ description = "Use the full height for the HTML content."
+ )
})
public interface TabGroupTagDeclaration
extends HasIdBindingAndRendered, IsImmediateCommand, HasAction, HasActionListener, IsVisual, HasTip {
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TextareaTagDeclaration.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TextareaTagDeclaration.java
index 1fbdac6..7296d48 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TextareaTagDeclaration.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TextareaTagDeclaration.java
@@ -20,6 +20,7 @@
package org.apache.myfaces.tobago.internal.taglib.component;
import org.apache.myfaces.tobago.apt.annotation.Behavior;
+import org.apache.myfaces.tobago.apt.annotation.Markup;
import org.apache.myfaces.tobago.apt.annotation.Tag;
import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
@@ -72,6 +73,12 @@ import javax.faces.component.UIInput;
name = ClientBehaviors.FOCUS),
@Behavior(
name = ClientBehaviors.BLUR)
+ },
+ markups = {
+ @Markup(
+ name = org.apache.myfaces.tobago.context.Markup.STRING_SPREAD,
+ description = "Use the full height for the HTML content."
+ )
})
public interface TextareaTagDeclaration
extends HasIdBindingAndRendered, HasConverter, IsReadonly, IsDisabled, IsRequired, HasLabel, HasLabelLayout, HasTip,
--
To stop receiving notification emails like this one, please contact
lofwyr@apache.org.