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 2019/05/07 16:48:08 UTC
[myfaces-tobago] branch master updated: TOBAGO-1988 Sheet Tree is
no longer rendered
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 9b0059f TOBAGO-1988 Sheet Tree is no longer rendered
9b0059f is described below
commit 9b0059f4efcf7d376dca75d97136df6e6a0b50d6
Author: Henning Noeth <hn...@apache.org>
AuthorDate: Tue May 7 18:47:56 2019 +0200
TOBAGO-1988 Sheet Tree is no longer rendered
* fix tc:columnNode
* add test
---
.../internal/renderkit/renderer/SheetRenderer.java | 4 +-
.../080-sheet/70-tree/Sheet_Tree.test.js | 65 ++++++++++++++++++++++
.../080-sheet/70-tree/Sheet_Tree.xhtml | 16 +++---
3 files changed, 76 insertions(+), 9 deletions(-)
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SheetRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SheetRenderer.java
index e34fcd4..d658fa6 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SheetRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SheetRenderer.java
@@ -30,6 +30,7 @@ import org.apache.myfaces.tobago.event.SheetAction;
import org.apache.myfaces.tobago.event.SortActionEvent;
import org.apache.myfaces.tobago.internal.component.AbstractUIColumn;
import org.apache.myfaces.tobago.internal.component.AbstractUIColumnBase;
+import org.apache.myfaces.tobago.internal.component.AbstractUIColumnNode;
import org.apache.myfaces.tobago.internal.component.AbstractUIColumnSelector;
import org.apache.myfaces.tobago.internal.component.AbstractUIData;
import org.apache.myfaces.tobago.internal.component.AbstractUILink;
@@ -682,7 +683,8 @@ public class SheetRenderer extends RendererBase {
for (final AbstractUIColumnBase column : columns) {
if (column.isRendered()) {
- if (column instanceof AbstractUIColumn || column instanceof AbstractUIColumnSelector) {
+ if (column instanceof AbstractUIColumn || column instanceof AbstractUIColumnSelector
+ || column instanceof AbstractUIColumnNode) {
writer.startElement(HtmlElements.TD);
Markup markup = column.getMarkup();
if (markup == null) {
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/70-tree/Sheet_Tree.test.js b/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/70-tree/Sheet_Tree.test.js
new file mode 100644
index 0000000..3ce5a29
--- /dev/null
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/70-tree/Sheet_Tree.test.js
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+QUnit.test("Collapse tree", function (assert) {
+ var row0nameFn = jQueryFrameFn("#page\\:mainForm\\:sheet\\:0\\:nameOut");
+ var row0centralBodyFn = jQueryFrameFn("#page\\:mainForm\\:sheet\\:0\\:centralBodyOut");
+ var row0distanceFn = jQueryFrameFn("#page\\:mainForm\\:sheet\\:0\\:distanceOut");
+ var row0periodFn = jQueryFrameFn("#page\\:mainForm\\:sheet\\:0\\:periodOut");
+ var row0discovererFn = jQueryFrameFn("#page\\:mainForm\\:sheet\\:0\\:discovererOut");
+ var row0yearFn = jQueryFrameFn("#page\\:mainForm\\:sheet\\:0\\:yearOut");
+ var row1nameFn = jQueryFrameFn("#page\\:mainForm\\:sheet\\:1\\:nameOut");
+ var row1centralBodyFn = jQueryFrameFn("#page\\:mainForm\\:sheet\\:1\\:centralBodyOut");
+ var row1distanceFn = jQueryFrameFn("#page\\:mainForm\\:sheet\\:1\\:distanceOut");
+ var row1periodFn = jQueryFrameFn("#page\\:mainForm\\:sheet\\:1\\:periodOut");
+ var row1discovererFn = jQueryFrameFn("#page\\:mainForm\\:sheet\\:1\\:discovererOut");
+ var row1yearFn = jQueryFrameFn("#page\\:mainForm\\:sheet\\:1\\:yearOut");
+ var rootTreeButtonFn = jQueryFrameFn("#page\\:mainForm\\:sheet\\:0\\:nameCol .tobago-treeNode-toggle");
+
+ var TTT = new TobagoTestTool(assert);
+ TTT.asserts(13, function () {
+ assert.equal(row0nameFn().text(), "Sun");
+ assert.equal(row0centralBodyFn().text(), "-");
+ assert.equal(row0distanceFn().text(), "0");
+ assert.equal(row0periodFn().text(), "0.0");
+ assert.equal(row0discovererFn().text(), "-");
+ assert.equal(row0yearFn().text(), "");
+ assert.equal(row1nameFn().text(), "Mercury");
+ assert.equal(row1centralBodyFn().text(), "Sun");
+ assert.equal(row1distanceFn().text(), "57910");
+ assert.equal(row1periodFn().text(), "87.97");
+ assert.equal(row1discovererFn().text(), "-");
+ assert.equal(row1yearFn().text(), "");
+
+ assert.notEqual(row1yearFn().parents(".tobago-sheet-row").css("display"), "none");
+ });
+ TTT.action(function () {
+ rootTreeButtonFn().click();
+ });
+ TTT.waitMs(1000);
+ TTT.asserts(7, function () {
+ assert.equal(row0nameFn().text(), "Sun");
+ assert.equal(row0centralBodyFn().text(), "-");
+ assert.equal(row0distanceFn().text(), "0");
+ assert.equal(row0periodFn().text(), "0.0");
+ assert.equal(row0discovererFn().text(), "-");
+ assert.equal(row0yearFn().text(), "");
+
+ assert.equal(row1yearFn().parents(".tobago-sheet-row").css("display"), "none");
+ });
+ TTT.startTest();
+});
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/70-tree/Sheet_Tree.xhtml b/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/70-tree/Sheet_Tree.xhtml
index 57ea09a..13a9738 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/70-tree/Sheet_Tree.xhtml
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/70-tree/Sheet_Tree.xhtml
@@ -44,25 +44,25 @@
<tc:treeIndent/>
<tc:out value="\#{solarObject.userObject.name}"/>
...</code></pre>
- <tc:sheet value="#{sheetTreeController.solarTree}" var="solarObject" showRoot="true" showRootJunction="true">
- <tc:columnNode label="Name">
+ <tc:sheet id="sheet" value="#{sheetTreeController.solarTree}" var="solarObject" showRoot="true" showRootJunction="true">
+ <tc:columnNode id="nameCol" label="Name">
<tc:treeIndent/>
- <tc:out value="#{solarObject.userObject.name}"/>
+ <tc:out id="nameOut" value="#{solarObject.userObject.name}" labelLayout="skip"/>
</tc:columnNode>
<tc:column label="Central Body">
- <tc:out value="#{solarObject.userObject.orbit}"/>
+ <tc:out id="centralBodyOut" value="#{solarObject.userObject.orbit}" labelLayout="skip"/>
</tc:column>
<tc:column label="Distance" sortable="true">
- <tc:out value="#{solarObject.userObject.distance}"/>
+ <tc:out id="distanceOut" value="#{solarObject.userObject.distance}" labelLayout="skip"/>
</tc:column>
<tc:column label="Period" sortable="true">
- <tc:out value="#{solarObject.userObject.period}"/>
+ <tc:out id="periodOut" value="#{solarObject.userObject.period}" labelLayout="skip"/>
</tc:column>
<tc:column label="Discoverer">
- <tc:out value="#{solarObject.userObject.discoverer}"/>
+ <tc:out id="discovererOut" value="#{solarObject.userObject.discoverer}" labelLayout="skip"/>
</tc:column>
<tc:column label="Year" sortable="true">
- <tc:out value="#{solarObject.userObject.discoverYear}"/>
+ <tc:out id="yearOut" value="#{solarObject.userObject.discoverYear}" labelLayout="skip"/>
</tc:column>
</tc:sheet>
</tc:section>