This is an automated email from the ASF dual-hosted git repository.
doebele pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/empire-db.git
The following commit(s) were added to refs/heads/master by this push:
new 0d70258c EMPIREDB-449 ControlTag: allow extra label style classes
0d70258c is described below
commit 0d70258cd0e095037c8bb9a73e72c6c379e71750
Author: Rainer Döbele <[email protected]>
AuthorDate: Thu Nov 28 11:56:30 2024 +0100
EMPIREDB-449
ControlTag: allow extra label style classes
---
.../empire/jakarta/components/ControlTag.java | 9 +++---
.../empire/jakarta/components/FormGridTag.java | 2 +-
.../apache/empire/jakarta/components/ValueTag.java | 2 +-
.../empire/jakarta/utils/ControlRenderInfo.java | 4 +--
.../empire/jakarta/utils/TagEncodingHelper.java | 37 +++++++++++++---------
.../apache/empire/jsf2/components/ControlTag.java | 9 +++---
.../apache/empire/jsf2/components/FormGridTag.java | 2 +-
.../apache/empire/jsf2/components/ValueTag.java | 2 +-
.../empire/jsf2/utils/ControlRenderInfo.java | 4 +--
.../empire/jsf2/utils/TagEncodingHelper.java | 37 +++++++++++++---------
10 files changed, 62 insertions(+), 46 deletions(-)
diff --git
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ControlTag.java
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ControlTag.java
index b89d8357..da4942ff 100644
---
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ControlTag.java
+++
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ControlTag.java
@@ -393,7 +393,7 @@ public class ControlTag extends UIInput implements
NamingContainer
// render id
helper.writeComponentId(writer, false);
// style class
- String controlClass =
helper.getTagAttributeStringEx("controlClass");
+ String controlClass =
helper.getTagAttributeStringEx("controlClass", true);
String styleClass =
helper.getTagAttributeString(InputControl.CSS_STYLE_CLASS);
String contextClass = helper.getContextStyleClass();
helper.writeStyleClass(writer, TagStyleClass.CONTROL.get(),
controlClass, styleClass, contextClass);
@@ -485,10 +485,10 @@ public class ControlTag extends UIInput implements
NamingContainer
writer = context.getResponseWriter();
writer.startElement(tagName, this);
// style Class
- String inpClass = helper.getTagAttributeStringEx("inputClass");
+ String inpClass = helper.getTagAttributeStringEx("inputClass",
true);
helper.writeStyleClass(writer,
TagStyleClass.CONTROL_INPUT.get(), inpClass);
// write more
- String colSpan =
tagName.equalsIgnoreCase(InputControl.HTML_TAG_TD) ?
helper.getTagAttributeStringEx("colspan") : null;
+ String colSpan =
tagName.equalsIgnoreCase(InputControl.HTML_TAG_TD) ?
helper.getTagAttributeStringEx("colspan", false) : null;
if (colSpan!=null)
writer.writeAttribute("colspan", colSpan, null);
}
@@ -548,7 +548,8 @@ public class ControlTag extends UIInput implements
NamingContainer
{ // Create components
String forInput = (customInput ?
helper.getTagAttributeString("for") : "*");
// createLabelComponent
- labelComponent = helper.createLabelComponent(context,
forInput, "eLabel", null, getColon());
+ String styleClass = TagStyleClass.LABEL.get();
+ labelComponent = helper.createLabelComponent(context,
forInput, styleClass, null, getColon());
parent.getChildren().add(0, labelComponent);
helper.resetComponentId(labelComponent);
}
diff --git
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/FormGridTag.java
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/FormGridTag.java
index 1e2bd1ce..4e61c233 100644
---
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/FormGridTag.java
+++
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/FormGridTag.java
@@ -121,7 +121,7 @@ public class FormGridTag extends UIOutput // implements
NamingContainer
if (CONTROL_TAG!=null &&
TagEncodingHelper.hasComponentId(controlTag))
writer.writeAttribute(InputControl.HTML_ATTR_ID,
controlTag.getClientId(), null);
// Style class
- String controlClass =
controlTag.helper.getTagAttributeStringEx("controlClass");
+ String controlClass =
controlTag.helper.getTagAttributeStringEx("controlClass", true);
String styleClass =
controlTag.helper.getTagAttributeString(InputControl.CSS_STYLE_CLASS);
controlTag.helper.writeStyleClass(writer,
TagStyleClass.CONTROL_PLACEHOLDER.get(), controlClass, styleClass);
// Legacy two <td>
diff --git
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ValueTag.java
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ValueTag.java
index bc57f501..59e47194 100644
---
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ValueTag.java
+++
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ValueTag.java
@@ -101,7 +101,7 @@ public class ValueTag extends UIOutput // implements
NamingContainer
// Map<String, Object> map = getAttributes();
String tagName = helper.getTagAttributeString("tag");
String tooltip =
helper.getValueTooltip(helper.getTagAttributeValue("title"));
- String styleClass =
helper.getTagAttributeStringEx(InputControl.CSS_STYLE_CLASS);
+ String styleClass =
helper.getTagAttributeStringEx(InputControl.CSS_STYLE_CLASS, true);
// Check whether tag is required
if (StringUtils.isNotEmpty(tagName) ||
StringUtils.isNotEmpty(styleClass) || StringUtils.isNotEmpty(tooltip))
diff --git
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/ControlRenderInfo.java
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/ControlRenderInfo.java
index 1c01c5e2..d254d458 100644
---
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/ControlRenderInfo.java
+++
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/ControlRenderInfo.java
@@ -128,14 +128,14 @@ public class ControlRenderInfo
throws IOException
{
// wrapper Class
- String wrapperClass = helper.getTagAttributeStringEx("wrapperClass");
+ String wrapperClass = helper.getTagAttributeStringEx("wrapperClass",
true);
if (wrapperClass!=null && wrapperClass.equals("-"))
wrapperClass= null;
// extra
String extraStyleClass = helper.getControlExtraInputWrapperStyle();
helper.writeStyleClass(writer, TagStyleClass.CONTROL_INPUT.get(),
wrapperClass, extraStyleClass);
// colspan for <td>
- String colSpan =
InputControl.HTML_TAG_TD.equalsIgnoreCase(INPUT_WRAPPER_TAG) ?
helper.getTagAttributeStringEx("colspan") : null;
+ String colSpan =
InputControl.HTML_TAG_TD.equalsIgnoreCase(INPUT_WRAPPER_TAG) ?
helper.getTagAttributeStringEx("colspan", false) : null;
if (colSpan!=null)
writer.writeAttribute("colspan", colSpan, null);
}
diff --git
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/TagEncodingHelper.java
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/TagEncodingHelper.java
index cfb65ae8..7c18f766 100644
---
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/TagEncodingHelper.java
+++
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/TagEncodingHelper.java
@@ -421,7 +421,7 @@ public class TagEncodingHelper implements NamingContainer
@Override
public Object getAttributeEx(String name)
{
- return getTagAttributeValueEx(name);
+ return getTagAttributeValueEx(name,
InputControl.CSS_STYLE_CLASS.equals(name));
}
}
@@ -548,6 +548,9 @@ public class TagEncodingHelper implements NamingContainer
public InputControl getInputControl()
{
+ // Already detected?
+ if (this.control!=null)
+ return this.control;
// Create
if (getColumn() == null)
throw new NotSupportedException(this, "getInputControl");
@@ -1053,7 +1056,7 @@ public class TagEncodingHelper implements NamingContainer
return DisabledType.READONLY;
}
// Check attribute
- Object dis = getTagAttributeValueEx("disabled");
+ Object dis = getTagAttributeValueEx("disabled", false);
if (ObjectUtils.isEmpty(dis))
return null; // not provided!
// direct
@@ -1572,7 +1575,7 @@ public class TagEncodingHelper implements NamingContainer
if (!ControlRenderInfo.isRenderExtraWrapperStyles())
return null;
// style Class
- String labelClass = getTagAttributeStringEx("labelClass");
+ String labelClass = getTagAttributeStringEx("labelClass", true);
return labelClass;
}
@@ -1581,7 +1584,7 @@ public class TagEncodingHelper implements NamingContainer
if (!ControlRenderInfo.isRenderExtraWrapperStyles())
return null;
// input Wrapper Class
- String inputClass = (isControlTagElementValid() ?
getTagAttributeStringEx(InputControl.CSS_STYLE_CLASS) :
getTagAttributeString("inputClass"));
+ String inputClass = (isControlTagElementValid() ?
getTagAttributeStringEx(InputControl.CSS_STYLE_CLASS, true) :
getTagAttributeString("inputClass"));
// append input state
if (isRenderValueComponent())
inputClass = (inputClass!=null ? StringUtils.concat(inputClass, "
", TagStyleClass.INPUT_DIS.get()) : TagStyleClass.INPUT_DIS.get());
@@ -1654,7 +1657,7 @@ public class TagEncodingHelper implements NamingContainer
{ // for LabelTag
forInput = this.getColumnName();
// readOnly
- Object val = getTagAttributeValueEx("readOnly");
+ Object val = getTagAttributeValueEx("readOnly", false);
if (val!=null)
this.readOnly = (ObjectUtils.getBoolean(val) ? (byte)1 :
(byte)0);
}
@@ -1671,11 +1674,16 @@ public class TagEncodingHelper implements
NamingContainer
label.setValue(labelText);
// set styleClass
+ String labelClass = null;
+ if (!ControlRenderInfo.isRenderExtraWrapperStyles())
+ labelClass = getTagAttributeStringEx("labelClass", true);
+ if (labelClass!=null)
+ styleClass = assembleStyleClassString(styleClass, labelClass);
if (StringUtils.isNotEmpty(styleClass))
label.setStyleClass(completeLabelStyleClass(styleClass,
isValueRequired()));
// for
- if (StringUtils.isNotEmpty(forInput)) // && !isReadOnly())
+ if (StringUtils.isNotEmpty(forInput) && !isReadOnly())
{ // Set Label input Id
InputControl.InputInfo ii = getInputInfo(context);
String inputId = getInputControl().getLabelForId(ii);
@@ -1725,7 +1733,7 @@ public class TagEncodingHelper implements NamingContainer
}
else if (component instanceof LabelTag)
{ // update readOnly
- Object val = getTagAttributeValueEx("readOnly");
+ Object val = getTagAttributeValueEx("readOnly", false);
if (val!=null)
this.readOnly = (ObjectUtils.getBoolean(val) ? (byte)1 :
(byte)0);
}
@@ -1867,7 +1875,7 @@ public class TagEncodingHelper implements NamingContainer
public String getTagStyleClass(String typeClass, String addlStyle)
{
- String userStyle =
getTagAttributeStringEx(InputControl.CSS_STYLE_CLASS);
+ String userStyle =
getTagAttributeStringEx(InputControl.CSS_STYLE_CLASS, true);
return getTagStyleClass(typeClass, addlStyle, userStyle);
}
@@ -2014,13 +2022,12 @@ public class TagEncodingHelper implements
NamingContainer
return getTagAttributeString(name, null);
}
- public Object getTagAttributeValueEx(String name)
+ public Object getTagAttributeValueEx(String name, boolean isCssStyleClass)
{
/*
* Special handling of ControlTag "styleClass": Use it for control
element only not for input element(s)
*/
- boolean isCssStyleClass = InputControl.CSS_STYLE_CLASS.equals(name);
- boolean useControlTagOverride = (isCssStyleClass && (this.component
instanceof ControlTag) && isControlTagElementValid());
+ boolean useControlTagOverride =
(InputControl.CSS_STYLE_CLASS.equals(name) && (this.component instanceof
ControlTag) && isControlTagElementValid());
Object value = getTagAttributeValue((useControlTagOverride ?
"inputClass" : name));
// Special "styleClass" append column attribute unless leading '-'
@@ -2075,9 +2082,9 @@ public class TagEncodingHelper implements NamingContainer
return value;
}
- public String getTagAttributeStringEx(String name)
+ public String getTagAttributeStringEx(String name, boolean isCssStyleClass)
{
- Object value = getTagAttributeValueEx(name);
+ Object value = getTagAttributeValueEx(name, isCssStyleClass);
return (value!=null) ? StringUtils.nullIfEmpty(value) : null;
}
@@ -2127,7 +2134,7 @@ public class TagEncodingHelper implements NamingContainer
public void writeStyleClass(ResponseWriter writer)
throws IOException
{
- String userStyle =
getTagAttributeStringEx(InputControl.CSS_STYLE_CLASS);
+ String userStyle =
getTagAttributeStringEx(InputControl.CSS_STYLE_CLASS, true);
writeStyleClass(writer, this.cssStyleClass, userStyle);
}
@@ -2143,7 +2150,7 @@ public class TagEncodingHelper implements NamingContainer
public String writeWrapperTag(FacesContext context, boolean renderId,
boolean renderValue)
throws IOException
{
- String wrapperClass = getTagAttributeStringEx("wrapperClass");
+ String wrapperClass = getTagAttributeStringEx("wrapperClass", true);
if (wrapperClass==null || wrapperClass.equals("-"))
return null;
// start element
diff --git
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ControlTag.java
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ControlTag.java
index eb35512a..d801c6f9 100644
---
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ControlTag.java
+++
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ControlTag.java
@@ -393,7 +393,7 @@ public class ControlTag extends UIInput implements
NamingContainer
// render id
helper.writeComponentId(writer, false);
// style class
- String controlClass =
helper.getTagAttributeStringEx("controlClass");
+ String controlClass =
helper.getTagAttributeStringEx("controlClass", true);
String styleClass =
helper.getTagAttributeString(InputControl.CSS_STYLE_CLASS);
String contextClass = helper.getContextStyleClass();
helper.writeStyleClass(writer, TagStyleClass.CONTROL.get(),
controlClass, styleClass, contextClass);
@@ -485,10 +485,10 @@ public class ControlTag extends UIInput implements
NamingContainer
writer = context.getResponseWriter();
writer.startElement(tagName, this);
// style Class
- String inpClass = helper.getTagAttributeStringEx("inputClass");
+ String inpClass = helper.getTagAttributeStringEx("inputClass",
true);
helper.writeStyleClass(writer,
TagStyleClass.CONTROL_INPUT.get(), inpClass);
// write more
- String colSpan =
tagName.equalsIgnoreCase(InputControl.HTML_TAG_TD) ?
helper.getTagAttributeStringEx("colspan") : null;
+ String colSpan =
tagName.equalsIgnoreCase(InputControl.HTML_TAG_TD) ?
helper.getTagAttributeStringEx("colspan", false) : null;
if (colSpan!=null)
writer.writeAttribute("colspan", colSpan, null);
}
@@ -548,7 +548,8 @@ public class ControlTag extends UIInput implements
NamingContainer
{ // Create components
String forInput = (customInput ?
helper.getTagAttributeString("for") : "*");
// createLabelComponent
- labelComponent = helper.createLabelComponent(context,
forInput, "eLabel", null, getColon());
+ String styleClass = TagStyleClass.LABEL.get();
+ labelComponent = helper.createLabelComponent(context,
forInput, styleClass, null, getColon());
parent.getChildren().add(0, labelComponent);
helper.resetComponentId(labelComponent);
}
diff --git
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/FormGridTag.java
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/FormGridTag.java
index 74954fa7..4155b6be 100644
---
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/FormGridTag.java
+++
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/FormGridTag.java
@@ -121,7 +121,7 @@ public class FormGridTag extends UIOutput // implements
NamingContainer
if (CONTROL_TAG!=null &&
TagEncodingHelper.hasComponentId(controlTag))
writer.writeAttribute(InputControl.HTML_ATTR_ID,
controlTag.getClientId(), null);
// Style class
- String controlClass =
controlTag.helper.getTagAttributeStringEx("controlClass");
+ String controlClass =
controlTag.helper.getTagAttributeStringEx("controlClass", true);
String styleClass =
controlTag.helper.getTagAttributeString(InputControl.CSS_STYLE_CLASS);
controlTag.helper.writeStyleClass(writer,
TagStyleClass.CONTROL_PLACEHOLDER.get(), controlClass, styleClass);
// Legacy two <td>
diff --git
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ValueTag.java
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ValueTag.java
index f5262fb5..d76c6406 100644
---
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ValueTag.java
+++
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ValueTag.java
@@ -101,7 +101,7 @@ public class ValueTag extends UIOutput // implements
NamingContainer
// Map<String, Object> map = getAttributes();
String tagName = helper.getTagAttributeString("tag");
String tooltip =
helper.getValueTooltip(helper.getTagAttributeValue("title"));
- String styleClass =
helper.getTagAttributeStringEx(InputControl.CSS_STYLE_CLASS);
+ String styleClass =
helper.getTagAttributeStringEx(InputControl.CSS_STYLE_CLASS, true);
// Check whether tag is required
if (StringUtils.isNotEmpty(tagName) ||
StringUtils.isNotEmpty(styleClass) || StringUtils.isNotEmpty(tooltip))
diff --git
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/ControlRenderInfo.java
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/ControlRenderInfo.java
index 20bf7f9e..641369d8 100644
---
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/ControlRenderInfo.java
+++
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/ControlRenderInfo.java
@@ -128,14 +128,14 @@ public class ControlRenderInfo
throws IOException
{
// wrapper Class
- String wrapperClass = helper.getTagAttributeStringEx("wrapperClass");
+ String wrapperClass = helper.getTagAttributeStringEx("wrapperClass",
true);
if (wrapperClass!=null && wrapperClass.equals("-"))
wrapperClass= null;
// extra
String extraStyleClass = helper.getControlExtraInputWrapperStyle();
helper.writeStyleClass(writer, TagStyleClass.CONTROL_INPUT.get(),
wrapperClass, extraStyleClass);
// colspan for <td>
- String colSpan =
InputControl.HTML_TAG_TD.equalsIgnoreCase(INPUT_WRAPPER_TAG) ?
helper.getTagAttributeStringEx("colspan") : null;
+ String colSpan =
InputControl.HTML_TAG_TD.equalsIgnoreCase(INPUT_WRAPPER_TAG) ?
helper.getTagAttributeStringEx("colspan", false) : null;
if (colSpan!=null)
writer.writeAttribute("colspan", colSpan, null);
}
diff --git
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelper.java
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelper.java
index 2a8cbcfb..4e33739a 100644
---
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelper.java
+++
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelper.java
@@ -421,7 +421,7 @@ public class TagEncodingHelper implements NamingContainer
@Override
public Object getAttributeEx(String name)
{
- return getTagAttributeValueEx(name);
+ return getTagAttributeValueEx(name,
InputControl.CSS_STYLE_CLASS.equals(name));
}
}
@@ -548,6 +548,9 @@ public class TagEncodingHelper implements NamingContainer
public InputControl getInputControl()
{
+ // Already detected?
+ if (this.control!=null)
+ return this.control;
// Create
if (getColumn() == null)
throw new NotSupportedException(this, "getInputControl");
@@ -1053,7 +1056,7 @@ public class TagEncodingHelper implements NamingContainer
return DisabledType.READONLY;
}
// Check attribute
- Object dis = getTagAttributeValueEx("disabled");
+ Object dis = getTagAttributeValueEx("disabled", false);
if (ObjectUtils.isEmpty(dis))
return null; // not provided!
// direct
@@ -1572,7 +1575,7 @@ public class TagEncodingHelper implements NamingContainer
if (!ControlRenderInfo.isRenderExtraWrapperStyles())
return null;
// style Class
- String labelClass = getTagAttributeStringEx("labelClass");
+ String labelClass = getTagAttributeStringEx("labelClass", true);
return labelClass;
}
@@ -1581,7 +1584,7 @@ public class TagEncodingHelper implements NamingContainer
if (!ControlRenderInfo.isRenderExtraWrapperStyles())
return null;
// input Wrapper Class
- String inputClass = (isControlTagElementValid() ?
getTagAttributeStringEx(InputControl.CSS_STYLE_CLASS) :
getTagAttributeString("inputClass"));
+ String inputClass = (isControlTagElementValid() ?
getTagAttributeStringEx(InputControl.CSS_STYLE_CLASS, true) :
getTagAttributeString("inputClass"));
// append input state
if (isRenderValueComponent())
inputClass = (inputClass!=null ? StringUtils.concat(inputClass, "
", TagStyleClass.INPUT_DIS.get()) : TagStyleClass.INPUT_DIS.get());
@@ -1654,7 +1657,7 @@ public class TagEncodingHelper implements NamingContainer
{ // for LabelTag
forInput = this.getColumnName();
// readOnly
- Object val = getTagAttributeValueEx("readOnly");
+ Object val = getTagAttributeValueEx("readOnly", false);
if (val!=null)
this.readOnly = (ObjectUtils.getBoolean(val) ? (byte)1 :
(byte)0);
}
@@ -1671,11 +1674,16 @@ public class TagEncodingHelper implements
NamingContainer
label.setValue(labelText);
// set styleClass
+ String labelClass = null;
+ if (!ControlRenderInfo.isRenderExtraWrapperStyles())
+ labelClass = getTagAttributeStringEx("labelClass", true);
+ if (labelClass!=null)
+ styleClass = assembleStyleClassString(styleClass, labelClass);
if (StringUtils.isNotEmpty(styleClass))
label.setStyleClass(completeLabelStyleClass(styleClass,
isValueRequired()));
// for
- if (StringUtils.isNotEmpty(forInput)) // && !isReadOnly())
+ if (StringUtils.isNotEmpty(forInput) && !isReadOnly())
{ // Set Label input Id
InputControl.InputInfo ii = getInputInfo(context);
String inputId = getInputControl().getLabelForId(ii);
@@ -1725,7 +1733,7 @@ public class TagEncodingHelper implements NamingContainer
}
else if (component instanceof LabelTag)
{ // update readOnly
- Object val = getTagAttributeValueEx("readOnly");
+ Object val = getTagAttributeValueEx("readOnly", false);
if (val!=null)
this.readOnly = (ObjectUtils.getBoolean(val) ? (byte)1 :
(byte)0);
}
@@ -1867,7 +1875,7 @@ public class TagEncodingHelper implements NamingContainer
public String getTagStyleClass(String typeClass, String addlStyle)
{
- String userStyle =
getTagAttributeStringEx(InputControl.CSS_STYLE_CLASS);
+ String userStyle =
getTagAttributeStringEx(InputControl.CSS_STYLE_CLASS, true);
return getTagStyleClass(typeClass, addlStyle, userStyle);
}
@@ -2014,13 +2022,12 @@ public class TagEncodingHelper implements
NamingContainer
return getTagAttributeString(name, null);
}
- public Object getTagAttributeValueEx(String name)
+ public Object getTagAttributeValueEx(String name, boolean isCssStyleClass)
{
/*
* Special handling of ControlTag "styleClass": Use it for control
element only not for input element(s)
*/
- boolean isCssStyleClass = InputControl.CSS_STYLE_CLASS.equals(name);
- boolean useControlTagOverride = (isCssStyleClass && (this.component
instanceof ControlTag) && isControlTagElementValid());
+ boolean useControlTagOverride =
(InputControl.CSS_STYLE_CLASS.equals(name) && (this.component instanceof
ControlTag) && isControlTagElementValid());
Object value = getTagAttributeValue((useControlTagOverride ?
"inputClass" : name));
// Special "styleClass" append column attribute unless leading '-'
@@ -2075,9 +2082,9 @@ public class TagEncodingHelper implements NamingContainer
return value;
}
- public String getTagAttributeStringEx(String name)
+ public String getTagAttributeStringEx(String name, boolean isCssStyleClass)
{
- Object value = getTagAttributeValueEx(name);
+ Object value = getTagAttributeValueEx(name, isCssStyleClass);
return (value!=null) ? StringUtils.nullIfEmpty(value) : null;
}
@@ -2127,7 +2134,7 @@ public class TagEncodingHelper implements NamingContainer
public void writeStyleClass(ResponseWriter writer)
throws IOException
{
- String userStyle =
getTagAttributeStringEx(InputControl.CSS_STYLE_CLASS);
+ String userStyle =
getTagAttributeStringEx(InputControl.CSS_STYLE_CLASS, true);
writeStyleClass(writer, this.cssStyleClass, userStyle);
}
@@ -2143,7 +2150,7 @@ public class TagEncodingHelper implements NamingContainer
public String writeWrapperTag(FacesContext context, boolean renderId,
boolean renderValue)
throws IOException
{
- String wrapperClass = getTagAttributeStringEx("wrapperClass");
+ String wrapperClass = getTagAttributeStringEx("wrapperClass", true);
if (wrapperClass==null || wrapperClass.equals("-"))
return null;
// start element