From 08263901d35c66434cd5f8b381e9a8ff6460bc3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Mar=C3=ADa=20Fern=C3=A1ndez?= Date: Thu, 14 Jan 2016 19:09:59 +0100 Subject: [PATCH 1/3] Click $event is now available on node expansion and node selection for user functions. --- README.md | 4 ++-- angular-tree-control.js | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 3cd8338..525dbf8 100644 --- a/README.md +++ b/README.md @@ -111,8 +111,8 @@ Attributes of angular treecontrol - `selected-node` : [Node], used when `multiSelection=false`. Binding for the selected node in the tree. Updating this value updates the selection displayed in the tree. Selecting a node in the tree will update this value. - `selected-nodes` : [Array[Node]], used when `multiSelection=true`. Binding for the selected nodes in the tree. Updating this value updates the selection displayed in the tree. Selecting a node in the tree will update this value. - `expanded-nodes` : [Array[Node]] binding for the expanded nodes in the tree. Updating this value updates the nodes that are expanded in the tree. -- `on-selection` : `(node, selected)` callback called whenever selecting a node in the tree. The callback expression can use the selected node (`node`) and a boolean which indicates if the node was selected or deselected (`selected`). -- `on-node-toggle` : `(node, expanded)` callback called whenever a node expands or collapses in the tree. The callback expression can use the toggled node (`node`) and a boolean which indicates expansion or collapse (`expanded`). +- `on-selection` : `(node, selected,$event)` callback called whenever selecting a node in the tree. The callback expression can use the selected node (`node`), a boolean which indicates if the node was selected or deselected (`selected`) and the mouse event generated from the selection (`$event`). +- `on-node-toggle` : `(node, expanded, $event)` callback called whenever a node expands or collapses in the tree. The callback expression can use the toggled node (`node`), a boolean which indicates expansion or collapse (`expanded`) and the mouse event generated from the click (`$event`). - `options` : different options to customize the tree control. - `multiSelection` : [Boolean] enable multiple nodes selection in the tree. - `nodeChildren` : the name of the property of each node that holds the node children. Defaults to 'children'. diff --git a/angular-tree-control.js b/angular-tree-control.js index df0845d..8860d3c 100644 --- a/angular-tree-control.js +++ b/angular-tree-control.js @@ -169,14 +169,14 @@ if (typeof module !== "undefined" && typeof exports !== "undefined" && module.ex } if ($scope.onNodeToggle) { var parentNode = (transcludedScope.$parent.node === transcludedScope.synteticRoot)?null:transcludedScope.$parent.node; - $scope.onNodeToggle({node: transcludedScope.node, $parentNode: parentNode, + $scope.onNodeToggle({node: transcludedScope.node, $event: transcludedScope.$event, $parentNode: parentNode, $index: transcludedScope.$index, $first: transcludedScope.$first, $middle: transcludedScope.$middle, $last: transcludedScope.$last, $odd: transcludedScope.$odd, $even: transcludedScope.$even, expanded: expanding}); } }; - $scope.selectNodeLabel = function( selectedNode){ + $scope.selectNodeLabel = function( selectedNode, $event){ var transcludedScope = this; if(!$scope.options.isLeaf(selectedNode) && (!$scope.options.dirSelectable || !$scope.options.isSelectable(selectedNode))) { // Branch node is not selectable, expand @@ -218,7 +218,7 @@ if (typeof module !== "undefined" && typeof exports !== "undefined" && module.ex } if ($scope.onSelection) { var parentNode = (transcludedScope.$parent.node === transcludedScope.synteticRoot)?null:transcludedScope.$parent.node; - $scope.onSelection({node: selectedNode, selected: selected, $parentNode: parentNode, + $scope.onSelection({node: selectedNode, $event: $event, selected: selected, $parentNode: parentNode, $index: transcludedScope.$index, $first: transcludedScope.$first, $middle: transcludedScope.$middle, $last: transcludedScope.$last, $odd: transcludedScope.$odd, $even: transcludedScope.$even}); } @@ -271,9 +271,9 @@ if (typeof module !== "undefined" && typeof exports !== "undefined" && module.ex ''; From dad854a431f1c17a7a79d3771e71dbaffd97c59a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Mar=C3=ADa=20Fern=C3=A1ndez?= Date: Thu, 14 Jan 2016 19:30:17 +0100 Subject: [PATCH 2/3] Fixed 'on-node-toggle' case --- angular-tree-control.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/angular-tree-control.js b/angular-tree-control.js index 8860d3c..9366d54 100644 --- a/angular-tree-control.js +++ b/angular-tree-control.js @@ -150,7 +150,7 @@ if (typeof module !== "undefined" && typeof exports !== "undefined" && module.ex return !!$scope.expandedNodesMap[this.$id]; }; - $scope.selectNodeHead = function() { + $scope.selectNodeHead = function(node,$event) { var transcludedScope = this; var expanding = $scope.expandedNodesMap[transcludedScope.$id] === undefined; $scope.expandedNodesMap[transcludedScope.$id] = (expanding ? transcludedScope.node : undefined); @@ -169,7 +169,7 @@ if (typeof module !== "undefined" && typeof exports !== "undefined" && module.ex } if ($scope.onNodeToggle) { var parentNode = (transcludedScope.$parent.node === transcludedScope.synteticRoot)?null:transcludedScope.$parent.node; - $scope.onNodeToggle({node: transcludedScope.node, $event: transcludedScope.$event, $parentNode: parentNode, + $scope.onNodeToggle({node: transcludedScope.node, $event: $event, $parentNode: parentNode, $index: transcludedScope.$index, $first: transcludedScope.$first, $middle: transcludedScope.$middle, $last: transcludedScope.$last, $odd: transcludedScope.$odd, $even: transcludedScope.$even, expanded: expanding}); @@ -180,7 +180,7 @@ if (typeof module !== "undefined" && typeof exports !== "undefined" && module.ex var transcludedScope = this; if(!$scope.options.isLeaf(selectedNode) && (!$scope.options.dirSelectable || !$scope.options.isSelectable(selectedNode))) { // Branch node is not selectable, expand - this.selectNodeHead(); + this.selectNodeHead(selectedNode,$event); } else if($scope.options.isLeaf(selectedNode) && (!$scope.options.isSelectable(selectedNode))) { // Leaf node is not selectable From 6c71da1d8fb8b021af1e900cc53483b08ef3bb55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Mar=C3=ADa=20Fern=C3=A1ndez?= Date: Thu, 31 Mar 2016 23:50:44 +0200 Subject: [PATCH 3/3] Updated bower dependencies, in order to support Angular 1.5.x --- bower.json | 13 +++++++------ package.json | 3 ++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/bower.json b/bower.json index ed5bc1d..b41aa5a 100644 --- a/bower.json +++ b/bower.json @@ -1,9 +1,10 @@ { "name": "angular-tree-control", - "version": "0.2.20", + "version": "0.2.23", "author": "Yoav Abrahami", "contributors": [ - "Benjamin Orozco " + "Benjamin Orozco ", + "José M. Fernández " ], "main": [ "./angular-tree-control.js", @@ -16,13 +17,13 @@ "karma.conf.js" ], "dependencies": { - "angular": "~1.4.4" + "angular": "~1.4.4 || ~1.5.4" }, "devDependencies": { - "angular-mocks": "~1.4.4", + "angular-mocks": "~1.5.4", "jquery": "~2.0.3", - "bootstrap": "~3.1.1", - "angular-bootstrap": "~0.11.0", + "bootstrap": "~3.3.6", + "angular-bootstrap": "~1.2.5", "google-code-prettify": "1.0.1" } } diff --git a/package.json b/package.json index fb730fa..bd4e5b6 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,8 @@ }, "author": "Yoav Abrahami", "contributors": [ - "Benjamin Orozco " + "Benjamin Orozco ", + "José M. Fernández " ], "license": "ISC", "bugs": {