Я реализовал ivhtreeview. Выбор и отмена прекрасно работают с ним. Но когда я снимаю флажок с дочернего узла, родительский элемент не обновляется с неопределенным состоянием, а родительский флажок также не проверяется.
Ниже мой код,
app.config(['ivhTreeviewOptionsProvider',
function (ivhTreeviewOptionsProvider) {
ivhTreeviewOptionsProvider.set({
defaultSelectedState: true,
validate: true,
});
}])
app.directive('asciiBox', ['ivhTreeviewMgr', 'ivhTreeviewBfs', function (ivhTreeviewMgr, ivhTreeviewBfs) {
return {
restrict: 'AE',
require: '^ivhTreeview',
template: [
'<span class="ivh-treeview-checkbox-wrapper">',
'<input type="checkbox" checked="checked" class="ivh-treeview-checkbox" ng-model="node.selected" ng-change="trvw.select(node, node.selected)"/><label class="checkboxHelper"> </label></span >',
'',
].join('\n'),
link: function (scope, element, attrs, trvw) {
element.on('click', function () {
ivhTreeviewMgr.select(scope.trvw.root(), scope.node, scope.node.selected);
scope.$apply();
});
}
};
}]);
View:
<div class="treeview" ivh-treeview="nodes"
ivh-treeview-expand-to-depth="0"
ivh-treeview-id-attribute="'Code'"
ivh-treeview-label-attribute="'Name'"
ivh-treeview-children-attribute="'children'"
ivh-treeview-node-tpl="tpl"
ivh-treeview-default-selected-state="true" ivh-treeview-selected-attribute="'selected'">
</div>
Создал JSBIN, но их флажок неопределенный работает нормально :(
http://jsbin.com/vihomes/edit?html,js,output
если вы посмотрите на изображение ниже, синий фон, идущий за флажком, является моим собственным стилем для флажка, который не отражается в ссылке JSBIN, упомянутой выше.
если вы наблюдаете состояния родительских и дочерних узлов, неопределенный не работает