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 3d22bf9b EMPIREDB-405 allow TavView to be renderd with divs
3d22bf9b is described below
commit 3d22bf9be4bb80d621f35ab0e12c50cd0f048b3a
Author: Rainer Döbele <[email protected]>
AuthorDate: Wed Apr 12 15:22:00 2023 +0200
EMPIREDB-405
allow TavView to be renderd with divs
---
.../src/main/webapp/css/content.css | 16 +++-
.../src/main/webapp/pages/employeeDetailPage.xhtml | 11 +--
.../main/webapp/resources/empire/formGrid.xhtml | 5 --
.../src/main/webapp/resources/empire/tabView.xhtml | 2 +
.../apache/empire/jsf2/components/FormGridTag.java | 33 ++++----
.../apache/empire/jsf2/components/TabPageTag.java | 52 +++++++++---
.../apache/empire/jsf2/components/TabViewTag.java | 98 ++++++++++++++++++----
.../empire/jsf2/utils/TagEncodingHelper.java | 6 ++
.../apache/empire/jsf2/utils/TagStyleClass.java | 16 ++--
9 files changed, 175 insertions(+), 64 deletions(-)
diff --git
a/empire-db-examples/empire-db-example-jsf2/src/main/webapp/css/content.css
b/empire-db-examples/empire-db-example-jsf2/src/main/webapp/css/content.css
index e097f62b..ef0806ba 100644
--- a/empire-db-examples/empire-db-example-jsf2/src/main/webapp/css/content.css
+++ b/empire-db-examples/empire-db-example-jsf2/src/main/webapp/css/content.css
@@ -77,6 +77,9 @@ span.searchResult {
/* tab view */
div.eTabView {
}
+div.eTabBar {
+ display: flex;
+}
table.eTabBar {
width: 100%;
border-spacing: 0;
@@ -84,11 +87,13 @@ table.eTabBar {
table-layout: auto;
padding: 0;
}
+div.eTabBar .eTabLabel,
table.eTabBar tr td.eTabLabel {
border: 1px #8F99EF solid;
padding: 8px;
white-space: nowrap;
}
+div.eTabBar .eTabLabel.eTabActive,
table.eTabBar tr td.eTabLabel.eTabActive {
border-bottom: 1px #F8F8F8 solid;
background-color: #F8F8F8;
@@ -97,7 +102,7 @@ table.eTabBar tr td.eTabLabel.eTabDisabled {
color: gray;
font-style: italic;
}
-table.eTabBar tr td.eTabBarEmpty {
+.eTabBar .eTabBarEmpty {
width: 99%;
border-bottom: 1px #8F99EF solid;
}
@@ -105,15 +110,20 @@ table.eTabPanel {
width: 100%;
border-spacing: 0;
border-collapse: collapse;
+}
+div.eTabPanel {
+ display: grid;
+}
+.eTabPanel {
border: 1px #8F99EF solid;
border-top: 0px;
}
-table.eTabPanel tr td.eTabPage {
+.eTabPanel .eTabPage {
padding: 8px;
background-color: #F8F8F8;
vertical-align: top;
}
-table.eTabPanel tr td.eTabPage div.formPanel {
+.eTabPanel .eTabPage .formPanel {
border: 0;
}
div.info-msg {
diff --git
a/empire-db-examples/empire-db-example-jsf2/src/main/webapp/pages/employeeDetailPage.xhtml
b/empire-db-examples/empire-db-example-jsf2/src/main/webapp/pages/employeeDetailPage.xhtml
index 5b019a8d..186eb80f 100644
---
a/empire-db-examples/empire-db-example-jsf2/src/main/webapp/pages/employeeDetailPage.xhtml
+++
b/empire-db-examples/empire-db-example-jsf2/src/main/webapp/pages/employeeDetailPage.xhtml
@@ -38,8 +38,8 @@
<h:form id="employeeDetail">
<e:tabView minHeight="400px" activeIndex="#{page.activeTab}"
tabChangedListener="#{page.onTabChanged}">
- <e:tabPage title="#{msg.employeeDetail_tab_basic}"
id="tabBasic">
-
+ <!-- first page -->
+ <e:tabPage id="tabBasic"
title="#{msg.employeeDetail_tab_basic}">
<e:record value="#{page.employeeRecord}">
<!-- formPanel -->
<div class="formPanel">
@@ -57,12 +57,12 @@
<e:control
column="#{db.EMPLOYEES.UPDATE_TIMESTAMP}"/>
</e:formGrid>
</div>
- <!-- formPanel -->
+ <!-- end formPanel -->
</e:record>
-
</e:tabPage>
- <e:tabPage title="#{msg.employeeDetail_tab_extended}"
id="tabExtended" disabled="#{not page.employeeRecord.exists}">
+ <!-- second page -->
+ <e:tabPage id="tabExtended"
title="#{msg.employeeDetail_tab_extended}" disabled="#{not
page.employeeRecord.exists}">
<h3><h:outputText
value="#{msg.employeeDetail_payments}"/></h3>
<!-- Payment data -->
<h:dataTable id="paymentData"
value="#{page.payments}" var="item" rowClasses="odd,even">
@@ -85,6 +85,7 @@
<e:value record="#{item}"
column="#{db.PAYMENTS.AMOUNT}"/>
</h:column>
</h:dataTable>
+ <!-- info message -->
<h:panelGroup layout="block"
styleClass="info-msg">
<h:outputText
value="#{msg.employeeDetail_msg_extended}"/>
</h:panelGroup>
diff --git
a/empire-db-examples/empire-db-example-jsf2/src/main/webapp/resources/empire/formGrid.xhtml
b/empire-db-examples/empire-db-example-jsf2/src/main/webapp/resources/empire/formGrid.xhtml
index 0c5e262b..dee8bc63 100644
---
a/empire-db-examples/empire-db-example-jsf2/src/main/webapp/resources/empire/formGrid.xhtml
+++
b/empire-db-examples/empire-db-example-jsf2/src/main/webapp/resources/empire/formGrid.xhtml
@@ -24,11 +24,6 @@
<!-- Interface -->
<cc:interface componentType="components.FormGridTag">
<cc:attribute name="mode" />
- <!-- overrides -->
- <cc:attribute name="tag" />
- <cc:attribute name="controlTag" />
- <cc:attribute name="labelTag" />
- <cc:attribute name="inputTag" />
<cc:attribute name="renderAutoId" />
</cc:interface>
diff --git
a/empire-db-examples/empire-db-example-jsf2/src/main/webapp/resources/empire/tabView.xhtml
b/empire-db-examples/empire-db-example-jsf2/src/main/webapp/resources/empire/tabView.xhtml
index 9d7dd50d..a83b0efe 100644
---
a/empire-db-examples/empire-db-example-jsf2/src/main/webapp/resources/empire/tabView.xhtml
+++
b/empire-db-examples/empire-db-example-jsf2/src/main/webapp/resources/empire/tabView.xhtml
@@ -23,6 +23,8 @@
<!-- Interface -->
<cc:interface componentType="components.TabViewTag">
+ <cc:attribute name="mode" />
+ <cc:attribute name="minHeight" />
<cc:attribute name="activeIndex" type="java.lang.Integer" />
<cc:attribute name="tabChangedListener" method-signature="void
method(java.lang.Integer)"/>
</cc:interface>
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 107d94c9..d7a98aa8 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
@@ -51,16 +51,16 @@ public class FormGridTag extends UIOutput implements
NamingContainer
FLAT (InputControl.HTML_TAG_DIV, InputControl.HTML_TAG_DIV, null,
null);
public final String GRID_TAG;
- public final String DEFAULT_CONTROL_TAG;
- public final String DEFAULT_LABEL_TAG;
- public final String DEFAULT_INPUT_TAG;
+ public final String CONTROL_TAG;
+ public final String LABEL_TAG;
+ public final String INPUT_TAG;
private FormGridMode(String gridTag, String controlTag, String
labelTag, String inputTag)
{
this.GRID_TAG = gridTag;
- this.DEFAULT_CONTROL_TAG = controlTag;
- this.DEFAULT_LABEL_TAG = labelTag;
- this.DEFAULT_INPUT_TAG = inputTag;
+ this.CONTROL_TAG = controlTag;
+ this.LABEL_TAG = labelTag;
+ this.INPUT_TAG = inputTag;
}
public static FormGridMode detect(String mode)
@@ -90,7 +90,7 @@ public class FormGridTag extends UIOutput implements
NamingContainer
protected ControlRenderInfo controlRenderInfo = null;
- private String tagName;
+ private FormGridMode mode;
@Override
public String getFamily()
@@ -106,12 +106,11 @@ public class FormGridTag extends UIOutput implements
NamingContainer
super.encodeBegin(context);
// tagName
- FormGridMode mode =
FormGridMode.detect(helper.getTagAttributeString("mode"));
- this.tagName = helper.getTagAttributeString("tag", mode.GRID_TAG);
+ this.mode = FormGridMode.detect(helper.getTagAttributeString("mode",
FormGridMode.GRID.name()));
// render components
ResponseWriter writer = context.getResponseWriter();
- writer.startElement(tagName, this);
+ writer.startElement(mode.GRID_TAG, this);
// id
helper.writeComponentId(writer, getControlRenderInfo().RENDER_AUTO_ID);
// style class
@@ -140,7 +139,7 @@ public class FormGridTag extends UIOutput implements
NamingContainer
super.encodeEnd(context);
// close
ResponseWriter writer = context.getResponseWriter();
- writer.endElement(this.tagName);
+ writer.endElement(mode.GRID_TAG);
}
public ControlRenderInfo getControlRenderInfo()
@@ -149,14 +148,12 @@ public class FormGridTag extends UIOutput implements
NamingContainer
if (controlRenderInfo!=null)
return controlRenderInfo;
// check mode
- FormGridMode mode =
FormGridMode.detect(helper.getTagAttributeString("mode",
FormGridMode.GRID.name()));
- // override?
- String controlTag = helper.getTagAttributeString("controlTag",
mode.DEFAULT_CONTROL_TAG);
- String labelTag = helper.getTagAttributeString("labelTag",
mode.DEFAULT_LABEL_TAG);
- String inputTag = helper.getTagAttributeString("inputTag",
mode.DEFAULT_INPUT_TAG);
+ if (this.mode==null)
+ this.mode =
FormGridMode.detect(helper.getTagAttributeString("mode",
FormGridMode.GRID.name()));
+ // additional
boolean renderAutoId =
ObjectUtils.getBoolean(helper.getTagAttributeString("renderAutoId"));
- // done
- this.controlRenderInfo = new ControlRenderInfo(controlTag, labelTag,
inputTag, renderAutoId);
+ // create control info
+ this.controlRenderInfo = new ControlRenderInfo(mode.CONTROL_TAG,
mode.LABEL_TAG, mode.INPUT_TAG, renderAutoId);
return controlRenderInfo;
}
}
diff --git
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TabPageTag.java
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TabPageTag.java
index f76f2655..4b2fdb4f 100644
---
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TabPageTag.java
+++
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TabPageTag.java
@@ -21,23 +21,29 @@ package org.apache.empire.jsf2.components;
import java.io.IOException;
import javax.faces.component.NamingContainer;
+import javax.faces.component.UIComponent;
import javax.faces.component.UINamingContainer;
import javax.faces.component.UIOutput;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
+import org.apache.empire.jsf2.components.TabViewTag.TabViewMode;
import org.apache.empire.jsf2.controls.InputControl;
import org.apache.empire.jsf2.utils.TagEncodingHelper;
import org.apache.empire.jsf2.utils.TagEncodingHelperFactory;
import org.apache.empire.jsf2.utils.TagStyleClass;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class TabPageTag extends UIOutput implements NamingContainer
{
// Logger
- // private static final Logger log =
LoggerFactory.getLogger(MenuTag.class);
+ private static final Logger log =
LoggerFactory.getLogger(TabPageTag.class);
protected final TagEncodingHelper helper =
TagEncodingHelperFactory.create(this, TagStyleClass.TAB_PAGE.get());
+ private TabViewMode mode;
+
@Override
public String getFamily()
{
@@ -51,15 +57,23 @@ public class TabPageTag extends UIOutput implements
NamingContainer
// call base
super.encodeBegin(context);
+ // TabViewMode
+ this.mode = detectTabViewMode();
+
// render components
ResponseWriter writer = context.getResponseWriter();
- writer.startElement(InputControl.HTML_TAG_TR, this);
- writer.writeAttribute(InputControl.HTML_ATTR_ID, getClientId(), null);
- helper.writeAttribute(writer, InputControl.HTML_ATTR_CLASS,
helper.getTagAttributeString("styleClass"));
- helper.writeAttribute(writer, InputControl.HTML_ATTR_STYLE,
helper.getTagAttributeString("style"));
+ if (mode.PAGE_WRAP_TAG!=null)
+ { // render page wrap tag
+ writer.startElement(mode.PAGE_WRAP_TAG, this);
+ writer.writeAttribute(InputControl.HTML_ATTR_ID, getClientId(),
null);
+ }
// TabPage
- writer.startElement(InputControl.HTML_TAG_TD, this);
- writer.writeAttribute(InputControl.HTML_ATTR_CLASS, "eTabPage", null);
+ writer.startElement(mode.PAGE_TAG, this);
+ if (mode.PAGE_WRAP_TAG==null)
+ { // no wrapper tag
+ writer.writeAttribute(InputControl.HTML_ATTR_ID, getClientId(),
null);
+ }
+ writer.writeAttribute(InputControl.HTML_ATTR_CLASS,
this.helper.getSimpleStyleClass(), null);
}
@Override
@@ -81,14 +95,32 @@ public class TabPageTag extends UIOutput implements
NamingContainer
{
// call base
super.encodeEnd(context);
- // close
+ // close tags
ResponseWriter writer = context.getResponseWriter();
- writer.endElement(InputControl.HTML_TAG_TD);
- writer.endElement(InputControl.HTML_TAG_TR);
+ writer.endElement(mode.PAGE_TAG);
+ // wrapper tag?
+ if (mode.PAGE_WRAP_TAG!=null)
+ writer.endElement(mode.PAGE_WRAP_TAG);
}
public String getTabLabel()
{
return helper.getTagAttributeString("title");
}
+
+ protected TabViewMode detectTabViewMode()
+ {
+ // walk upwards the parent component tree and return the first record
component found (if any)
+ UIComponent parent = this;
+ while ((parent = parent.getParent()) != null)
+ {
+ if (parent instanceof TabViewTag)
+ { // found
+ return ((TabViewTag) parent).getViewMode();
+ }
+ }
+ log.warn("TabViewTag not found! Unable to detect TabViewMode.");
+ return TabViewMode.GRID;
+ }
+
}
diff --git
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TabViewTag.java
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TabViewTag.java
index a69e0334..b159b52b 100644
---
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TabViewTag.java
+++
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TabViewTag.java
@@ -126,6 +126,60 @@ public class TabViewTag extends UIOutput implements
NamingContainer
}
}
+ /*
+ * TabViewMode
+ */
+ public enum TabViewMode
+ {
+ TABLE (InputControl.HTML_TAG_TABLE, InputControl.HTML_TAG_TR,
InputControl.HTML_TAG_TD, InputControl.HTML_TAG_TD
+ , InputControl.HTML_TAG_TABLE, InputControl.HTML_TAG_TR,
InputControl.HTML_TAG_TD),
+ GRID (InputControl.HTML_TAG_DIV, null,
InputControl.HTML_TAG_DIV, InputControl.HTML_TAG_DIV
+ , InputControl.HTML_TAG_DIV, null,
InputControl.HTML_TAG_DIV);
+
+ public final String BAR_TAG; // InputControl.HTML_TAG_TABLE
+ public final String BAR_ROW_TAG; // InputControl.HTML_TAG_TR
+ public final String BAR_ITEM_TAG; // InputControl.HTML_TAG_TD
+ public final String BAR_PAD_TAG; // InputControl.HTML_TAG_TD
+ public final String PANEL_TAG; // InputControl.HTML_TAG_TABLE
+ public final String PAGE_WRAP_TAG; // InputControl.HTML_TAG_TR
+ public final String PAGE_TAG; // InputControl.HTML_TAG_TD
+
+ private TabViewMode(String barTag, String barRowTag, String
barItemTag, String barPadTag, String panelTag, String pageWrapTag, String
pageTag)
+ {
+ this.BAR_TAG = barTag; // InputControl.HTML_TAG_TABLE
+ this.BAR_ROW_TAG = barRowTag; // InputControl.HTML_TAG_TR
+ this.BAR_ITEM_TAG = barItemTag; // InputControl.HTML_TAG_TD
+ this.BAR_PAD_TAG = barPadTag; // InputControl.HTML_TAG_TD
+ this.PANEL_TAG = panelTag; // InputControl.HTML_TAG_TABLE
+ this.PAGE_WRAP_TAG = pageWrapTag; // InputControl.HTML_TAG_TR
+ this.PAGE_TAG = pageTag; // InputControl.HTML_TAG_TD
+ }
+
+ public static TabViewMode detect(String mode)
+ {
+ if (mode==null || mode.length()==0)
+ return TABLE;
+ // find
+ TabViewMode[] values = values();
+ for (int i=0; i<values.length; i++)
+ {
+ if (values[i].name().equalsIgnoreCase(mode))
+ return values[i];
+ }
+ // not found
+ log.warn("TabViewMode \"{}\" not found. Using default!", mode);
+ return TABLE;
+ }
+
+ @Override
+ public String toString()
+ {
+ return name();
+ }
+ }
+
+ private TabViewMode mode;
+
public TabViewTag()
{
log.trace("TabViewTag created");
@@ -137,6 +191,11 @@ public class TabViewTag extends UIOutput implements
NamingContainer
return UINamingContainer.COMPONENT_FAMILY;
}
+ public TabViewMode getViewMode()
+ {
+ return mode;
+ }
+
@Override
public void encodeBegin(FacesContext context)
throws IOException
@@ -147,11 +206,14 @@ public class TabViewTag extends UIOutput implements
NamingContainer
// registerTabViewBean
// context.getExternalContext().getRequestMap().put("tabView", this);
+ // check mode
+ this.mode = TabViewMode.detect(helper.getTagAttributeString("mode",
TabViewMode.TABLE.name()));
+
// render components
ResponseWriter writer = context.getResponseWriter();
writer.startElement(InputControl.HTML_TAG_DIV, this);
writer.writeAttribute(InputControl.HTML_ATTR_ID, getClientId(), null);
- writer.writeAttribute(InputControl.HTML_ATTR_CLASS,
this.helper.getTagStyleClass(), null);
+ writer.writeAttribute(InputControl.HTML_ATTR_CLASS,
this.helper.getSimpleStyleClass(), null);
this.helper.writeAttribute(writer, InputControl.HTML_ATTR_STYLE,
this.helper.getTagAttributeString("style"));
// The Tabs
@@ -161,20 +223,28 @@ public class TabViewTag extends UIOutput implements
NamingContainer
}
else
{ // show bar
- writer.startElement(InputControl.HTML_TAG_TABLE, this);
- writer.writeAttribute(InputControl.HTML_ATTR_CLASS, "eTabBar",
null);
- writer.startElement(InputControl.HTML_TAG_TR, this);
+ writer.startElement(mode.BAR_TAG, this);
+ writer.writeAttribute(InputControl.HTML_ATTR_CLASS,
TagStyleClass.TAB_BAR.get(), null);
+ if (mode.BAR_ROW_TAG!=null)
+ writer.startElement(mode.BAR_ROW_TAG, this);
+ // encode Tabs
encodeTabs(context, writer);
- writer.startElement(InputControl.HTML_TAG_TD, this);
- writer.writeAttribute(InputControl.HTML_ATTR_CLASS,
"eTabBarEmpty", null);
- writer.endElement(InputControl.HTML_TAG_TD);
- writer.endElement(InputControl.HTML_TAG_TR);
- writer.endElement(InputControl.HTML_TAG_TABLE);
+ // Bar padding item
+ if (mode.BAR_PAD_TAG!=null)
+ { // Bar padding item
+ writer.startElement(mode.BAR_PAD_TAG, this);
+ writer.writeAttribute(InputControl.HTML_ATTR_CLASS,
TagStyleClass.TAB_BAR_PADDING.get(), null);
+ writer.endElement(mode.BAR_PAD_TAG);
+ }
+ // finish
+ if (mode.BAR_ROW_TAG!=null)
+ writer.endElement(mode.BAR_ROW_TAG);
+ writer.endElement(mode.BAR_TAG);
}
// The Pages
- writer.startElement(InputControl.HTML_TAG_TABLE, this);
- writer.writeAttribute(InputControl.HTML_ATTR_CLASS, "eTabPanel", null);
+ writer.startElement(mode.PANEL_TAG, this);
+ writer.writeAttribute(InputControl.HTML_ATTR_CLASS,
TagStyleClass.TAB_PANEL.get(), null);
String minHeight = this.helper.getTagAttributeString("minHeight");
if (StringUtils.isNotEmpty(minHeight))
{
@@ -203,7 +273,7 @@ public class TabViewTag extends UIOutput implements
NamingContainer
super.encodeEnd(context);
// close
ResponseWriter writer = context.getResponseWriter();
- writer.endElement(InputControl.HTML_TAG_TABLE);
+ writer.endElement(mode.PANEL_TAG);
writer.endElement(InputControl.HTML_TAG_DIV);
}
@@ -266,7 +336,7 @@ public class TabViewTag extends UIOutput implements
NamingContainer
if (writer!=null)
{ // encode Tab
boolean disabled =
ObjectUtils.getBoolean(TagEncodingHelper.getTagAttributeValue(page,
"disabled"));
- writer.startElement(InputControl.HTML_TAG_TD, this);
+ writer.startElement(mode.BAR_ITEM_TAG, this);
// tab label
String styleClasses = TagStyleClass.TAB_LABEL.get();
if (active)
@@ -280,7 +350,7 @@ public class TabViewTag extends UIOutput implements
NamingContainer
writer.writeAttribute(InputControl.HTML_ATTR_CLASS,
styleClasses, null);
// encode Link
encodeTabLink(context, writer, index, page, (active ||
disabled));
- writer.endElement(InputControl.HTML_TAG_TD);
+ writer.endElement(mode.BAR_ITEM_TAG);
}
// set rendered
page.setRendered(active);
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 76b09136..0edd27ef 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
@@ -1752,6 +1752,12 @@ public class TagEncodingHelper implements NamingContainer
}
}
+ public String getSimpleStyleClass()
+ {
+ String userStyle = getTagAttributeStringEx("styleClass");
+ return assembleStyleClassString(cssStyleClass, null, null, userStyle);
+ }
+
public String getTagStyleClass(DataType dataType, String addlStyle, String
userStyle)
{
String typeClass = (dataType!=null) ? getDataTypeClass(dataType) :
null;
diff --git
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagStyleClass.java
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagStyleClass.java
index 15652872..e64257a2 100644
---
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagStyleClass.java
+++
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagStyleClass.java
@@ -18,6 +18,8 @@
*/
package org.apache.empire.jsf2.utils;
+import org.apache.empire.commons.StringUtils;
+
/**
* Collection of TagStyleClasses
*/
@@ -43,6 +45,9 @@ public enum TagStyleClass
MENU("eMenuList"),
UNIT("eUnit"),
TAB_VIEW("eTabView"),
+ TAB_BAR("eTabBar"),
+ TAB_BAR_PADDING("eTabBarEmpty"),
+ TAB_PANEL("eTabPanel"),
TAB_PAGE("eTabPage"),
TAB_LINK("eTabLink"),
TAB_LABEL("eTabLabel"),
@@ -105,11 +110,7 @@ public enum TagStyleClass
if (existsIn(styleClasses, styleClassName))
return styleClasses;
// add with space
- StringBuilder b = new
StringBuilder(styleClasses.length()+styleClassName.length()+1);
- b.append(styleClasses);
- b.append(" ");
- b.append(styleClassName);
- return b.toString();
+ return StringUtils.concat(styleClasses, " ", styleClassName);
}
public final String addTo(String styleClasses)
@@ -150,10 +151,7 @@ public enum TagStyleClass
// in between
int after = idx + styleClassName.length();
int before = idx - 1; // SPACE assumed!
- StringBuilder b = new
StringBuilder(styleClasses.length()-(after-before));
- b.append(styleClasses.substring(0, before));
- b.append(styleClasses.substring(after));
- return b.toString();
+ return StringUtils.concat(styleClasses.substring(0, before),
styleClasses.substring(after));
}
public final String removeFrom(String styleClasses)