custom element: tobago-label
issue: TOBAGO-1633: TS refactoring
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 f625eb8..82d75d7 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
@@ -127,17 +127,17 @@
flex = false;
}
- writer.startElement(getComponentTag());
if (labelLayout == LabelLayout.gridLeft || labelLayout == LabelLayout.gridRight
|| labelLayout == LabelLayout.gridTop || labelLayout == LabelLayout.gridBottom) {
+ writer.startElement(HtmlElements.TOBAGO_LABEL);
writer.writeIdAttribute(clientId + ComponentUtils.SUB_SEPARATOR + "label");
} else {
+ writer.startElement(getComponentTag());
writer.writeIdAttribute(clientId);
}
writer.writeClassAttribute(
flex ? TobagoClass.FLEX_LAYOUT : null,
flex ? BootstrapClass.D_FLEX : null,
- TobagoClass.LABEL__CONTAINER,
BootstrapClass.FORM_GROUP,
ComponentUtils.getBooleanAttribute(component, Attributes.required) ? TobagoClass.REQUIRED : null,
markup != null && markup.contains(Markup.SPREAD) ? TobagoClass.SPREAD : null);
@@ -163,12 +163,11 @@
case gridRight:
case gridTop:
case gridBottom:
- writer.endElement(HtmlElements.DIV);
+ writer.endElement(HtmlElements.TOBAGO_LABEL);
- writer.startElement(HtmlElements.DIV);
+ writer.startElement(getComponentTag());
writer.writeIdAttribute(clientId);
writer.writeClassAttribute(
- TobagoClass.LABEL__CONTAINER,
BootstrapClass.FORM_GROUP,
ComponentUtils.getBooleanAttribute(component, Attributes.required) ? TobagoClass.REQUIRED : null,
markup != null && markup.contains(Markup.SPREAD) ? TobagoClass.SPREAD : null);
@@ -207,7 +206,7 @@
if (StringUtils.isNotBlank(label)) {
writer.startElement(HtmlElements.LABEL);
writer.writeAttribute(HtmlAttributes.FOR, getFieldId(facesContext, component), false);
- writer.writeClassAttribute(TobagoClass.LABEL, BootstrapClass.COL_FORM_LABEL);
+ writer.writeClassAttribute(BootstrapClass.COL_FORM_LABEL);
if (component instanceof SupportsAccessKey) {
final LabelWithAccessKey labelWithAccessKey = new LabelWithAccessKey((SupportsAccessKey) component);
HtmlRendererUtils.writeLabelWithAccessKey(writer, labelWithAccessKey);
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/LabelRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/LabelRenderer.java
index 8f04eb8..ea7b9fc 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/LabelRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/LabelRenderer.java
@@ -74,10 +74,9 @@
writer.startElement(HtmlElements.LABEL);
HtmlRendererUtils.writeDataAttributes(facesContext, writer, label);
writer.writeClassAttribute(
- TobagoClass.LABEL,
+ BootstrapClass.COL_FORM_LABEL,
TobagoClass.LABEL.createMarkup(markup),
required ? TobagoClass.REQUIRED : null,
- BootstrapClass.COL_FORM_LABEL,
label.getCustomClass());
writer.writeIdAttribute(clientId);
if (forId != null) {
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/TobagoClass.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/TobagoClass.java
index 33abe3a..731910e 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/TobagoClass.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/TobagoClass.java
@@ -140,7 +140,6 @@
@Deprecated
INPUT_GROUP_OUTER(INPUT__GROUP__OUTER.getName()),
LABEL("tobago-label"),
- LABEL__CONTAINER("tobago-label-container"),
LINK("tobago-link"),
LINKS("tobago-links"),
MESSAGES("tobago-messages"),
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlElements.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlElements.java
index 5394f3c..da03315 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlElements.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlElements.java
@@ -135,6 +135,7 @@
TOBAGO_BEHAVIOR("tobago-behavior"),
TOBAGO_FILE("tobago-file"),
+ TOBAGO_LABEL("tobago-label"),
TOBAGO_IN("tobago-in"),
TOBAGO_PANEL("tobago-panel"),
TOBAGO_POPUP("tobago-popup"),
diff --git a/tobago-core/src/main/resources/scss/_tobago.scss b/tobago-core/src/main/resources/scss/_tobago.scss
index 046b925..4a4090b 100644
--- a/tobago-core/src/main/resources/scss/_tobago.scss
+++ b/tobago-core/src/main/resources/scss/_tobago.scss
@@ -274,7 +274,7 @@
}
/* the non-label-element inside of a label-layout with flex box */
-.tobago-flexLayout.tobago-label-container > {
+tobago-label.tobago-flexLayout > {
.form-control, .form-control-plaintext, .twitter-typeahead,
.tobago-input-group-outer, .tobago-messages-container,
.tobago-selectManyShuttle {
@@ -313,7 +313,7 @@
grid-column-gap: $spacer-x; // old
column-gap: $spacer-x;
- .tobago-label-container > {
+ tobago-label > {
.tobago-textarea, .tobago-selectManyListbox, .tobago-selectManyShuttle {
height: 100%;
}
@@ -360,11 +360,11 @@
}
/* label ----------------------------------------------------------- */
-.tobago-label {
+tobago-label {
width: 100%;
}
-.tobago-flexLayout > .tobago-label {
+.tobago-flexLayout > tobago-label {
width: 155px;
}
@@ -1624,7 +1624,7 @@
}
.tobago-required .tobago-label:after,
-.tobago-required.tobago-label:after {
+tobago-label.tobago-required:after {
content: "*";
color: theme-color("danger");
}
diff --git a/tobago-theme/tobago-theme-speyside/src/main/scss/_speyside-overwrites.scss b/tobago-theme/tobago-theme-speyside/src/main/scss/_speyside-overwrites.scss
index 03d31c3..af09919 100644
--- a/tobago-theme/tobago-theme-speyside/src/main/scss/_speyside-overwrites.scss
+++ b/tobago-theme/tobago-theme-speyside/src/main/scss/_speyside-overwrites.scss
@@ -127,7 +127,7 @@
}
}
-.form-group, .tobago-label {
+.form-group, tobago-label {
~ a.tobago-link {
padding-top: 0.46em;
margin-bottom: 0;