Как правильно отыскать узел в модели дерева?
Есть дерево:
$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, время: 00:53. |