-
Notifications
You must be signed in to change notification settings - Fork 208
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ZK-3853: Tree supports 3-states selection
- Loading branch information
1 parent
b24e455
commit f8b58a9
Showing
33 changed files
with
2,112 additions
and
31 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,108 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!-- | ||
F100-ZK-3853-1.zul | ||
Purpose: | ||
Description: | ||
History: | ||
Tue Jan 02 16:00:24 CST 2024, Created by jamson | ||
Copyright (C) 2024 Potix Corporation. All Rights Reserved. | ||
--> | ||
<zk xmlns:n="native"> | ||
|
||
<n:h1>Tri-State Tree Pure Component Test</n:h1> | ||
<label multiline="true"> | ||
click checkbox and check whether all updates are correct. | ||
|
||
Note: To include Tri-state Tree implementation, set LibraryProperty `org.zkoss.zkmax.zul.tree.engine.class` to `org.zkoss.zkmax.zul.impl.TreeEngineImpl` | ||
</label> | ||
|
||
<tree tristate="true"> | ||
<treecols> | ||
<treecol label="treecol" /> | ||
</treecols> | ||
<treechildren> | ||
<treeitem open="false"> | ||
<treerow> | ||
<treecell label="0" /> | ||
</treerow> | ||
<treechildren> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="1"/> | ||
</treerow> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="2" /> | ||
</treerow> | ||
</treeitem> | ||
</treechildren> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="3" /> | ||
</treerow> | ||
</treeitem> | ||
<treeitem open="false"> | ||
<treerow> | ||
<treecell label="4" /> | ||
</treerow> | ||
<treechildren> | ||
<treeitem open="false"> | ||
<treerow> | ||
<treecell label="5" /> | ||
</treerow> | ||
<treechildren> | ||
<treeitem open="false"> | ||
<treerow> | ||
<treecell label="6" /> | ||
</treerow> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="7" /> | ||
</treerow> | ||
</treeitem> | ||
<treeitem open="false"> | ||
<treerow> | ||
<treecell label="8" /> | ||
</treerow> | ||
<treechildren> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="9" /> | ||
</treerow> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="10" /> | ||
</treerow> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="11" /> | ||
</treerow> | ||
</treeitem> | ||
</treechildren> | ||
</treeitem> | ||
</treechildren> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="12" /> | ||
</treerow> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="13" /> | ||
</treerow> | ||
</treeitem> | ||
</treechildren> | ||
</treeitem> | ||
</treechildren> | ||
</tree> | ||
</zk> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!-- | ||
F100-ZK-3853-2.zul | ||
Purpose: | ||
Description: | ||
History: | ||
Tue Jan 02 18:38:49 CST 2024, Created by jamson | ||
Copyright (C) 2024 Potix Corporation. All Rights Reserved. | ||
--> | ||
<zk xmlns:n="native"> | ||
|
||
<n:h1>Tri-State Tree Model Test</n:h1> | ||
<label multiline="true"> | ||
1. click checkbox and check whether all updates are correct. | ||
2. click `toggle model` button, check the model save all state correctly after un-bind and re-bind. | ||
|
||
Note: To include Tri-state Tree implementation, set LibraryProperty `org.zkoss.zkmax.zul.tree.engine.class` to `org.zkoss.zkmax.zul.impl.TreeEngineImpl` | ||
</label> | ||
|
||
<button id="btn" label="toggle model"> | ||
<attribute name="onClick"> | ||
tree.setModel(tree.getModel() == null ? model : null); | ||
</attribute> | ||
</button> | ||
<tree id="tree"> | ||
<treecols> | ||
<treecol label="treecol" /> | ||
</treecols> | ||
</tree> | ||
<zscript> | ||
model = new DefaultTristateTreeModel( | ||
new DefaultTreeNode(null, | ||
new DefaultTreeNode[] { | ||
new DefaultTreeNode("0", | ||
new DefaultTreeNode[] { | ||
new DefaultTreeNode("1"), | ||
new DefaultTreeNode("2") | ||
}), | ||
new DefaultTreeNode("3"), | ||
new DefaultTreeNode("4", | ||
new DefaultTreeNode[] { | ||
new DefaultTreeNode("5", | ||
new DefaultTreeNode[] { | ||
new DefaultTreeNode("6"), | ||
new DefaultTreeNode("7"), | ||
new DefaultTreeNode("8", | ||
new DefaultTreeNode[] { | ||
new DefaultTreeNode("9"), | ||
new DefaultTreeNode("10"), | ||
new DefaultTreeNode("11"), | ||
} | ||
) | ||
} | ||
), | ||
new DefaultTreeNode("12"), | ||
new DefaultTreeNode("13") | ||
} | ||
) | ||
} | ||
) | ||
); | ||
tree.setModel(model); | ||
tree.setTristate(true); | ||
</zscript> | ||
</zk> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,126 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!-- | ||
F100-ZK-3853-3.zul | ||
Purpose: | ||
Description: | ||
History: | ||
Tue Jan 02 19:14:59 CST 2024, Created by jamson | ||
Copyright (C) 2024 Potix Corporation. All Rights Reserved. | ||
--> | ||
<zk xmlns:n="native"> | ||
|
||
<n:h1>Tri-State Tree Pure Component Mode-Switching Test</n:h1> | ||
<label multiline="true"> | ||
click `toggle checkmark`, `toggle multiple`, `toggle tristate` to see these state switch according to the following rules: | ||
* If toggle `tristate` false -> true, `checkmark` and `multiple` will be set to true at the same time. | ||
* If toggle `multiple` or `checkmark` true -> false, if `tristate` is true, then it'll be set to false. | ||
* If every mode change to `tristate` mode, initially it'll generate 3-state based on current checkmark. | ||
|
||
Note: To include Tri-state Tree implementation, set LibraryProperty `org.zkoss.zkmax.zul.tree.engine.class` to `org.zkoss.zkmax.zul.impl.TreeEngineImpl` | ||
</label> | ||
|
||
<button label="toggle checkmark"> | ||
<attribute name="onClick"> | ||
tree.setCheckmark(!tree.isCheckmark()); | ||
</attribute> | ||
</button> | ||
<button label="toggle multiple"> | ||
<attribute name="onClick"> | ||
tree.setMultiple(!tree.isMultiple()); | ||
</attribute> | ||
</button> | ||
<button label="toggle tristate"> | ||
<attribute name="onClick"> | ||
tree.setTristate(!tree.isTristate()); | ||
</attribute> | ||
</button> | ||
<tree id="tree"> | ||
<treecols> | ||
<treecol label="treecol" /> | ||
</treecols> | ||
<treechildren> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="0" /> | ||
</treerow> | ||
<treechildren> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="1"/> | ||
</treerow> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="2" /> | ||
</treerow> | ||
</treeitem> | ||
</treechildren> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="3" /> | ||
</treerow> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="4" /> | ||
</treerow> | ||
<treechildren> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="5" /> | ||
</treerow> | ||
<treechildren> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="6" /> | ||
</treerow> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="7" /> | ||
</treerow> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="8" /> | ||
</treerow> | ||
<treechildren> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="9" /> | ||
</treerow> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="10" /> | ||
</treerow> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="11" /> | ||
</treerow> | ||
</treeitem> | ||
</treechildren> | ||
</treeitem> | ||
</treechildren> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="12" /> | ||
</treerow> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="13" /> | ||
</treerow> | ||
</treeitem> | ||
</treechildren> | ||
</treeitem> | ||
</treechildren> | ||
</tree> | ||
</zk> |
Oops, something went wrong.