Skip to content

Commit 25bd944

Browse files
committed
performance improvement for large trees, based on cintimedia suggestion
1 parent e694a00 commit 25bd944

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

angular-tree-control.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -235,12 +235,14 @@
235235
.directive("treeTransclude", function() {
236236
return {
237237
link: function(scope, element, attrs, controller) {
238-
angular.forEach(scope.expandedNodesMap, function (node, id) {
239-
if (scope.options.equality(node, scope.node)) {
240-
scope.expandedNodesMap[scope.$id] = scope.node;
241-
scope.expandedNodesMap[id] = undefined;
242-
}
243-
});
238+
if (!scope.options.isLeaf(scope.node)) {
239+
angular.forEach(scope.expandedNodesMap, function (node, id) {
240+
if (scope.options.equality(node, scope.node)) {
241+
scope.expandedNodesMap[scope.$id] = scope.node;
242+
scope.expandedNodesMap[id] = undefined;
243+
}
244+
});
245+
}
244246
if (scope.options.equality(scope.node, scope.selectedNode)) {
245247
scope.selectNodeLabel(scope.node);
246248
}

0 commit comments

Comments
 (0)