Как правильно отыскать узел в модели дерева?
Есть дерево:
$scope.roleList1 = [ { "roleName" : "User", "roleId" : "role1", "children" : [ { "roleName" : "subUser1", "roleId" : "role11", "children" : [] }, { "roleName" : "subUser2", "roleId" : "role12", "children" : [ { "roleName" : "subUser2-1", "roleId" : "role121", "children" : [ { "roleName" : "subUser2-1-1", "roleId" : "role1211", "children" : [] }, { "roleName" : "subUser2-1-2", "roleId" : "role1212", "children" : [] } ]} ]} ]}, { "roleName" : "Admin", "roleId" : "role2", "children" : [] }, { "roleName" : "Guest", "roleId" : "role3", "children" : [] } ]; Мне надо отыскать узел { "roleName" : "subUser2-1-2", "roleId" : "role1212", "children" : [] } и сделать например его активным |
1. Как найти? По рекурсии проверяешь каждый элемент Рекурсия, стек
2. Как выделить? Найдешь ответ в исходниках на 85 строке гит angular.treeview |
Цитата:
|
Цитата:
|
С кода всем сразу стало понятно что это angular.treeview.js :)
По самому выделению, мне известен узел, и я его выделяю angular.forEach($scope.roleList, function(data, index){ if(data.roleId == 'role2'){ $scope.mytree.selectNodeLabel(data); } }); А можно ли прямо так (не работает) $scope.mytree.selectNodeLabel('{"roleName":"Guest","roleId":"role3","children":[{"roleName":"subGuest1","roleId":"role11","children":[]},{"roleName":"subGuest2","roleId":"role12","collapsed":true,"children":[{"roleName":"subGuest2-1","roleId":"role121","children":[{"roleName":"subGuest2-1-1","roleId":"role1211","children":[]},{"roleName":"subGuest2-1-2","roleId":"role1212","children":[]}]}]}],"selected":"selected"}'); |
Цитата:
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 21:30. |