2016-08-22 2 views
0

Я новичок в ivh tree (https://github.com/iVantage/angular-ivh-treeview) и используя эту библиотеку. Я хочу, чтобы отключить определенные узлы для выбора, на основании пользовательского праваivh tree - отключить узел для выбора

, например, у меня есть дерево, как этот

$scope.bag = [{ 
      label: 'Glasses', 
      value: 'glasses', 
      entitled: false, 
      children: [{ 
       label: 'Top Hat', 
       value: 'top_hat', 
       entitled: true 
      }, { 
       label: 'Curly Mustache', 
       value: 'mustachio', 
       entitled: false 
      }] 
     }]; 
}; 

Так на основе переменного под названием: [булев], она должна позволить пользователю выбрать или отменить выбор. Как это может быть сделано?

ответ

2

Для этого вам нужно ввести некоторую логику в шаблон настраиваемого узла. Ниже приведен пример, в котором я представил вспомогательную директиву, которая просто проверяет значение области node и отключает ее флажок, если это необходимо.

http://jsbin.com/buqaxu/2/edit?html,js,output

app.directive('isCbEnabled', function() { 
    return { 
    link: function(scope, element, attrs) { 
     if(scope.node.disabled) { 
     element.find('input').attr('disabled', true); 
     } 
    } 
    }; 
}); 

Вы бы могли прикрепить что-то подобное к вашему в ivh-treeview-checkbox директивы в шаблоне. Обратите внимание, что node является поддерживаемой переменной области видимости в шаблонах.

Смежные вопросы