From c0d4ab1f66edb84a375f4ebe2df0e7485c37f509 Mon Sep 17 00:00:00 2001 From: Jonathan Mak Date: Mon, 2 Dec 2013 10:42:51 -0800 Subject: [PATCH 1/3] AUI-1044 - In aui-tree-node Add option to prevent selecting all child nodes in radio and task. --- src/aui-tree/HISTORY.md | 5 +++++ src/aui-tree/js/aui-tree-node.js | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/aui-tree/HISTORY.md b/src/aui-tree/HISTORY.md index 6374145f5d0..2192e6a05d6 100644 --- a/src/aui-tree/HISTORY.md +++ b/src/aui-tree/HISTORY.md @@ -1,2 +1,7 @@ aui-tree ======== + +@VERSION@ +------ + + * #AUI-1044 - In aui-tree-node Add option to prevent selecting all child nodes in radio and task. diff --git a/src/aui-tree/js/aui-tree-node.js b/src/aui-tree/js/aui-tree-node.js index 618da1684d1..1cc3b92b641 100644 --- a/src/aui-tree/js/aui-tree-node.js +++ b/src/aui-tree/js/aui-tree-node.js @@ -1764,7 +1764,7 @@ var TreeNodeRadio = A.Component.create({ } }, - EXTENDS: A.TreeNodeTask, + EXTENDS: A.TreeNodeCheck, prototype: { From 6a0a7c5867bdffd387ec92ce2a47392c82faba54 Mon Sep 17 00:00:00 2001 From: Jonathan Mak Date: Mon, 2 Dec 2013 15:30:43 -0800 Subject: [PATCH 2/3] AUI-1044 - Unit tests --- src/aui-tree/tests/unit/js/tests.js | 54 ++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/src/aui-tree/tests/unit/js/tests.js b/src/aui-tree/tests/unit/js/tests.js index e831cfa960c..484a9ea7634 100644 --- a/src/aui-tree/tests/unit/js/tests.js +++ b/src/aui-tree/tests/unit/js/tests.js @@ -80,12 +80,13 @@ YUI.add('module-tests', function(Y) { Y.Assert.areSame(0, node.childrenLength, 'node.childrenLength should return 0.'); }, - 'appendChild() should regester the TreeNode in the Parent TreeNode and Owner TreeView index attribute': function() { + 'appendChild() should register the TreeNode in the Parent TreeNode and Owner TreeView index attribute': function() { var treeView = new Y.TreeView(); var childTreeNode = new Y.TreeNode({ id: 'child' }); + var rootTreeNode = new Y.TreeNode({ id: 'root' }); @@ -149,6 +150,7 @@ YUI.add('module-tests', function(Y) { var childTreeNode = new Y.TreeNode({ id: 'child' }); + var rootTreeNode = new Y.TreeNode({ id: 'root' }); @@ -170,6 +172,56 @@ YUI.add('module-tests', function(Y) { var node = new Y.TreeNode(); Y.Assert.isFalse(tree.isRegistered(node), 'TreeNode should be registered in TreeView'); + }, + + 'TreeNodeRadio should only have one treeNode selected': function() { + var treeView = new Y.TreeView(); + + var childTreeNode = new Y.TreeNodeRadio({ + id: 'one' + }); + + var rootTreeNode = new Y.TreeNodeRadio({ + id: 'root' + }); + + treeView.appendChild(rootTreeNode); + rootTreeNode.appendChild(childTreeNode); + + rootTreeNode.check(); + + Y.Assert.isTrue( + rootTreeNode.isChecked(), + 'rootTreeNode should be checked.'); + + Y.Assert.isFalse( + childTreeNode.isChecked(), + 'childTreeNode should not be checked.'); + }, + + 'TreeNodeTask should select all child treeNode': function() { + var treeView = new Y.TreeView(); + + var childTreeNode = new Y.TreeNodeTask({ + id: 'one' + }); + + var rootTreeNode = new Y.TreeNodeTask({ + id: 'root' + }); + + treeView.appendChild(rootTreeNode); + rootTreeNode.appendChild(childTreeNode); + + rootTreeNode.check(); + + Y.Assert.isTrue( + rootTreeNode.isChecked(), + 'rootTreeNode should be checked.'); + + Y.Assert.isTrue( + childTreeNode.isChecked(), + 'childTreeNode should be checked.'); } })); From 457ff0c0bea3e007734637865b411b2dcfa75cd4 Mon Sep 17 00:00:00 2001 From: Iliyan Peychev Date: Mon, 2 Dec 2013 16:22:15 -0800 Subject: [PATCH 3/3] AUI-1044 - SF --- src/aui-tree/tests/unit/js/tests.js | 102 ++++++++++++++++++++-------- 1 file changed, 72 insertions(+), 30 deletions(-) diff --git a/src/aui-tree/tests/unit/js/tests.js b/src/aui-tree/tests/unit/js/tests.js index 484a9ea7634..50692a06b21 100644 --- a/src/aui-tree/tests/unit/js/tests.js +++ b/src/aui-tree/tests/unit/js/tests.js @@ -49,53 +49,71 @@ YUI.add('module-tests', function(Y) { }, 'getNodeById() should return a valid TreeNode': function() { - var tree = createNewTreeView(); + var childNode, + tree; - var childNode = tree.getNodeById('one'); + tree = createNewTreeView(); + + childNode = tree.getNodeById('one'); Y.Assert.isInstanceOf(Y.TreeNode, childNode, 'childNode should be an instance of Y.TreeNode.'); }, 'getNodeById() should not return a valid TreeNode': function() { - var tree = createNewTreeView(); + var childNode, + tree; + + tree = createNewTreeView(); - var childNode = tree.getNodeById('bogey'); + childNode = tree.getNodeById('bogey'); Y.Assert.isUndefined(childNode, 'childNode should be undefined.'); }, 'TreeNode should have children': function() { - var tree = createNewTreeView(); + var tree, + node; + + tree = createNewTreeView(); - var node = tree.getNodeById('one'); + node = tree.getNodeById('one'); Y.Assert.areSame(4, node.childrenLength, 'node.childrenLength should return 4.'); }, 'TreeNode should not have children': function() { - var tree = createNewTreeView(); + var tree, + node; - var node = tree.getNodeById('two'); + tree = createNewTreeView(); + + node = tree.getNodeById('two'); Y.Assert.areSame(0, node.childrenLength, 'node.childrenLength should return 0.'); }, 'appendChild() should register the TreeNode in the Parent TreeNode and Owner TreeView index attribute': function() { - var treeView = new Y.TreeView(); + var childTreeNode, + rootTreeNode, + rootTreeNodeIndex, + treeView, + treeViewIndex; + + treeView = new Y.TreeView(); - var childTreeNode = new Y.TreeNode({ + childTreeNode = new Y.TreeNode({ id: 'child' }); - var rootTreeNode = new Y.TreeNode({ + rootTreeNode = new Y.TreeNode({ id: 'root' }); treeView.appendChild(rootTreeNode); rootTreeNode.appendChild(childTreeNode); - var treeViewIndex = treeView.get("index"); - var rootTreeNodeIndex = rootTreeNode.get("index"); + treeViewIndex = treeView.get('index'); + rootTreeNodeIndex = rootTreeNode.get('index'); Y.Assert.isTrue( treeViewIndex.hasOwnProperty('root'), @@ -109,9 +127,12 @@ YUI.add('module-tests', function(Y) { }, 'removeChild() should remove child TreeNode': function() { - var tree = createNewTreeView(); + var node, + tree; - var node = tree.getNodeById('two'); + tree = createNewTreeView(); + + node = tree.getNodeById('two'); tree.removeChild(node); @@ -125,9 +146,12 @@ YUI.add('module-tests', function(Y) { }, 'removeChild() should not remove child TreeNode': function() { - var tree = createNewTreeView(); + var node, + tree; - var node = tree.getNodeById('bogey'); + tree = createNewTreeView(); + + node = tree.getNodeById('bogey'); tree.removeChild(node); @@ -137,21 +161,28 @@ YUI.add('module-tests', function(Y) { }, 'isRegistered() should find TreeNode': function() { - var tree = createNewTreeView(); + var node, + tree; + + tree = createNewTreeView(); - var node = tree.getNodeById('two'); + node = tree.getNodeById('two'); Y.Assert.isTrue(tree.isRegistered(node), 'TreeNode should be registered in TreeView'); }, 'isRegistered() should find child TreeNode': function() { - var treeView = new Y.TreeView(); + var childTreeNode, + rootTreeNode, + treeView; + + treeView = new Y.TreeView(); - var childTreeNode = new Y.TreeNode({ + childTreeNode = new Y.TreeNode({ id: 'child' }); - var rootTreeNode = new Y.TreeNode({ + rootTreeNode = new Y.TreeNode({ id: 'root' }); @@ -167,21 +198,28 @@ YUI.add('module-tests', function(Y) { }, 'isRegistered() should not find TreeNode': function() { - var tree = createNewTreeView(); + var node, + tree; - var node = new Y.TreeNode(); + tree = createNewTreeView(); + + node = new Y.TreeNode(); Y.Assert.isFalse(tree.isRegistered(node), 'TreeNode should be registered in TreeView'); }, 'TreeNodeRadio should only have one treeNode selected': function() { - var treeView = new Y.TreeView(); + var childTreeNode, + rootTreeNode, + treeView; - var childTreeNode = new Y.TreeNodeRadio({ + treeView = new Y.TreeView(); + + childTreeNode = new Y.TreeNodeRadio({ id: 'one' }); - var rootTreeNode = new Y.TreeNodeRadio({ + rootTreeNode = new Y.TreeNodeRadio({ id: 'root' }); @@ -200,13 +238,17 @@ YUI.add('module-tests', function(Y) { }, 'TreeNodeTask should select all child treeNode': function() { - var treeView = new Y.TreeView(); + var childTreeNode, + rootTreeNode, + treeView; + + treeView = new Y.TreeView(); - var childTreeNode = new Y.TreeNodeTask({ + childTreeNode = new Y.TreeNodeTask({ id: 'one' }); - var rootTreeNode = new Y.TreeNodeTask({ + rootTreeNode = new Y.TreeNodeTask({ id: 'root' });