app.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*jshint undef: false, unused: false, indent: 2*/
  2. /*global angular: false */
  3. 'use strict';
  4. var app = angular.module('demoApp', ['multi-select-tree']);
  5. app.controller('demoAppCtrl', function ($scope) {
  6. var data1 = [];
  7. for (var i = 0; i < 7; i++) {
  8. var obj = {
  9. id: i,
  10. name: 'Node ' + i,
  11. children: []
  12. };
  13. for (var j = 0; j < 3; j++) {
  14. var obj2 = {
  15. id: j,
  16. name: 'Node ' + i + '.' + j,
  17. children: []
  18. };
  19. obj.children.push(obj2);
  20. }
  21. data1.push(obj);
  22. }
  23. data1[1].children[0].children.push({
  24. id: j,
  25. name: 'Node sub_sub 1',
  26. children: [],
  27. selected: true
  28. });
  29. $scope.data = angular.copy(data1);
  30. var data3 = [];
  31. for (var i = 0; i < 7; i++) {
  32. var obj3 = {
  33. id: i,
  34. name: 'Node new view ' + i
  35. };
  36. data3.push(obj3);
  37. }
  38. $scope.selectOnly1Or2 = function(item, selectedItems) {
  39. if (selectedItems !== undefined && selectedItems.length >= 20) {
  40. return false;
  41. } else {
  42. return true;
  43. }
  44. };
  45. $scope.switchViewCallback = function(scopeObj) {
  46. if (scopeObj.switchViewLabel == 'test2') {
  47. scopeObj.switchViewLabel = 'test1';
  48. scopeObj.inputModel = data1;
  49. scopeObj.selectOnlyLeafs = true;
  50. } else {
  51. scopeObj.switchViewLabel = 'test2';
  52. scopeObj.inputModel = data3;
  53. scopeObj.selectOnlyLeafs = false;
  54. }
  55. }
  56. });