-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathcheckboxtree.min.js.map
1 lines (1 loc) · 48.3 KB
/
checkboxtree.min.js.map
1
{"version":3,"sources":["webpack:///checkboxtree.min.js","webpack:///./lib/Checkboxtree/template.html","webpack:///./example/app/components/checkboxtree/checkboxtree.less?8fd2","webpack:///./lib/Checkboxtree/style.less?1b8d","webpack:///./example/app/components/checkboxtree/checkboxtree.js","webpack:///./lib/tool/deprecated.js?273a*******","webpack:///./example/app/components/checkboxtree/checkboxtree.less","webpack:///./lib/Checkboxtree/style.less","webpack:///./example/app/components/checkboxtree/checkboxtree.component.js","webpack:///./example/app/components/checkboxtree/checkboxtree.controller.js","webpack:///./lib/Checkboxtree/component.js","webpack:///./lib/Checkboxtree/controller.js","webpack:///./lib/Checkboxtree/default.config.js","webpack:///./lib/Checkboxtree/index.js","webpack:///./example/app/components/checkboxtree/checkboxtree.html"],"names":["webpackJsonp","1025","module","exports","1053","__webpack_require__","content","i","locals","1094","288","_interopRequireDefault","obj","__esModule","default","Object","defineProperty","value","_checkboxtreeComponent","_checkboxtreeComponent2","_index","_index2","angular","name","component","413","warning","deprecated","recommand","console","warn","deprecatedComponent","copy","$injector","controller","argsString","injector","$$annotate","element","document","body","tempController","args","len","length","push","get","instance","create","prototype","merge","this","apply","ex","683","724","831","_checkboxtree","_checkboxtree2","_checkboxtreeController","_checkboxtreeController2","restrict","bindings","template","controllerAs","832","_classCallCheck","Constructor","TypeError","CheckboxtreeController","$q","$state","$timeout","_this","datasource","categoryId","child","parent","config","fieldOfChildren","fieldOfName","fieldOfId","form","category","$inject","915","_template","_template2","_controller","_controller2","checkboxtreeComponent","ngDisabled","ngModel","defaultCollapsed","916","_typeof","Symbol","iterator","constructor","_createClass","defineProperties","target","props","descriptor","enumerable","configurable","writable","key","protoProps","staticProps","_defaultConfig","_defaultConfig2","$scope","assign","$watch","list","formatList","node","toggleUpNode","toggleDownNode","updateModel","flag","siblings","getSiblings","forEach","item","checked","fieldOfParent","getNode","_this2","_this3","position","index","splice","checkedItems","_this4","targetNode","_this5","_ret","v","id","_this6","walkList","917","Config","918","_component","_component2","_deprecated","_deprecated2","app","985"],"mappings":"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","file":"checkboxtree.min.js","sourcesContent":["webpackJsonp([20],{\n\n/***/ 1025:\n/***/ function(module, exports) {\n\nmodule.exports = \"<div ui-tree id=\\\"tree-root\\\" data-nodrop-enabled=\\\"true\\\" data-drag-enabled=\\\"false\\\">\\n <ol ui-tree-nodes ng-model=\\\"vm.list\\\" class=\\\"ui-tree-ol\\\">\\n <li ng-repeat=\\\"node in vm.list\\\" ui-tree-node ng-include=\\\"'goods_nodes_renderer.html'\\\" collapsed=\\\"vm.defaultCollapsed\\\"></li>\\n </ol>\\n</div>\\n\\n<script type=\\\"text/ng-template\\\" id=\\\"goods_nodes_renderer.html\\\">\\n <div ui-tree-handle class=\\\"tree-node tree-node-content\\\">\\n <span class=\\\"toggle-btn\\\" ng-if=\\\"node[vm.config.fieldOfChildren] && node[vm.config.fieldOfChildren].length > 0\\\" data-nodrag ng-click=\\\"toggle(this)\\\">\\n <span class=\\\"glyphicon\\\"\\n ng-class=\\\"{\\n 'glyphicon-triangle-right': collapsed,\\n 'glyphicon-triangle-bottom': !collapsed\\n }\\\"></span>\\n </span>\\n <label class=\\\"goods-node\\\">\\n <input type=\\\"checkbox\\\"\\n ng-model=\\\"node.checked\\\"\\n ng-click=\\\"vm.nodeClickHandler(node)\\\"\\n ng-disabled=\\\"vm.ngDisabled\\\"/>\\n <span class=\\\"glyphicon goods-node-icon\\\"\\n ng-class=\\\"{\\n 'glyphicon-folder-open': node[vm.config.fieldOfChildren] && !collapsed,\\n 'glyphicon-folder-close': node[vm.config.fieldOfChildren] && collapsed,\\n 'glyphicon-file': !node[vm.config.fieldOfChildren]\\n }\\\"></span>\\n {{node[vm.config.fieldOfName] || \\\"地级市地方\\\"}}\\n </label>\\n </div>\\n <ol ui-tree-nodes=\\\"\\\" ng-model=\\\"node[vm.config.fieldOfChildren]\\\" ng-class=\\\"{hidden: collapsed}\\\">\\n <li ng-repeat=\\\"node in node[vm.config.fieldOfChildren]\\\" ui-tree-node ng-include=\\\"'goods_nodes_renderer.html'\\\" collapsed=\\\"node.collapsed\\\">\\n </li>\\n </ol>\\n</script>\\n\"\n\n/***/ },\n\n/***/ 1053:\n/***/ function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(683);\nif(typeof content === 'string') content = [[module.i, content, '']];\n// add the styles to the DOM\nvar update = __webpack_require__(2)(content, {});\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(false) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!./../../../../node_modules/css-loader/index.js!./../../../../node_modules/less-loader/index.js!./checkboxtree.less\", function() {\n\t\t\tvar newContent = require(\"!!./../../../../node_modules/css-loader/index.js!./../../../../node_modules/less-loader/index.js!./checkboxtree.less\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n/***/ },\n\n/***/ 1094:\n/***/ function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(724);\nif(typeof content === 'string') content = [[module.i, content, '']];\n// add the styles to the DOM\nvar update = __webpack_require__(2)(content, {});\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(false) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!./../../node_modules/css-loader/index.js!./../../node_modules/less-loader/index.js!./style.less\", function() {\n\t\t\tvar newContent = require(\"!!./../../node_modules/css-loader/index.js!./../../node_modules/less-loader/index.js!./style.less\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n/***/ },\n\n/***/ 288:\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _checkboxtreeComponent = __webpack_require__(831);\n\nvar _checkboxtreeComponent2 = _interopRequireDefault(_checkboxtreeComponent);\n\nvar _index = __webpack_require__(918);\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = angular.module('democheckboxtree', [_index2.default.name]).component('democheckboxtree', _checkboxtreeComponent2.default);\n\n/***/ },\n\n/***/ 413:\n/***/ function(module, exports) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (deprecatedComponent, deprecated, recommand) {\n var component = angular.copy(deprecatedComponent);\n /**\n * 单元测试覆盖率会在'ngInjector'之前注入一段函数,导致不能在被$$anotate,出错。\n * 单元测试的时候不需要这个功能,所以简单粗暴try catch即可\n */\n try {\n var $injector;\n\n (function () {\n var controller = component.controller;\n var argsString = angular.injector.$$annotate(component.controller, true);\n\n $injector = angular.element(document.body).injector();\n /**\n * 伪造controller的构造函数,添加一个warning \n */\n\n var tempController = function tempController() {\n warning(deprecated, recommand);\n\n var args = [];\n for (var i = 0, len = argsString.length; i < len; i++) {\n args.push($injector.get(argsString[i]));\n }\n\n var instance = Object.create(controller.prototype || null);\n angular.merge(instance, this);\n controller.apply(instance, args);\n\n return instance;\n };\n component.controller = tempController;\n })();\n } catch (ex) {}\n return component;\n};\n\nfunction warning(deprecated, recommand) {\n if (!deprecated) {\n console.warn('This version will be obsoleted in next major release, please follow http://www.fancyui.org/ for detail');\n } else {\n console.warn(deprecated + ' will be obsoleted in next major release, please use ' + recommand + ' instead');\n }\n}\n\n/**\n * 废弃组件注入提示\n */\n\n/***/ },\n\n/***/ 683:\n/***/ function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \"\", \"\"]);\n\n// exports\n\n\n/***/ },\n\n/***/ 724:\n/***/ function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".checkboxtree {\\n color: red;\\n}\\n#tree-root ol {\\n list-style: none;\\n}\\n#tree-root .toggle-btn {\\n cursor: pointer;\\n}\\n#tree-root .angular-ui-tree input[type=\\\"checkbox\\\"]:checked {\\n background-color: #108ee9;\\n border-color: #108ee9;\\n}\\n.angular-ui-tree input[type=\\\"checkbox\\\"]:checked:after {\\n -webkit-transform: rotate(45deg) scale(1);\\n -ms-transform: rotate(45deg) scale(1);\\n transform: rotate(45deg) scale(1);\\n position: absolute;\\n left: 4px;\\n top: 1px;\\n display: table;\\n width: 5px;\\n height: 8px;\\n border: 2px solid #fff;\\n border-top: 0;\\n border-left: 0;\\n content: ' ';\\n -webkit-transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s;\\n transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/***/ },\n\n/***/ 831:\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _checkboxtree = __webpack_require__(985);\n\nvar _checkboxtree2 = _interopRequireDefault(_checkboxtree);\n\nvar _checkboxtreeController = __webpack_require__(832);\n\nvar _checkboxtreeController2 = _interopRequireDefault(_checkboxtreeController);\n\n__webpack_require__(1053);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n restrict: 'E',\n bindings: {},\n template: _checkboxtree2.default,\n controller: _checkboxtreeController2.default,\n controllerAs: 'vm'\n};\n\n/***/ },\n\n/***/ 832:\n/***/ function(module, exports) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar CheckboxtreeController = function CheckboxtreeController($q, $state, $timeout) {\n 'ngInject';\n\n var _this = this;\n\n _classCallCheck(this, CheckboxtreeController);\n\n this.$state = $state;\n this.$q = $q;\n $timeout(function () {\n _this.datasource = [{\n name: '第一个节点',\n categoryId: 1001,\n child: [{\n name: '第一个节点的子节点',\n categoryId: 1001001,\n parent: 1001\n }, {\n name: '第一个节点的子节点2',\n parent: 1001,\n categoryId: 1001002\n }]\n }, {\n name: '第二个节点(没有子节点)',\n categoryId: 1002\n }];\n }, 100);\n //这个配置用于避免或减少数据转换\n this.config = {\n //指示子节点的字段名\n fieldOfChildren: 'child',\n //指示节点名的字段\n fieldOfName: 'name',\n //指示节点id的字段\n fieldOfId: 'categoryId'\n };\n\n this.form = {};\n\n /**发送给服务端的数据,以及数据回填操作 */\n this.form.category = [{\n name: '第二个节点(没有子节点)',\n categoryId: 1002\n }];\n};\nCheckboxtreeController.$inject = [\"$q\", \"$state\", \"$timeout\"];\n\nexports.default = CheckboxtreeController;\n\n/***/ },\n\n/***/ 915:\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _template = __webpack_require__(1025);\n\nvar _template2 = _interopRequireDefault(_template);\n\nvar _controller = __webpack_require__(916);\n\nvar _controller2 = _interopRequireDefault(_controller);\n\n__webpack_require__(1094);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar checkboxtreeComponent = {\n restrict: 'E',\n bindings: {\n datasource: '<',\n ngDisabled: '=',\n ngModel: '=',\n config: '<',\n defaultCollapsed: '<'\n },\n template: _template2.default,\n controller: _controller2.default,\n controllerAs: 'vm'\n};\n\nexports.default = checkboxtreeComponent;\n\n/***/ },\n\n/***/ 916:\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _defaultConfig = __webpack_require__(917);\n\nvar _defaultConfig2 = _interopRequireDefault(_defaultConfig);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar CheckboxtreeController = function () {\n CheckboxtreeController.$inject = [\"$scope\"];\n function CheckboxtreeController($scope) {\n 'ngInject';\n\n var _this = this;\n\n _classCallCheck(this, CheckboxtreeController);\n\n this.name = 'checkboxtree';\n this.config = Object.assign({}, _defaultConfig2.default, this.config);\n\n $scope.$watch(function () {\n return _this.datasource;\n }, function () {\n if (!_this.datasource) {\n return;\n }\n _this.list = _this.datasource;\n _this.formatList(_this.list, _this.ngModel);\n });\n\n this.ngModel ? '' : this.ngModel = [];\n }\n\n /**\n * 节点点击处理:\n * 1. 如果点击的是叶节点:\n * 1.1如果所有兄弟节点都已选中:\n * 1.1.1 如果此节点是checked状态\n * 1.1.1.1 把父节点的状态置为checked\n * 1.1.1.2 重复步骤1.1\n * 1.1.2 如果此节点是unchecked的状态\n * 1.1.2.1 把父节点的状态置为unchecked\n * 1.1.2.1 重复执行1.1\n * 2. 如果点击的是父节点:\n * 2.1 执行1的逻辑;\n * 2.2 toggle所有子节点的check状态:\n * 3. 更新保存已选中节点的数组;\n */\n\n\n _createClass(CheckboxtreeController, [{\n key: 'nodeClickHandler',\n value: function nodeClickHandler(node) {\n if (!node[this.config.fieldOfChildren]) {\n this.toggleUpNode(node);\n } else {\n this.toggleUpNode(node);\n this.toggleDownNode(node);\n }\n this.updateModel(node);\n }\n\n /**\n * 根据当前节点的checked状态来向上改变父级节点的状态\n */\n\n }, {\n key: 'toggleUpNode',\n value: function toggleUpNode(node) {\n var flag = true,\n //标记父级状态是否由当前节点决定\n siblings = this.getSiblings(node);\n if (siblings && siblings) {\n siblings.forEach(function (item) {\n if (!item.checked) {\n flag = false;\n }\n });\n }\n if (flag && node[this.config.fieldOfParent]) {\n //只有此情况下父节点的check状态才和当前节点有关,且和当前节点的checked状态一致\n var parent = this.getNode(node[this.config.fieldOfParent], this.list);\n parent.checked = node.checked;\n this.updateModel(parent);\n this.toggleUpNode(parent);\n }\n }\n\n /**\n * 根据当前节点的checked状态来向下改变子级节点的状态\n */\n\n }, {\n key: 'toggleDownNode',\n value: function toggleDownNode(node) {\n var _this2 = this;\n\n if (node[this.config.fieldOfChildren]) {\n node[this.config.fieldOfChildren].forEach(function (item) {\n item.checked = node.checked;\n _this2.updateModel(item);\n _this2.toggleDownNode(item);\n });\n }\n }\n\n /**\n * 监听点击事件,更新保存已选中节点\n * @param node\n */\n\n }, {\n key: 'updateModel',\n value: function updateModel(node) {\n var _this3 = this;\n\n if (node.checked) {\n this.ngModel.push(node);\n } else {\n var position = void 0;\n this.ngModel.forEach(function (item, index) {\n if (item[_this3.config.fieldOfId] == node[_this3.config.fieldOfId]) {\n position = index;\n return;\n }\n });\n this.ngModel.splice(position, 1);\n }\n this.ngModel = angular.copy(this.ngModel);\n }\n\n /**\n * 根据ng-model传进来的checkedItems,来处理list,设置节点checked属性\n * @param list\n * @param checkedItems\n */\n\n }, {\n key: 'formatList',\n value: function formatList(list, checkedItems) {\n var _this4 = this;\n\n checkedItems.forEach(function (item) {\n var targetNode = _this4.getNode(item[_this4.config.fieldOfId], list);\n if (targetNode) {\n targetNode.checked = true;\n }\n });\n }\n\n /**\n * 以下都是工具函数\n */\n /**\n * 根据节点来获取兄弟节点(不包含当前节点)\n * @param node\n */\n\n }, {\n key: 'getSiblings',\n value: function getSiblings(node) {\n var _this5 = this;\n\n if (node[this.config.fieldOfParent]) {\n var _ret = function () {\n var parent = _this5.getNode(node[_this5.config.fieldOfParent], _this5.list);\n var copy = angular.copy(parent[_this5.config.fieldOfChildren]);\n copy.forEach(function (item, index) {\n if (item[_this5.config.fieldOfId] == node[_this5.config.fieldOfId]) {\n copy.splice(index, 1);\n }\n });\n return {\n v: copy\n };\n }();\n\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n }\n }\n\n /**\n * 根据节点id来获取节点\n * @param id\n */\n\n }, {\n key: 'getNode',\n value: function getNode(id, list) {\n var _this6 = this;\n\n var targetNode = void 0;\n var walkList = function walkList(id, list) {\n list.forEach(function (item) {\n if (item[_this6.config.fieldOfId] == id) {\n targetNode = item;\n return false;\n }\n if (item[_this6.config.fieldOfChildren]) {\n walkList(id, item[_this6.config.fieldOfChildren]);\n }\n });\n };\n walkList(id, list);\n return targetNode;\n }\n }]);\n\n return CheckboxtreeController;\n}();\n\nexports.default = CheckboxtreeController;\n\n/***/ },\n\n/***/ 917:\n/***/ function(module, exports) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * Created by fjywan on 16/6/20.\n */\n//此配置主要用于避免或减少数据转换\nvar Config = {\n //指示子节点的字段名\n fieldOfChildren: 'children',\n //指示节点名的字段\n fieldOfName: 'categoryName',\n //指示节点id的字段\n fieldOfId: 'categoryId',\n //指示父节点id的字段\n fieldOfParent: 'parent'\n};\n\nexports.default = Config;\n\n/***/ },\n\n/***/ 918:\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _component = __webpack_require__(915);\n\nvar _component2 = _interopRequireDefault(_component);\n\n__webpack_require__(23);\n\nvar _deprecated = __webpack_require__(413);\n\nvar _deprecated2 = _interopRequireDefault(_deprecated);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar app = angular.module('checkboxtree', ['ui.tree']).component('fCheckboxTree', _component2.default).component('bpCheckboxtree', (0, _deprecated2.default)(_component2.default, 'bp-checkboxtree', ' f-checkbox-tree'));\n\nexports.default = app;\n\n/***/ },\n\n/***/ 985:\n/***/ function(module, exports) {\n\nmodule.exports = \"<section class=\\\"intro-content\\\">\\n\\t<h1 translate='{{vm.$state.current.name}}'></h1>\\n</section>\\n\\n<section class=\\\"intro-content\\\">\\n\\t<h2>{{'Install' | translate}}</h2>\\n\\t<p>{{'Install_FancyUI'|translate}}</p>\\n</section>\\n\\n<div class=\\\"example-block\\\">\\n\\t<div class=\\\"highlight\\\" hljs hljs-language=\\\"bash\\\">\\nnpm install fancyui --save\\nnpm install angular-ui-tree --save</div>\\n</div>\\n\\n<section class=\\\"intro-content\\\">\\n\\t<h2>{{'Inject_Module'|translate}}</h2>\\n</section>\\n\\n<div class=\\\"example-block no-border\\\">\\n\\t<div class=\\\"highlight\\\" hljs hljs-language=\\\"javascript\\\">\\nimport {Checkboxtree} from 'fancyui';\\nexport default angular.module('checkboxtree', [\\n Checkboxtree.name\\n])\\n</div>\\n</div>\\n\\n<h2>{{'Example'|translate}}</h2>\\n<div class=\\\"example-block\\\">\\n\\t<div class=\\\"bs-example pop-confirm-example\\\">\\n\\t\\t<f-checkbox-tree\\n\\t\\t\\tdatasource=\\\"vm.datasource\\\"\\n\\t\\t\\tng-model=\\\"vm.form.category\\\"\\n default-collapsed=\\\"false\\\"\\n\\t\\t\\tconfig=\\\"vm.config\\\"></f-checkbox-tree>\\n\\t</div>\\n</div>\\n\\n<h2>{{'Basic_Usage'|translate}}</h2>\\n<h3>view</h3>\\n<div class=\\\"example-block no-border\\\">\\n<div class=\\\"highlight\\\" hljs hljs-no-escape>\\n<f-checkbox-tree\\n datasource=\\\"vm.datasource\\\"\\n default-collapsed=\\\"true\\\"\\n ng-model=\\\"vm.form.category\\\"\\n config=\\\"vm.config\\\">\\n</f-checkbox-tree>\\n</div>\\n</div>\\n\\n<h3>controller</h3>\\n<div class=\\\"example-block no-border\\\">\\n<div class=\\\"highlight\\\" hljs hljs-language=\\\"javascript\\\">\\nclass CheckboxtreeController {\\n constructor($q, $state, $timeout) {\\n 'ngInject'\\n this.$state = $state;\\n this.$q = $q;\\n $timeout(() => {\\n this.datasource = [{\\n name: '第一个节点',\\n categoryId: 1001,\\n child: [{\\n name: '第一个节点的子节点',\\n categoryId: 1001001,\\n parent: 1001,\\n },\\n {\\n name: '第一个节点的子节点2',\\n parent: 1001,\\n categoryId: 1001002\\n }]\\n },\\n {\\n name: '第二个节点(没有子节点)',\\n categoryId: 1002\\n }];\\n }, 100);\\n //这个配置用于避免或减少数据转换\\n this.config = {\\n //指示子节点的字段名\\n fieldOfChildren: 'child',\\n //指示节点名的字段\\n fieldOfName: 'name',\\n //指示节点id的字段\\n fieldOfId: 'categoryId'\\n };\\n\\n this.form = {};\\n\\n /**发送给服务端的数据,以及数据回填操作 */\\n this.form.category = [\\n {\\n name: '第二个节点(没有子节点)',\\n categoryId: 1002\\n }];\\n\\n }\\n}\\n</div>\\n</div>\\n\"\n\n/***/ }\n\n});\n\n\n// WEBPACK FOOTER //\n// checkboxtree.min.js","module.exports = \"<div ui-tree id=\\\"tree-root\\\" data-nodrop-enabled=\\\"true\\\" data-drag-enabled=\\\"false\\\">\\n <ol ui-tree-nodes ng-model=\\\"vm.list\\\" class=\\\"ui-tree-ol\\\">\\n <li ng-repeat=\\\"node in vm.list\\\" ui-tree-node ng-include=\\\"'goods_nodes_renderer.html'\\\" collapsed=\\\"vm.defaultCollapsed\\\"></li>\\n </ol>\\n</div>\\n\\n<script type=\\\"text/ng-template\\\" id=\\\"goods_nodes_renderer.html\\\">\\n <div ui-tree-handle class=\\\"tree-node tree-node-content\\\">\\n <span class=\\\"toggle-btn\\\" ng-if=\\\"node[vm.config.fieldOfChildren] && node[vm.config.fieldOfChildren].length > 0\\\" data-nodrag ng-click=\\\"toggle(this)\\\">\\n <span class=\\\"glyphicon\\\"\\n ng-class=\\\"{\\n 'glyphicon-triangle-right': collapsed,\\n 'glyphicon-triangle-bottom': !collapsed\\n }\\\"></span>\\n </span>\\n <label class=\\\"goods-node\\\">\\n <input type=\\\"checkbox\\\"\\n ng-model=\\\"node.checked\\\"\\n ng-click=\\\"vm.nodeClickHandler(node)\\\"\\n ng-disabled=\\\"vm.ngDisabled\\\"/>\\n <span class=\\\"glyphicon goods-node-icon\\\"\\n ng-class=\\\"{\\n 'glyphicon-folder-open': node[vm.config.fieldOfChildren] && !collapsed,\\n 'glyphicon-folder-close': node[vm.config.fieldOfChildren] && collapsed,\\n 'glyphicon-file': !node[vm.config.fieldOfChildren]\\n }\\\"></span>\\n {{node[vm.config.fieldOfName] || \\\"地级市地方\\\"}}\\n </label>\\n </div>\\n <ol ui-tree-nodes=\\\"\\\" ng-model=\\\"node[vm.config.fieldOfChildren]\\\" ng-class=\\\"{hidden: collapsed}\\\">\\n <li ng-repeat=\\\"node in node[vm.config.fieldOfChildren]\\\" ui-tree-node ng-include=\\\"'goods_nodes_renderer.html'\\\" collapsed=\\\"node.collapsed\\\">\\n </li>\\n </ol>\\n</script>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/Checkboxtree/template.html\n// module id = 1025\n// module chunks = 20","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!./../../../../node_modules/css-loader/index.js!./../../../../node_modules/less-loader/index.js!./checkboxtree.less\");\nif(typeof content === 'string') content = [[module.id, content, '']];\n// add the styles to the DOM\nvar update = require(\"!./../../../../node_modules/style-loader/addStyles.js\")(content, {});\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(module.hot) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!./../../../../node_modules/css-loader/index.js!./../../../../node_modules/less-loader/index.js!./checkboxtree.less\", function() {\n\t\t\tvar newContent = require(\"!!./../../../../node_modules/css-loader/index.js!./../../../../node_modules/less-loader/index.js!./checkboxtree.less\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./example/app/components/checkboxtree/checkboxtree.less\n// module id = 1053\n// module chunks = 20","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!./../../node_modules/css-loader/index.js!./../../node_modules/less-loader/index.js!./style.less\");\nif(typeof content === 'string') content = [[module.id, content, '']];\n// add the styles to the DOM\nvar update = require(\"!./../../node_modules/style-loader/addStyles.js\")(content, {});\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(module.hot) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!./../../node_modules/css-loader/index.js!./../../node_modules/less-loader/index.js!./style.less\", function() {\n\t\t\tvar newContent = require(\"!!./../../node_modules/css-loader/index.js!./../../node_modules/less-loader/index.js!./style.less\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/Checkboxtree/style.less\n// module id = 1094\n// module chunks = 20","import checkboxtreeComponent from './checkboxtree.component.js';\nimport checkboxtree from '../../../../lib/Checkboxtree/index.js';\n\nexport default angular.module('democheckboxtree', [\n checkboxtree.name\n])\n.component('democheckboxtree', checkboxtreeComponent);\n\n\n\n// WEBPACK FOOTER //\n// ./example/app/components/checkboxtree/checkboxtree.js","function warning(deprecated, recommand) {\n if (!deprecated) {\n console.warn('This version will be obsoleted in next major release, please follow http://www.fancyui.org/ for detail')\n }\n else {\n console.warn(`${deprecated} will be obsoleted in next major release, please use ${recommand} instead` );\n }\n}\n\n/**\n * 废弃组件注入提示\n */\nexport default function (deprecatedComponent, deprecated, recommand) {\n let component = angular.copy(deprecatedComponent);\n /**\n * 单元测试覆盖率会在'ngInjector'之前注入一段函数,导致不能在被$$anotate,出错。\n * 单元测试的时候不需要这个功能,所以简单粗暴try catch即可\n */\n try{\n let controller = component.controller;\n let argsString = angular.injector.$$annotate(component.controller, true);\n\n var $injector = angular.element(document.body).injector();\n /**\n * 伪造controller的构造函数,添加一个warning \n */\n let tempController = function () {\n warning(deprecated, recommand);\n \n let args = [];\n for (var i = 0, len = argsString.length; i < len; i++) {\n args.push($injector.get(argsString[i]));\n }\n \n let instance = Object.create(controller.prototype || null);\n angular.merge(instance,this);\n controller.apply(instance,args);\n \n return instance;\n }\n component.controller = tempController;\n }\n catch(ex){\n\n }\n return component;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./lib/tool/deprecated.js","exports = module.exports = require(\"./../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/less-loader!./example/app/components/checkboxtree/checkboxtree.less\n// module id = 683\n// module chunks = 20","exports = module.exports = require(\"./../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".checkboxtree {\\n color: red;\\n}\\n#tree-root ol {\\n list-style: none;\\n}\\n#tree-root .toggle-btn {\\n cursor: pointer;\\n}\\n#tree-root .angular-ui-tree input[type=\\\"checkbox\\\"]:checked {\\n background-color: #108ee9;\\n border-color: #108ee9;\\n}\\n.angular-ui-tree input[type=\\\"checkbox\\\"]:checked:after {\\n -webkit-transform: rotate(45deg) scale(1);\\n -ms-transform: rotate(45deg) scale(1);\\n transform: rotate(45deg) scale(1);\\n position: absolute;\\n left: 4px;\\n top: 1px;\\n display: table;\\n width: 5px;\\n height: 8px;\\n border: 2px solid #fff;\\n border-top: 0;\\n border-left: 0;\\n content: ' ';\\n -webkit-transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s;\\n transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/less-loader!./lib/Checkboxtree/style.less\n// module id = 724\n// module chunks = 20","import template from './checkboxtree.html';\nimport controller from './checkboxtree.controller.js';\nimport './checkboxtree.less';\n\nexport default {\n restrict: 'E',\n bindings: {},\n template,\n controller,\n controllerAs: 'vm'\n};\n\n\n\n// WEBPACK FOOTER //\n// ./example/app/components/checkboxtree/checkboxtree.component.js","\nexport default class CheckboxtreeController {\n constructor($q, $state, $timeout) {\n 'ngInject'\n this.$state = $state;\n this.$q = $q;\n $timeout(() => {\n this.datasource = [{\n name: '第一个节点',\n categoryId: 1001,\n child: [{\n name: '第一个节点的子节点',\n categoryId: 1001001,\n parent: 1001,\n },\n {\n name: '第一个节点的子节点2',\n parent: 1001,\n categoryId: 1001002\n }]\n },\n {\n name: '第二个节点(没有子节点)',\n categoryId: 1002\n }];\n }, 100);\n //这个配置用于避免或减少数据转换\n this.config = {\n //指示子节点的字段名\n fieldOfChildren: 'child',\n //指示节点名的字段\n fieldOfName: 'name',\n //指示节点id的字段\n fieldOfId: 'categoryId'\n };\n\n this.form = {};\n\n /**发送给服务端的数据,以及数据回填操作 */\n this.form.category = [\n {\n name: '第二个节点(没有子节点)',\n categoryId: 1002\n }];\n\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./example/app/components/checkboxtree/checkboxtree.controller.js","import template from './template.html';\nimport controller from './controller.js';\nimport './style.less';\n\nlet checkboxtreeComponent = {\n restrict: 'E',\n bindings: {\n datasource: '<',\n ngDisabled: '=',\n ngModel: '=',\n config: '<',\n defaultCollapsed:'<'\n },\n template,\n controller,\n controllerAs: 'vm'\n};\n\nexport default checkboxtreeComponent;\n\n\n\n// WEBPACK FOOTER //\n// ./lib/Checkboxtree/component.js","import config from './default.config.js'\nclass CheckboxtreeController {\n constructor($scope) {\n 'ngInject';\n this.name = 'checkboxtree';\n this.config = Object.assign({}, config, this.config);\n\n $scope.$watch(() => {\n return this.datasource\n }, () => {\n if(!this.datasource){\n return;\n }\n this.list = this.datasource;\n this.formatList(this.list, this.ngModel);\n });\n\n this.ngModel ? '' : this.ngModel = [];\n }\n\n /**\n * 节点点击处理:\n * 1. 如果点击的是叶节点:\n * 1.1如果所有兄弟节点都已选中:\n * 1.1.1 如果此节点是checked状态\n * 1.1.1.1 把父节点的状态置为checked\n * 1.1.1.2 重复步骤1.1\n * 1.1.2 如果此节点是unchecked的状态\n * 1.1.2.1 把父节点的状态置为unchecked\n * 1.1.2.1 重复执行1.1\n * 2. 如果点击的是父节点:\n * 2.1 执行1的逻辑;\n * 2.2 toggle所有子节点的check状态:\n * 3. 更新保存已选中节点的数组;\n */\n nodeClickHandler(node) {\n if (!node[this.config.fieldOfChildren]) {\n this.toggleUpNode(node);\n } else {\n this.toggleUpNode(node);\n this.toggleDownNode(node);\n }\n this.updateModel(node);\n }\n\n /**\n * 根据当前节点的checked状态来向上改变父级节点的状态\n */\n toggleUpNode(node) {\n let flag = true, //标记父级状态是否由当前节点决定\n siblings = this.getSiblings(node);\n if(siblings && siblings){\n siblings.forEach((item) => {\n if (!item.checked) {\n flag = false;\n }\n });\n }\n if (flag && node[this.config.fieldOfParent]) { //只有此情况下父节点的check状态才和当前节点有关,且和当前节点的checked状态一致\n let parent = this.getNode(node[this.config.fieldOfParent], this.list);\n parent.checked = node.checked;\n this.updateModel(parent);\n this.toggleUpNode(parent);\n }\n }\n\n /**\n * 根据当前节点的checked状态来向下改变子级节点的状态\n */\n toggleDownNode(node) {\n if (node[this.config.fieldOfChildren]) {\n node[this.config.fieldOfChildren].forEach((item) => {\n item.checked = node.checked;\n this.updateModel(item);\n this.toggleDownNode(item);\n })\n }\n }\n\n /**\n * 监听点击事件,更新保存已选中节点\n * @param node\n */\n updateModel(node){\n if(node.checked){\n this.ngModel.push(node);\n }else{\n let position;\n this.ngModel.forEach((item, index) => {\n if(item[this.config.fieldOfId] == node[this.config.fieldOfId]){\n position = index;\n return;\n }\n });\n this.ngModel.splice(position,1);\n }\n this.ngModel = angular.copy(this.ngModel);\n }\n\n /**\n * 根据ng-model传进来的checkedItems,来处理list,设置节点checked属性\n * @param list\n * @param checkedItems\n */\n formatList(list, checkedItems){\n checkedItems.forEach(item => {\n let targetNode = this.getNode(item[this.config.fieldOfId], list);\n if(targetNode){\n targetNode.checked = true;\n }\n });\n\n }\n\n /**\n * 以下都是工具函数\n */\n /**\n * 根据节点来获取兄弟节点(不包含当前节点)\n * @param node\n */\n getSiblings(node) {\n if(node[this.config.fieldOfParent]){\n let parent = this.getNode(node[this.config.fieldOfParent], this.list);\n let copy = angular.copy(parent[this.config.fieldOfChildren]);\n copy.forEach((item, index) => {\n if (item[this.config.fieldOfId] == node[this.config.fieldOfId]) {\n copy.splice(index, 1);\n }\n });\n return copy;\n }\n }\n\n /**\n * 根据节点id来获取节点\n * @param id\n */\n getNode(id, list) {\n let targetNode;\n let walkList = (id, list) => {\n list.forEach(item => {\n if (item[this.config.fieldOfId] == id) {\n targetNode = item;\n return false;\n }\n if (item[this.config.fieldOfChildren]) {\n walkList(id, item[this.config.fieldOfChildren])\n }\n });\n };\n walkList(id, list);\n return targetNode;\n }\n\n}\n\nexport default CheckboxtreeController;\n\n\n\n// WEBPACK FOOTER //\n// ./lib/Checkboxtree/controller.js","/**\n * Created by fjywan on 16/6/20.\n */\n //此配置主要用于避免或减少数据转换\nlet Config = {\n //指示子节点的字段名\n fieldOfChildren: 'children',\n //指示节点名的字段\n fieldOfName: 'categoryName',\n //指示节点id的字段\n fieldOfId: 'categoryId',\n //指示父节点id的字段\n fieldOfParent: 'parent'\n};\n\n\nexport default Config;\n\n\n\n// WEBPACK FOOTER //\n// ./lib/Checkboxtree/default.config.js","import checkboxtreeComponent from './component.js';\nimport 'angular-ui-tree';\nimport deprecated from '../tool/deprecated';\n\nlet app = angular.module('checkboxtree', [\n 'ui.tree'\n ])\n .component('fCheckboxTree', checkboxtreeComponent)\n .component('bpCheckboxtree',\n deprecated(checkboxtreeComponent, 'bp-checkboxtree', ' f-checkbox-tree'));\n\nexport default app;\n\n\n\n// WEBPACK FOOTER //\n// ./lib/Checkboxtree/index.js","module.exports = \"<section class=\\\"intro-content\\\">\\n\\t<h1 translate='{{vm.$state.current.name}}'></h1>\\n</section>\\n\\n<section class=\\\"intro-content\\\">\\n\\t<h2>{{'Install' | translate}}</h2>\\n\\t<p>{{'Install_FancyUI'|translate}}</p>\\n</section>\\n\\n<div class=\\\"example-block\\\">\\n\\t<div class=\\\"highlight\\\" hljs hljs-language=\\\"bash\\\">\\nnpm install fancyui --save\\nnpm install angular-ui-tree --save</div>\\n</div>\\n\\n<section class=\\\"intro-content\\\">\\n\\t<h2>{{'Inject_Module'|translate}}</h2>\\n</section>\\n\\n<div class=\\\"example-block no-border\\\">\\n\\t<div class=\\\"highlight\\\" hljs hljs-language=\\\"javascript\\\">\\nimport {Checkboxtree} from 'fancyui';\\nexport default angular.module('checkboxtree', [\\n Checkboxtree.name\\n])\\n</div>\\n</div>\\n\\n<h2>{{'Example'|translate}}</h2>\\n<div class=\\\"example-block\\\">\\n\\t<div class=\\\"bs-example pop-confirm-example\\\">\\n\\t\\t<f-checkbox-tree\\n\\t\\t\\tdatasource=\\\"vm.datasource\\\"\\n\\t\\t\\tng-model=\\\"vm.form.category\\\"\\n default-collapsed=\\\"false\\\"\\n\\t\\t\\tconfig=\\\"vm.config\\\"></f-checkbox-tree>\\n\\t</div>\\n</div>\\n\\n<h2>{{'Basic_Usage'|translate}}</h2>\\n<h3>view</h3>\\n<div class=\\\"example-block no-border\\\">\\n<div class=\\\"highlight\\\" hljs hljs-no-escape>\\n<f-checkbox-tree\\n datasource=\\\"vm.datasource\\\"\\n default-collapsed=\\\"true\\\"\\n ng-model=\\\"vm.form.category\\\"\\n config=\\\"vm.config\\\">\\n</f-checkbox-tree>\\n</div>\\n</div>\\n\\n<h3>controller</h3>\\n<div class=\\\"example-block no-border\\\">\\n<div class=\\\"highlight\\\" hljs hljs-language=\\\"javascript\\\">\\nclass CheckboxtreeController {\\n constructor($q, $state, $timeout) {\\n 'ngInject'\\n this.$state = $state;\\n this.$q = $q;\\n $timeout(() => {\\n this.datasource = [{\\n name: '第一个节点',\\n categoryId: 1001,\\n child: [{\\n name: '第一个节点的子节点',\\n categoryId: 1001001,\\n parent: 1001,\\n },\\n {\\n name: '第一个节点的子节点2',\\n parent: 1001,\\n categoryId: 1001002\\n }]\\n },\\n {\\n name: '第二个节点(没有子节点)',\\n categoryId: 1002\\n }];\\n }, 100);\\n //这个配置用于避免或减少数据转换\\n this.config = {\\n //指示子节点的字段名\\n fieldOfChildren: 'child',\\n //指示节点名的字段\\n fieldOfName: 'name',\\n //指示节点id的字段\\n fieldOfId: 'categoryId'\\n };\\n\\n this.form = {};\\n\\n /**发送给服务端的数据,以及数据回填操作 */\\n this.form.category = [\\n {\\n name: '第二个节点(没有子节点)',\\n categoryId: 1002\\n }];\\n\\n }\\n}\\n</div>\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./example/app/components/checkboxtree/checkboxtree.html\n// module id = 985\n// module chunks = 20"],"sourceRoot":""}