angular.treeview.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. (function(l) {
  2. l.module("angularTreeview", []).directive("treeModel", function($compile) {
  3. return {
  4. restrict: "A",
  5. link: function(a, g, c) {
  6. var arr = [];
  7. var e = c.treeModel,
  8. h = c.nodeLabel || "label",
  9. d = c.nodeChildren || "children",
  10. k = '<ul><li class="cssmenulist" data-ng-repeat="node in ' + e + '"><div data-ng-class="node.selected" class="cssmenulistdiv" data-ng-click="selectNodeLabel(node, $event)"><i class="collapsed" data-ng-show="node.' + d + '.length && node.collapsed" data-ng-click="selectNodeHead(node, $event)"></i><i class="expanded" data-ng-show="node.' + d + '.length && !node.collapsed" data-ng-click="selectNodeHead(node, $event)"></i><i class="normal" data-ng-hide="node.' +
  11. d + '.length"></i> <span>{{node.' + h + '}}</span></div><div data-ng-hide="node.collapsed" data-tree-model="node.' + d + '" data-node-id=' + (c.nodeId || "id") + " data-node-label=" + h + " data-node-children=" + d + "></div></li></ul>";
  12. e && e.length && (c.angularTreeview ? (a.$watch(e, function(m, b) {
  13. arr.push(b);
  14. g.empty().html($compile(k)(a))
  15. }, !1), a.selectNodeHead = a.selectNodeHead || function(a, b) {
  16. b.stopPropagation && b.stopPropagation();
  17. b.preventDefault && b.preventDefault();
  18. b.cancelBubble = !0;
  19. b.returnValue = !1;
  20. a.collapsed = !a.collapsed
  21. }, a.selectNodeLabel = a.selectNodeLabel || function(c, b) {
  22. if(c.issub){
  23. b.stopPropagation && b.stopPropagation();
  24. b.preventDefault && b.preventDefault();
  25. b.cancelBubble = !0;
  26. b.returnValue = !1;
  27. a.currentNode && a.currentNode.selected && (a.currentNode.selected = void 0);
  28. a.currentNode = c
  29. // c.selected = "selected";
  30. a.treeMenuClick(c);
  31. }
  32. }) : g.html($compile(k)(a)))
  33. }
  34. }
  35. })
  36. })(angular);