You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by hn...@apache.org on 2018/04/04 09:59:58 UTC
[myfaces-tobago] branch master updated: TOBAGO-1886 Markup CSS
classes are not rendered for tab-content
This is an automated email from the ASF dual-hosted git repository.
hnoeth 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 9743019 TOBAGO-1886 Markup CSS classes are not rendered for tab-content
9743019 is described below
commit 9743019a931418274df38fecf39a5144bedec3fc
Author: Henning Noeth <hn...@apache.org>
AuthorDate: Wed Apr 4 11:59:50 2018 +0200
TOBAGO-1886 Markup CSS classes are not rendered for tab-content
* fix: markup CSS classes are now rendered for tab-content
* add a test
---
.../renderkit/renderer/TabGroupRenderer.java | 12 ++++++-----
.../content/20-component/070-tab/tab.test.js | 18 +++++++++++++---
.../webapp/content/20-component/070-tab/tab.xhtml | 24 +++++++++++-----------
3 files changed, 34 insertions(+), 20 deletions(-)
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 21088ce..9a8e963 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
@@ -337,18 +337,20 @@ public class TabGroupRenderer extends RendererBase implements ComponentSystemEve
writer.startElement(HtmlElements.DIV);
writer.writeClassAttribute(BootstrapClass.CARD_BODY, BootstrapClass.TAB_CONTENT);
int index = 0;
- for (final UIComponent tab : tabGroup.getChildren()) {
- if (tab instanceof UITab) {
- if (tab.isRendered() && (switchType == SwitchType.client || index == activeIndex)
- && !((UITab) tab).isDisabled()) {
+ for (final UIComponent child : tabGroup.getChildren()) {
+ if (child instanceof UITab) {
+ final UITab tab = (UITab) child;
+ if (tab.isRendered() && (switchType == SwitchType.client || index == activeIndex) && !tab.isDisabled()) {
+ final Markup markup = tab.getMarkup();
writer.startElement(HtmlElements.DIV);
writer.writeClassAttribute(
TobagoClass.TAB__CONTENT,
+ TobagoClass.TAB__CONTENT.createMarkup(markup),
BootstrapClass.TAB_PANE,
index == activeIndex ? BootstrapClass.ACTIVE : null);
writer.writeAttribute(HtmlAttributes.ROLE, HtmlRoleValues.TABPANEL.toString(), false);
- writer.writeIdAttribute(getTabPanelId(facesContext, (UITab) tab));
+ writer.writeIdAttribute(getTabPanelId(facesContext, tab));
writer.writeAttribute(HtmlAttributes.TABGROUPINDEX, index);
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/tab.test.js b/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/tab.test.js
index 46d9599..e3ec8fc 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/tab.test.js
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/tab.test.js
@@ -16,7 +16,7 @@
*/
QUnit.test("Client: Select Tab 3", function (assert) {
- assert.expect(6);
+ assert.expect(10);
var $hiddenInput = jQueryFrame("#page\\:mainForm\\:tabGroupClient\\:\\:activeIndex");
var $tab1 = jQueryFrame("#page\\:mainForm\\:tab1Client");
@@ -26,16 +26,20 @@ QUnit.test("Client: Select Tab 3", function (assert) {
assert.equal($hiddenInput.val(), 0);
assert.ok($tab1.hasClass("tobago-tab-markup-selected"));
assert.notOk($tab3.hasClass("tobago-tab-markup-selected"));
+ assert.ok($tab1.hasClass("tobago-tab-markup-one"));
+ assert.ok($tab3.hasClass("tobago-tab-markup-three"));
$tab3link.click();
assert.equal($hiddenInput.val(), 3);
assert.notOk($tab1.hasClass("tobago-tab-markup-selected"));
assert.ok($tab3.hasClass("tobago-tab-markup-selected"));
+ assert.ok($tab1.hasClass("tobago-tab-markup-one"));
+ assert.ok($tab3.hasClass("tobago-tab-markup-three"));
});
QUnit.test("Ajax: Select Tab 3", function (assert) {
- assert.expect(6);
+ assert.expect(10);
var done = assert.async();
var step = 1;
@@ -47,6 +51,8 @@ QUnit.test("Ajax: Select Tab 3", function (assert) {
assert.equal($hiddenInput.val(), 0);
assert.ok($tab1.hasClass("tobago-tab-markup-selected"));
assert.notOk($tab3.hasClass("tobago-tab-markup-selected"));
+ assert.ok($tab1.hasClass("tobago-tab-markup-one"));
+ assert.ok($tab3.hasClass("tobago-tab-markup-three"));
$tab3link.click();
@@ -61,6 +67,8 @@ QUnit.test("Ajax: Select Tab 3", function (assert) {
assert.equal($hiddenInput.val(), 3);
assert.notOk($tab1.hasClass("tobago-tab-markup-selected"));
assert.ok($tab3.hasClass("tobago-tab-markup-selected"));
+ assert.ok($tab1.hasClass("tobago-tab-markup-one"));
+ assert.ok($tab3.hasClass("tobago-tab-markup-three"));
step++;
done();
@@ -68,7 +76,7 @@ QUnit.test("Ajax: Select Tab 3", function (assert) {
});
QUnit.test("FullReload: Select Tab 3", function (assert) {
- assert.expect(6);
+ assert.expect(10);
var done = assert.async();
var step = 1;
@@ -80,6 +88,8 @@ QUnit.test("FullReload: Select Tab 3", function (assert) {
assert.equal($hiddenInput.val(), 0);
assert.ok($tab1.hasClass("tobago-tab-markup-selected"));
assert.notOk($tab3.hasClass("tobago-tab-markup-selected"));
+ assert.ok($tab1.hasClass("tobago-tab-markup-one"));
+ assert.ok($tab3.hasClass("tobago-tab-markup-three"));
$tab3link.click();
@@ -92,6 +102,8 @@ QUnit.test("FullReload: Select Tab 3", function (assert) {
assert.equal($hiddenInput.val(), 3);
assert.notOk($tab1.hasClass("tobago-tab-markup-selected"));
assert.ok($tab3.hasClass("tobago-tab-markup-selected"));
+ assert.ok($tab1.hasClass("tobago-tab-markup-one"));
+ assert.ok($tab3.hasClass("tobago-tab-markup-three"));
step++;
done();
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/tab.xhtml b/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/tab.xhtml
index 7308463..045e171 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/tab.xhtml
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/tab.xhtml
@@ -32,16 +32,16 @@
<tc:section label="#{demoBundle.tab_client}">
<pre><code class="language-markup"><tc:tabGroup></code></pre>
<tc:tabGroup id="tabGroupClient">
- <tc:tab id="tab1Client" label="Tab One">
+ <tc:tab id="tab1Client" label="Tab One" markup="one">
Content of tab one.
</tc:tab>
- <tc:tab id="tab2Client" label="Tab Two" disabled="true">
+ <tc:tab id="tab2Client" label="Tab Two" disabled="true" markup="two">
Content of tab two.
</tc:tab>
- <tc:tab id="tabNoneClient" label="Tab Not Rendered" rendered="false">
+ <tc:tab id="tabNoneClient" label="Tab Not Rendered" rendered="false" markup="none">
This tab shouldn't be rendered.
</tc:tab>
- <tc:tab id="tab3Client" label="Tab Three">
+ <tc:tab id="tab3Client" label="Tab Three" markup="three">
Content of tab three.
</tc:tab>
</tc:tabGroup>
@@ -50,16 +50,16 @@
<tc:section label="#{demoBundle.tab_ajax}">
<pre><code class="language-markup"><tabGroup switchType="reloadTab"></code></pre>
<tc:tabGroup id="tabGroupAjax" switchType="reloadTab">
- <tc:tab id="tab1Ajax" label="Tab One">
+ <tc:tab id="tab1Ajax" label="Tab One" markup="one">
Content of tab one.
</tc:tab>
- <tc:tab id="tab2Ajax" label="Tab Two" disabled="true">
+ <tc:tab id="tab2Ajax" label="Tab Two" disabled="true" markup="two">
Content of tab two.
</tc:tab>
- <tc:tab id="tabNoneAjax" label="Tab Not Rendered" rendered="false">
+ <tc:tab id="tabNoneAjax" label="Tab Not Rendered" rendered="false" markup="none">
This tab shouldn't be rendered.
</tc:tab>
- <tc:tab id="tab3Ajax" label="Tab Three">
+ <tc:tab id="tab3Ajax" label="Tab Three" markup="three">
Content of tab three.
</tc:tab>
</tc:tabGroup>
@@ -68,16 +68,16 @@
<tc:section label="#{demoBundle.tab_server}">
<pre><code class="language-markup"><tabGroup switchType="reloadPage"></code></pre>
<tc:tabGroup id="tabGroupFullReload" switchType="reloadPage">
- <tc:tab id="tab1FullReload" label="Tab One">
+ <tc:tab id="tab1FullReload" label="Tab One" markup="one">
Content of tab one.
</tc:tab>
- <tc:tab id="tab2FullReload" label="Tab Two" disabled="true">
+ <tc:tab id="tab2FullReload" label="Tab Two" disabled="true" markup="two">
Content of tab two.
</tc:tab>
- <tc:tab id="tabNoneFullReload" label="Tab Not Rendered" rendered="false">
+ <tc:tab id="tabNoneFullReload" label="Tab Not Rendered" rendered="false" markup="none">
This tab shouldn't be rendered.
</tc:tab>
- <tc:tab id="tab3FullReload" label="Tab Three">
+ <tc:tab id="tab3FullReload" label="Tab Three" markup="three">
<f:facet name="bar">
<tc:link image="fa-remove" omit="true">
<tc:dataAttribute name="alert-text" value="Not implemented yet!"/>
--
To stop receiving notification emails like this one, please contact
hnoeth@apache.org.