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/08/15 09:41:27 UTC

[myfaces-tobago] branch master updated (d566189 -> 938cfaa)

This is an automated email from the ASF dual-hosted git repository.

lofwyr pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git.


    from d566189  TOBAGO-1908: LabelLayout attributes gridLeft, gridRight, gridTop and gridBottom
     new 26bfbb8  TOBAGO-1004: Using custom attributes for HTML in a HTML5 compliant way (data-*) * refactor tabgroupindex
     new 938cfaa  TOBAGO-1004: Using custom attributes for HTML in a HTML5 compliant way (data-*) * refactor switchtype

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../internal/renderkit/renderer/TabGroupRenderer.java    |  6 +++---
 .../myfaces/tobago/renderkit/html/DataAttributes.java    | 10 ++++++++++
 .../myfaces/tobago/renderkit/html/HtmlAttributes.java    |  6 ++++++
 .../content/40-test/2500-tab/tabgroup-style.test.js      | 16 ++++++++--------
 .../90000-attic/gridLayout/tabGroup-auto-auto.xhtml      |  2 +-
 .../40-test/90000-attic/gridLayout/tabGroup-auto.xhtml   |  2 +-
 .../90000-attic/gridLayout/tabGroup-relative.xhtml       |  2 +-
 .../standard/tobago-bootstrap/_version/js/tobago-tab.js  |  6 +++---
 8 files changed, 33 insertions(+), 17 deletions(-)


[myfaces-tobago] 01/02: TOBAGO-1004: Using custom attributes for HTML in a HTML5 compliant way (data-*) * refactor tabgroupindex

Posted by lo...@apache.org.
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 26bfbb8e21a1dbef8cd9fa173207be8215ff9685
Author: Udo Schnurpfeil <lo...@apache.org>
AuthorDate: Wed Aug 15 11:30:55 2018 +0200

    TOBAGO-1004: Using custom attributes for HTML in a HTML5 compliant way (data-*)
    * refactor tabgroupindex
---
 .../internal/renderkit/renderer/TabGroupRenderer.java    |  4 ++--
 .../myfaces/tobago/renderkit/html/DataAttributes.java    |  2 ++
 .../myfaces/tobago/renderkit/html/HtmlAttributes.java    |  3 +++
 .../content/40-test/2500-tab/tabgroup-style.test.js      | 16 ++++++++--------
 .../90000-attic/gridLayout/tabGroup-auto-auto.xhtml      |  2 +-
 .../40-test/90000-attic/gridLayout/tabGroup-auto.xhtml   |  2 +-
 .../90000-attic/gridLayout/tabGroup-relative.xhtml       |  2 +-
 .../standard/tobago-bootstrap/_version/js/tobago-tab.js  |  4 ++--
 8 files changed, 20 insertions(+), 15 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 9a8e963..320a9b3 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
@@ -258,7 +258,7 @@ public class TabGroupRenderer extends RendererBase implements ComponentSystemEve
               barFacet != null ? TobagoClass.TAB__BAR_FACET : null,
               tab.getCustomClass());
           writer.writeAttribute(HtmlAttributes.ROLE, HtmlRoleValues.PRESENTATION.toString(), false);
-          writer.writeAttribute(HtmlAttributes.TABGROUPINDEX, index);
+          writer.writeAttribute(DataAttributes.TAB_GROUP_INDEX, index);
           final String title = HtmlRendererUtils.getTitleFromTipAndMessages(facesContext, tab);
           if (title != null) {
             writer.writeAttribute(HtmlAttributes.TITLE, title, true);
@@ -352,7 +352,7 @@ public class TabGroupRenderer extends RendererBase implements ComponentSystemEve
           writer.writeAttribute(HtmlAttributes.ROLE, HtmlRoleValues.TABPANEL.toString(), false);
           writer.writeIdAttribute(getTabPanelId(facesContext, tab));
 
-          writer.writeAttribute(HtmlAttributes.TABGROUPINDEX, index);
+          writer.writeAttribute(DataAttributes.TAB_GROUP_INDEX, index);
 
           tab.encodeAll(facesContext);
 
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java
index 8125575..f98f28f 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java
@@ -188,6 +188,8 @@ public enum DataAttributes implements MarkupLanguageAttributes {
 
   SUGGEST_UPDATE("data-tobago-suggest-update"),
 
+  TAB_GROUP_INDEX("data-tobago-tab-group-index"),
+
   TARGET("data-target"),
 
   TITLE("data-title"),
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlAttributes.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlAttributes.java
index 5549d81..436609f 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlAttributes.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlAttributes.java
@@ -123,7 +123,10 @@ public enum HtmlAttributes implements MarkupLanguageAttributes {
 
   /**
    * The index of the tab inside the tab group.
+   *
+   * @deprecated since 4.3.0, please use {@link DataAttributes#TAB_GROUP_INDEX}
    */
+  @Deprecated
   TABGROUPINDEX("tabgroupindex"),
   /**
    * The mode of the tab switch: client, reloadTab, reloadPage.
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/2500-tab/tabgroup-style.test.js b/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/2500-tab/tabgroup-style.test.js
index 4f36139..ddabb54 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/2500-tab/tabgroup-style.test.js
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/2500-tab/tabgroup-style.test.js
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-QUnit.test("test numbers of tabgroupindex", function (assert) {
+QUnit.test("test numbers of tab-group-index", function (assert) {
   var $tabOne = jQueryFrame("#page\\:mainForm\\:tabOne");
   var $tabTwo = jQueryFrame("#page\\:mainForm\\:tabTwo");
   var $tabThree = jQueryFrame("#page\\:mainForm\\:tabThree");
@@ -27,16 +27,16 @@ QUnit.test("test numbers of tabgroupindex", function (assert) {
   var $tabFourContent = jQueryFrame("#page\\:mainForm\\:tabFour\\:\\:content");
   var $tabFiveContent = jQueryFrame("#page\\:mainForm\\:tabFive\\:\\:content");
 
-  assert.equal($tabOne.attr("tabgroupindex"), "0");
-  assert.equal($tabTwo.attr("tabgroupindex"), "1");
+  assert.equal($tabOne.data("tobago-tab-group-index"), "0");
+  assert.equal($tabTwo.data("tobago-tab-group-index"), "1");
   assert.equal($tabThree.length, 0, "Tab three is not rendered");
-  assert.equal($tabFour.attr("tabgroupindex"), "3");
-  assert.equal($tabFive.attr("tabgroupindex"), "4");
+  assert.equal($tabFour.data("tobago-tab-group-index"), "3");
+  assert.equal($tabFive.data("tobago-tab-group-index"), "4");
 
-  assert.equal($tabOneContent.attr("tabgroupindex"), "0");
-  assert.equal($tabTwoContent.attr("tabgroupindex"), "1");
+  assert.equal($tabOneContent.data("tobago-tab-group-index"), "0");
+  assert.equal($tabTwoContent.data("tobago-tab-group-index"), "1");
   assert.equal($tabThreeContent.length, 0, "Tab three content is not rendered");
-  assert.equal($tabFiveContent.attr("tabgroupindex"), "4");
+  assert.equal($tabFiveContent.data("tobago-tab-group-index"), "4");
 
   assert.ok($tabOne.hasClass("tobago-tab-markup-selected"));
   assert.notOk($tabTwo.hasClass("tobago-tab-markup-selected"));
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/90000-attic/gridLayout/tabGroup-auto-auto.xhtml b/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/90000-attic/gridLayout/tabGroup-auto-auto.xhtml
index 7c0d593..45ada47 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/90000-attic/gridLayout/tabGroup-auto-auto.xhtml
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/90000-attic/gridLayout/tabGroup-auto-auto.xhtml
@@ -61,7 +61,7 @@
     <tc:script onload="TobagoAssert.assertLayout('page:rows:a-2', 6, 81, 100, 50);"/>
 
     <!--click the tab to display the elements, they can only be measured if they are not hidden.-->
-    <tc:script onload="jQuery(Tobago.Utils.escapeClientId('page:tabGroup')).find('.tobago-tab[tabgroupindex=1]').click();"/>
+    <tc:script onload="jQuery(Tobago.Utils.escapeClientId('page:tabGroup')).find('.tobago-tab[data-tobago-tab-group-index=1]').click();"/>
 
     <tc:script onload="TobagoAssert.assertLayout('page:columns:a-3', 6, 26, 100, 50);"/>
     <tc:script onload="TobagoAssert.assertLayout('page:columns:a-4', 111, 26, 100, 50);"/>
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/90000-attic/gridLayout/tabGroup-auto.xhtml b/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/90000-attic/gridLayout/tabGroup-auto.xhtml
index 334ce6f..50b758c 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/90000-attic/gridLayout/tabGroup-auto.xhtml
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/90000-attic/gridLayout/tabGroup-auto.xhtml
@@ -61,7 +61,7 @@
     <tc:script onload="TobagoAssert.assertLayout('page:rows:a-2', 6, 81, 100, 50);"/>
 
     <!--click the tab to display the elements, they can only be measured if they are not hidden.-->
-    <tc:script onload="jQuery(Tobago.Utils.escapeClientId('page:tabGroup')).find('.tobago-tab[tabgroupindex=1]').click();"/>
+    <tc:script onload="jQuery(Tobago.Utils.escapeClientId('page:tabGroup')).find('.tobago-tab[data-tobago-tab-group-index=1]').click();"/>
 
     <tc:script onload="TobagoAssert.assertLayout('page:columns:a-3', 6, 26, 100, 50);"/>
     <tc:script onload="TobagoAssert.assertLayout('page:columns:a-4', 111, 26, 100, 50);"/>
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/90000-attic/gridLayout/tabGroup-relative.xhtml b/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/90000-attic/gridLayout/tabGroup-relative.xhtml
index a35c2fe..24dcc46 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/90000-attic/gridLayout/tabGroup-relative.xhtml
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/90000-attic/gridLayout/tabGroup-relative.xhtml
@@ -48,7 +48,7 @@
     <tc:script onload="TobagoAssert.assertLayout('page:rows:a-2', 6, 162, 588, 132);"/>
 
     <!--click the tab to display the elements, they can only be measured if they are not hidden.-->
-    <tc:script onload="jQuery(Tobago.Utils.escapeClientId('page:tabGroup')).find('.tobago-tab[tabgroupindex=1]').click();"/>
+    <tc:script onload="jQuery(Tobago.Utils.escapeClientId('page:tabGroup')).find('.tobago-tab[data-tobago-tab-group-index=1]').click();"/>
 
     <tc:script onload="TobagoAssert.assertLayout('page:columns:a-3', 6, 26, 291, 268);"/>
     <tc:script onload="TobagoAssert.assertLayout('page:columns:a-4', 302, 26, 292, 268);"/>
diff --git a/tobago-theme/tobago-theme-standard/src/main/resources/META-INF/resources/tobago/standard/tobago-bootstrap/_version/js/tobago-tab.js b/tobago-theme/tobago-theme-standard/src/main/resources/META-INF/resources/tobago/standard/tobago-bootstrap/_version/js/tobago-tab.js
index 6952ea8..17d5e3a 100644
--- a/tobago-theme/tobago-theme-standard/src/main/resources/META-INF/resources/tobago/standard/tobago-bootstrap/_version/js/tobago-tab.js
+++ b/tobago-theme/tobago-theme-standard/src/main/resources/META-INF/resources/tobago/standard/tobago-bootstrap/_version/js/tobago-tab.js
@@ -35,7 +35,7 @@ Tobago.TabGroup.init = function (elements) {
     $tabGroup.find(".tobago-tabGroup-header:first .tobago-tab .nav-link:not(.disabled)").click(function () {
       var $navLink = jQuery(this);
       var $tab = $navLink.parent(".tobago-tab");
-      var tabGroupIndex = $tab.attr("tabgroupindex");
+      var tabGroupIndex = $tab.data("tobago-tab-group-index");
 
       $hiddenInput.val(tabGroupIndex);
 
@@ -57,7 +57,7 @@ Tobago.TabGroup.init = function (elements) {
         Tobago.Utils.addDataMarkup($tab, markupString);
         $tab.addClass(markupCssClass);
         $navLink.addClass("active");
-        $tabContent.find(".tobago-tab-content.tab-pane[tabgroupindex=" + tabGroupIndex + "]").addClass("active");
+        $tabContent.find(".tobago-tab-content.tab-pane[data-tobago-tab-group-index=" + tabGroupIndex + "]").addClass("active");
       }
     });
   });


[myfaces-tobago] 02/02: TOBAGO-1004: Using custom attributes for HTML in a HTML5 compliant way (data-*) * refactor switchtype

Posted by lo...@apache.org.
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 938cfaa9c2d66776a826840b51feb58b9709422d
Author: Udo Schnurpfeil <lo...@apache.org>
AuthorDate: Wed Aug 15 11:41:18 2018 +0200

    TOBAGO-1004: Using custom attributes for HTML in a HTML5 compliant way (data-*)
    * refactor switchtype
---
 .../tobago/internal/renderkit/renderer/TabGroupRenderer.java      | 2 +-
 .../org/apache/myfaces/tobago/renderkit/html/DataAttributes.java  | 8 ++++++++
 .../org/apache/myfaces/tobago/renderkit/html/HtmlAttributes.java  | 3 +++
 .../tobago/standard/tobago-bootstrap/_version/js/tobago-tab.js    | 2 +-
 4 files changed, 13 insertions(+), 2 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 320a9b3..1b36788 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
@@ -157,7 +157,7 @@ public class TabGroupRenderer extends RendererBase implements ComponentSystemEve
         tabGroup.getCustomClass(),
         markup != null && markup.contains(Markup.SPREAD) ? TobagoClass.SPREAD : null);
     HtmlRendererUtils.writeDataAttributes(facesContext, writer, tabGroup);
-    writer.writeAttribute(HtmlAttributes.SWITCHTYPE, switchType.name(), false);
+    writer.writeAttribute(DataAttributes.SWITCH_TYPE, switchType.name(), false);
 
     writer.startElement(HtmlElements.INPUT);
     writer.writeAttribute(HtmlAttributes.TYPE, HtmlInputTypes.HIDDEN);
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java
index f98f28f..b1cd0a7 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java
@@ -188,6 +188,14 @@ public enum DataAttributes implements MarkupLanguageAttributes {
 
   SUGGEST_UPDATE("data-tobago-suggest-update"),
 
+  /**
+   * The mode of the tab switch: client, reloadTab, reloadPage.
+   */
+  SWITCH_TYPE("data-tobago-switch-type"),
+
+  /**
+   * The index of the tab inside the tab group.
+   */
   TAB_GROUP_INDEX("data-tobago-tab-group-index"),
 
   TARGET("data-target"),
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlAttributes.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlAttributes.java
index 436609f..69279c5 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlAttributes.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlAttributes.java
@@ -130,7 +130,10 @@ public enum HtmlAttributes implements MarkupLanguageAttributes {
   TABGROUPINDEX("tabgroupindex"),
   /**
    * The mode of the tab switch: client, reloadTab, reloadPage.
+   *
+   * @deprecated since 4.3.0, please use {@link DataAttributes#SWITCH_TYPE}
    */
+  @Deprecated
   SWITCHTYPE("switchtype");
 
 
diff --git a/tobago-theme/tobago-theme-standard/src/main/resources/META-INF/resources/tobago/standard/tobago-bootstrap/_version/js/tobago-tab.js b/tobago-theme/tobago-theme-standard/src/main/resources/META-INF/resources/tobago/standard/tobago-bootstrap/_version/js/tobago-tab.js
index 17d5e3a..e6f0997 100644
--- a/tobago-theme/tobago-theme-standard/src/main/resources/META-INF/resources/tobago/standard/tobago-bootstrap/_version/js/tobago-tab.js
+++ b/tobago-theme/tobago-theme-standard/src/main/resources/META-INF/resources/tobago/standard/tobago-bootstrap/_version/js/tobago-tab.js
@@ -39,7 +39,7 @@ Tobago.TabGroup.init = function (elements) {
 
       $hiddenInput.val(tabGroupIndex);
 
-      if ($tabGroup.attr("switchtype") === "client") {
+      if ($tabGroup.data("tobago-switch-type") === "client") {
 
         //remove data-markup, markup-css-class and .active from tabs/tab-content
         $tabGroup.find(".tobago-tab .nav-link.active").each(function () {