├── .browserslistrc ├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── .npmignore ├── .travis.yml ├── README.md ├── babel.config.js ├── dist ├── demo.html ├── v-org-tree.common.js ├── v-org-tree.css ├── v-org-tree.umd.js └── v-org-tree.umd.min.js ├── group.png ├── package.json ├── postcss.config.js ├── public ├── favicon.ico └── index.html ├── src ├── App.vue ├── components │ └── org-tree │ │ ├── index.js │ │ ├── node.js │ │ ├── org-tree.less │ │ └── org-tree.vue ├── data.js └── main.js └── vue.config.js /.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | not ie <= 8 4 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = tabs 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | node: true 5 | }, 6 | 'extends': [ 7 | 'plugin:vue/essential', 8 | '@vue/standard' 9 | ], 10 | rules: { 11 | 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', 12 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' 13 | }, 14 | parserOptions: { 15 | parser: 'babel-eslint' 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | package-lock.json 4 | 5 | # local env files 6 | .env.local 7 | .env.*.local 8 | 9 | # Log files 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | 14 | # Editor directories and files 15 | .idea 16 | .vscode 17 | *.suo 18 | *.ntvs* 19 | *.njsproj 20 | *.sln 21 | *.sw* 22 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .* 2 | *.md 3 | *.yml 4 | public/ 5 | node_modules/ 6 | src/App.vue 7 | src/main.js 8 | gulpfile.js 9 | .config.js 10 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: stable 3 | script: npm run lint 4 | notifications: 5 | email: false 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # v-org-tree 2 | 3 | [![npm](https://img.shields.io/npm/v/v-org-tree.svg)]() 4 | [![Build Status](https://travis-ci.com/lison16/v-org-tree.svg?branch=master)](https://travis-ci.com/lison16/v-org-tree) 5 | 6 | v-org-tree是一个基于Vue.js2封装的组织结构树组件,支持自定义节点和收缩按钮,高自由度定制,有水平和垂直两种方向。 7 | 8 | > 本插件借鉴了[vue-org-tree](https://github.com/hukaibaihu/vue-org-tree)实现数据到结构树的呈现。优化了对数据的更新以及一些操作的方式,添加了一些api。 9 | 10 | #### 作者系列视频课程: 11 | 12 | [Vue技术栈开发实战(26课时)](https://segmentfault.com/ls/1650000016221751?utm_source=recommend_web-live-new) 13 | 14 | [TypeScript完全解读(26课时)](https://segmentfault.com/ls/1650000018455856?utm_source=recommend_web-live-new) 15 | 16 | #### 进群和4000+前后端开发者交流学习 17 | 18 | ![image](https://github.com/lison16/v-org-tree/blob/master/group.png) 19 | 20 | ## Install 21 | ``` 22 | npm install v-org-tree 23 | ``` 24 | 25 | ## Use 26 | ``` 27 | import OrgTree from 'v-org-tree' 28 | import 'v-org-tree/dist/v-org-tree.css' 29 | Vue.use(OrgTree) 30 | ``` 31 | 32 | ## Develop 33 | ``` 34 | npm install 35 | npm run serve 36 | ``` 37 | 38 | ## Props 39 | prop | descripton | type | default 40 | ------------------|------------------------------|:----------------------:|--------------------- 41 | data | 传入的树状数据 | Object | - 42 | horizontal | 是否垂直 | Boolean | false 43 | props | 用来指明数据中几个重要字段的命名 | Object | `{ id: 'id', label: 'label', children: 'children', expand: 'expand' }` 44 | label-width | 节点的宽度,不设则随文字宽度自适应| String \| Number | 'auto' 45 | collapsable | 是否可收缩 | Boolean | true 46 | node-render | 渲染节点的render函数 | Function | - 47 | button-render | 渲染收缩按钮的render函数 | Function | - 48 | label-class-name | 节点自定义类名,可以是函数,参数是当前节点数据对象| Function \| String | - 49 | expandAll | 是否展开所有节点 | Boolean | false 50 | 51 | ## Events 52 | event | descripton | arguments 53 | ------------------|-----------------------------|------------------------------ 54 | on-expand | 当任一节点收缩状态改变时触发 | data(当前节点数据), status(当前节点是否展开) 55 | on-node-click | 点击节点时触发 | event(鼠标事件对象), data(当前节点数据), expand(是一个方法,如果点击该节点需要收缩,需要调用次方法) 56 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /dist/demo.html: -------------------------------------------------------------------------------- 1 | 2 | v-org-tree demo 3 | 4 | 5 | 6 | 7 | 8 | 11 | -------------------------------------------------------------------------------- /dist/v-org-tree.common.js: -------------------------------------------------------------------------------- 1 | module.exports = 2 | /******/ (function(modules) { // webpackBootstrap 3 | /******/ // The module cache 4 | /******/ var installedModules = {}; 5 | /******/ 6 | /******/ // The require function 7 | /******/ function __webpack_require__(moduleId) { 8 | /******/ 9 | /******/ // Check if module is in cache 10 | /******/ if(installedModules[moduleId]) { 11 | /******/ return installedModules[moduleId].exports; 12 | /******/ } 13 | /******/ // Create a new module (and put it into the cache) 14 | /******/ var module = installedModules[moduleId] = { 15 | /******/ i: moduleId, 16 | /******/ l: false, 17 | /******/ exports: {} 18 | /******/ }; 19 | /******/ 20 | /******/ // Execute the module function 21 | /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 22 | /******/ 23 | /******/ // Flag the module as loaded 24 | /******/ module.l = true; 25 | /******/ 26 | /******/ // Return the exports of the module 27 | /******/ return module.exports; 28 | /******/ } 29 | /******/ 30 | /******/ 31 | /******/ // expose the modules object (__webpack_modules__) 32 | /******/ __webpack_require__.m = modules; 33 | /******/ 34 | /******/ // expose the module cache 35 | /******/ __webpack_require__.c = installedModules; 36 | /******/ 37 | /******/ // define getter function for harmony exports 38 | /******/ __webpack_require__.d = function(exports, name, getter) { 39 | /******/ if(!__webpack_require__.o(exports, name)) { 40 | /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); 41 | /******/ } 42 | /******/ }; 43 | /******/ 44 | /******/ // define __esModule on exports 45 | /******/ __webpack_require__.r = function(exports) { 46 | /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 47 | /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 48 | /******/ } 49 | /******/ Object.defineProperty(exports, '__esModule', { value: true }); 50 | /******/ }; 51 | /******/ 52 | /******/ // create a fake namespace object 53 | /******/ // mode & 1: value is a module id, require it 54 | /******/ // mode & 2: merge all properties of value into the ns 55 | /******/ // mode & 4: return value when already ns object 56 | /******/ // mode & 8|1: behave like require 57 | /******/ __webpack_require__.t = function(value, mode) { 58 | /******/ if(mode & 1) value = __webpack_require__(value); 59 | /******/ if(mode & 8) return value; 60 | /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; 61 | /******/ var ns = Object.create(null); 62 | /******/ __webpack_require__.r(ns); 63 | /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); 64 | /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); 65 | /******/ return ns; 66 | /******/ }; 67 | /******/ 68 | /******/ // getDefaultExport function for compatibility with non-harmony modules 69 | /******/ __webpack_require__.n = function(module) { 70 | /******/ var getter = module && module.__esModule ? 71 | /******/ function getDefault() { return module['default']; } : 72 | /******/ function getModuleExports() { return module; }; 73 | /******/ __webpack_require__.d(getter, 'a', getter); 74 | /******/ return getter; 75 | /******/ }; 76 | /******/ 77 | /******/ // Object.prototype.hasOwnProperty.call 78 | /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 79 | /******/ 80 | /******/ // __webpack_public_path__ 81 | /******/ __webpack_require__.p = ""; 82 | /******/ 83 | /******/ 84 | /******/ // Load entry module and return exports 85 | /******/ return __webpack_require__(__webpack_require__.s = "fb15"); 86 | /******/ }) 87 | /************************************************************************/ 88 | /******/ ({ 89 | 90 | /***/ "01f9": 91 | /***/ (function(module, exports, __webpack_require__) { 92 | 93 | "use strict"; 94 | 95 | var LIBRARY = __webpack_require__("2d00"); 96 | var $export = __webpack_require__("5ca1"); 97 | var redefine = __webpack_require__("2aba"); 98 | var hide = __webpack_require__("32e9"); 99 | var Iterators = __webpack_require__("84f2"); 100 | var $iterCreate = __webpack_require__("41a0"); 101 | var setToStringTag = __webpack_require__("7f20"); 102 | var getPrototypeOf = __webpack_require__("38fd"); 103 | var ITERATOR = __webpack_require__("2b4c")('iterator'); 104 | var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` 105 | var FF_ITERATOR = '@@iterator'; 106 | var KEYS = 'keys'; 107 | var VALUES = 'values'; 108 | 109 | var returnThis = function () { return this; }; 110 | 111 | module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { 112 | $iterCreate(Constructor, NAME, next); 113 | var getMethod = function (kind) { 114 | if (!BUGGY && kind in proto) return proto[kind]; 115 | switch (kind) { 116 | case KEYS: return function keys() { return new Constructor(this, kind); }; 117 | case VALUES: return function values() { return new Constructor(this, kind); }; 118 | } return function entries() { return new Constructor(this, kind); }; 119 | }; 120 | var TAG = NAME + ' Iterator'; 121 | var DEF_VALUES = DEFAULT == VALUES; 122 | var VALUES_BUG = false; 123 | var proto = Base.prototype; 124 | var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; 125 | var $default = $native || getMethod(DEFAULT); 126 | var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; 127 | var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; 128 | var methods, key, IteratorPrototype; 129 | // Fix native 130 | if ($anyNative) { 131 | IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); 132 | if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { 133 | // Set @@toStringTag to native iterators 134 | setToStringTag(IteratorPrototype, TAG, true); 135 | // fix for some old engines 136 | if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); 137 | } 138 | } 139 | // fix Array#{values, @@iterator}.name in V8 / FF 140 | if (DEF_VALUES && $native && $native.name !== VALUES) { 141 | VALUES_BUG = true; 142 | $default = function values() { return $native.call(this); }; 143 | } 144 | // Define iterator 145 | if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { 146 | hide(proto, ITERATOR, $default); 147 | } 148 | // Plug for library 149 | Iterators[NAME] = $default; 150 | Iterators[TAG] = returnThis; 151 | if (DEFAULT) { 152 | methods = { 153 | values: DEF_VALUES ? $default : getMethod(VALUES), 154 | keys: IS_SET ? $default : getMethod(KEYS), 155 | entries: $entries 156 | }; 157 | if (FORCED) for (key in methods) { 158 | if (!(key in proto)) redefine(proto, key, methods[key]); 159 | } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); 160 | } 161 | return methods; 162 | }; 163 | 164 | 165 | /***/ }), 166 | 167 | /***/ "07e3": 168 | /***/ (function(module, exports) { 169 | 170 | var hasOwnProperty = {}.hasOwnProperty; 171 | module.exports = function (it, key) { 172 | return hasOwnProperty.call(it, key); 173 | }; 174 | 175 | 176 | /***/ }), 177 | 178 | /***/ "0d58": 179 | /***/ (function(module, exports, __webpack_require__) { 180 | 181 | // 19.1.2.14 / 15.2.3.14 Object.keys(O) 182 | var $keys = __webpack_require__("ce10"); 183 | var enumBugKeys = __webpack_require__("e11e"); 184 | 185 | module.exports = Object.keys || function keys(O) { 186 | return $keys(O, enumBugKeys); 187 | }; 188 | 189 | 190 | /***/ }), 191 | 192 | /***/ "11e9": 193 | /***/ (function(module, exports, __webpack_require__) { 194 | 195 | var pIE = __webpack_require__("52a7"); 196 | var createDesc = __webpack_require__("4630"); 197 | var toIObject = __webpack_require__("6821"); 198 | var toPrimitive = __webpack_require__("6a99"); 199 | var has = __webpack_require__("69a8"); 200 | var IE8_DOM_DEFINE = __webpack_require__("c69a"); 201 | var gOPD = Object.getOwnPropertyDescriptor; 202 | 203 | exports.f = __webpack_require__("9e1e") ? gOPD : function getOwnPropertyDescriptor(O, P) { 204 | O = toIObject(O); 205 | P = toPrimitive(P, true); 206 | if (IE8_DOM_DEFINE) try { 207 | return gOPD(O, P); 208 | } catch (e) { /* empty */ } 209 | if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); 210 | }; 211 | 212 | 213 | /***/ }), 214 | 215 | /***/ "1495": 216 | /***/ (function(module, exports, __webpack_require__) { 217 | 218 | var dP = __webpack_require__("86cc"); 219 | var anObject = __webpack_require__("cb7c"); 220 | var getKeys = __webpack_require__("0d58"); 221 | 222 | module.exports = __webpack_require__("9e1e") ? Object.defineProperties : function defineProperties(O, Properties) { 223 | anObject(O); 224 | var keys = getKeys(Properties); 225 | var length = keys.length; 226 | var i = 0; 227 | var P; 228 | while (length > i) dP.f(O, P = keys[i++], Properties[P]); 229 | return O; 230 | }; 231 | 232 | 233 | /***/ }), 234 | 235 | /***/ "1af6": 236 | /***/ (function(module, exports, __webpack_require__) { 237 | 238 | // 22.1.2.2 / 15.4.3.2 Array.isArray(arg) 239 | var $export = __webpack_require__("63b6"); 240 | 241 | $export($export.S, 'Array', { isArray: __webpack_require__("9003") }); 242 | 243 | 244 | /***/ }), 245 | 246 | /***/ "1bc3": 247 | /***/ (function(module, exports, __webpack_require__) { 248 | 249 | // 7.1.1 ToPrimitive(input [, PreferredType]) 250 | var isObject = __webpack_require__("f772"); 251 | // instead of the ES6 spec version, we didn't implement @@toPrimitive case 252 | // and the second argument - flag - preferred type is a string 253 | module.exports = function (it, S) { 254 | if (!isObject(it)) return it; 255 | var fn, val; 256 | if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; 257 | if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; 258 | if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; 259 | throw TypeError("Can't convert object to primitive value"); 260 | }; 261 | 262 | 263 | /***/ }), 264 | 265 | /***/ "1ec9": 266 | /***/ (function(module, exports, __webpack_require__) { 267 | 268 | var isObject = __webpack_require__("f772"); 269 | var document = __webpack_require__("e53d").document; 270 | // typeof document.createElement is 'object' in old IE 271 | var is = isObject(document) && isObject(document.createElement); 272 | module.exports = function (it) { 273 | return is ? document.createElement(it) : {}; 274 | }; 275 | 276 | 277 | /***/ }), 278 | 279 | /***/ "230e": 280 | /***/ (function(module, exports, __webpack_require__) { 281 | 282 | var isObject = __webpack_require__("d3f4"); 283 | var document = __webpack_require__("7726").document; 284 | // typeof document.createElement is 'object' in old IE 285 | var is = isObject(document) && isObject(document.createElement); 286 | module.exports = function (it) { 287 | return is ? document.createElement(it) : {}; 288 | }; 289 | 290 | 291 | /***/ }), 292 | 293 | /***/ "294c": 294 | /***/ (function(module, exports) { 295 | 296 | module.exports = function (exec) { 297 | try { 298 | return !!exec(); 299 | } catch (e) { 300 | return true; 301 | } 302 | }; 303 | 304 | 305 | /***/ }), 306 | 307 | /***/ "2aba": 308 | /***/ (function(module, exports, __webpack_require__) { 309 | 310 | var global = __webpack_require__("7726"); 311 | var hide = __webpack_require__("32e9"); 312 | var has = __webpack_require__("69a8"); 313 | var SRC = __webpack_require__("ca5a")('src'); 314 | var $toString = __webpack_require__("fa5b"); 315 | var TO_STRING = 'toString'; 316 | var TPL = ('' + $toString).split(TO_STRING); 317 | 318 | __webpack_require__("8378").inspectSource = function (it) { 319 | return $toString.call(it); 320 | }; 321 | 322 | (module.exports = function (O, key, val, safe) { 323 | var isFunction = typeof val == 'function'; 324 | if (isFunction) has(val, 'name') || hide(val, 'name', key); 325 | if (O[key] === val) return; 326 | if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); 327 | if (O === global) { 328 | O[key] = val; 329 | } else if (!safe) { 330 | delete O[key]; 331 | hide(O, key, val); 332 | } else if (O[key]) { 333 | O[key] = val; 334 | } else { 335 | hide(O, key, val); 336 | } 337 | // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative 338 | })(Function.prototype, TO_STRING, function toString() { 339 | return typeof this == 'function' && this[SRC] || $toString.call(this); 340 | }); 341 | 342 | 343 | /***/ }), 344 | 345 | /***/ "2aeb": 346 | /***/ (function(module, exports, __webpack_require__) { 347 | 348 | // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) 349 | var anObject = __webpack_require__("cb7c"); 350 | var dPs = __webpack_require__("1495"); 351 | var enumBugKeys = __webpack_require__("e11e"); 352 | var IE_PROTO = __webpack_require__("613b")('IE_PROTO'); 353 | var Empty = function () { /* empty */ }; 354 | var PROTOTYPE = 'prototype'; 355 | 356 | // Create object with fake `null` prototype: use iframe Object with cleared prototype 357 | var createDict = function () { 358 | // Thrash, waste and sodomy: IE GC bug 359 | var iframe = __webpack_require__("230e")('iframe'); 360 | var i = enumBugKeys.length; 361 | var lt = '<'; 362 | var gt = '>'; 363 | var iframeDocument; 364 | iframe.style.display = 'none'; 365 | __webpack_require__("fab2").appendChild(iframe); 366 | iframe.src = 'javascript:'; // eslint-disable-line no-script-url 367 | // createDict = iframe.contentWindow.Object; 368 | // html.removeChild(iframe); 369 | iframeDocument = iframe.contentWindow.document; 370 | iframeDocument.open(); 371 | iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); 372 | iframeDocument.close(); 373 | createDict = iframeDocument.F; 374 | while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; 375 | return createDict(); 376 | }; 377 | 378 | module.exports = Object.create || function create(O, Properties) { 379 | var result; 380 | if (O !== null) { 381 | Empty[PROTOTYPE] = anObject(O); 382 | result = new Empty(); 383 | Empty[PROTOTYPE] = null; 384 | // add "__proto__" for Object.getPrototypeOf polyfill 385 | result[IE_PROTO] = O; 386 | } else result = createDict(); 387 | return Properties === undefined ? result : dPs(result, Properties); 388 | }; 389 | 390 | 391 | /***/ }), 392 | 393 | /***/ "2b4c": 394 | /***/ (function(module, exports, __webpack_require__) { 395 | 396 | var store = __webpack_require__("5537")('wks'); 397 | var uid = __webpack_require__("ca5a"); 398 | var Symbol = __webpack_require__("7726").Symbol; 399 | var USE_SYMBOL = typeof Symbol == 'function'; 400 | 401 | var $exports = module.exports = function (name) { 402 | return store[name] || (store[name] = 403 | USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); 404 | }; 405 | 406 | $exports.store = store; 407 | 408 | 409 | /***/ }), 410 | 411 | /***/ "2d00": 412 | /***/ (function(module, exports) { 413 | 414 | module.exports = false; 415 | 416 | 417 | /***/ }), 418 | 419 | /***/ "2d95": 420 | /***/ (function(module, exports) { 421 | 422 | var toString = {}.toString; 423 | 424 | module.exports = function (it) { 425 | return toString.call(it).slice(8, -1); 426 | }; 427 | 428 | 429 | /***/ }), 430 | 431 | /***/ "32e9": 432 | /***/ (function(module, exports, __webpack_require__) { 433 | 434 | var dP = __webpack_require__("86cc"); 435 | var createDesc = __webpack_require__("4630"); 436 | module.exports = __webpack_require__("9e1e") ? function (object, key, value) { 437 | return dP.f(object, key, createDesc(1, value)); 438 | } : function (object, key, value) { 439 | object[key] = value; 440 | return object; 441 | }; 442 | 443 | 444 | /***/ }), 445 | 446 | /***/ "35e8": 447 | /***/ (function(module, exports, __webpack_require__) { 448 | 449 | var dP = __webpack_require__("d9f6"); 450 | var createDesc = __webpack_require__("aebd"); 451 | module.exports = __webpack_require__("8e60") ? function (object, key, value) { 452 | return dP.f(object, key, createDesc(1, value)); 453 | } : function (object, key, value) { 454 | object[key] = value; 455 | return object; 456 | }; 457 | 458 | 459 | /***/ }), 460 | 461 | /***/ "38fd": 462 | /***/ (function(module, exports, __webpack_require__) { 463 | 464 | // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) 465 | var has = __webpack_require__("69a8"); 466 | var toObject = __webpack_require__("4bf8"); 467 | var IE_PROTO = __webpack_require__("613b")('IE_PROTO'); 468 | var ObjectProto = Object.prototype; 469 | 470 | module.exports = Object.getPrototypeOf || function (O) { 471 | O = toObject(O); 472 | if (has(O, IE_PROTO)) return O[IE_PROTO]; 473 | if (typeof O.constructor == 'function' && O instanceof O.constructor) { 474 | return O.constructor.prototype; 475 | } return O instanceof Object ? ObjectProto : null; 476 | }; 477 | 478 | 479 | /***/ }), 480 | 481 | /***/ "41a0": 482 | /***/ (function(module, exports, __webpack_require__) { 483 | 484 | "use strict"; 485 | 486 | var create = __webpack_require__("2aeb"); 487 | var descriptor = __webpack_require__("4630"); 488 | var setToStringTag = __webpack_require__("7f20"); 489 | var IteratorPrototype = {}; 490 | 491 | // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() 492 | __webpack_require__("32e9")(IteratorPrototype, __webpack_require__("2b4c")('iterator'), function () { return this; }); 493 | 494 | module.exports = function (Constructor, NAME, next) { 495 | Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); 496 | setToStringTag(Constructor, NAME + ' Iterator'); 497 | }; 498 | 499 | 500 | /***/ }), 501 | 502 | /***/ "4588": 503 | /***/ (function(module, exports) { 504 | 505 | // 7.1.4 ToInteger 506 | var ceil = Math.ceil; 507 | var floor = Math.floor; 508 | module.exports = function (it) { 509 | return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); 510 | }; 511 | 512 | 513 | /***/ }), 514 | 515 | /***/ "4630": 516 | /***/ (function(module, exports) { 517 | 518 | module.exports = function (bitmap, value) { 519 | return { 520 | enumerable: !(bitmap & 1), 521 | configurable: !(bitmap & 2), 522 | writable: !(bitmap & 4), 523 | value: value 524 | }; 525 | }; 526 | 527 | 528 | /***/ }), 529 | 530 | /***/ "4bf8": 531 | /***/ (function(module, exports, __webpack_require__) { 532 | 533 | // 7.1.13 ToObject(argument) 534 | var defined = __webpack_require__("be13"); 535 | module.exports = function (it) { 536 | return Object(defined(it)); 537 | }; 538 | 539 | 540 | /***/ }), 541 | 542 | /***/ "52a7": 543 | /***/ (function(module, exports) { 544 | 545 | exports.f = {}.propertyIsEnumerable; 546 | 547 | 548 | /***/ }), 549 | 550 | /***/ "5537": 551 | /***/ (function(module, exports, __webpack_require__) { 552 | 553 | var core = __webpack_require__("8378"); 554 | var global = __webpack_require__("7726"); 555 | var SHARED = '__core-js_shared__'; 556 | var store = global[SHARED] || (global[SHARED] = {}); 557 | 558 | (module.exports = function (key, value) { 559 | return store[key] || (store[key] = value !== undefined ? value : {}); 560 | })('versions', []).push({ 561 | version: core.version, 562 | mode: __webpack_require__("2d00") ? 'pure' : 'global', 563 | copyright: '© 2019 Denis Pushkarev (zloirock.ru)' 564 | }); 565 | 566 | 567 | /***/ }), 568 | 569 | /***/ "584a": 570 | /***/ (function(module, exports) { 571 | 572 | var core = module.exports = { version: '2.6.5' }; 573 | if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef 574 | 575 | 576 | /***/ }), 577 | 578 | /***/ "5ca1": 579 | /***/ (function(module, exports, __webpack_require__) { 580 | 581 | var global = __webpack_require__("7726"); 582 | var core = __webpack_require__("8378"); 583 | var hide = __webpack_require__("32e9"); 584 | var redefine = __webpack_require__("2aba"); 585 | var ctx = __webpack_require__("9b43"); 586 | var PROTOTYPE = 'prototype'; 587 | 588 | var $export = function (type, name, source) { 589 | var IS_FORCED = type & $export.F; 590 | var IS_GLOBAL = type & $export.G; 591 | var IS_STATIC = type & $export.S; 592 | var IS_PROTO = type & $export.P; 593 | var IS_BIND = type & $export.B; 594 | var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]; 595 | var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); 596 | var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}); 597 | var key, own, out, exp; 598 | if (IS_GLOBAL) source = name; 599 | for (key in source) { 600 | // contains in native 601 | own = !IS_FORCED && target && target[key] !== undefined; 602 | // export native or passed 603 | out = (own ? target : source)[key]; 604 | // bind timers to global for call from export context 605 | exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; 606 | // extend global 607 | if (target) redefine(target, key, out, type & $export.U); 608 | // export 609 | if (exports[key] != out) hide(exports, key, exp); 610 | if (IS_PROTO && expProto[key] != out) expProto[key] = out; 611 | } 612 | }; 613 | global.core = core; 614 | // type bitmap 615 | $export.F = 1; // forced 616 | $export.G = 2; // global 617 | $export.S = 4; // static 618 | $export.P = 8; // proto 619 | $export.B = 16; // bind 620 | $export.W = 32; // wrap 621 | $export.U = 64; // safe 622 | $export.R = 128; // real proto method for `library` 623 | module.exports = $export; 624 | 625 | 626 | /***/ }), 627 | 628 | /***/ "5dbc": 629 | /***/ (function(module, exports, __webpack_require__) { 630 | 631 | var isObject = __webpack_require__("d3f4"); 632 | var setPrototypeOf = __webpack_require__("8b97").set; 633 | module.exports = function (that, target, C) { 634 | var S = target.constructor; 635 | var P; 636 | if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) { 637 | setPrototypeOf(that, P); 638 | } return that; 639 | }; 640 | 641 | 642 | /***/ }), 643 | 644 | /***/ "613b": 645 | /***/ (function(module, exports, __webpack_require__) { 646 | 647 | var shared = __webpack_require__("5537")('keys'); 648 | var uid = __webpack_require__("ca5a"); 649 | module.exports = function (key) { 650 | return shared[key] || (shared[key] = uid(key)); 651 | }; 652 | 653 | 654 | /***/ }), 655 | 656 | /***/ "626a": 657 | /***/ (function(module, exports, __webpack_require__) { 658 | 659 | // fallback for non-array-like ES3 and non-enumerable old V8 strings 660 | var cof = __webpack_require__("2d95"); 661 | // eslint-disable-next-line no-prototype-builtins 662 | module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { 663 | return cof(it) == 'String' ? it.split('') : Object(it); 664 | }; 665 | 666 | 667 | /***/ }), 668 | 669 | /***/ "63b6": 670 | /***/ (function(module, exports, __webpack_require__) { 671 | 672 | var global = __webpack_require__("e53d"); 673 | var core = __webpack_require__("584a"); 674 | var ctx = __webpack_require__("d864"); 675 | var hide = __webpack_require__("35e8"); 676 | var has = __webpack_require__("07e3"); 677 | var PROTOTYPE = 'prototype'; 678 | 679 | var $export = function (type, name, source) { 680 | var IS_FORCED = type & $export.F; 681 | var IS_GLOBAL = type & $export.G; 682 | var IS_STATIC = type & $export.S; 683 | var IS_PROTO = type & $export.P; 684 | var IS_BIND = type & $export.B; 685 | var IS_WRAP = type & $export.W; 686 | var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); 687 | var expProto = exports[PROTOTYPE]; 688 | var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]; 689 | var key, own, out; 690 | if (IS_GLOBAL) source = name; 691 | for (key in source) { 692 | // contains in native 693 | own = !IS_FORCED && target && target[key] !== undefined; 694 | if (own && has(exports, key)) continue; 695 | // export native or passed 696 | out = own ? target[key] : source[key]; 697 | // prevent global pollution for namespaces 698 | exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key] 699 | // bind timers to global for call from export context 700 | : IS_BIND && own ? ctx(out, global) 701 | // wrap global constructors for prevent change them in library 702 | : IS_WRAP && target[key] == out ? (function (C) { 703 | var F = function (a, b, c) { 704 | if (this instanceof C) { 705 | switch (arguments.length) { 706 | case 0: return new C(); 707 | case 1: return new C(a); 708 | case 2: return new C(a, b); 709 | } return new C(a, b, c); 710 | } return C.apply(this, arguments); 711 | }; 712 | F[PROTOTYPE] = C[PROTOTYPE]; 713 | return F; 714 | // make static versions for prototype methods 715 | })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; 716 | // export proto methods to core.%CONSTRUCTOR%.methods.%NAME% 717 | if (IS_PROTO) { 718 | (exports.virtual || (exports.virtual = {}))[key] = out; 719 | // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME% 720 | if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out); 721 | } 722 | } 723 | }; 724 | // type bitmap 725 | $export.F = 1; // forced 726 | $export.G = 2; // global 727 | $export.S = 4; // static 728 | $export.P = 8; // proto 729 | $export.B = 16; // bind 730 | $export.W = 32; // wrap 731 | $export.U = 64; // safe 732 | $export.R = 128; // real proto method for `library` 733 | module.exports = $export; 734 | 735 | 736 | /***/ }), 737 | 738 | /***/ "6821": 739 | /***/ (function(module, exports, __webpack_require__) { 740 | 741 | // to indexed object, toObject with fallback for non-array-like ES3 strings 742 | var IObject = __webpack_require__("626a"); 743 | var defined = __webpack_require__("be13"); 744 | module.exports = function (it) { 745 | return IObject(defined(it)); 746 | }; 747 | 748 | 749 | /***/ }), 750 | 751 | /***/ "69a8": 752 | /***/ (function(module, exports) { 753 | 754 | var hasOwnProperty = {}.hasOwnProperty; 755 | module.exports = function (it, key) { 756 | return hasOwnProperty.call(it, key); 757 | }; 758 | 759 | 760 | /***/ }), 761 | 762 | /***/ "6a99": 763 | /***/ (function(module, exports, __webpack_require__) { 764 | 765 | // 7.1.1 ToPrimitive(input [, PreferredType]) 766 | var isObject = __webpack_require__("d3f4"); 767 | // instead of the ES6 spec version, we didn't implement @@toPrimitive case 768 | // and the second argument - flag - preferred type is a string 769 | module.exports = function (it, S) { 770 | if (!isObject(it)) return it; 771 | var fn, val; 772 | if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; 773 | if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; 774 | if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; 775 | throw TypeError("Can't convert object to primitive value"); 776 | }; 777 | 778 | 779 | /***/ }), 780 | 781 | /***/ "6b4c": 782 | /***/ (function(module, exports) { 783 | 784 | var toString = {}.toString; 785 | 786 | module.exports = function (it) { 787 | return toString.call(it).slice(8, -1); 788 | }; 789 | 790 | 791 | /***/ }), 792 | 793 | /***/ "7726": 794 | /***/ (function(module, exports) { 795 | 796 | // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 797 | var global = module.exports = typeof window != 'undefined' && window.Math == Math 798 | ? window : typeof self != 'undefined' && self.Math == Math ? self 799 | // eslint-disable-next-line no-new-func 800 | : Function('return this')(); 801 | if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef 802 | 803 | 804 | /***/ }), 805 | 806 | /***/ "77f1": 807 | /***/ (function(module, exports, __webpack_require__) { 808 | 809 | var toInteger = __webpack_require__("4588"); 810 | var max = Math.max; 811 | var min = Math.min; 812 | module.exports = function (index, length) { 813 | index = toInteger(index); 814 | return index < 0 ? max(index + length, 0) : min(index, length); 815 | }; 816 | 817 | 818 | /***/ }), 819 | 820 | /***/ "794b": 821 | /***/ (function(module, exports, __webpack_require__) { 822 | 823 | module.exports = !__webpack_require__("8e60") && !__webpack_require__("294c")(function () { 824 | return Object.defineProperty(__webpack_require__("1ec9")('div'), 'a', { get: function () { return 7; } }).a != 7; 825 | }); 826 | 827 | 828 | /***/ }), 829 | 830 | /***/ "79aa": 831 | /***/ (function(module, exports) { 832 | 833 | module.exports = function (it) { 834 | if (typeof it != 'function') throw TypeError(it + ' is not a function!'); 835 | return it; 836 | }; 837 | 838 | 839 | /***/ }), 840 | 841 | /***/ "79e5": 842 | /***/ (function(module, exports) { 843 | 844 | module.exports = function (exec) { 845 | try { 846 | return !!exec(); 847 | } catch (e) { 848 | return true; 849 | } 850 | }; 851 | 852 | 853 | /***/ }), 854 | 855 | /***/ "7f20": 856 | /***/ (function(module, exports, __webpack_require__) { 857 | 858 | var def = __webpack_require__("86cc").f; 859 | var has = __webpack_require__("69a8"); 860 | var TAG = __webpack_require__("2b4c")('toStringTag'); 861 | 862 | module.exports = function (it, tag, stat) { 863 | if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); 864 | }; 865 | 866 | 867 | /***/ }), 868 | 869 | /***/ "7f7f": 870 | /***/ (function(module, exports, __webpack_require__) { 871 | 872 | var dP = __webpack_require__("86cc").f; 873 | var FProto = Function.prototype; 874 | var nameRE = /^\s*function ([^ (]*)/; 875 | var NAME = 'name'; 876 | 877 | // 19.2.4.2 name 878 | NAME in FProto || __webpack_require__("9e1e") && dP(FProto, NAME, { 879 | configurable: true, 880 | get: function () { 881 | try { 882 | return ('' + this).match(nameRE)[1]; 883 | } catch (e) { 884 | return ''; 885 | } 886 | } 887 | }); 888 | 889 | 890 | /***/ }), 891 | 892 | /***/ "8378": 893 | /***/ (function(module, exports) { 894 | 895 | var core = module.exports = { version: '2.6.5' }; 896 | if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef 897 | 898 | 899 | /***/ }), 900 | 901 | /***/ "84f2": 902 | /***/ (function(module, exports) { 903 | 904 | module.exports = {}; 905 | 906 | 907 | /***/ }), 908 | 909 | /***/ "86cc": 910 | /***/ (function(module, exports, __webpack_require__) { 911 | 912 | var anObject = __webpack_require__("cb7c"); 913 | var IE8_DOM_DEFINE = __webpack_require__("c69a"); 914 | var toPrimitive = __webpack_require__("6a99"); 915 | var dP = Object.defineProperty; 916 | 917 | exports.f = __webpack_require__("9e1e") ? Object.defineProperty : function defineProperty(O, P, Attributes) { 918 | anObject(O); 919 | P = toPrimitive(P, true); 920 | anObject(Attributes); 921 | if (IE8_DOM_DEFINE) try { 922 | return dP(O, P, Attributes); 923 | } catch (e) { /* empty */ } 924 | if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); 925 | if ('value' in Attributes) O[P] = Attributes.value; 926 | return O; 927 | }; 928 | 929 | 930 | /***/ }), 931 | 932 | /***/ "8b97": 933 | /***/ (function(module, exports, __webpack_require__) { 934 | 935 | // Works with __proto__ only. Old v8 can't work with null proto objects. 936 | /* eslint-disable no-proto */ 937 | var isObject = __webpack_require__("d3f4"); 938 | var anObject = __webpack_require__("cb7c"); 939 | var check = function (O, proto) { 940 | anObject(O); 941 | if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); 942 | }; 943 | module.exports = { 944 | set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line 945 | function (test, buggy, set) { 946 | try { 947 | set = __webpack_require__("9b43")(Function.call, __webpack_require__("11e9").f(Object.prototype, '__proto__').set, 2); 948 | set(test, []); 949 | buggy = !(test instanceof Array); 950 | } catch (e) { buggy = true; } 951 | return function setPrototypeOf(O, proto) { 952 | check(O, proto); 953 | if (buggy) O.__proto__ = proto; 954 | else set(O, proto); 955 | return O; 956 | }; 957 | }({}, false) : undefined), 958 | check: check 959 | }; 960 | 961 | 962 | /***/ }), 963 | 964 | /***/ "8e60": 965 | /***/ (function(module, exports, __webpack_require__) { 966 | 967 | // Thank's IE8 for his funny defineProperty 968 | module.exports = !__webpack_require__("294c")(function () { 969 | return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; 970 | }); 971 | 972 | 973 | /***/ }), 974 | 975 | /***/ "9003": 976 | /***/ (function(module, exports, __webpack_require__) { 977 | 978 | // 7.2.2 IsArray(argument) 979 | var cof = __webpack_require__("6b4c"); 980 | module.exports = Array.isArray || function isArray(arg) { 981 | return cof(arg) == 'Array'; 982 | }; 983 | 984 | 985 | /***/ }), 986 | 987 | /***/ "9093": 988 | /***/ (function(module, exports, __webpack_require__) { 989 | 990 | // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) 991 | var $keys = __webpack_require__("ce10"); 992 | var hiddenKeys = __webpack_require__("e11e").concat('length', 'prototype'); 993 | 994 | exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { 995 | return $keys(O, hiddenKeys); 996 | }; 997 | 998 | 999 | /***/ }), 1000 | 1001 | /***/ "9b43": 1002 | /***/ (function(module, exports, __webpack_require__) { 1003 | 1004 | // optional / simple context binding 1005 | var aFunction = __webpack_require__("d8e8"); 1006 | module.exports = function (fn, that, length) { 1007 | aFunction(fn); 1008 | if (that === undefined) return fn; 1009 | switch (length) { 1010 | case 1: return function (a) { 1011 | return fn.call(that, a); 1012 | }; 1013 | case 2: return function (a, b) { 1014 | return fn.call(that, a, b); 1015 | }; 1016 | case 3: return function (a, b, c) { 1017 | return fn.call(that, a, b, c); 1018 | }; 1019 | } 1020 | return function (/* ...args */) { 1021 | return fn.apply(that, arguments); 1022 | }; 1023 | }; 1024 | 1025 | 1026 | /***/ }), 1027 | 1028 | /***/ "9c6c": 1029 | /***/ (function(module, exports, __webpack_require__) { 1030 | 1031 | // 22.1.3.31 Array.prototype[@@unscopables] 1032 | var UNSCOPABLES = __webpack_require__("2b4c")('unscopables'); 1033 | var ArrayProto = Array.prototype; 1034 | if (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__("32e9")(ArrayProto, UNSCOPABLES, {}); 1035 | module.exports = function (key) { 1036 | ArrayProto[UNSCOPABLES][key] = true; 1037 | }; 1038 | 1039 | 1040 | /***/ }), 1041 | 1042 | /***/ "9def": 1043 | /***/ (function(module, exports, __webpack_require__) { 1044 | 1045 | // 7.1.15 ToLength 1046 | var toInteger = __webpack_require__("4588"); 1047 | var min = Math.min; 1048 | module.exports = function (it) { 1049 | return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 1050 | }; 1051 | 1052 | 1053 | /***/ }), 1054 | 1055 | /***/ "9e1e": 1056 | /***/ (function(module, exports, __webpack_require__) { 1057 | 1058 | // Thank's IE8 for his funny defineProperty 1059 | module.exports = !__webpack_require__("79e5")(function () { 1060 | return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; 1061 | }); 1062 | 1063 | 1064 | /***/ }), 1065 | 1066 | /***/ "a745": 1067 | /***/ (function(module, exports, __webpack_require__) { 1068 | 1069 | module.exports = __webpack_require__("f410"); 1070 | 1071 | /***/ }), 1072 | 1073 | /***/ "aa77": 1074 | /***/ (function(module, exports, __webpack_require__) { 1075 | 1076 | var $export = __webpack_require__("5ca1"); 1077 | var defined = __webpack_require__("be13"); 1078 | var fails = __webpack_require__("79e5"); 1079 | var spaces = __webpack_require__("fdef"); 1080 | var space = '[' + spaces + ']'; 1081 | var non = '\u200b\u0085'; 1082 | var ltrim = RegExp('^' + space + space + '*'); 1083 | var rtrim = RegExp(space + space + '*$'); 1084 | 1085 | var exporter = function (KEY, exec, ALIAS) { 1086 | var exp = {}; 1087 | var FORCE = fails(function () { 1088 | return !!spaces[KEY]() || non[KEY]() != non; 1089 | }); 1090 | var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; 1091 | if (ALIAS) exp[ALIAS] = fn; 1092 | $export($export.P + $export.F * FORCE, 'String', exp); 1093 | }; 1094 | 1095 | // 1 -> String#trimLeft 1096 | // 2 -> String#trimRight 1097 | // 3 -> String#trim 1098 | var trim = exporter.trim = function (string, TYPE) { 1099 | string = String(defined(string)); 1100 | if (TYPE & 1) string = string.replace(ltrim, ''); 1101 | if (TYPE & 2) string = string.replace(rtrim, ''); 1102 | return string; 1103 | }; 1104 | 1105 | module.exports = exporter; 1106 | 1107 | 1108 | /***/ }), 1109 | 1110 | /***/ "ac6a": 1111 | /***/ (function(module, exports, __webpack_require__) { 1112 | 1113 | var $iterators = __webpack_require__("cadf"); 1114 | var getKeys = __webpack_require__("0d58"); 1115 | var redefine = __webpack_require__("2aba"); 1116 | var global = __webpack_require__("7726"); 1117 | var hide = __webpack_require__("32e9"); 1118 | var Iterators = __webpack_require__("84f2"); 1119 | var wks = __webpack_require__("2b4c"); 1120 | var ITERATOR = wks('iterator'); 1121 | var TO_STRING_TAG = wks('toStringTag'); 1122 | var ArrayValues = Iterators.Array; 1123 | 1124 | var DOMIterables = { 1125 | CSSRuleList: true, // TODO: Not spec compliant, should be false. 1126 | CSSStyleDeclaration: false, 1127 | CSSValueList: false, 1128 | ClientRectList: false, 1129 | DOMRectList: false, 1130 | DOMStringList: false, 1131 | DOMTokenList: true, 1132 | DataTransferItemList: false, 1133 | FileList: false, 1134 | HTMLAllCollection: false, 1135 | HTMLCollection: false, 1136 | HTMLFormElement: false, 1137 | HTMLSelectElement: false, 1138 | MediaList: true, // TODO: Not spec compliant, should be false. 1139 | MimeTypeArray: false, 1140 | NamedNodeMap: false, 1141 | NodeList: true, 1142 | PaintRequestList: false, 1143 | Plugin: false, 1144 | PluginArray: false, 1145 | SVGLengthList: false, 1146 | SVGNumberList: false, 1147 | SVGPathSegList: false, 1148 | SVGPointList: false, 1149 | SVGStringList: false, 1150 | SVGTransformList: false, 1151 | SourceBufferList: false, 1152 | StyleSheetList: true, // TODO: Not spec compliant, should be false. 1153 | TextTrackCueList: false, 1154 | TextTrackList: false, 1155 | TouchList: false 1156 | }; 1157 | 1158 | for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) { 1159 | var NAME = collections[i]; 1160 | var explicit = DOMIterables[NAME]; 1161 | var Collection = global[NAME]; 1162 | var proto = Collection && Collection.prototype; 1163 | var key; 1164 | if (proto) { 1165 | if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues); 1166 | if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); 1167 | Iterators[NAME] = ArrayValues; 1168 | if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true); 1169 | } 1170 | } 1171 | 1172 | 1173 | /***/ }), 1174 | 1175 | /***/ "aebd": 1176 | /***/ (function(module, exports) { 1177 | 1178 | module.exports = function (bitmap, value) { 1179 | return { 1180 | enumerable: !(bitmap & 1), 1181 | configurable: !(bitmap & 2), 1182 | writable: !(bitmap & 4), 1183 | value: value 1184 | }; 1185 | }; 1186 | 1187 | 1188 | /***/ }), 1189 | 1190 | /***/ "bcfc": 1191 | /***/ (function(module, exports, __webpack_require__) { 1192 | 1193 | // extracted by mini-css-extract-plugin 1194 | 1195 | /***/ }), 1196 | 1197 | /***/ "be13": 1198 | /***/ (function(module, exports) { 1199 | 1200 | // 7.2.1 RequireObjectCoercible(argument) 1201 | module.exports = function (it) { 1202 | if (it == undefined) throw TypeError("Can't call method on " + it); 1203 | return it; 1204 | }; 1205 | 1206 | 1207 | /***/ }), 1208 | 1209 | /***/ "c366": 1210 | /***/ (function(module, exports, __webpack_require__) { 1211 | 1212 | // false -> Array#indexOf 1213 | // true -> Array#includes 1214 | var toIObject = __webpack_require__("6821"); 1215 | var toLength = __webpack_require__("9def"); 1216 | var toAbsoluteIndex = __webpack_require__("77f1"); 1217 | module.exports = function (IS_INCLUDES) { 1218 | return function ($this, el, fromIndex) { 1219 | var O = toIObject($this); 1220 | var length = toLength(O.length); 1221 | var index = toAbsoluteIndex(fromIndex, length); 1222 | var value; 1223 | // Array#includes uses SameValueZero equality algorithm 1224 | // eslint-disable-next-line no-self-compare 1225 | if (IS_INCLUDES && el != el) while (length > index) { 1226 | value = O[index++]; 1227 | // eslint-disable-next-line no-self-compare 1228 | if (value != value) return true; 1229 | // Array#indexOf ignores holes, Array#includes - not 1230 | } else for (;length > index; index++) if (IS_INCLUDES || index in O) { 1231 | if (O[index] === el) return IS_INCLUDES || index || 0; 1232 | } return !IS_INCLUDES && -1; 1233 | }; 1234 | }; 1235 | 1236 | 1237 | /***/ }), 1238 | 1239 | /***/ "c5f6": 1240 | /***/ (function(module, exports, __webpack_require__) { 1241 | 1242 | "use strict"; 1243 | 1244 | var global = __webpack_require__("7726"); 1245 | var has = __webpack_require__("69a8"); 1246 | var cof = __webpack_require__("2d95"); 1247 | var inheritIfRequired = __webpack_require__("5dbc"); 1248 | var toPrimitive = __webpack_require__("6a99"); 1249 | var fails = __webpack_require__("79e5"); 1250 | var gOPN = __webpack_require__("9093").f; 1251 | var gOPD = __webpack_require__("11e9").f; 1252 | var dP = __webpack_require__("86cc").f; 1253 | var $trim = __webpack_require__("aa77").trim; 1254 | var NUMBER = 'Number'; 1255 | var $Number = global[NUMBER]; 1256 | var Base = $Number; 1257 | var proto = $Number.prototype; 1258 | // Opera ~12 has broken Object#toString 1259 | var BROKEN_COF = cof(__webpack_require__("2aeb")(proto)) == NUMBER; 1260 | var TRIM = 'trim' in String.prototype; 1261 | 1262 | // 7.1.3 ToNumber(argument) 1263 | var toNumber = function (argument) { 1264 | var it = toPrimitive(argument, false); 1265 | if (typeof it == 'string' && it.length > 2) { 1266 | it = TRIM ? it.trim() : $trim(it, 3); 1267 | var first = it.charCodeAt(0); 1268 | var third, radix, maxCode; 1269 | if (first === 43 || first === 45) { 1270 | third = it.charCodeAt(2); 1271 | if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix 1272 | } else if (first === 48) { 1273 | switch (it.charCodeAt(1)) { 1274 | case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i 1275 | case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i 1276 | default: return +it; 1277 | } 1278 | for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) { 1279 | code = digits.charCodeAt(i); 1280 | // parseInt parses a string to a first unavailable symbol 1281 | // but ToNumber should return NaN if a string contains unavailable symbols 1282 | if (code < 48 || code > maxCode) return NaN; 1283 | } return parseInt(digits, radix); 1284 | } 1285 | } return +it; 1286 | }; 1287 | 1288 | if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) { 1289 | $Number = function Number(value) { 1290 | var it = arguments.length < 1 ? 0 : value; 1291 | var that = this; 1292 | return that instanceof $Number 1293 | // check on 1..constructor(foo) case 1294 | && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER) 1295 | ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it); 1296 | }; 1297 | for (var keys = __webpack_require__("9e1e") ? gOPN(Base) : ( 1298 | // ES3: 1299 | 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + 1300 | // ES6 (in case, if modules with ES6 Number statics required before): 1301 | 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + 1302 | 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' 1303 | ).split(','), j = 0, key; keys.length > j; j++) { 1304 | if (has(Base, key = keys[j]) && !has($Number, key)) { 1305 | dP($Number, key, gOPD(Base, key)); 1306 | } 1307 | } 1308 | $Number.prototype = proto; 1309 | proto.constructor = $Number; 1310 | __webpack_require__("2aba")(global, NUMBER, $Number); 1311 | } 1312 | 1313 | 1314 | /***/ }), 1315 | 1316 | /***/ "c69a": 1317 | /***/ (function(module, exports, __webpack_require__) { 1318 | 1319 | module.exports = !__webpack_require__("9e1e") && !__webpack_require__("79e5")(function () { 1320 | return Object.defineProperty(__webpack_require__("230e")('div'), 'a', { get: function () { return 7; } }).a != 7; 1321 | }); 1322 | 1323 | 1324 | /***/ }), 1325 | 1326 | /***/ "ca5a": 1327 | /***/ (function(module, exports) { 1328 | 1329 | var id = 0; 1330 | var px = Math.random(); 1331 | module.exports = function (key) { 1332 | return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); 1333 | }; 1334 | 1335 | 1336 | /***/ }), 1337 | 1338 | /***/ "cadf": 1339 | /***/ (function(module, exports, __webpack_require__) { 1340 | 1341 | "use strict"; 1342 | 1343 | var addToUnscopables = __webpack_require__("9c6c"); 1344 | var step = __webpack_require__("d53b"); 1345 | var Iterators = __webpack_require__("84f2"); 1346 | var toIObject = __webpack_require__("6821"); 1347 | 1348 | // 22.1.3.4 Array.prototype.entries() 1349 | // 22.1.3.13 Array.prototype.keys() 1350 | // 22.1.3.29 Array.prototype.values() 1351 | // 22.1.3.30 Array.prototype[@@iterator]() 1352 | module.exports = __webpack_require__("01f9")(Array, 'Array', function (iterated, kind) { 1353 | this._t = toIObject(iterated); // target 1354 | this._i = 0; // next index 1355 | this._k = kind; // kind 1356 | // 22.1.5.2.1 %ArrayIteratorPrototype%.next() 1357 | }, function () { 1358 | var O = this._t; 1359 | var kind = this._k; 1360 | var index = this._i++; 1361 | if (!O || index >= O.length) { 1362 | this._t = undefined; 1363 | return step(1); 1364 | } 1365 | if (kind == 'keys') return step(0, index); 1366 | if (kind == 'values') return step(0, O[index]); 1367 | return step(0, [index, O[index]]); 1368 | }, 'values'); 1369 | 1370 | // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) 1371 | Iterators.Arguments = Iterators.Array; 1372 | 1373 | addToUnscopables('keys'); 1374 | addToUnscopables('values'); 1375 | addToUnscopables('entries'); 1376 | 1377 | 1378 | /***/ }), 1379 | 1380 | /***/ "cb7c": 1381 | /***/ (function(module, exports, __webpack_require__) { 1382 | 1383 | var isObject = __webpack_require__("d3f4"); 1384 | module.exports = function (it) { 1385 | if (!isObject(it)) throw TypeError(it + ' is not an object!'); 1386 | return it; 1387 | }; 1388 | 1389 | 1390 | /***/ }), 1391 | 1392 | /***/ "ce10": 1393 | /***/ (function(module, exports, __webpack_require__) { 1394 | 1395 | var has = __webpack_require__("69a8"); 1396 | var toIObject = __webpack_require__("6821"); 1397 | var arrayIndexOf = __webpack_require__("c366")(false); 1398 | var IE_PROTO = __webpack_require__("613b")('IE_PROTO'); 1399 | 1400 | module.exports = function (object, names) { 1401 | var O = toIObject(object); 1402 | var i = 0; 1403 | var result = []; 1404 | var key; 1405 | for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); 1406 | // Don't enum bug & hidden keys 1407 | while (names.length > i) if (has(O, key = names[i++])) { 1408 | ~arrayIndexOf(result, key) || result.push(key); 1409 | } 1410 | return result; 1411 | }; 1412 | 1413 | 1414 | /***/ }), 1415 | 1416 | /***/ "d3f4": 1417 | /***/ (function(module, exports) { 1418 | 1419 | module.exports = function (it) { 1420 | return typeof it === 'object' ? it !== null : typeof it === 'function'; 1421 | }; 1422 | 1423 | 1424 | /***/ }), 1425 | 1426 | /***/ "d53b": 1427 | /***/ (function(module, exports) { 1428 | 1429 | module.exports = function (done, value) { 1430 | return { value: value, done: !!done }; 1431 | }; 1432 | 1433 | 1434 | /***/ }), 1435 | 1436 | /***/ "d864": 1437 | /***/ (function(module, exports, __webpack_require__) { 1438 | 1439 | // optional / simple context binding 1440 | var aFunction = __webpack_require__("79aa"); 1441 | module.exports = function (fn, that, length) { 1442 | aFunction(fn); 1443 | if (that === undefined) return fn; 1444 | switch (length) { 1445 | case 1: return function (a) { 1446 | return fn.call(that, a); 1447 | }; 1448 | case 2: return function (a, b) { 1449 | return fn.call(that, a, b); 1450 | }; 1451 | case 3: return function (a, b, c) { 1452 | return fn.call(that, a, b, c); 1453 | }; 1454 | } 1455 | return function (/* ...args */) { 1456 | return fn.apply(that, arguments); 1457 | }; 1458 | }; 1459 | 1460 | 1461 | /***/ }), 1462 | 1463 | /***/ "d8e8": 1464 | /***/ (function(module, exports) { 1465 | 1466 | module.exports = function (it) { 1467 | if (typeof it != 'function') throw TypeError(it + ' is not a function!'); 1468 | return it; 1469 | }; 1470 | 1471 | 1472 | /***/ }), 1473 | 1474 | /***/ "d9f6": 1475 | /***/ (function(module, exports, __webpack_require__) { 1476 | 1477 | var anObject = __webpack_require__("e4ae"); 1478 | var IE8_DOM_DEFINE = __webpack_require__("794b"); 1479 | var toPrimitive = __webpack_require__("1bc3"); 1480 | var dP = Object.defineProperty; 1481 | 1482 | exports.f = __webpack_require__("8e60") ? Object.defineProperty : function defineProperty(O, P, Attributes) { 1483 | anObject(O); 1484 | P = toPrimitive(P, true); 1485 | anObject(Attributes); 1486 | if (IE8_DOM_DEFINE) try { 1487 | return dP(O, P, Attributes); 1488 | } catch (e) { /* empty */ } 1489 | if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); 1490 | if ('value' in Attributes) O[P] = Attributes.value; 1491 | return O; 1492 | }; 1493 | 1494 | 1495 | /***/ }), 1496 | 1497 | /***/ "da0a": 1498 | /***/ (function(module, exports, __webpack_require__) { 1499 | 1500 | "use strict"; 1501 | 1502 | 1503 | // Method that will return the data type for any structure passed to it 1504 | function getDataType (data) { 1505 | // Use the objects toString method on the data. 1506 | // This will return something like [object String] 1507 | // Then we use .slice to grab the last portion of it (in this case the "string" bit) 1508 | return Object.prototype.toString.call(data).slice(8, -1); 1509 | } 1510 | 1511 | // Create a method to detect whether an object contains a circular reference 1512 | function isCyclic (data) { 1513 | 1514 | // Create an array that will store the nodes of the array that have already been iterated over 1515 | let seenObjects = []; 1516 | 1517 | function detect (data) { 1518 | // If the data pass is an object 1519 | if (data && getDataType(data) === "Object") { 1520 | 1521 | // If the data is already in the seen nodes array then we know there is a circular reference 1522 | // Therefore return true 1523 | if (seenObjects.indexOf(data) !== -1) { 1524 | return true; 1525 | } 1526 | 1527 | // Add the data to the seen objects array 1528 | seenObjects.push(data); 1529 | 1530 | // Begin iterating through the data passed to the method 1531 | for (var key in data) { 1532 | // Recall this method with the objects key 1533 | if (data.hasOwnProperty(key) === true && detect(data[key])) { 1534 | return true; 1535 | } 1536 | } 1537 | } 1538 | return false; 1539 | } 1540 | 1541 | // Return the method 1542 | return detect(data); 1543 | } 1544 | 1545 | const deepClone = function (data) { 1546 | // If the data is null or undefined then we return undefined 1547 | if (data === null || data === undefined) { 1548 | return undefined; 1549 | } 1550 | 1551 | // Get the data type and store it 1552 | const dataType = getDataType(data); 1553 | 1554 | // If the data passed is a date object 1555 | if (dataType === "Date") { 1556 | // Create a new date object and set the time to what it was previously 1557 | let clonedDate = new Date(); 1558 | clonedDate.setTime(data.getTime()); 1559 | 1560 | return clonedDate; 1561 | } 1562 | 1563 | // If the data passed is an object 1564 | if (dataType === "Object") { 1565 | // Check for circular references, if there are then we just return the un-cloned data. 1566 | if (isCyclic(data) === true) { 1567 | return data; 1568 | } 1569 | 1570 | // Create a new object that will store our copied data 1571 | let copiedObject = {}; 1572 | 1573 | // Iterate over the objects keys 1574 | for (let key in data) { 1575 | // Clone the keys of each of the objects so that we can deeply copy and nested data structures 1576 | // For example if an object has a key value that is an array 1577 | // Add this cloned key value to the copiedObject we created earlier 1578 | copiedObject[key] = deepClone(data[key]); 1579 | } 1580 | 1581 | // Return the deeply copied object 1582 | return copiedObject; 1583 | } 1584 | 1585 | // If the data is an array 1586 | if (dataType === "Array") { 1587 | // Create a new array that will have no references to the one we want to copy 1588 | let copiedArray = []; 1589 | 1590 | // Iterate over the arrays elements 1591 | for (var i = 0; i < data.length; i++) { 1592 | // Push the arrays elements to this new array 1593 | // First recall this method with the elements 1594 | // This is so arrays of objects and other nested data structures get correctly cloned. 1595 | copiedArray.push(deepClone(data[i])); 1596 | } 1597 | 1598 | // Return the cloned array 1599 | return copiedArray; 1600 | } 1601 | 1602 | // If it's any other data type like a string or number, they don't need cloning so we just return them 1603 | else { 1604 | return data; 1605 | } 1606 | } 1607 | 1608 | // Export a new instance of the clone constructor 1609 | module.exports = deepClone; 1610 | 1611 | /***/ }), 1612 | 1613 | /***/ "e11e": 1614 | /***/ (function(module, exports) { 1615 | 1616 | // IE 8- don't enum bug keys 1617 | module.exports = ( 1618 | 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' 1619 | ).split(','); 1620 | 1621 | 1622 | /***/ }), 1623 | 1624 | /***/ "e4ae": 1625 | /***/ (function(module, exports, __webpack_require__) { 1626 | 1627 | var isObject = __webpack_require__("f772"); 1628 | module.exports = function (it) { 1629 | if (!isObject(it)) throw TypeError(it + ' is not an object!'); 1630 | return it; 1631 | }; 1632 | 1633 | 1634 | /***/ }), 1635 | 1636 | /***/ "e53d": 1637 | /***/ (function(module, exports) { 1638 | 1639 | // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 1640 | var global = module.exports = typeof window != 'undefined' && window.Math == Math 1641 | ? window : typeof self != 'undefined' && self.Math == Math ? self 1642 | // eslint-disable-next-line no-new-func 1643 | : Function('return this')(); 1644 | if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef 1645 | 1646 | 1647 | /***/ }), 1648 | 1649 | /***/ "f410": 1650 | /***/ (function(module, exports, __webpack_require__) { 1651 | 1652 | __webpack_require__("1af6"); 1653 | module.exports = __webpack_require__("584a").Array.isArray; 1654 | 1655 | 1656 | /***/ }), 1657 | 1658 | /***/ "f772": 1659 | /***/ (function(module, exports) { 1660 | 1661 | module.exports = function (it) { 1662 | return typeof it === 'object' ? it !== null : typeof it === 'function'; 1663 | }; 1664 | 1665 | 1666 | /***/ }), 1667 | 1668 | /***/ "fa5b": 1669 | /***/ (function(module, exports, __webpack_require__) { 1670 | 1671 | module.exports = __webpack_require__("5537")('native-function-to-string', Function.toString); 1672 | 1673 | 1674 | /***/ }), 1675 | 1676 | /***/ "fab2": 1677 | /***/ (function(module, exports, __webpack_require__) { 1678 | 1679 | var document = __webpack_require__("7726").document; 1680 | module.exports = document && document.documentElement; 1681 | 1682 | 1683 | /***/ }), 1684 | 1685 | /***/ "fb15": 1686 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 1687 | 1688 | "use strict"; 1689 | __webpack_require__.r(__webpack_exports__); 1690 | 1691 | // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js 1692 | // This file is imported into lib/wc client bundles. 1693 | 1694 | if (typeof window !== 'undefined') { 1695 | var i 1696 | if ((i = window.document.currentScript) && (i = i.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))) { 1697 | __webpack_require__.p = i[1] // eslint-disable-line 1698 | } 1699 | } 1700 | 1701 | // Indicate to webpack that this file can be concatenated 1702 | /* harmony default export */ var setPublicPath = (null); 1703 | 1704 | // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.function.name.js 1705 | var es6_function_name = __webpack_require__("7f7f"); 1706 | 1707 | // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"553e40dc-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/org-tree/org-tree.vue?vue&type=template&id=56dd2042& 1708 | var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"org-tree-container"},[_c('div',{staticClass:"org-tree",class:{horizontal: _vm.horizontal, collapsable: _vm.collapsable}},[_c('org-tree-node',_vm._b({attrs:{"data":_vm.dataCloned,"props":_vm.props,"horizontal":_vm.horizontal,"label-width":_vm.labelWidth,"collapsable":_vm.collapsable,"node-render":_vm.nodeRender,"button-render":_vm.buttonRender,"label-class-name":_vm.labelClassName},on:{"on-expand":_vm.handleExpand,"on-node-click":_vm.handleNodeClick}},'org-tree-node',_vm.$listeners,false))],1)])} 1709 | var staticRenderFns = [] 1710 | 1711 | 1712 | // CONCATENATED MODULE: ./src/components/org-tree/org-tree.vue?vue&type=template&id=56dd2042& 1713 | 1714 | // EXTERNAL MODULE: ./node_modules/@babel/runtime-corejs2/core-js/array/is-array.js 1715 | var is_array = __webpack_require__("a745"); 1716 | var is_array_default = /*#__PURE__*/__webpack_require__.n(is_array); 1717 | 1718 | // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom.iterable.js 1719 | var web_dom_iterable = __webpack_require__("ac6a"); 1720 | 1721 | // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.number.constructor.js 1722 | var es6_number_constructor = __webpack_require__("c5f6"); 1723 | 1724 | // CONCATENATED MODULE: ./src/components/org-tree/node.js 1725 | 1726 | 1727 | // 判断是否叶子节点 1728 | var node_isLeaf = function isLeaf(data, prop) { 1729 | return !(is_array_default()(data[prop]) && data[prop].length > 0); 1730 | }; // 创建 node 节点 1731 | 1732 | 1733 | var renderNode = function renderNode(h, data, context) { 1734 | var props = context.props; 1735 | var cls = ['org-tree-node']; 1736 | var childNodes = []; 1737 | var children = data[props.props.children]; 1738 | 1739 | if (node_isLeaf(data, props.props.children)) { 1740 | cls.push('is-leaf'); 1741 | } else if (props.collapsable && !data[props.props.expand]) { 1742 | cls.push('collapsed'); 1743 | } 1744 | 1745 | childNodes.push(renderLabel(h, data, context)); 1746 | 1747 | if (!props.collapsable || data[props.props.expand]) { 1748 | childNodes.push(node_renderChildren(h, children, context)); 1749 | } 1750 | 1751 | return h('div', { 1752 | domProps: { 1753 | className: cls.join(' ') 1754 | } 1755 | }, childNodes); 1756 | }; // 创建展开折叠按钮 1757 | 1758 | var renderBtn = function renderBtn(h, data, context) { 1759 | var props = context.props; 1760 | var expandHandler = context.listeners['on-expand']; 1761 | var cls = ['org-tree-node-btn']; 1762 | 1763 | if (data[props.props.expand]) { 1764 | cls.push('expanded'); 1765 | } 1766 | 1767 | return h('span', { 1768 | 'class': 'org-tree-button-wrapper', 1769 | on: { 1770 | click: function click(e) { 1771 | e.stopPropagation(); 1772 | expandHandler && expandHandler(data); 1773 | } 1774 | } 1775 | }, [props.buttonRender ? props.buttonRender(h, data) : h('span', { 1776 | 'class': cls.join(' ') 1777 | })]); 1778 | }; // 创建 label 节点 1779 | 1780 | var renderLabel = function renderLabel(h, data, context) { 1781 | var props = context.props; 1782 | var label = data[props.props.label]; 1783 | var nodeRender = props.nodeRender; 1784 | var clickHandler = context.listeners['on-node-click']; 1785 | var mousedownHandler = context.listeners['on-node-mousedown']; 1786 | var mouseupHandler = context.listeners['on-node-mouseup']; 1787 | var touchstartHandler = context.listeners['on-node-touchstart']; 1788 | var touchleaveHandler = context.listeners['on-node-touchleave']; 1789 | var childNodes = []; 1790 | 1791 | if (typeof nodeRender === 'function') { 1792 | var vnode = nodeRender(h, data); 1793 | vnode && childNodes.push(vnode); 1794 | } else { 1795 | childNodes.push(label); 1796 | } 1797 | 1798 | if (props.collapsable && !node_isLeaf(data, props.props.children)) { 1799 | childNodes.push(renderBtn(h, data, context)); 1800 | } 1801 | 1802 | var cls = ['org-tree-node-label-inner']; 1803 | var labelWidth = props.labelWidth, 1804 | labelClassName = props.labelClassName; 1805 | 1806 | if (typeof labelWidth === 'number') { 1807 | labelWidth += 'px'; 1808 | } 1809 | 1810 | if (typeof labelClassName === 'function') { 1811 | labelClassName = labelClassName(data); 1812 | } 1813 | 1814 | labelClassName && cls.push(labelClassName); 1815 | return h('div', { 1816 | domProps: { 1817 | className: 'org-tree-node-label' 1818 | }, 1819 | on: { 1820 | click: function click(e) { 1821 | return clickHandler && clickHandler(e, data); 1822 | }, 1823 | mousedown: function mousedown(e) { 1824 | return mousedownHandler && mousedownHandler(e, data); 1825 | }, 1826 | mouseup: function mouseup(e) { 1827 | return mouseupHandler && mouseupHandler(e, data); 1828 | }, 1829 | touchstart: function touchstart(e) { 1830 | return touchstartHandler && touchstartHandler(e, data); 1831 | }, 1832 | touchleave: function touchleave(e) { 1833 | return touchleaveHandler && touchleaveHandler(e, data); 1834 | } 1835 | } 1836 | }, [h('div', { 1837 | domProps: { 1838 | className: cls.join(' ') 1839 | }, 1840 | style: { 1841 | width: labelWidth 1842 | } 1843 | }, childNodes)]); 1844 | }; // 创建 node 子节点 1845 | 1846 | var node_renderChildren = function renderChildren(h, list, context) { 1847 | if (is_array_default()(list) && list.length) { 1848 | var children = list.map(function (item) { 1849 | return renderNode(h, item, context); 1850 | }); 1851 | return h('div', { 1852 | domProps: { 1853 | className: 'org-tree-node-children' 1854 | } 1855 | }, children); 1856 | } 1857 | 1858 | return ''; 1859 | }; 1860 | var node_render = function render(h, context) { 1861 | var props = context.props; 1862 | return renderNode(h, props.data, context); 1863 | }; 1864 | /* harmony default export */ var node = (node_render); 1865 | // EXTERNAL MODULE: ./node_modules/clonedeep/index.js 1866 | var clonedeep = __webpack_require__("da0a"); 1867 | var clonedeep_default = /*#__PURE__*/__webpack_require__.n(clonedeep); 1868 | 1869 | // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/org-tree/org-tree.vue?vue&type=script&lang=js& 1870 | 1871 | 1872 | 1873 | // 1874 | // 1875 | // 1876 | // 1877 | // 1878 | // 1879 | // 1880 | // 1881 | // 1882 | // 1883 | // 1884 | // 1885 | // 1886 | // 1887 | // 1888 | // 1889 | // 1890 | // 1891 | // 1892 | // 1893 | 1894 | 1895 | /* harmony default export */ var org_treevue_type_script_lang_js_ = ({ 1896 | name: 'VOrgTree', 1897 | components: { 1898 | OrgTreeNode: { 1899 | render: node, 1900 | functional: true 1901 | } 1902 | }, 1903 | props: { 1904 | data: { 1905 | type: Object, 1906 | required: true 1907 | }, 1908 | props: { 1909 | type: Object, 1910 | default: function _default() { 1911 | return { 1912 | id: 'id', 1913 | label: 'label', 1914 | expand: 'expand', 1915 | children: 'children' 1916 | }; 1917 | } 1918 | }, 1919 | horizontal: Boolean, 1920 | collapsable: Boolean, 1921 | nodeRender: Function, 1922 | buttonRender: Function, 1923 | labelWidth: [String, Number], 1924 | labelClassName: [Function, String], 1925 | expandAll: { 1926 | type: Boolean, 1927 | default: false 1928 | } 1929 | }, 1930 | data: function data() { 1931 | return { 1932 | flatData: {}, 1933 | dataCloned: {} 1934 | }; 1935 | }, 1936 | watch: { 1937 | data: function data(newData) { 1938 | var _this2 = this; 1939 | 1940 | this._handleData(newData); 1941 | 1942 | this._mapData(this.dataCloned, function (item) { 1943 | var _ref = _this2.flatData[item[_this2.prop_id]] || {}, 1944 | expand = _ref.expand; 1945 | 1946 | if (expand) _this2.$set(item, _this2.prop_expand, true); 1947 | }); 1948 | 1949 | this._toggleExpand(this.dataCloned, this.expandAll); 1950 | }, 1951 | expandAll: function expandAll(status) { 1952 | this._toggleExpand(this.dataCloned, status); 1953 | } 1954 | }, 1955 | computed: { 1956 | prop_id: function prop_id() { 1957 | return this.props.id; 1958 | }, 1959 | prop_label: function prop_label() { 1960 | return this.props.label; 1961 | }, 1962 | prop_expand: function prop_expand() { 1963 | return this.props.expand; 1964 | }, 1965 | prop_children: function prop_children() { 1966 | return this.props.children; 1967 | } 1968 | }, 1969 | methods: { 1970 | _handleData: function _handleData(data) { 1971 | this._cloneData(data); 1972 | }, 1973 | _cloneData: function _cloneData(newData) { 1974 | this.dataCloned = clonedeep_default()(newData); 1975 | }, 1976 | _setFlatData: function _setFlatData(data) { 1977 | this.flatData[data[this.prop_id]] = data; 1978 | }, 1979 | 1980 | /** 1981 | * @description 工具方法,用于遍历树状数据的每个节点, fn为在该节点做的操作,其有一个参数即当前节点数据 1982 | */ 1983 | _mapData: function _mapData(data, fn) { 1984 | var _this3 = this; 1985 | 1986 | fn(data); 1987 | var children = data[this.prop_children]; 1988 | 1989 | if (children) { 1990 | children.forEach(function (child) { 1991 | _this3._mapData(child, fn); 1992 | }); 1993 | } 1994 | }, 1995 | 1996 | /** 1997 | * @description 用来便利所有节点数据,将树状数据扁平化存放到flatData,用于数据更新后展开状态的恢复 1998 | */ 1999 | _updateExpandStatus: function _updateExpandStatus() { 2000 | this._mapData(this.dataCloned, this._setFlatData); 2001 | }, 2002 | collapse: function collapse(list) { 2003 | var _this4 = this; 2004 | 2005 | var _this = this; 2006 | 2007 | list.forEach(function (child) { 2008 | if (child[_this4.prop_expand]) { 2009 | child[_this4.prop_expand] = false; 2010 | } 2011 | 2012 | var children = child[_this4.prop_children]; 2013 | children && _this.collapse(children); 2014 | }); 2015 | }, 2016 | handleExpand: function handleExpand(data) { 2017 | if (this.prop_expand in data) { 2018 | data[this.prop_expand] = !data[this.prop_expand]; 2019 | var children = data[this.prop_children]; 2020 | 2021 | if (!data[this.prop_expand] && children) { 2022 | this.collapse(children); 2023 | } 2024 | } else { 2025 | this.$set(data, this.prop_expand, true); 2026 | } 2027 | 2028 | this.$emit('on-expand', data, data[this.prop_expand]); 2029 | 2030 | this._updateExpandStatus(); 2031 | }, 2032 | _toggleExpand: function _toggleExpand(data, status) { 2033 | var _this5 = this; 2034 | 2035 | var _this = this; 2036 | 2037 | if (is_array_default()(data)) { 2038 | data.forEach(function (item) { 2039 | _this.$set(item, _this5.prop_expand, status); 2040 | 2041 | var children = item[_this5.prop_children]; 2042 | 2043 | if (children) { 2044 | _this._toggleExpand(children, status); 2045 | } 2046 | }); 2047 | } else { 2048 | _this.$set(data, this.prop_expand, status); 2049 | 2050 | var children = data[this.prop_children]; 2051 | 2052 | if (children) { 2053 | _this._toggleExpand(children, status); 2054 | } 2055 | } 2056 | }, 2057 | handleNodeClick: function handleNodeClick(e, data) { 2058 | var _this6 = this; 2059 | 2060 | this.$emit('on-node-click', e, data, function () { 2061 | _this6.handleExpand(data); 2062 | }); 2063 | }, 2064 | toggleExpand: function toggleExpand() { 2065 | this._toggleExpand(this.dataCloned, this.expandAll); 2066 | 2067 | this._updateExpandStatus(); 2068 | } 2069 | }, 2070 | mounted: function mounted() { 2071 | this._handleData(this.data); 2072 | 2073 | this._updateExpandStatus(); 2074 | 2075 | this._toggleExpand(this.dataCloned, this.expandAll); 2076 | } 2077 | }); 2078 | // CONCATENATED MODULE: ./src/components/org-tree/org-tree.vue?vue&type=script&lang=js& 2079 | /* harmony default export */ var org_tree_org_treevue_type_script_lang_js_ = (org_treevue_type_script_lang_js_); 2080 | // EXTERNAL MODULE: ./src/components/org-tree/org-tree.vue?vue&type=style&index=0&lang=less& 2081 | var org_treevue_type_style_index_0_lang_less_ = __webpack_require__("fcc4"); 2082 | 2083 | // CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js 2084 | /* globals __VUE_SSR_CONTEXT__ */ 2085 | 2086 | // IMPORTANT: Do NOT use ES2015 features in this file (except for modules). 2087 | // This module is a runtime utility for cleaner component module output and will 2088 | // be included in the final webpack user bundle. 2089 | 2090 | function normalizeComponent ( 2091 | scriptExports, 2092 | render, 2093 | staticRenderFns, 2094 | functionalTemplate, 2095 | injectStyles, 2096 | scopeId, 2097 | moduleIdentifier, /* server only */ 2098 | shadowMode /* vue-cli only */ 2099 | ) { 2100 | // Vue.extend constructor export interop 2101 | var options = typeof scriptExports === 'function' 2102 | ? scriptExports.options 2103 | : scriptExports 2104 | 2105 | // render functions 2106 | if (render) { 2107 | options.render = render 2108 | options.staticRenderFns = staticRenderFns 2109 | options._compiled = true 2110 | } 2111 | 2112 | // functional template 2113 | if (functionalTemplate) { 2114 | options.functional = true 2115 | } 2116 | 2117 | // scopedId 2118 | if (scopeId) { 2119 | options._scopeId = 'data-v-' + scopeId 2120 | } 2121 | 2122 | var hook 2123 | if (moduleIdentifier) { // server build 2124 | hook = function (context) { 2125 | // 2.3 injection 2126 | context = 2127 | context || // cached call 2128 | (this.$vnode && this.$vnode.ssrContext) || // stateful 2129 | (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional 2130 | // 2.2 with runInNewContext: true 2131 | if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { 2132 | context = __VUE_SSR_CONTEXT__ 2133 | } 2134 | // inject component styles 2135 | if (injectStyles) { 2136 | injectStyles.call(this, context) 2137 | } 2138 | // register component module identifier for async chunk inferrence 2139 | if (context && context._registeredComponents) { 2140 | context._registeredComponents.add(moduleIdentifier) 2141 | } 2142 | } 2143 | // used by ssr in case component is cached and beforeCreate 2144 | // never gets called 2145 | options._ssrRegister = hook 2146 | } else if (injectStyles) { 2147 | hook = shadowMode 2148 | ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } 2149 | : injectStyles 2150 | } 2151 | 2152 | if (hook) { 2153 | if (options.functional) { 2154 | // for template-only hot-reload because in that case the render fn doesn't 2155 | // go through the normalizer 2156 | options._injectStyles = hook 2157 | // register for functioal component in vue file 2158 | var originalRender = options.render 2159 | options.render = function renderWithStyleInjection (h, context) { 2160 | hook.call(context) 2161 | return originalRender(h, context) 2162 | } 2163 | } else { 2164 | // inject component registration as beforeCreate hook 2165 | var existing = options.beforeCreate 2166 | options.beforeCreate = existing 2167 | ? [].concat(existing, hook) 2168 | : [hook] 2169 | } 2170 | } 2171 | 2172 | return { 2173 | exports: scriptExports, 2174 | options: options 2175 | } 2176 | } 2177 | 2178 | // CONCATENATED MODULE: ./src/components/org-tree/org-tree.vue 2179 | 2180 | 2181 | 2182 | 2183 | 2184 | 2185 | /* normalize component */ 2186 | 2187 | var component = normalizeComponent( 2188 | org_tree_org_treevue_type_script_lang_js_, 2189 | render, 2190 | staticRenderFns, 2191 | false, 2192 | null, 2193 | null, 2194 | null 2195 | 2196 | ) 2197 | 2198 | /* harmony default export */ var org_tree = (component.exports); 2199 | // CONCATENATED MODULE: ./src/components/org-tree/index.js 2200 | 2201 | 2202 | 2203 | var org_tree_install = function install(Vue) { 2204 | if (install.installed) { 2205 | return; 2206 | } 2207 | 2208 | install.installed = true; 2209 | Vue.component(org_tree.name, org_tree); 2210 | }; 2211 | 2212 | org_tree.install = org_tree_install; 2213 | 2214 | if (typeof window !== 'undefined' && window.Vue) { 2215 | window.Vue.use(org_tree); 2216 | } 2217 | 2218 | /* harmony default export */ var components_org_tree = (org_tree); 2219 | // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js 2220 | 2221 | 2222 | /* harmony default export */ var entry_lib = __webpack_exports__["default"] = (components_org_tree); 2223 | 2224 | 2225 | 2226 | /***/ }), 2227 | 2228 | /***/ "fcc4": 2229 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 2230 | 2231 | "use strict"; 2232 | /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_index_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_org_tree_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("bcfc"); 2233 | /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_index_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_org_tree_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_index_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_org_tree_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0__); 2234 | /* unused harmony reexport * */ 2235 | /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_index_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_org_tree_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0___default.a); 2236 | 2237 | /***/ }), 2238 | 2239 | /***/ "fdef": 2240 | /***/ (function(module, exports) { 2241 | 2242 | module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + 2243 | '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; 2244 | 2245 | 2246 | /***/ }) 2247 | 2248 | /******/ }); -------------------------------------------------------------------------------- /dist/v-org-tree.css: -------------------------------------------------------------------------------- 1 | .org-tree-container{display:inline-block;padding:15px;background-color:#fff}.org-tree{display:table;text-align:center}.org-tree:after,.org-tree:before{content:"";display:table;pointer-events:none}.org-tree:after{clear:both;pointer-events:none}.org-tree-node,.org-tree-node-children{position:relative;margin:0 auto;padding:0;list-style-type:none}.org-tree-node-children:after,.org-tree-node-children:before,.org-tree-node:after,.org-tree-node:before{-webkit-transition:all .35s;transition:all .35s;pointer-events:none}.org-tree-node-label{position:relative;display:inline-block}.org-tree-node-label .org-tree-node-label-inner{padding:10px 15px;text-align:center;border-radius:3px;-webkit-box-shadow:0 1px 5px rgba(0,0,0,.15);box-shadow:0 1px 5px rgba(0,0,0,.15)}.org-tree-button-wrapper{position:absolute;top:100%;left:50%;width:0;height:0;z-index:10;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.org-tree-button-wrapper>*{position:absolute;top:50%;left:50%}.org-tree-button-wrapper .org-tree-node-btn{position:relative;display:inline-block;width:20px;height:20px;background-color:#fff;border:1px solid #ccc;border-radius:50%;-webkit-box-shadow:0 0 2px rgba(0,0,0,.15);box-shadow:0 0 2px rgba(0,0,0,.15);cursor:pointer;-webkit-transition:all .35s ease;transition:all .35s ease;-webkit-transform:translate(-50%,9px);transform:translate(-50%,9px)}.org-tree-button-wrapper .org-tree-node-btn:hover{background-color:#e7e8e9;-webkit-transform:translate(-50%,9px) scale(1.15);transform:translate(-50%,9px) scale(1.15)}.org-tree-button-wrapper .org-tree-node-btn:after,.org-tree-button-wrapper .org-tree-node-btn:before{content:"";position:absolute;pointer-events:none}.org-tree-button-wrapper .org-tree-node-btn:before{top:50%;left:4px;right:4px;height:0;border-top:1px solid #ccc}.org-tree-button-wrapper .org-tree-node-btn:after{top:4px;left:50%;bottom:4px;width:0;border-left:1px solid #ccc;pointer-events:none}.org-tree-button-wrapper .org-tree-node-btn.expanded:after{border:none;pointer-events:none}.org-tree-node{padding-top:20px;display:table-cell;vertical-align:top}.org-tree-node.collapsed,.org-tree-node.is-leaf{padding-left:10px;padding-right:10px}.org-tree-node:after,.org-tree-node:before{pointer-events:none;content:"";position:absolute;top:0;left:0;width:50%;height:19px}.org-tree-node:after{left:50%;border-left:1px solid #ddd;pointer-events:none}.org-tree-node:not(:first-child):before,.org-tree-node:not(:last-child):after{border-top:1px solid #ddd;pointer-events:none}.collapsable .org-tree-node.collapsed{padding-bottom:30px}.collapsable .org-tree-node.collapsed .org-tree-node-label:after{content:"";position:absolute;top:100%;left:0;width:50%;height:20px;border-right:1px solid #ddd;pointer-events:none}.org-tree>.org-tree-node{padding-top:0}.org-tree>.org-tree-node:after{border-left:0;pointer-events:none}.org-tree-node-children{padding-top:20px;display:table}.org-tree-node-children:before{content:"";position:absolute;top:0;left:50%;width:0;height:20px;border-left:1px solid #ddd}.org-tree-node-children:after{content:"";display:table;clear:both;pointer-events:none}.horizontal .org-tree-node{display:table-cell;float:none;padding-top:0;padding-left:20px}.horizontal .org-tree-node.collapsed,.horizontal .org-tree-node.is-leaf{padding-top:10px;padding-bottom:10px}.horizontal .org-tree-node:after,.horizontal .org-tree-node:before{width:19px;height:50%;pointer-events:none}.horizontal .org-tree-node:after{top:50%;left:0;border-left:0;pointer-events:none}.horizontal .org-tree-node:only-child:before{top:1px;border-bottom:1px solid #ddd}.horizontal .org-tree-node:not(:first-child):before,.horizontal .org-tree-node:not(:last-child):after{border-top:0;border-left:1px solid #ddd;pointer-events:none}.horizontal .org-tree-node:not(:only-child):after{border-top:1px solid #ddd;pointer-events:none}.horizontal .org-tree-node .org-tree-node-inner{display:table}.horizontal .org-tree-node-label{display:table-cell;vertical-align:middle}.horizontal.collapsable .org-tree-node.collapsed{padding-right:30px}.horizontal.collapsable .org-tree-node.collapsed .org-tree-node-label:after{top:0;left:100%;width:20px;height:50%;border-right:0;border-bottom:.625em solid #ddd;pointer-events:none}.horizontal .org-tree-button-wrapper{position:absolute;top:50%;left:100%;width:0;height:0;z-index:10;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.horizontal .org-tree-button-wrapper>*{position:absolute;top:50%;left:50%}.horizontal .org-tree-button-wrapper .org-tree-node-btn{display:inline-block;-webkit-transform:translate(9PX,-50%);transform:translate(9PX,-50%)}.horizontal>.org-tree-node:only-child:before{border-bottom:0}.horizontal .org-tree-node-children{display:table-cell;padding-top:0;padding-left:20px}.horizontal .org-tree-node-children:before{top:50%;left:0;width:20px;height:0;border-left:0;border-top:1px solid #ddd}.horizontal .org-tree-node-children:after{display:none}.horizontal .org-tree-node-children>.org-tree-node{display:block} -------------------------------------------------------------------------------- /dist/v-org-tree.umd.js: -------------------------------------------------------------------------------- 1 | (function webpackUniversalModuleDefinition(root, factory) { 2 | if(typeof exports === 'object' && typeof module === 'object') 3 | module.exports = factory(); 4 | else if(typeof define === 'function' && define.amd) 5 | define([], factory); 6 | else if(typeof exports === 'object') 7 | exports["v-org-tree"] = factory(); 8 | else 9 | root["v-org-tree"] = factory(); 10 | })((typeof self !== 'undefined' ? self : this), function() { 11 | return /******/ (function(modules) { // webpackBootstrap 12 | /******/ // The module cache 13 | /******/ var installedModules = {}; 14 | /******/ 15 | /******/ // The require function 16 | /******/ function __webpack_require__(moduleId) { 17 | /******/ 18 | /******/ // Check if module is in cache 19 | /******/ if(installedModules[moduleId]) { 20 | /******/ return installedModules[moduleId].exports; 21 | /******/ } 22 | /******/ // Create a new module (and put it into the cache) 23 | /******/ var module = installedModules[moduleId] = { 24 | /******/ i: moduleId, 25 | /******/ l: false, 26 | /******/ exports: {} 27 | /******/ }; 28 | /******/ 29 | /******/ // Execute the module function 30 | /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 31 | /******/ 32 | /******/ // Flag the module as loaded 33 | /******/ module.l = true; 34 | /******/ 35 | /******/ // Return the exports of the module 36 | /******/ return module.exports; 37 | /******/ } 38 | /******/ 39 | /******/ 40 | /******/ // expose the modules object (__webpack_modules__) 41 | /******/ __webpack_require__.m = modules; 42 | /******/ 43 | /******/ // expose the module cache 44 | /******/ __webpack_require__.c = installedModules; 45 | /******/ 46 | /******/ // define getter function for harmony exports 47 | /******/ __webpack_require__.d = function(exports, name, getter) { 48 | /******/ if(!__webpack_require__.o(exports, name)) { 49 | /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); 50 | /******/ } 51 | /******/ }; 52 | /******/ 53 | /******/ // define __esModule on exports 54 | /******/ __webpack_require__.r = function(exports) { 55 | /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 56 | /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 57 | /******/ } 58 | /******/ Object.defineProperty(exports, '__esModule', { value: true }); 59 | /******/ }; 60 | /******/ 61 | /******/ // create a fake namespace object 62 | /******/ // mode & 1: value is a module id, require it 63 | /******/ // mode & 2: merge all properties of value into the ns 64 | /******/ // mode & 4: return value when already ns object 65 | /******/ // mode & 8|1: behave like require 66 | /******/ __webpack_require__.t = function(value, mode) { 67 | /******/ if(mode & 1) value = __webpack_require__(value); 68 | /******/ if(mode & 8) return value; 69 | /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; 70 | /******/ var ns = Object.create(null); 71 | /******/ __webpack_require__.r(ns); 72 | /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); 73 | /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); 74 | /******/ return ns; 75 | /******/ }; 76 | /******/ 77 | /******/ // getDefaultExport function for compatibility with non-harmony modules 78 | /******/ __webpack_require__.n = function(module) { 79 | /******/ var getter = module && module.__esModule ? 80 | /******/ function getDefault() { return module['default']; } : 81 | /******/ function getModuleExports() { return module; }; 82 | /******/ __webpack_require__.d(getter, 'a', getter); 83 | /******/ return getter; 84 | /******/ }; 85 | /******/ 86 | /******/ // Object.prototype.hasOwnProperty.call 87 | /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 88 | /******/ 89 | /******/ // __webpack_public_path__ 90 | /******/ __webpack_require__.p = ""; 91 | /******/ 92 | /******/ 93 | /******/ // Load entry module and return exports 94 | /******/ return __webpack_require__(__webpack_require__.s = "fb15"); 95 | /******/ }) 96 | /************************************************************************/ 97 | /******/ ({ 98 | 99 | /***/ "01f9": 100 | /***/ (function(module, exports, __webpack_require__) { 101 | 102 | "use strict"; 103 | 104 | var LIBRARY = __webpack_require__("2d00"); 105 | var $export = __webpack_require__("5ca1"); 106 | var redefine = __webpack_require__("2aba"); 107 | var hide = __webpack_require__("32e9"); 108 | var Iterators = __webpack_require__("84f2"); 109 | var $iterCreate = __webpack_require__("41a0"); 110 | var setToStringTag = __webpack_require__("7f20"); 111 | var getPrototypeOf = __webpack_require__("38fd"); 112 | var ITERATOR = __webpack_require__("2b4c")('iterator'); 113 | var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` 114 | var FF_ITERATOR = '@@iterator'; 115 | var KEYS = 'keys'; 116 | var VALUES = 'values'; 117 | 118 | var returnThis = function () { return this; }; 119 | 120 | module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { 121 | $iterCreate(Constructor, NAME, next); 122 | var getMethod = function (kind) { 123 | if (!BUGGY && kind in proto) return proto[kind]; 124 | switch (kind) { 125 | case KEYS: return function keys() { return new Constructor(this, kind); }; 126 | case VALUES: return function values() { return new Constructor(this, kind); }; 127 | } return function entries() { return new Constructor(this, kind); }; 128 | }; 129 | var TAG = NAME + ' Iterator'; 130 | var DEF_VALUES = DEFAULT == VALUES; 131 | var VALUES_BUG = false; 132 | var proto = Base.prototype; 133 | var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; 134 | var $default = $native || getMethod(DEFAULT); 135 | var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; 136 | var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; 137 | var methods, key, IteratorPrototype; 138 | // Fix native 139 | if ($anyNative) { 140 | IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); 141 | if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { 142 | // Set @@toStringTag to native iterators 143 | setToStringTag(IteratorPrototype, TAG, true); 144 | // fix for some old engines 145 | if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); 146 | } 147 | } 148 | // fix Array#{values, @@iterator}.name in V8 / FF 149 | if (DEF_VALUES && $native && $native.name !== VALUES) { 150 | VALUES_BUG = true; 151 | $default = function values() { return $native.call(this); }; 152 | } 153 | // Define iterator 154 | if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { 155 | hide(proto, ITERATOR, $default); 156 | } 157 | // Plug for library 158 | Iterators[NAME] = $default; 159 | Iterators[TAG] = returnThis; 160 | if (DEFAULT) { 161 | methods = { 162 | values: DEF_VALUES ? $default : getMethod(VALUES), 163 | keys: IS_SET ? $default : getMethod(KEYS), 164 | entries: $entries 165 | }; 166 | if (FORCED) for (key in methods) { 167 | if (!(key in proto)) redefine(proto, key, methods[key]); 168 | } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); 169 | } 170 | return methods; 171 | }; 172 | 173 | 174 | /***/ }), 175 | 176 | /***/ "07e3": 177 | /***/ (function(module, exports) { 178 | 179 | var hasOwnProperty = {}.hasOwnProperty; 180 | module.exports = function (it, key) { 181 | return hasOwnProperty.call(it, key); 182 | }; 183 | 184 | 185 | /***/ }), 186 | 187 | /***/ "0d58": 188 | /***/ (function(module, exports, __webpack_require__) { 189 | 190 | // 19.1.2.14 / 15.2.3.14 Object.keys(O) 191 | var $keys = __webpack_require__("ce10"); 192 | var enumBugKeys = __webpack_require__("e11e"); 193 | 194 | module.exports = Object.keys || function keys(O) { 195 | return $keys(O, enumBugKeys); 196 | }; 197 | 198 | 199 | /***/ }), 200 | 201 | /***/ "11e9": 202 | /***/ (function(module, exports, __webpack_require__) { 203 | 204 | var pIE = __webpack_require__("52a7"); 205 | var createDesc = __webpack_require__("4630"); 206 | var toIObject = __webpack_require__("6821"); 207 | var toPrimitive = __webpack_require__("6a99"); 208 | var has = __webpack_require__("69a8"); 209 | var IE8_DOM_DEFINE = __webpack_require__("c69a"); 210 | var gOPD = Object.getOwnPropertyDescriptor; 211 | 212 | exports.f = __webpack_require__("9e1e") ? gOPD : function getOwnPropertyDescriptor(O, P) { 213 | O = toIObject(O); 214 | P = toPrimitive(P, true); 215 | if (IE8_DOM_DEFINE) try { 216 | return gOPD(O, P); 217 | } catch (e) { /* empty */ } 218 | if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); 219 | }; 220 | 221 | 222 | /***/ }), 223 | 224 | /***/ "1495": 225 | /***/ (function(module, exports, __webpack_require__) { 226 | 227 | var dP = __webpack_require__("86cc"); 228 | var anObject = __webpack_require__("cb7c"); 229 | var getKeys = __webpack_require__("0d58"); 230 | 231 | module.exports = __webpack_require__("9e1e") ? Object.defineProperties : function defineProperties(O, Properties) { 232 | anObject(O); 233 | var keys = getKeys(Properties); 234 | var length = keys.length; 235 | var i = 0; 236 | var P; 237 | while (length > i) dP.f(O, P = keys[i++], Properties[P]); 238 | return O; 239 | }; 240 | 241 | 242 | /***/ }), 243 | 244 | /***/ "1af6": 245 | /***/ (function(module, exports, __webpack_require__) { 246 | 247 | // 22.1.2.2 / 15.4.3.2 Array.isArray(arg) 248 | var $export = __webpack_require__("63b6"); 249 | 250 | $export($export.S, 'Array', { isArray: __webpack_require__("9003") }); 251 | 252 | 253 | /***/ }), 254 | 255 | /***/ "1bc3": 256 | /***/ (function(module, exports, __webpack_require__) { 257 | 258 | // 7.1.1 ToPrimitive(input [, PreferredType]) 259 | var isObject = __webpack_require__("f772"); 260 | // instead of the ES6 spec version, we didn't implement @@toPrimitive case 261 | // and the second argument - flag - preferred type is a string 262 | module.exports = function (it, S) { 263 | if (!isObject(it)) return it; 264 | var fn, val; 265 | if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; 266 | if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; 267 | if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; 268 | throw TypeError("Can't convert object to primitive value"); 269 | }; 270 | 271 | 272 | /***/ }), 273 | 274 | /***/ "1ec9": 275 | /***/ (function(module, exports, __webpack_require__) { 276 | 277 | var isObject = __webpack_require__("f772"); 278 | var document = __webpack_require__("e53d").document; 279 | // typeof document.createElement is 'object' in old IE 280 | var is = isObject(document) && isObject(document.createElement); 281 | module.exports = function (it) { 282 | return is ? document.createElement(it) : {}; 283 | }; 284 | 285 | 286 | /***/ }), 287 | 288 | /***/ "230e": 289 | /***/ (function(module, exports, __webpack_require__) { 290 | 291 | var isObject = __webpack_require__("d3f4"); 292 | var document = __webpack_require__("7726").document; 293 | // typeof document.createElement is 'object' in old IE 294 | var is = isObject(document) && isObject(document.createElement); 295 | module.exports = function (it) { 296 | return is ? document.createElement(it) : {}; 297 | }; 298 | 299 | 300 | /***/ }), 301 | 302 | /***/ "294c": 303 | /***/ (function(module, exports) { 304 | 305 | module.exports = function (exec) { 306 | try { 307 | return !!exec(); 308 | } catch (e) { 309 | return true; 310 | } 311 | }; 312 | 313 | 314 | /***/ }), 315 | 316 | /***/ "2aba": 317 | /***/ (function(module, exports, __webpack_require__) { 318 | 319 | var global = __webpack_require__("7726"); 320 | var hide = __webpack_require__("32e9"); 321 | var has = __webpack_require__("69a8"); 322 | var SRC = __webpack_require__("ca5a")('src'); 323 | var $toString = __webpack_require__("fa5b"); 324 | var TO_STRING = 'toString'; 325 | var TPL = ('' + $toString).split(TO_STRING); 326 | 327 | __webpack_require__("8378").inspectSource = function (it) { 328 | return $toString.call(it); 329 | }; 330 | 331 | (module.exports = function (O, key, val, safe) { 332 | var isFunction = typeof val == 'function'; 333 | if (isFunction) has(val, 'name') || hide(val, 'name', key); 334 | if (O[key] === val) return; 335 | if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); 336 | if (O === global) { 337 | O[key] = val; 338 | } else if (!safe) { 339 | delete O[key]; 340 | hide(O, key, val); 341 | } else if (O[key]) { 342 | O[key] = val; 343 | } else { 344 | hide(O, key, val); 345 | } 346 | // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative 347 | })(Function.prototype, TO_STRING, function toString() { 348 | return typeof this == 'function' && this[SRC] || $toString.call(this); 349 | }); 350 | 351 | 352 | /***/ }), 353 | 354 | /***/ "2aeb": 355 | /***/ (function(module, exports, __webpack_require__) { 356 | 357 | // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) 358 | var anObject = __webpack_require__("cb7c"); 359 | var dPs = __webpack_require__("1495"); 360 | var enumBugKeys = __webpack_require__("e11e"); 361 | var IE_PROTO = __webpack_require__("613b")('IE_PROTO'); 362 | var Empty = function () { /* empty */ }; 363 | var PROTOTYPE = 'prototype'; 364 | 365 | // Create object with fake `null` prototype: use iframe Object with cleared prototype 366 | var createDict = function () { 367 | // Thrash, waste and sodomy: IE GC bug 368 | var iframe = __webpack_require__("230e")('iframe'); 369 | var i = enumBugKeys.length; 370 | var lt = '<'; 371 | var gt = '>'; 372 | var iframeDocument; 373 | iframe.style.display = 'none'; 374 | __webpack_require__("fab2").appendChild(iframe); 375 | iframe.src = 'javascript:'; // eslint-disable-line no-script-url 376 | // createDict = iframe.contentWindow.Object; 377 | // html.removeChild(iframe); 378 | iframeDocument = iframe.contentWindow.document; 379 | iframeDocument.open(); 380 | iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); 381 | iframeDocument.close(); 382 | createDict = iframeDocument.F; 383 | while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; 384 | return createDict(); 385 | }; 386 | 387 | module.exports = Object.create || function create(O, Properties) { 388 | var result; 389 | if (O !== null) { 390 | Empty[PROTOTYPE] = anObject(O); 391 | result = new Empty(); 392 | Empty[PROTOTYPE] = null; 393 | // add "__proto__" for Object.getPrototypeOf polyfill 394 | result[IE_PROTO] = O; 395 | } else result = createDict(); 396 | return Properties === undefined ? result : dPs(result, Properties); 397 | }; 398 | 399 | 400 | /***/ }), 401 | 402 | /***/ "2b4c": 403 | /***/ (function(module, exports, __webpack_require__) { 404 | 405 | var store = __webpack_require__("5537")('wks'); 406 | var uid = __webpack_require__("ca5a"); 407 | var Symbol = __webpack_require__("7726").Symbol; 408 | var USE_SYMBOL = typeof Symbol == 'function'; 409 | 410 | var $exports = module.exports = function (name) { 411 | return store[name] || (store[name] = 412 | USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); 413 | }; 414 | 415 | $exports.store = store; 416 | 417 | 418 | /***/ }), 419 | 420 | /***/ "2d00": 421 | /***/ (function(module, exports) { 422 | 423 | module.exports = false; 424 | 425 | 426 | /***/ }), 427 | 428 | /***/ "2d95": 429 | /***/ (function(module, exports) { 430 | 431 | var toString = {}.toString; 432 | 433 | module.exports = function (it) { 434 | return toString.call(it).slice(8, -1); 435 | }; 436 | 437 | 438 | /***/ }), 439 | 440 | /***/ "32e9": 441 | /***/ (function(module, exports, __webpack_require__) { 442 | 443 | var dP = __webpack_require__("86cc"); 444 | var createDesc = __webpack_require__("4630"); 445 | module.exports = __webpack_require__("9e1e") ? function (object, key, value) { 446 | return dP.f(object, key, createDesc(1, value)); 447 | } : function (object, key, value) { 448 | object[key] = value; 449 | return object; 450 | }; 451 | 452 | 453 | /***/ }), 454 | 455 | /***/ "35e8": 456 | /***/ (function(module, exports, __webpack_require__) { 457 | 458 | var dP = __webpack_require__("d9f6"); 459 | var createDesc = __webpack_require__("aebd"); 460 | module.exports = __webpack_require__("8e60") ? function (object, key, value) { 461 | return dP.f(object, key, createDesc(1, value)); 462 | } : function (object, key, value) { 463 | object[key] = value; 464 | return object; 465 | }; 466 | 467 | 468 | /***/ }), 469 | 470 | /***/ "38fd": 471 | /***/ (function(module, exports, __webpack_require__) { 472 | 473 | // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) 474 | var has = __webpack_require__("69a8"); 475 | var toObject = __webpack_require__("4bf8"); 476 | var IE_PROTO = __webpack_require__("613b")('IE_PROTO'); 477 | var ObjectProto = Object.prototype; 478 | 479 | module.exports = Object.getPrototypeOf || function (O) { 480 | O = toObject(O); 481 | if (has(O, IE_PROTO)) return O[IE_PROTO]; 482 | if (typeof O.constructor == 'function' && O instanceof O.constructor) { 483 | return O.constructor.prototype; 484 | } return O instanceof Object ? ObjectProto : null; 485 | }; 486 | 487 | 488 | /***/ }), 489 | 490 | /***/ "41a0": 491 | /***/ (function(module, exports, __webpack_require__) { 492 | 493 | "use strict"; 494 | 495 | var create = __webpack_require__("2aeb"); 496 | var descriptor = __webpack_require__("4630"); 497 | var setToStringTag = __webpack_require__("7f20"); 498 | var IteratorPrototype = {}; 499 | 500 | // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() 501 | __webpack_require__("32e9")(IteratorPrototype, __webpack_require__("2b4c")('iterator'), function () { return this; }); 502 | 503 | module.exports = function (Constructor, NAME, next) { 504 | Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); 505 | setToStringTag(Constructor, NAME + ' Iterator'); 506 | }; 507 | 508 | 509 | /***/ }), 510 | 511 | /***/ "4588": 512 | /***/ (function(module, exports) { 513 | 514 | // 7.1.4 ToInteger 515 | var ceil = Math.ceil; 516 | var floor = Math.floor; 517 | module.exports = function (it) { 518 | return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); 519 | }; 520 | 521 | 522 | /***/ }), 523 | 524 | /***/ "4630": 525 | /***/ (function(module, exports) { 526 | 527 | module.exports = function (bitmap, value) { 528 | return { 529 | enumerable: !(bitmap & 1), 530 | configurable: !(bitmap & 2), 531 | writable: !(bitmap & 4), 532 | value: value 533 | }; 534 | }; 535 | 536 | 537 | /***/ }), 538 | 539 | /***/ "4bf8": 540 | /***/ (function(module, exports, __webpack_require__) { 541 | 542 | // 7.1.13 ToObject(argument) 543 | var defined = __webpack_require__("be13"); 544 | module.exports = function (it) { 545 | return Object(defined(it)); 546 | }; 547 | 548 | 549 | /***/ }), 550 | 551 | /***/ "52a7": 552 | /***/ (function(module, exports) { 553 | 554 | exports.f = {}.propertyIsEnumerable; 555 | 556 | 557 | /***/ }), 558 | 559 | /***/ "5537": 560 | /***/ (function(module, exports, __webpack_require__) { 561 | 562 | var core = __webpack_require__("8378"); 563 | var global = __webpack_require__("7726"); 564 | var SHARED = '__core-js_shared__'; 565 | var store = global[SHARED] || (global[SHARED] = {}); 566 | 567 | (module.exports = function (key, value) { 568 | return store[key] || (store[key] = value !== undefined ? value : {}); 569 | })('versions', []).push({ 570 | version: core.version, 571 | mode: __webpack_require__("2d00") ? 'pure' : 'global', 572 | copyright: '© 2019 Denis Pushkarev (zloirock.ru)' 573 | }); 574 | 575 | 576 | /***/ }), 577 | 578 | /***/ "584a": 579 | /***/ (function(module, exports) { 580 | 581 | var core = module.exports = { version: '2.6.5' }; 582 | if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef 583 | 584 | 585 | /***/ }), 586 | 587 | /***/ "5ca1": 588 | /***/ (function(module, exports, __webpack_require__) { 589 | 590 | var global = __webpack_require__("7726"); 591 | var core = __webpack_require__("8378"); 592 | var hide = __webpack_require__("32e9"); 593 | var redefine = __webpack_require__("2aba"); 594 | var ctx = __webpack_require__("9b43"); 595 | var PROTOTYPE = 'prototype'; 596 | 597 | var $export = function (type, name, source) { 598 | var IS_FORCED = type & $export.F; 599 | var IS_GLOBAL = type & $export.G; 600 | var IS_STATIC = type & $export.S; 601 | var IS_PROTO = type & $export.P; 602 | var IS_BIND = type & $export.B; 603 | var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]; 604 | var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); 605 | var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}); 606 | var key, own, out, exp; 607 | if (IS_GLOBAL) source = name; 608 | for (key in source) { 609 | // contains in native 610 | own = !IS_FORCED && target && target[key] !== undefined; 611 | // export native or passed 612 | out = (own ? target : source)[key]; 613 | // bind timers to global for call from export context 614 | exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; 615 | // extend global 616 | if (target) redefine(target, key, out, type & $export.U); 617 | // export 618 | if (exports[key] != out) hide(exports, key, exp); 619 | if (IS_PROTO && expProto[key] != out) expProto[key] = out; 620 | } 621 | }; 622 | global.core = core; 623 | // type bitmap 624 | $export.F = 1; // forced 625 | $export.G = 2; // global 626 | $export.S = 4; // static 627 | $export.P = 8; // proto 628 | $export.B = 16; // bind 629 | $export.W = 32; // wrap 630 | $export.U = 64; // safe 631 | $export.R = 128; // real proto method for `library` 632 | module.exports = $export; 633 | 634 | 635 | /***/ }), 636 | 637 | /***/ "5dbc": 638 | /***/ (function(module, exports, __webpack_require__) { 639 | 640 | var isObject = __webpack_require__("d3f4"); 641 | var setPrototypeOf = __webpack_require__("8b97").set; 642 | module.exports = function (that, target, C) { 643 | var S = target.constructor; 644 | var P; 645 | if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) { 646 | setPrototypeOf(that, P); 647 | } return that; 648 | }; 649 | 650 | 651 | /***/ }), 652 | 653 | /***/ "613b": 654 | /***/ (function(module, exports, __webpack_require__) { 655 | 656 | var shared = __webpack_require__("5537")('keys'); 657 | var uid = __webpack_require__("ca5a"); 658 | module.exports = function (key) { 659 | return shared[key] || (shared[key] = uid(key)); 660 | }; 661 | 662 | 663 | /***/ }), 664 | 665 | /***/ "626a": 666 | /***/ (function(module, exports, __webpack_require__) { 667 | 668 | // fallback for non-array-like ES3 and non-enumerable old V8 strings 669 | var cof = __webpack_require__("2d95"); 670 | // eslint-disable-next-line no-prototype-builtins 671 | module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { 672 | return cof(it) == 'String' ? it.split('') : Object(it); 673 | }; 674 | 675 | 676 | /***/ }), 677 | 678 | /***/ "63b6": 679 | /***/ (function(module, exports, __webpack_require__) { 680 | 681 | var global = __webpack_require__("e53d"); 682 | var core = __webpack_require__("584a"); 683 | var ctx = __webpack_require__("d864"); 684 | var hide = __webpack_require__("35e8"); 685 | var has = __webpack_require__("07e3"); 686 | var PROTOTYPE = 'prototype'; 687 | 688 | var $export = function (type, name, source) { 689 | var IS_FORCED = type & $export.F; 690 | var IS_GLOBAL = type & $export.G; 691 | var IS_STATIC = type & $export.S; 692 | var IS_PROTO = type & $export.P; 693 | var IS_BIND = type & $export.B; 694 | var IS_WRAP = type & $export.W; 695 | var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); 696 | var expProto = exports[PROTOTYPE]; 697 | var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]; 698 | var key, own, out; 699 | if (IS_GLOBAL) source = name; 700 | for (key in source) { 701 | // contains in native 702 | own = !IS_FORCED && target && target[key] !== undefined; 703 | if (own && has(exports, key)) continue; 704 | // export native or passed 705 | out = own ? target[key] : source[key]; 706 | // prevent global pollution for namespaces 707 | exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key] 708 | // bind timers to global for call from export context 709 | : IS_BIND && own ? ctx(out, global) 710 | // wrap global constructors for prevent change them in library 711 | : IS_WRAP && target[key] == out ? (function (C) { 712 | var F = function (a, b, c) { 713 | if (this instanceof C) { 714 | switch (arguments.length) { 715 | case 0: return new C(); 716 | case 1: return new C(a); 717 | case 2: return new C(a, b); 718 | } return new C(a, b, c); 719 | } return C.apply(this, arguments); 720 | }; 721 | F[PROTOTYPE] = C[PROTOTYPE]; 722 | return F; 723 | // make static versions for prototype methods 724 | })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; 725 | // export proto methods to core.%CONSTRUCTOR%.methods.%NAME% 726 | if (IS_PROTO) { 727 | (exports.virtual || (exports.virtual = {}))[key] = out; 728 | // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME% 729 | if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out); 730 | } 731 | } 732 | }; 733 | // type bitmap 734 | $export.F = 1; // forced 735 | $export.G = 2; // global 736 | $export.S = 4; // static 737 | $export.P = 8; // proto 738 | $export.B = 16; // bind 739 | $export.W = 32; // wrap 740 | $export.U = 64; // safe 741 | $export.R = 128; // real proto method for `library` 742 | module.exports = $export; 743 | 744 | 745 | /***/ }), 746 | 747 | /***/ "6821": 748 | /***/ (function(module, exports, __webpack_require__) { 749 | 750 | // to indexed object, toObject with fallback for non-array-like ES3 strings 751 | var IObject = __webpack_require__("626a"); 752 | var defined = __webpack_require__("be13"); 753 | module.exports = function (it) { 754 | return IObject(defined(it)); 755 | }; 756 | 757 | 758 | /***/ }), 759 | 760 | /***/ "69a8": 761 | /***/ (function(module, exports) { 762 | 763 | var hasOwnProperty = {}.hasOwnProperty; 764 | module.exports = function (it, key) { 765 | return hasOwnProperty.call(it, key); 766 | }; 767 | 768 | 769 | /***/ }), 770 | 771 | /***/ "6a99": 772 | /***/ (function(module, exports, __webpack_require__) { 773 | 774 | // 7.1.1 ToPrimitive(input [, PreferredType]) 775 | var isObject = __webpack_require__("d3f4"); 776 | // instead of the ES6 spec version, we didn't implement @@toPrimitive case 777 | // and the second argument - flag - preferred type is a string 778 | module.exports = function (it, S) { 779 | if (!isObject(it)) return it; 780 | var fn, val; 781 | if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; 782 | if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; 783 | if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; 784 | throw TypeError("Can't convert object to primitive value"); 785 | }; 786 | 787 | 788 | /***/ }), 789 | 790 | /***/ "6b4c": 791 | /***/ (function(module, exports) { 792 | 793 | var toString = {}.toString; 794 | 795 | module.exports = function (it) { 796 | return toString.call(it).slice(8, -1); 797 | }; 798 | 799 | 800 | /***/ }), 801 | 802 | /***/ "7726": 803 | /***/ (function(module, exports) { 804 | 805 | // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 806 | var global = module.exports = typeof window != 'undefined' && window.Math == Math 807 | ? window : typeof self != 'undefined' && self.Math == Math ? self 808 | // eslint-disable-next-line no-new-func 809 | : Function('return this')(); 810 | if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef 811 | 812 | 813 | /***/ }), 814 | 815 | /***/ "77f1": 816 | /***/ (function(module, exports, __webpack_require__) { 817 | 818 | var toInteger = __webpack_require__("4588"); 819 | var max = Math.max; 820 | var min = Math.min; 821 | module.exports = function (index, length) { 822 | index = toInteger(index); 823 | return index < 0 ? max(index + length, 0) : min(index, length); 824 | }; 825 | 826 | 827 | /***/ }), 828 | 829 | /***/ "794b": 830 | /***/ (function(module, exports, __webpack_require__) { 831 | 832 | module.exports = !__webpack_require__("8e60") && !__webpack_require__("294c")(function () { 833 | return Object.defineProperty(__webpack_require__("1ec9")('div'), 'a', { get: function () { return 7; } }).a != 7; 834 | }); 835 | 836 | 837 | /***/ }), 838 | 839 | /***/ "79aa": 840 | /***/ (function(module, exports) { 841 | 842 | module.exports = function (it) { 843 | if (typeof it != 'function') throw TypeError(it + ' is not a function!'); 844 | return it; 845 | }; 846 | 847 | 848 | /***/ }), 849 | 850 | /***/ "79e5": 851 | /***/ (function(module, exports) { 852 | 853 | module.exports = function (exec) { 854 | try { 855 | return !!exec(); 856 | } catch (e) { 857 | return true; 858 | } 859 | }; 860 | 861 | 862 | /***/ }), 863 | 864 | /***/ "7f20": 865 | /***/ (function(module, exports, __webpack_require__) { 866 | 867 | var def = __webpack_require__("86cc").f; 868 | var has = __webpack_require__("69a8"); 869 | var TAG = __webpack_require__("2b4c")('toStringTag'); 870 | 871 | module.exports = function (it, tag, stat) { 872 | if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); 873 | }; 874 | 875 | 876 | /***/ }), 877 | 878 | /***/ "7f7f": 879 | /***/ (function(module, exports, __webpack_require__) { 880 | 881 | var dP = __webpack_require__("86cc").f; 882 | var FProto = Function.prototype; 883 | var nameRE = /^\s*function ([^ (]*)/; 884 | var NAME = 'name'; 885 | 886 | // 19.2.4.2 name 887 | NAME in FProto || __webpack_require__("9e1e") && dP(FProto, NAME, { 888 | configurable: true, 889 | get: function () { 890 | try { 891 | return ('' + this).match(nameRE)[1]; 892 | } catch (e) { 893 | return ''; 894 | } 895 | } 896 | }); 897 | 898 | 899 | /***/ }), 900 | 901 | /***/ "8378": 902 | /***/ (function(module, exports) { 903 | 904 | var core = module.exports = { version: '2.6.5' }; 905 | if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef 906 | 907 | 908 | /***/ }), 909 | 910 | /***/ "84f2": 911 | /***/ (function(module, exports) { 912 | 913 | module.exports = {}; 914 | 915 | 916 | /***/ }), 917 | 918 | /***/ "86cc": 919 | /***/ (function(module, exports, __webpack_require__) { 920 | 921 | var anObject = __webpack_require__("cb7c"); 922 | var IE8_DOM_DEFINE = __webpack_require__("c69a"); 923 | var toPrimitive = __webpack_require__("6a99"); 924 | var dP = Object.defineProperty; 925 | 926 | exports.f = __webpack_require__("9e1e") ? Object.defineProperty : function defineProperty(O, P, Attributes) { 927 | anObject(O); 928 | P = toPrimitive(P, true); 929 | anObject(Attributes); 930 | if (IE8_DOM_DEFINE) try { 931 | return dP(O, P, Attributes); 932 | } catch (e) { /* empty */ } 933 | if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); 934 | if ('value' in Attributes) O[P] = Attributes.value; 935 | return O; 936 | }; 937 | 938 | 939 | /***/ }), 940 | 941 | /***/ "8b97": 942 | /***/ (function(module, exports, __webpack_require__) { 943 | 944 | // Works with __proto__ only. Old v8 can't work with null proto objects. 945 | /* eslint-disable no-proto */ 946 | var isObject = __webpack_require__("d3f4"); 947 | var anObject = __webpack_require__("cb7c"); 948 | var check = function (O, proto) { 949 | anObject(O); 950 | if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); 951 | }; 952 | module.exports = { 953 | set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line 954 | function (test, buggy, set) { 955 | try { 956 | set = __webpack_require__("9b43")(Function.call, __webpack_require__("11e9").f(Object.prototype, '__proto__').set, 2); 957 | set(test, []); 958 | buggy = !(test instanceof Array); 959 | } catch (e) { buggy = true; } 960 | return function setPrototypeOf(O, proto) { 961 | check(O, proto); 962 | if (buggy) O.__proto__ = proto; 963 | else set(O, proto); 964 | return O; 965 | }; 966 | }({}, false) : undefined), 967 | check: check 968 | }; 969 | 970 | 971 | /***/ }), 972 | 973 | /***/ "8e60": 974 | /***/ (function(module, exports, __webpack_require__) { 975 | 976 | // Thank's IE8 for his funny defineProperty 977 | module.exports = !__webpack_require__("294c")(function () { 978 | return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; 979 | }); 980 | 981 | 982 | /***/ }), 983 | 984 | /***/ "9003": 985 | /***/ (function(module, exports, __webpack_require__) { 986 | 987 | // 7.2.2 IsArray(argument) 988 | var cof = __webpack_require__("6b4c"); 989 | module.exports = Array.isArray || function isArray(arg) { 990 | return cof(arg) == 'Array'; 991 | }; 992 | 993 | 994 | /***/ }), 995 | 996 | /***/ "9093": 997 | /***/ (function(module, exports, __webpack_require__) { 998 | 999 | // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) 1000 | var $keys = __webpack_require__("ce10"); 1001 | var hiddenKeys = __webpack_require__("e11e").concat('length', 'prototype'); 1002 | 1003 | exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { 1004 | return $keys(O, hiddenKeys); 1005 | }; 1006 | 1007 | 1008 | /***/ }), 1009 | 1010 | /***/ "9b43": 1011 | /***/ (function(module, exports, __webpack_require__) { 1012 | 1013 | // optional / simple context binding 1014 | var aFunction = __webpack_require__("d8e8"); 1015 | module.exports = function (fn, that, length) { 1016 | aFunction(fn); 1017 | if (that === undefined) return fn; 1018 | switch (length) { 1019 | case 1: return function (a) { 1020 | return fn.call(that, a); 1021 | }; 1022 | case 2: return function (a, b) { 1023 | return fn.call(that, a, b); 1024 | }; 1025 | case 3: return function (a, b, c) { 1026 | return fn.call(that, a, b, c); 1027 | }; 1028 | } 1029 | return function (/* ...args */) { 1030 | return fn.apply(that, arguments); 1031 | }; 1032 | }; 1033 | 1034 | 1035 | /***/ }), 1036 | 1037 | /***/ "9c6c": 1038 | /***/ (function(module, exports, __webpack_require__) { 1039 | 1040 | // 22.1.3.31 Array.prototype[@@unscopables] 1041 | var UNSCOPABLES = __webpack_require__("2b4c")('unscopables'); 1042 | var ArrayProto = Array.prototype; 1043 | if (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__("32e9")(ArrayProto, UNSCOPABLES, {}); 1044 | module.exports = function (key) { 1045 | ArrayProto[UNSCOPABLES][key] = true; 1046 | }; 1047 | 1048 | 1049 | /***/ }), 1050 | 1051 | /***/ "9def": 1052 | /***/ (function(module, exports, __webpack_require__) { 1053 | 1054 | // 7.1.15 ToLength 1055 | var toInteger = __webpack_require__("4588"); 1056 | var min = Math.min; 1057 | module.exports = function (it) { 1058 | return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 1059 | }; 1060 | 1061 | 1062 | /***/ }), 1063 | 1064 | /***/ "9e1e": 1065 | /***/ (function(module, exports, __webpack_require__) { 1066 | 1067 | // Thank's IE8 for his funny defineProperty 1068 | module.exports = !__webpack_require__("79e5")(function () { 1069 | return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; 1070 | }); 1071 | 1072 | 1073 | /***/ }), 1074 | 1075 | /***/ "a745": 1076 | /***/ (function(module, exports, __webpack_require__) { 1077 | 1078 | module.exports = __webpack_require__("f410"); 1079 | 1080 | /***/ }), 1081 | 1082 | /***/ "aa77": 1083 | /***/ (function(module, exports, __webpack_require__) { 1084 | 1085 | var $export = __webpack_require__("5ca1"); 1086 | var defined = __webpack_require__("be13"); 1087 | var fails = __webpack_require__("79e5"); 1088 | var spaces = __webpack_require__("fdef"); 1089 | var space = '[' + spaces + ']'; 1090 | var non = '\u200b\u0085'; 1091 | var ltrim = RegExp('^' + space + space + '*'); 1092 | var rtrim = RegExp(space + space + '*$'); 1093 | 1094 | var exporter = function (KEY, exec, ALIAS) { 1095 | var exp = {}; 1096 | var FORCE = fails(function () { 1097 | return !!spaces[KEY]() || non[KEY]() != non; 1098 | }); 1099 | var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; 1100 | if (ALIAS) exp[ALIAS] = fn; 1101 | $export($export.P + $export.F * FORCE, 'String', exp); 1102 | }; 1103 | 1104 | // 1 -> String#trimLeft 1105 | // 2 -> String#trimRight 1106 | // 3 -> String#trim 1107 | var trim = exporter.trim = function (string, TYPE) { 1108 | string = String(defined(string)); 1109 | if (TYPE & 1) string = string.replace(ltrim, ''); 1110 | if (TYPE & 2) string = string.replace(rtrim, ''); 1111 | return string; 1112 | }; 1113 | 1114 | module.exports = exporter; 1115 | 1116 | 1117 | /***/ }), 1118 | 1119 | /***/ "ac6a": 1120 | /***/ (function(module, exports, __webpack_require__) { 1121 | 1122 | var $iterators = __webpack_require__("cadf"); 1123 | var getKeys = __webpack_require__("0d58"); 1124 | var redefine = __webpack_require__("2aba"); 1125 | var global = __webpack_require__("7726"); 1126 | var hide = __webpack_require__("32e9"); 1127 | var Iterators = __webpack_require__("84f2"); 1128 | var wks = __webpack_require__("2b4c"); 1129 | var ITERATOR = wks('iterator'); 1130 | var TO_STRING_TAG = wks('toStringTag'); 1131 | var ArrayValues = Iterators.Array; 1132 | 1133 | var DOMIterables = { 1134 | CSSRuleList: true, // TODO: Not spec compliant, should be false. 1135 | CSSStyleDeclaration: false, 1136 | CSSValueList: false, 1137 | ClientRectList: false, 1138 | DOMRectList: false, 1139 | DOMStringList: false, 1140 | DOMTokenList: true, 1141 | DataTransferItemList: false, 1142 | FileList: false, 1143 | HTMLAllCollection: false, 1144 | HTMLCollection: false, 1145 | HTMLFormElement: false, 1146 | HTMLSelectElement: false, 1147 | MediaList: true, // TODO: Not spec compliant, should be false. 1148 | MimeTypeArray: false, 1149 | NamedNodeMap: false, 1150 | NodeList: true, 1151 | PaintRequestList: false, 1152 | Plugin: false, 1153 | PluginArray: false, 1154 | SVGLengthList: false, 1155 | SVGNumberList: false, 1156 | SVGPathSegList: false, 1157 | SVGPointList: false, 1158 | SVGStringList: false, 1159 | SVGTransformList: false, 1160 | SourceBufferList: false, 1161 | StyleSheetList: true, // TODO: Not spec compliant, should be false. 1162 | TextTrackCueList: false, 1163 | TextTrackList: false, 1164 | TouchList: false 1165 | }; 1166 | 1167 | for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) { 1168 | var NAME = collections[i]; 1169 | var explicit = DOMIterables[NAME]; 1170 | var Collection = global[NAME]; 1171 | var proto = Collection && Collection.prototype; 1172 | var key; 1173 | if (proto) { 1174 | if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues); 1175 | if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); 1176 | Iterators[NAME] = ArrayValues; 1177 | if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true); 1178 | } 1179 | } 1180 | 1181 | 1182 | /***/ }), 1183 | 1184 | /***/ "aebd": 1185 | /***/ (function(module, exports) { 1186 | 1187 | module.exports = function (bitmap, value) { 1188 | return { 1189 | enumerable: !(bitmap & 1), 1190 | configurable: !(bitmap & 2), 1191 | writable: !(bitmap & 4), 1192 | value: value 1193 | }; 1194 | }; 1195 | 1196 | 1197 | /***/ }), 1198 | 1199 | /***/ "bcfc": 1200 | /***/ (function(module, exports, __webpack_require__) { 1201 | 1202 | // extracted by mini-css-extract-plugin 1203 | 1204 | /***/ }), 1205 | 1206 | /***/ "be13": 1207 | /***/ (function(module, exports) { 1208 | 1209 | // 7.2.1 RequireObjectCoercible(argument) 1210 | module.exports = function (it) { 1211 | if (it == undefined) throw TypeError("Can't call method on " + it); 1212 | return it; 1213 | }; 1214 | 1215 | 1216 | /***/ }), 1217 | 1218 | /***/ "c366": 1219 | /***/ (function(module, exports, __webpack_require__) { 1220 | 1221 | // false -> Array#indexOf 1222 | // true -> Array#includes 1223 | var toIObject = __webpack_require__("6821"); 1224 | var toLength = __webpack_require__("9def"); 1225 | var toAbsoluteIndex = __webpack_require__("77f1"); 1226 | module.exports = function (IS_INCLUDES) { 1227 | return function ($this, el, fromIndex) { 1228 | var O = toIObject($this); 1229 | var length = toLength(O.length); 1230 | var index = toAbsoluteIndex(fromIndex, length); 1231 | var value; 1232 | // Array#includes uses SameValueZero equality algorithm 1233 | // eslint-disable-next-line no-self-compare 1234 | if (IS_INCLUDES && el != el) while (length > index) { 1235 | value = O[index++]; 1236 | // eslint-disable-next-line no-self-compare 1237 | if (value != value) return true; 1238 | // Array#indexOf ignores holes, Array#includes - not 1239 | } else for (;length > index; index++) if (IS_INCLUDES || index in O) { 1240 | if (O[index] === el) return IS_INCLUDES || index || 0; 1241 | } return !IS_INCLUDES && -1; 1242 | }; 1243 | }; 1244 | 1245 | 1246 | /***/ }), 1247 | 1248 | /***/ "c5f6": 1249 | /***/ (function(module, exports, __webpack_require__) { 1250 | 1251 | "use strict"; 1252 | 1253 | var global = __webpack_require__("7726"); 1254 | var has = __webpack_require__("69a8"); 1255 | var cof = __webpack_require__("2d95"); 1256 | var inheritIfRequired = __webpack_require__("5dbc"); 1257 | var toPrimitive = __webpack_require__("6a99"); 1258 | var fails = __webpack_require__("79e5"); 1259 | var gOPN = __webpack_require__("9093").f; 1260 | var gOPD = __webpack_require__("11e9").f; 1261 | var dP = __webpack_require__("86cc").f; 1262 | var $trim = __webpack_require__("aa77").trim; 1263 | var NUMBER = 'Number'; 1264 | var $Number = global[NUMBER]; 1265 | var Base = $Number; 1266 | var proto = $Number.prototype; 1267 | // Opera ~12 has broken Object#toString 1268 | var BROKEN_COF = cof(__webpack_require__("2aeb")(proto)) == NUMBER; 1269 | var TRIM = 'trim' in String.prototype; 1270 | 1271 | // 7.1.3 ToNumber(argument) 1272 | var toNumber = function (argument) { 1273 | var it = toPrimitive(argument, false); 1274 | if (typeof it == 'string' && it.length > 2) { 1275 | it = TRIM ? it.trim() : $trim(it, 3); 1276 | var first = it.charCodeAt(0); 1277 | var third, radix, maxCode; 1278 | if (first === 43 || first === 45) { 1279 | third = it.charCodeAt(2); 1280 | if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix 1281 | } else if (first === 48) { 1282 | switch (it.charCodeAt(1)) { 1283 | case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i 1284 | case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i 1285 | default: return +it; 1286 | } 1287 | for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) { 1288 | code = digits.charCodeAt(i); 1289 | // parseInt parses a string to a first unavailable symbol 1290 | // but ToNumber should return NaN if a string contains unavailable symbols 1291 | if (code < 48 || code > maxCode) return NaN; 1292 | } return parseInt(digits, radix); 1293 | } 1294 | } return +it; 1295 | }; 1296 | 1297 | if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) { 1298 | $Number = function Number(value) { 1299 | var it = arguments.length < 1 ? 0 : value; 1300 | var that = this; 1301 | return that instanceof $Number 1302 | // check on 1..constructor(foo) case 1303 | && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER) 1304 | ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it); 1305 | }; 1306 | for (var keys = __webpack_require__("9e1e") ? gOPN(Base) : ( 1307 | // ES3: 1308 | 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + 1309 | // ES6 (in case, if modules with ES6 Number statics required before): 1310 | 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + 1311 | 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' 1312 | ).split(','), j = 0, key; keys.length > j; j++) { 1313 | if (has(Base, key = keys[j]) && !has($Number, key)) { 1314 | dP($Number, key, gOPD(Base, key)); 1315 | } 1316 | } 1317 | $Number.prototype = proto; 1318 | proto.constructor = $Number; 1319 | __webpack_require__("2aba")(global, NUMBER, $Number); 1320 | } 1321 | 1322 | 1323 | /***/ }), 1324 | 1325 | /***/ "c69a": 1326 | /***/ (function(module, exports, __webpack_require__) { 1327 | 1328 | module.exports = !__webpack_require__("9e1e") && !__webpack_require__("79e5")(function () { 1329 | return Object.defineProperty(__webpack_require__("230e")('div'), 'a', { get: function () { return 7; } }).a != 7; 1330 | }); 1331 | 1332 | 1333 | /***/ }), 1334 | 1335 | /***/ "ca5a": 1336 | /***/ (function(module, exports) { 1337 | 1338 | var id = 0; 1339 | var px = Math.random(); 1340 | module.exports = function (key) { 1341 | return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); 1342 | }; 1343 | 1344 | 1345 | /***/ }), 1346 | 1347 | /***/ "cadf": 1348 | /***/ (function(module, exports, __webpack_require__) { 1349 | 1350 | "use strict"; 1351 | 1352 | var addToUnscopables = __webpack_require__("9c6c"); 1353 | var step = __webpack_require__("d53b"); 1354 | var Iterators = __webpack_require__("84f2"); 1355 | var toIObject = __webpack_require__("6821"); 1356 | 1357 | // 22.1.3.4 Array.prototype.entries() 1358 | // 22.1.3.13 Array.prototype.keys() 1359 | // 22.1.3.29 Array.prototype.values() 1360 | // 22.1.3.30 Array.prototype[@@iterator]() 1361 | module.exports = __webpack_require__("01f9")(Array, 'Array', function (iterated, kind) { 1362 | this._t = toIObject(iterated); // target 1363 | this._i = 0; // next index 1364 | this._k = kind; // kind 1365 | // 22.1.5.2.1 %ArrayIteratorPrototype%.next() 1366 | }, function () { 1367 | var O = this._t; 1368 | var kind = this._k; 1369 | var index = this._i++; 1370 | if (!O || index >= O.length) { 1371 | this._t = undefined; 1372 | return step(1); 1373 | } 1374 | if (kind == 'keys') return step(0, index); 1375 | if (kind == 'values') return step(0, O[index]); 1376 | return step(0, [index, O[index]]); 1377 | }, 'values'); 1378 | 1379 | // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) 1380 | Iterators.Arguments = Iterators.Array; 1381 | 1382 | addToUnscopables('keys'); 1383 | addToUnscopables('values'); 1384 | addToUnscopables('entries'); 1385 | 1386 | 1387 | /***/ }), 1388 | 1389 | /***/ "cb7c": 1390 | /***/ (function(module, exports, __webpack_require__) { 1391 | 1392 | var isObject = __webpack_require__("d3f4"); 1393 | module.exports = function (it) { 1394 | if (!isObject(it)) throw TypeError(it + ' is not an object!'); 1395 | return it; 1396 | }; 1397 | 1398 | 1399 | /***/ }), 1400 | 1401 | /***/ "ce10": 1402 | /***/ (function(module, exports, __webpack_require__) { 1403 | 1404 | var has = __webpack_require__("69a8"); 1405 | var toIObject = __webpack_require__("6821"); 1406 | var arrayIndexOf = __webpack_require__("c366")(false); 1407 | var IE_PROTO = __webpack_require__("613b")('IE_PROTO'); 1408 | 1409 | module.exports = function (object, names) { 1410 | var O = toIObject(object); 1411 | var i = 0; 1412 | var result = []; 1413 | var key; 1414 | for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); 1415 | // Don't enum bug & hidden keys 1416 | while (names.length > i) if (has(O, key = names[i++])) { 1417 | ~arrayIndexOf(result, key) || result.push(key); 1418 | } 1419 | return result; 1420 | }; 1421 | 1422 | 1423 | /***/ }), 1424 | 1425 | /***/ "d3f4": 1426 | /***/ (function(module, exports) { 1427 | 1428 | module.exports = function (it) { 1429 | return typeof it === 'object' ? it !== null : typeof it === 'function'; 1430 | }; 1431 | 1432 | 1433 | /***/ }), 1434 | 1435 | /***/ "d53b": 1436 | /***/ (function(module, exports) { 1437 | 1438 | module.exports = function (done, value) { 1439 | return { value: value, done: !!done }; 1440 | }; 1441 | 1442 | 1443 | /***/ }), 1444 | 1445 | /***/ "d864": 1446 | /***/ (function(module, exports, __webpack_require__) { 1447 | 1448 | // optional / simple context binding 1449 | var aFunction = __webpack_require__("79aa"); 1450 | module.exports = function (fn, that, length) { 1451 | aFunction(fn); 1452 | if (that === undefined) return fn; 1453 | switch (length) { 1454 | case 1: return function (a) { 1455 | return fn.call(that, a); 1456 | }; 1457 | case 2: return function (a, b) { 1458 | return fn.call(that, a, b); 1459 | }; 1460 | case 3: return function (a, b, c) { 1461 | return fn.call(that, a, b, c); 1462 | }; 1463 | } 1464 | return function (/* ...args */) { 1465 | return fn.apply(that, arguments); 1466 | }; 1467 | }; 1468 | 1469 | 1470 | /***/ }), 1471 | 1472 | /***/ "d8e8": 1473 | /***/ (function(module, exports) { 1474 | 1475 | module.exports = function (it) { 1476 | if (typeof it != 'function') throw TypeError(it + ' is not a function!'); 1477 | return it; 1478 | }; 1479 | 1480 | 1481 | /***/ }), 1482 | 1483 | /***/ "d9f6": 1484 | /***/ (function(module, exports, __webpack_require__) { 1485 | 1486 | var anObject = __webpack_require__("e4ae"); 1487 | var IE8_DOM_DEFINE = __webpack_require__("794b"); 1488 | var toPrimitive = __webpack_require__("1bc3"); 1489 | var dP = Object.defineProperty; 1490 | 1491 | exports.f = __webpack_require__("8e60") ? Object.defineProperty : function defineProperty(O, P, Attributes) { 1492 | anObject(O); 1493 | P = toPrimitive(P, true); 1494 | anObject(Attributes); 1495 | if (IE8_DOM_DEFINE) try { 1496 | return dP(O, P, Attributes); 1497 | } catch (e) { /* empty */ } 1498 | if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); 1499 | if ('value' in Attributes) O[P] = Attributes.value; 1500 | return O; 1501 | }; 1502 | 1503 | 1504 | /***/ }), 1505 | 1506 | /***/ "da0a": 1507 | /***/ (function(module, exports, __webpack_require__) { 1508 | 1509 | "use strict"; 1510 | 1511 | 1512 | // Method that will return the data type for any structure passed to it 1513 | function getDataType (data) { 1514 | // Use the objects toString method on the data. 1515 | // This will return something like [object String] 1516 | // Then we use .slice to grab the last portion of it (in this case the "string" bit) 1517 | return Object.prototype.toString.call(data).slice(8, -1); 1518 | } 1519 | 1520 | // Create a method to detect whether an object contains a circular reference 1521 | function isCyclic (data) { 1522 | 1523 | // Create an array that will store the nodes of the array that have already been iterated over 1524 | let seenObjects = []; 1525 | 1526 | function detect (data) { 1527 | // If the data pass is an object 1528 | if (data && getDataType(data) === "Object") { 1529 | 1530 | // If the data is already in the seen nodes array then we know there is a circular reference 1531 | // Therefore return true 1532 | if (seenObjects.indexOf(data) !== -1) { 1533 | return true; 1534 | } 1535 | 1536 | // Add the data to the seen objects array 1537 | seenObjects.push(data); 1538 | 1539 | // Begin iterating through the data passed to the method 1540 | for (var key in data) { 1541 | // Recall this method with the objects key 1542 | if (data.hasOwnProperty(key) === true && detect(data[key])) { 1543 | return true; 1544 | } 1545 | } 1546 | } 1547 | return false; 1548 | } 1549 | 1550 | // Return the method 1551 | return detect(data); 1552 | } 1553 | 1554 | const deepClone = function (data) { 1555 | // If the data is null or undefined then we return undefined 1556 | if (data === null || data === undefined) { 1557 | return undefined; 1558 | } 1559 | 1560 | // Get the data type and store it 1561 | const dataType = getDataType(data); 1562 | 1563 | // If the data passed is a date object 1564 | if (dataType === "Date") { 1565 | // Create a new date object and set the time to what it was previously 1566 | let clonedDate = new Date(); 1567 | clonedDate.setTime(data.getTime()); 1568 | 1569 | return clonedDate; 1570 | } 1571 | 1572 | // If the data passed is an object 1573 | if (dataType === "Object") { 1574 | // Check for circular references, if there are then we just return the un-cloned data. 1575 | if (isCyclic(data) === true) { 1576 | return data; 1577 | } 1578 | 1579 | // Create a new object that will store our copied data 1580 | let copiedObject = {}; 1581 | 1582 | // Iterate over the objects keys 1583 | for (let key in data) { 1584 | // Clone the keys of each of the objects so that we can deeply copy and nested data structures 1585 | // For example if an object has a key value that is an array 1586 | // Add this cloned key value to the copiedObject we created earlier 1587 | copiedObject[key] = deepClone(data[key]); 1588 | } 1589 | 1590 | // Return the deeply copied object 1591 | return copiedObject; 1592 | } 1593 | 1594 | // If the data is an array 1595 | if (dataType === "Array") { 1596 | // Create a new array that will have no references to the one we want to copy 1597 | let copiedArray = []; 1598 | 1599 | // Iterate over the arrays elements 1600 | for (var i = 0; i < data.length; i++) { 1601 | // Push the arrays elements to this new array 1602 | // First recall this method with the elements 1603 | // This is so arrays of objects and other nested data structures get correctly cloned. 1604 | copiedArray.push(deepClone(data[i])); 1605 | } 1606 | 1607 | // Return the cloned array 1608 | return copiedArray; 1609 | } 1610 | 1611 | // If it's any other data type like a string or number, they don't need cloning so we just return them 1612 | else { 1613 | return data; 1614 | } 1615 | } 1616 | 1617 | // Export a new instance of the clone constructor 1618 | module.exports = deepClone; 1619 | 1620 | /***/ }), 1621 | 1622 | /***/ "e11e": 1623 | /***/ (function(module, exports) { 1624 | 1625 | // IE 8- don't enum bug keys 1626 | module.exports = ( 1627 | 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' 1628 | ).split(','); 1629 | 1630 | 1631 | /***/ }), 1632 | 1633 | /***/ "e4ae": 1634 | /***/ (function(module, exports, __webpack_require__) { 1635 | 1636 | var isObject = __webpack_require__("f772"); 1637 | module.exports = function (it) { 1638 | if (!isObject(it)) throw TypeError(it + ' is not an object!'); 1639 | return it; 1640 | }; 1641 | 1642 | 1643 | /***/ }), 1644 | 1645 | /***/ "e53d": 1646 | /***/ (function(module, exports) { 1647 | 1648 | // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 1649 | var global = module.exports = typeof window != 'undefined' && window.Math == Math 1650 | ? window : typeof self != 'undefined' && self.Math == Math ? self 1651 | // eslint-disable-next-line no-new-func 1652 | : Function('return this')(); 1653 | if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef 1654 | 1655 | 1656 | /***/ }), 1657 | 1658 | /***/ "f410": 1659 | /***/ (function(module, exports, __webpack_require__) { 1660 | 1661 | __webpack_require__("1af6"); 1662 | module.exports = __webpack_require__("584a").Array.isArray; 1663 | 1664 | 1665 | /***/ }), 1666 | 1667 | /***/ "f772": 1668 | /***/ (function(module, exports) { 1669 | 1670 | module.exports = function (it) { 1671 | return typeof it === 'object' ? it !== null : typeof it === 'function'; 1672 | }; 1673 | 1674 | 1675 | /***/ }), 1676 | 1677 | /***/ "fa5b": 1678 | /***/ (function(module, exports, __webpack_require__) { 1679 | 1680 | module.exports = __webpack_require__("5537")('native-function-to-string', Function.toString); 1681 | 1682 | 1683 | /***/ }), 1684 | 1685 | /***/ "fab2": 1686 | /***/ (function(module, exports, __webpack_require__) { 1687 | 1688 | var document = __webpack_require__("7726").document; 1689 | module.exports = document && document.documentElement; 1690 | 1691 | 1692 | /***/ }), 1693 | 1694 | /***/ "fb15": 1695 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 1696 | 1697 | "use strict"; 1698 | __webpack_require__.r(__webpack_exports__); 1699 | 1700 | // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js 1701 | // This file is imported into lib/wc client bundles. 1702 | 1703 | if (typeof window !== 'undefined') { 1704 | var i 1705 | if ((i = window.document.currentScript) && (i = i.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))) { 1706 | __webpack_require__.p = i[1] // eslint-disable-line 1707 | } 1708 | } 1709 | 1710 | // Indicate to webpack that this file can be concatenated 1711 | /* harmony default export */ var setPublicPath = (null); 1712 | 1713 | // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.function.name.js 1714 | var es6_function_name = __webpack_require__("7f7f"); 1715 | 1716 | // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"553e40dc-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/org-tree/org-tree.vue?vue&type=template&id=56dd2042& 1717 | var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"org-tree-container"},[_c('div',{staticClass:"org-tree",class:{horizontal: _vm.horizontal, collapsable: _vm.collapsable}},[_c('org-tree-node',_vm._b({attrs:{"data":_vm.dataCloned,"props":_vm.props,"horizontal":_vm.horizontal,"label-width":_vm.labelWidth,"collapsable":_vm.collapsable,"node-render":_vm.nodeRender,"button-render":_vm.buttonRender,"label-class-name":_vm.labelClassName},on:{"on-expand":_vm.handleExpand,"on-node-click":_vm.handleNodeClick}},'org-tree-node',_vm.$listeners,false))],1)])} 1718 | var staticRenderFns = [] 1719 | 1720 | 1721 | // CONCATENATED MODULE: ./src/components/org-tree/org-tree.vue?vue&type=template&id=56dd2042& 1722 | 1723 | // EXTERNAL MODULE: ./node_modules/@babel/runtime-corejs2/core-js/array/is-array.js 1724 | var is_array = __webpack_require__("a745"); 1725 | var is_array_default = /*#__PURE__*/__webpack_require__.n(is_array); 1726 | 1727 | // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom.iterable.js 1728 | var web_dom_iterable = __webpack_require__("ac6a"); 1729 | 1730 | // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.number.constructor.js 1731 | var es6_number_constructor = __webpack_require__("c5f6"); 1732 | 1733 | // CONCATENATED MODULE: ./src/components/org-tree/node.js 1734 | 1735 | 1736 | // 判断是否叶子节点 1737 | var node_isLeaf = function isLeaf(data, prop) { 1738 | return !(is_array_default()(data[prop]) && data[prop].length > 0); 1739 | }; // 创建 node 节点 1740 | 1741 | 1742 | var renderNode = function renderNode(h, data, context) { 1743 | var props = context.props; 1744 | var cls = ['org-tree-node']; 1745 | var childNodes = []; 1746 | var children = data[props.props.children]; 1747 | 1748 | if (node_isLeaf(data, props.props.children)) { 1749 | cls.push('is-leaf'); 1750 | } else if (props.collapsable && !data[props.props.expand]) { 1751 | cls.push('collapsed'); 1752 | } 1753 | 1754 | childNodes.push(renderLabel(h, data, context)); 1755 | 1756 | if (!props.collapsable || data[props.props.expand]) { 1757 | childNodes.push(node_renderChildren(h, children, context)); 1758 | } 1759 | 1760 | return h('div', { 1761 | domProps: { 1762 | className: cls.join(' ') 1763 | } 1764 | }, childNodes); 1765 | }; // 创建展开折叠按钮 1766 | 1767 | var renderBtn = function renderBtn(h, data, context) { 1768 | var props = context.props; 1769 | var expandHandler = context.listeners['on-expand']; 1770 | var cls = ['org-tree-node-btn']; 1771 | 1772 | if (data[props.props.expand]) { 1773 | cls.push('expanded'); 1774 | } 1775 | 1776 | return h('span', { 1777 | 'class': 'org-tree-button-wrapper', 1778 | on: { 1779 | click: function click(e) { 1780 | e.stopPropagation(); 1781 | expandHandler && expandHandler(data); 1782 | } 1783 | } 1784 | }, [props.buttonRender ? props.buttonRender(h, data) : h('span', { 1785 | 'class': cls.join(' ') 1786 | })]); 1787 | }; // 创建 label 节点 1788 | 1789 | var renderLabel = function renderLabel(h, data, context) { 1790 | var props = context.props; 1791 | var label = data[props.props.label]; 1792 | var nodeRender = props.nodeRender; 1793 | var clickHandler = context.listeners['on-node-click']; 1794 | var mousedownHandler = context.listeners['on-node-mousedown']; 1795 | var mouseupHandler = context.listeners['on-node-mouseup']; 1796 | var touchstartHandler = context.listeners['on-node-touchstart']; 1797 | var touchleaveHandler = context.listeners['on-node-touchleave']; 1798 | var childNodes = []; 1799 | 1800 | if (typeof nodeRender === 'function') { 1801 | var vnode = nodeRender(h, data); 1802 | vnode && childNodes.push(vnode); 1803 | } else { 1804 | childNodes.push(label); 1805 | } 1806 | 1807 | if (props.collapsable && !node_isLeaf(data, props.props.children)) { 1808 | childNodes.push(renderBtn(h, data, context)); 1809 | } 1810 | 1811 | var cls = ['org-tree-node-label-inner']; 1812 | var labelWidth = props.labelWidth, 1813 | labelClassName = props.labelClassName; 1814 | 1815 | if (typeof labelWidth === 'number') { 1816 | labelWidth += 'px'; 1817 | } 1818 | 1819 | if (typeof labelClassName === 'function') { 1820 | labelClassName = labelClassName(data); 1821 | } 1822 | 1823 | labelClassName && cls.push(labelClassName); 1824 | return h('div', { 1825 | domProps: { 1826 | className: 'org-tree-node-label' 1827 | }, 1828 | on: { 1829 | click: function click(e) { 1830 | return clickHandler && clickHandler(e, data); 1831 | }, 1832 | mousedown: function mousedown(e) { 1833 | return mousedownHandler && mousedownHandler(e, data); 1834 | }, 1835 | mouseup: function mouseup(e) { 1836 | return mouseupHandler && mouseupHandler(e, data); 1837 | }, 1838 | touchstart: function touchstart(e) { 1839 | return touchstartHandler && touchstartHandler(e, data); 1840 | }, 1841 | touchleave: function touchleave(e) { 1842 | return touchleaveHandler && touchleaveHandler(e, data); 1843 | } 1844 | } 1845 | }, [h('div', { 1846 | domProps: { 1847 | className: cls.join(' ') 1848 | }, 1849 | style: { 1850 | width: labelWidth 1851 | } 1852 | }, childNodes)]); 1853 | }; // 创建 node 子节点 1854 | 1855 | var node_renderChildren = function renderChildren(h, list, context) { 1856 | if (is_array_default()(list) && list.length) { 1857 | var children = list.map(function (item) { 1858 | return renderNode(h, item, context); 1859 | }); 1860 | return h('div', { 1861 | domProps: { 1862 | className: 'org-tree-node-children' 1863 | } 1864 | }, children); 1865 | } 1866 | 1867 | return ''; 1868 | }; 1869 | var node_render = function render(h, context) { 1870 | var props = context.props; 1871 | return renderNode(h, props.data, context); 1872 | }; 1873 | /* harmony default export */ var node = (node_render); 1874 | // EXTERNAL MODULE: ./node_modules/clonedeep/index.js 1875 | var clonedeep = __webpack_require__("da0a"); 1876 | var clonedeep_default = /*#__PURE__*/__webpack_require__.n(clonedeep); 1877 | 1878 | // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/org-tree/org-tree.vue?vue&type=script&lang=js& 1879 | 1880 | 1881 | 1882 | // 1883 | // 1884 | // 1885 | // 1886 | // 1887 | // 1888 | // 1889 | // 1890 | // 1891 | // 1892 | // 1893 | // 1894 | // 1895 | // 1896 | // 1897 | // 1898 | // 1899 | // 1900 | // 1901 | // 1902 | 1903 | 1904 | /* harmony default export */ var org_treevue_type_script_lang_js_ = ({ 1905 | name: 'VOrgTree', 1906 | components: { 1907 | OrgTreeNode: { 1908 | render: node, 1909 | functional: true 1910 | } 1911 | }, 1912 | props: { 1913 | data: { 1914 | type: Object, 1915 | required: true 1916 | }, 1917 | props: { 1918 | type: Object, 1919 | default: function _default() { 1920 | return { 1921 | id: 'id', 1922 | label: 'label', 1923 | expand: 'expand', 1924 | children: 'children' 1925 | }; 1926 | } 1927 | }, 1928 | horizontal: Boolean, 1929 | collapsable: Boolean, 1930 | nodeRender: Function, 1931 | buttonRender: Function, 1932 | labelWidth: [String, Number], 1933 | labelClassName: [Function, String], 1934 | expandAll: { 1935 | type: Boolean, 1936 | default: false 1937 | } 1938 | }, 1939 | data: function data() { 1940 | return { 1941 | flatData: {}, 1942 | dataCloned: {} 1943 | }; 1944 | }, 1945 | watch: { 1946 | data: function data(newData) { 1947 | var _this2 = this; 1948 | 1949 | this._handleData(newData); 1950 | 1951 | this._mapData(this.dataCloned, function (item) { 1952 | var _ref = _this2.flatData[item[_this2.prop_id]] || {}, 1953 | expand = _ref.expand; 1954 | 1955 | if (expand) _this2.$set(item, _this2.prop_expand, true); 1956 | }); 1957 | 1958 | this._toggleExpand(this.dataCloned, this.expandAll); 1959 | }, 1960 | expandAll: function expandAll(status) { 1961 | this._toggleExpand(this.dataCloned, status); 1962 | } 1963 | }, 1964 | computed: { 1965 | prop_id: function prop_id() { 1966 | return this.props.id; 1967 | }, 1968 | prop_label: function prop_label() { 1969 | return this.props.label; 1970 | }, 1971 | prop_expand: function prop_expand() { 1972 | return this.props.expand; 1973 | }, 1974 | prop_children: function prop_children() { 1975 | return this.props.children; 1976 | } 1977 | }, 1978 | methods: { 1979 | _handleData: function _handleData(data) { 1980 | this._cloneData(data); 1981 | }, 1982 | _cloneData: function _cloneData(newData) { 1983 | this.dataCloned = clonedeep_default()(newData); 1984 | }, 1985 | _setFlatData: function _setFlatData(data) { 1986 | this.flatData[data[this.prop_id]] = data; 1987 | }, 1988 | 1989 | /** 1990 | * @description 工具方法,用于遍历树状数据的每个节点, fn为在该节点做的操作,其有一个参数即当前节点数据 1991 | */ 1992 | _mapData: function _mapData(data, fn) { 1993 | var _this3 = this; 1994 | 1995 | fn(data); 1996 | var children = data[this.prop_children]; 1997 | 1998 | if (children) { 1999 | children.forEach(function (child) { 2000 | _this3._mapData(child, fn); 2001 | }); 2002 | } 2003 | }, 2004 | 2005 | /** 2006 | * @description 用来便利所有节点数据,将树状数据扁平化存放到flatData,用于数据更新后展开状态的恢复 2007 | */ 2008 | _updateExpandStatus: function _updateExpandStatus() { 2009 | this._mapData(this.dataCloned, this._setFlatData); 2010 | }, 2011 | collapse: function collapse(list) { 2012 | var _this4 = this; 2013 | 2014 | var _this = this; 2015 | 2016 | list.forEach(function (child) { 2017 | if (child[_this4.prop_expand]) { 2018 | child[_this4.prop_expand] = false; 2019 | } 2020 | 2021 | var children = child[_this4.prop_children]; 2022 | children && _this.collapse(children); 2023 | }); 2024 | }, 2025 | handleExpand: function handleExpand(data) { 2026 | if (this.prop_expand in data) { 2027 | data[this.prop_expand] = !data[this.prop_expand]; 2028 | var children = data[this.prop_children]; 2029 | 2030 | if (!data[this.prop_expand] && children) { 2031 | this.collapse(children); 2032 | } 2033 | } else { 2034 | this.$set(data, this.prop_expand, true); 2035 | } 2036 | 2037 | this.$emit('on-expand', data, data[this.prop_expand]); 2038 | 2039 | this._updateExpandStatus(); 2040 | }, 2041 | _toggleExpand: function _toggleExpand(data, status) { 2042 | var _this5 = this; 2043 | 2044 | var _this = this; 2045 | 2046 | if (is_array_default()(data)) { 2047 | data.forEach(function (item) { 2048 | _this.$set(item, _this5.prop_expand, status); 2049 | 2050 | var children = item[_this5.prop_children]; 2051 | 2052 | if (children) { 2053 | _this._toggleExpand(children, status); 2054 | } 2055 | }); 2056 | } else { 2057 | _this.$set(data, this.prop_expand, status); 2058 | 2059 | var children = data[this.prop_children]; 2060 | 2061 | if (children) { 2062 | _this._toggleExpand(children, status); 2063 | } 2064 | } 2065 | }, 2066 | handleNodeClick: function handleNodeClick(e, data) { 2067 | var _this6 = this; 2068 | 2069 | this.$emit('on-node-click', e, data, function () { 2070 | _this6.handleExpand(data); 2071 | }); 2072 | }, 2073 | toggleExpand: function toggleExpand() { 2074 | this._toggleExpand(this.dataCloned, this.expandAll); 2075 | 2076 | this._updateExpandStatus(); 2077 | } 2078 | }, 2079 | mounted: function mounted() { 2080 | this._handleData(this.data); 2081 | 2082 | this._updateExpandStatus(); 2083 | 2084 | this._toggleExpand(this.dataCloned, this.expandAll); 2085 | } 2086 | }); 2087 | // CONCATENATED MODULE: ./src/components/org-tree/org-tree.vue?vue&type=script&lang=js& 2088 | /* harmony default export */ var org_tree_org_treevue_type_script_lang_js_ = (org_treevue_type_script_lang_js_); 2089 | // EXTERNAL MODULE: ./src/components/org-tree/org-tree.vue?vue&type=style&index=0&lang=less& 2090 | var org_treevue_type_style_index_0_lang_less_ = __webpack_require__("fcc4"); 2091 | 2092 | // CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js 2093 | /* globals __VUE_SSR_CONTEXT__ */ 2094 | 2095 | // IMPORTANT: Do NOT use ES2015 features in this file (except for modules). 2096 | // This module is a runtime utility for cleaner component module output and will 2097 | // be included in the final webpack user bundle. 2098 | 2099 | function normalizeComponent ( 2100 | scriptExports, 2101 | render, 2102 | staticRenderFns, 2103 | functionalTemplate, 2104 | injectStyles, 2105 | scopeId, 2106 | moduleIdentifier, /* server only */ 2107 | shadowMode /* vue-cli only */ 2108 | ) { 2109 | // Vue.extend constructor export interop 2110 | var options = typeof scriptExports === 'function' 2111 | ? scriptExports.options 2112 | : scriptExports 2113 | 2114 | // render functions 2115 | if (render) { 2116 | options.render = render 2117 | options.staticRenderFns = staticRenderFns 2118 | options._compiled = true 2119 | } 2120 | 2121 | // functional template 2122 | if (functionalTemplate) { 2123 | options.functional = true 2124 | } 2125 | 2126 | // scopedId 2127 | if (scopeId) { 2128 | options._scopeId = 'data-v-' + scopeId 2129 | } 2130 | 2131 | var hook 2132 | if (moduleIdentifier) { // server build 2133 | hook = function (context) { 2134 | // 2.3 injection 2135 | context = 2136 | context || // cached call 2137 | (this.$vnode && this.$vnode.ssrContext) || // stateful 2138 | (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional 2139 | // 2.2 with runInNewContext: true 2140 | if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { 2141 | context = __VUE_SSR_CONTEXT__ 2142 | } 2143 | // inject component styles 2144 | if (injectStyles) { 2145 | injectStyles.call(this, context) 2146 | } 2147 | // register component module identifier for async chunk inferrence 2148 | if (context && context._registeredComponents) { 2149 | context._registeredComponents.add(moduleIdentifier) 2150 | } 2151 | } 2152 | // used by ssr in case component is cached and beforeCreate 2153 | // never gets called 2154 | options._ssrRegister = hook 2155 | } else if (injectStyles) { 2156 | hook = shadowMode 2157 | ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } 2158 | : injectStyles 2159 | } 2160 | 2161 | if (hook) { 2162 | if (options.functional) { 2163 | // for template-only hot-reload because in that case the render fn doesn't 2164 | // go through the normalizer 2165 | options._injectStyles = hook 2166 | // register for functioal component in vue file 2167 | var originalRender = options.render 2168 | options.render = function renderWithStyleInjection (h, context) { 2169 | hook.call(context) 2170 | return originalRender(h, context) 2171 | } 2172 | } else { 2173 | // inject component registration as beforeCreate hook 2174 | var existing = options.beforeCreate 2175 | options.beforeCreate = existing 2176 | ? [].concat(existing, hook) 2177 | : [hook] 2178 | } 2179 | } 2180 | 2181 | return { 2182 | exports: scriptExports, 2183 | options: options 2184 | } 2185 | } 2186 | 2187 | // CONCATENATED MODULE: ./src/components/org-tree/org-tree.vue 2188 | 2189 | 2190 | 2191 | 2192 | 2193 | 2194 | /* normalize component */ 2195 | 2196 | var component = normalizeComponent( 2197 | org_tree_org_treevue_type_script_lang_js_, 2198 | render, 2199 | staticRenderFns, 2200 | false, 2201 | null, 2202 | null, 2203 | null 2204 | 2205 | ) 2206 | 2207 | /* harmony default export */ var org_tree = (component.exports); 2208 | // CONCATENATED MODULE: ./src/components/org-tree/index.js 2209 | 2210 | 2211 | 2212 | var org_tree_install = function install(Vue) { 2213 | if (install.installed) { 2214 | return; 2215 | } 2216 | 2217 | install.installed = true; 2218 | Vue.component(org_tree.name, org_tree); 2219 | }; 2220 | 2221 | org_tree.install = org_tree_install; 2222 | 2223 | if (typeof window !== 'undefined' && window.Vue) { 2224 | window.Vue.use(org_tree); 2225 | } 2226 | 2227 | /* harmony default export */ var components_org_tree = (org_tree); 2228 | // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js 2229 | 2230 | 2231 | /* harmony default export */ var entry_lib = __webpack_exports__["default"] = (components_org_tree); 2232 | 2233 | 2234 | 2235 | /***/ }), 2236 | 2237 | /***/ "fcc4": 2238 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 2239 | 2240 | "use strict"; 2241 | /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_index_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_org_tree_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("bcfc"); 2242 | /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_index_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_org_tree_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_index_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_org_tree_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0__); 2243 | /* unused harmony reexport * */ 2244 | /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_index_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_org_tree_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0___default.a); 2245 | 2246 | /***/ }), 2247 | 2248 | /***/ "fdef": 2249 | /***/ (function(module, exports) { 2250 | 2251 | module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + 2252 | '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; 2253 | 2254 | 2255 | /***/ }) 2256 | 2257 | /******/ }); 2258 | }); -------------------------------------------------------------------------------- /dist/v-org-tree.umd.min.js: -------------------------------------------------------------------------------- 1 | (function(t,n){"object"===typeof exports&&"object"===typeof module?module.exports=n():"function"===typeof define&&define.amd?define([],n):"object"===typeof exports?exports["v-org-tree"]=n():t["v-org-tree"]=n()})("undefined"!==typeof self?self:this,function(){return function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s="fb15")}({"01f9":function(t,n,e){"use strict";var r=e("2d00"),o=e("5ca1"),i=e("2aba"),a=e("32e9"),c=e("84f2"),u=e("41a0"),f=e("7f20"),s=e("38fd"),p=e("2b4c")("iterator"),l=!([].keys&&"next"in[].keys()),d="@@iterator",h="keys",v="values",b=function(){return this};t.exports=function(t,n,e,y,x,_,g){u(e,n,y);var m,w,S,O=function(t){if(!l&&t in T)return T[t];switch(t){case h:return function(){return new e(this,t)};case v:return function(){return new e(this,t)}}return function(){return new e(this,t)}},E=n+" Iterator",j=x==v,P=!1,T=t.prototype,C=T[p]||T[d]||x&&T[x],N=C||O(x),A=x?j?O("entries"):N:void 0,M="Array"==n&&T.entries||C;if(M&&(S=s(M.call(new t)),S!==Object.prototype&&S.next&&(f(S,E,!0),r||"function"==typeof S[p]||a(S,p,b))),j&&C&&C.name!==v&&(P=!0,N=function(){return C.call(this)}),r&&!g||!l&&!P&&T[p]||a(T,p,N),c[n]=N,c[E]=b,x)if(m={values:j?N:O(v),keys:_?N:O(h),entries:A},g)for(w in m)w in T||i(T,w,m[w]);else o(o.P+o.F*(l||P),n,m);return m}},"07e3":function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},"0d58":function(t,n,e){var r=e("ce10"),o=e("e11e");t.exports=Object.keys||function(t){return r(t,o)}},"11e9":function(t,n,e){var r=e("52a7"),o=e("4630"),i=e("6821"),a=e("6a99"),c=e("69a8"),u=e("c69a"),f=Object.getOwnPropertyDescriptor;n.f=e("9e1e")?f:function(t,n){if(t=i(t),n=a(n,!0),u)try{return f(t,n)}catch(e){}if(c(t,n))return o(!r.f.call(t,n),t[n])}},1495:function(t,n,e){var r=e("86cc"),o=e("cb7c"),i=e("0d58");t.exports=e("9e1e")?Object.defineProperties:function(t,n){o(t);var e,a=i(n),c=a.length,u=0;while(c>u)r.f(t,e=a[u++],n[e]);return t}},"1af6":function(t,n,e){var r=e("63b6");r(r.S,"Array",{isArray:e("9003")})},"1bc3":function(t,n,e){var r=e("f772");t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},"1ec9":function(t,n,e){var r=e("f772"),o=e("e53d").document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},"230e":function(t,n,e){var r=e("d3f4"),o=e("7726").document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},"294c":function(t,n){t.exports=function(t){try{return!!t()}catch(n){return!0}}},"2aba":function(t,n,e){var r=e("7726"),o=e("32e9"),i=e("69a8"),a=e("ca5a")("src"),c=e("fa5b"),u="toString",f=(""+c).split(u);e("8378").inspectSource=function(t){return c.call(t)},(t.exports=function(t,n,e,c){var u="function"==typeof e;u&&(i(e,"name")||o(e,"name",n)),t[n]!==e&&(u&&(i(e,a)||o(e,a,t[n]?""+t[n]:f.join(String(n)))),t===r?t[n]=e:c?t[n]?t[n]=e:o(t,n,e):(delete t[n],o(t,n,e)))})(Function.prototype,u,function(){return"function"==typeof this&&this[a]||c.call(this)})},"2aeb":function(t,n,e){var r=e("cb7c"),o=e("1495"),i=e("e11e"),a=e("613b")("IE_PROTO"),c=function(){},u="prototype",f=function(){var t,n=e("230e")("iframe"),r=i.length,o="<",a=">";n.style.display="none",e("fab2").appendChild(n),n.src="javascript:",t=n.contentWindow.document,t.open(),t.write(o+"script"+a+"document.F=Object"+o+"/script"+a),t.close(),f=t.F;while(r--)delete f[u][i[r]];return f()};t.exports=Object.create||function(t,n){var e;return null!==t?(c[u]=r(t),e=new c,c[u]=null,e[a]=t):e=f(),void 0===n?e:o(e,n)}},"2b4c":function(t,n,e){var r=e("5537")("wks"),o=e("ca5a"),i=e("7726").Symbol,a="function"==typeof i,c=t.exports=function(t){return r[t]||(r[t]=a&&i[t]||(a?i:o)("Symbol."+t))};c.store=r},"2d00":function(t,n){t.exports=!1},"2d95":function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},"32e9":function(t,n,e){var r=e("86cc"),o=e("4630");t.exports=e("9e1e")?function(t,n,e){return r.f(t,n,o(1,e))}:function(t,n,e){return t[n]=e,t}},"35e8":function(t,n,e){var r=e("d9f6"),o=e("aebd");t.exports=e("8e60")?function(t,n,e){return r.f(t,n,o(1,e))}:function(t,n,e){return t[n]=e,t}},"38fd":function(t,n,e){var r=e("69a8"),o=e("4bf8"),i=e("613b")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=o(t),r(t,i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},"41a0":function(t,n,e){"use strict";var r=e("2aeb"),o=e("4630"),i=e("7f20"),a={};e("32e9")(a,e("2b4c")("iterator"),function(){return this}),t.exports=function(t,n,e){t.prototype=r(a,{next:o(1,e)}),i(t,n+" Iterator")}},4588:function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},4630:function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},"4bf8":function(t,n,e){var r=e("be13");t.exports=function(t){return Object(r(t))}},"52a7":function(t,n){n.f={}.propertyIsEnumerable},5537:function(t,n,e){var r=e("8378"),o=e("7726"),i="__core-js_shared__",a=o[i]||(o[i]={});(t.exports=function(t,n){return a[t]||(a[t]=void 0!==n?n:{})})("versions",[]).push({version:r.version,mode:e("2d00")?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},"584a":function(t,n){var e=t.exports={version:"2.6.5"};"number"==typeof __e&&(__e=e)},"5ca1":function(t,n,e){var r=e("7726"),o=e("8378"),i=e("32e9"),a=e("2aba"),c=e("9b43"),u="prototype",f=function(t,n,e){var s,p,l,d,h=t&f.F,v=t&f.G,b=t&f.S,y=t&f.P,x=t&f.B,_=v?r:b?r[n]||(r[n]={}):(r[n]||{})[u],g=v?o:o[n]||(o[n]={}),m=g[u]||(g[u]={});for(s in v&&(e=n),e)p=!h&&_&&void 0!==_[s],l=(p?_:e)[s],d=x&&p?c(l,r):y&&"function"==typeof l?c(Function.call,l):l,_&&a(_,s,l,t&f.U),g[s]!=l&&i(g,s,d),y&&m[s]!=l&&(m[s]=l)};r.core=o,f.F=1,f.G=2,f.S=4,f.P=8,f.B=16,f.W=32,f.U=64,f.R=128,t.exports=f},"5dbc":function(t,n,e){var r=e("d3f4"),o=e("8b97").set;t.exports=function(t,n,e){var i,a=n.constructor;return a!==e&&"function"==typeof a&&(i=a.prototype)!==e.prototype&&r(i)&&o&&o(t,i),t}},"613b":function(t,n,e){var r=e("5537")("keys"),o=e("ca5a");t.exports=function(t){return r[t]||(r[t]=o(t))}},"626a":function(t,n,e){var r=e("2d95");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},"63b6":function(t,n,e){var r=e("e53d"),o=e("584a"),i=e("d864"),a=e("35e8"),c=e("07e3"),u="prototype",f=function(t,n,e){var s,p,l,d=t&f.F,h=t&f.G,v=t&f.S,b=t&f.P,y=t&f.B,x=t&f.W,_=h?o:o[n]||(o[n]={}),g=_[u],m=h?r:v?r[n]:(r[n]||{})[u];for(s in h&&(e=n),e)p=!d&&m&&void 0!==m[s],p&&c(_,s)||(l=p?m[s]:e[s],_[s]=h&&"function"!=typeof m[s]?e[s]:y&&p?i(l,r):x&&m[s]==l?function(t){var n=function(n,e,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(n);case 2:return new t(n,e)}return new t(n,e,r)}return t.apply(this,arguments)};return n[u]=t[u],n}(l):b&&"function"==typeof l?i(Function.call,l):l,b&&((_.virtual||(_.virtual={}))[s]=l,t&f.R&&g&&!g[s]&&a(g,s,l)))};f.F=1,f.G=2,f.S=4,f.P=8,f.B=16,f.W=32,f.U=64,f.R=128,t.exports=f},6821:function(t,n,e){var r=e("626a"),o=e("be13");t.exports=function(t){return r(o(t))}},"69a8":function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},"6a99":function(t,n,e){var r=e("d3f4");t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},"6b4c":function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},7726:function(t,n){var e=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=e)},"77f1":function(t,n,e){var r=e("4588"),o=Math.max,i=Math.min;t.exports=function(t,n){return t=r(t),t<0?o(t+n,0):i(t,n)}},"794b":function(t,n,e){t.exports=!e("8e60")&&!e("294c")(function(){return 7!=Object.defineProperty(e("1ec9")("div"),"a",{get:function(){return 7}}).a})},"79aa":function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},"79e5":function(t,n){t.exports=function(t){try{return!!t()}catch(n){return!0}}},"7f20":function(t,n,e){var r=e("86cc").f,o=e("69a8"),i=e("2b4c")("toStringTag");t.exports=function(t,n,e){t&&!o(t=e?t:t.prototype,i)&&r(t,i,{configurable:!0,value:n})}},"7f7f":function(t,n,e){var r=e("86cc").f,o=Function.prototype,i=/^\s*function ([^ (]*)/,a="name";a in o||e("9e1e")&&r(o,a,{configurable:!0,get:function(){try{return(""+this).match(i)[1]}catch(t){return""}}})},8378:function(t,n){var e=t.exports={version:"2.6.5"};"number"==typeof __e&&(__e=e)},"84f2":function(t,n){t.exports={}},"86cc":function(t,n,e){var r=e("cb7c"),o=e("c69a"),i=e("6a99"),a=Object.defineProperty;n.f=e("9e1e")?Object.defineProperty:function(t,n,e){if(r(t),n=i(n,!0),r(e),o)try{return a(t,n,e)}catch(c){}if("get"in e||"set"in e)throw TypeError("Accessors not supported!");return"value"in e&&(t[n]=e.value),t}},"8b97":function(t,n,e){var r=e("d3f4"),o=e("cb7c"),i=function(t,n){if(o(t),!r(n)&&null!==n)throw TypeError(n+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,n,r){try{r=e("9b43")(Function.call,e("11e9").f(Object.prototype,"__proto__").set,2),r(t,[]),n=!(t instanceof Array)}catch(o){n=!0}return function(t,e){return i(t,e),n?t.__proto__=e:r(t,e),t}}({},!1):void 0),check:i}},"8e60":function(t,n,e){t.exports=!e("294c")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},9003:function(t,n,e){var r=e("6b4c");t.exports=Array.isArray||function(t){return"Array"==r(t)}},9093:function(t,n,e){var r=e("ce10"),o=e("e11e").concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},"9b43":function(t,n,e){var r=e("d8e8");t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}}},"9c6c":function(t,n,e){var r=e("2b4c")("unscopables"),o=Array.prototype;void 0==o[r]&&e("32e9")(o,r,{}),t.exports=function(t){o[r][t]=!0}},"9def":function(t,n,e){var r=e("4588"),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},"9e1e":function(t,n,e){t.exports=!e("79e5")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},a745:function(t,n,e){t.exports=e("f410")},aa77:function(t,n,e){var r=e("5ca1"),o=e("be13"),i=e("79e5"),a=e("fdef"),c="["+a+"]",u="​…",f=RegExp("^"+c+c+"*"),s=RegExp(c+c+"*$"),p=function(t,n,e){var o={},c=i(function(){return!!a[t]()||u[t]()!=u}),f=o[t]=c?n(l):a[t];e&&(o[e]=f),r(r.P+r.F*c,"String",o)},l=p.trim=function(t,n){return t=String(o(t)),1&n&&(t=t.replace(f,"")),2&n&&(t=t.replace(s,"")),t};t.exports=p},ac6a:function(t,n,e){for(var r=e("cadf"),o=e("0d58"),i=e("2aba"),a=e("7726"),c=e("32e9"),u=e("84f2"),f=e("2b4c"),s=f("iterator"),p=f("toStringTag"),l=u.Array,d={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},h=o(d),v=0;vs)if(c=u[s++],c!=c)return!0}else for(;f>s;s++)if((t||s in u)&&u[s]===e)return t||s||0;return!t&&-1}}},c5f6:function(t,n,e){"use strict";var r=e("7726"),o=e("69a8"),i=e("2d95"),a=e("5dbc"),c=e("6a99"),u=e("79e5"),f=e("9093").f,s=e("11e9").f,p=e("86cc").f,l=e("aa77").trim,d="Number",h=r[d],v=h,b=h.prototype,y=i(e("2aeb")(b))==d,x="trim"in String.prototype,_=function(t){var n=c(t,!1);if("string"==typeof n&&n.length>2){n=x?n.trim():l(n,3);var e,r,o,i=n.charCodeAt(0);if(43===i||45===i){if(e=n.charCodeAt(2),88===e||120===e)return NaN}else if(48===i){switch(n.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+n}for(var a,u=n.slice(2),f=0,s=u.length;fo)return NaN;return parseInt(u,r)}}return+n};if(!h(" 0o1")||!h("0b1")||h("+0x1")){h=function(t){var n=arguments.length<1?0:t,e=this;return e instanceof h&&(y?u(function(){b.valueOf.call(e)}):i(e)!=d)?a(new v(_(n)),e,h):_(n)};for(var g,m=e("9e1e")?f(v):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),w=0;m.length>w;w++)o(v,g=m[w])&&!o(h,g)&&p(h,g,s(v,g));h.prototype=b,b.constructor=h,e("2aba")(r,d,h)}},c69a:function(t,n,e){t.exports=!e("9e1e")&&!e("79e5")(function(){return 7!=Object.defineProperty(e("230e")("div"),"a",{get:function(){return 7}}).a})},ca5a:function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++e+r).toString(36))}},cadf:function(t,n,e){"use strict";var r=e("9c6c"),o=e("d53b"),i=e("84f2"),a=e("6821");t.exports=e("01f9")(Array,"Array",function(t,n){this._t=a(t),this._i=0,this._k=n},function(){var t=this._t,n=this._k,e=this._i++;return!t||e>=t.length?(this._t=void 0,o(1)):o(0,"keys"==n?e:"values"==n?t[e]:[e,t[e]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},cb7c:function(t,n,e){var r=e("d3f4");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},ce10:function(t,n,e){var r=e("69a8"),o=e("6821"),i=e("c366")(!1),a=e("613b")("IE_PROTO");t.exports=function(t,n){var e,c=o(t),u=0,f=[];for(e in c)e!=a&&r(c,e)&&f.push(e);while(n.length>u)r(c,e=n[u++])&&(~i(f,e)||f.push(e));return f}},d3f4:function(t,n){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d53b:function(t,n){t.exports=function(t,n){return{value:n,done:!!t}}},d864:function(t,n,e){var r=e("79aa");t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}}},d8e8:function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},d9f6:function(t,n,e){var r=e("e4ae"),o=e("794b"),i=e("1bc3"),a=Object.defineProperty;n.f=e("8e60")?Object.defineProperty:function(t,n,e){if(r(t),n=i(n,!0),r(e),o)try{return a(t,n,e)}catch(c){}if("get"in e||"set"in e)throw TypeError("Accessors not supported!");return"value"in e&&(t[n]=e.value),t}},da0a:function(t,n,e){"use strict";function r(t){return Object.prototype.toString.call(t).slice(8,-1)}function o(t){let n=[];function e(t){if(t&&"Object"===r(t)){if(-1!==n.indexOf(t))return!0;for(var o in n.push(t),t)if(!0===t.hasOwnProperty(o)&&e(t[o]))return!0}return!1}return e(t)}const i=function(t){if(null===t||void 0===t)return;const n=r(t);if("Date"===n){let n=new Date;return n.setTime(t.getTime()),n}if("Object"===n){if(!0===o(t))return t;let n={};for(let e in t)n[e]=i(t[e]);return n}if("Array"===n){let n=[];for(var e=0;e0)}),f=function(t,n,e){var r=e.props,o=["org-tree-node"],i=[],a=n[r.props.children];return u(n,r.props.children)?o.push("is-leaf"):r.collapsable&&!n[r.props.expand]&&o.push("collapsed"),i.push(p(t,n,e)),r.collapsable&&!n[r.props.expand]||i.push(l(t,a,e)),t("div",{domProps:{className:o.join(" ")}},i)},s=function(t,n,e){var r=e.props,o=e.listeners["on-expand"],i=["org-tree-node-btn"];return n[r.props.expand]&&i.push("expanded"),t("span",{class:"org-tree-button-wrapper",on:{click:function(t){t.stopPropagation(),o&&o(n)}}},[r.buttonRender?r.buttonRender(t,n):t("span",{class:i.join(" ")})])},p=function(t,n,e){var r=e.props,o=n[r.props.label],i=r.nodeRender,a=e.listeners["on-node-click"],c=e.listeners["on-node-mousedown"],f=e.listeners["on-node-mouseup"],p=e.listeners["on-node-touchstart"],l=e.listeners["on-node-touchleave"],d=[];if("function"===typeof i){var h=i(t,n);h&&d.push(h)}else d.push(o);r.collapsable&&!u(n,r.props.children)&&d.push(s(t,n,e));var v=["org-tree-node-label-inner"],b=r.labelWidth,y=r.labelClassName;return"number"===typeof b&&(b+="px"),"function"===typeof y&&(y=y(n)),y&&v.push(y),t("div",{domProps:{className:"org-tree-node-label"},on:{click:function(t){return a&&a(t,n)},mousedown:function(t){return c&&c(t,n)},mouseup:function(t){return f&&f(t,n)},touchstart:function(t){return p&&p(t,n)},touchleave:function(t){return l&&l(t,n)}}},[t("div",{domProps:{className:v.join(" ")},style:{width:b}},d)])},l=function(t,n,e){if(c()(n)&&n.length){var r=n.map(function(n){return f(t,n,e)});return t("div",{domProps:{className:"org-tree-node-children"}},r)}return""},d=function(t,n){var e=n.props;return f(t,e.data,n)},h=d,v=e("da0a"),b=e.n(v),y={name:"VOrgTree",components:{OrgTreeNode:{render:h,functional:!0}},props:{data:{type:Object,required:!0},props:{type:Object,default:function(){return{id:"id",label:"label",expand:"expand",children:"children"}}},horizontal:Boolean,collapsable:Boolean,nodeRender:Function,buttonRender:Function,labelWidth:[String,Number],labelClassName:[Function,String],expandAll:{type:Boolean,default:!1}},data:function(){return{flatData:{},dataCloned:{}}},watch:{data:function(t){var n=this;this._handleData(t),this._mapData(this.dataCloned,function(t){var e=n.flatData[t[n.prop_id]]||{},r=e.expand;r&&n.$set(t,n.prop_expand,!0)}),this._toggleExpand(this.dataCloned,this.expandAll)},expandAll:function(t){this._toggleExpand(this.dataCloned,t)}},computed:{prop_id:function(){return this.props.id},prop_label:function(){return this.props.label},prop_expand:function(){return this.props.expand},prop_children:function(){return this.props.children}},methods:{_handleData:function(t){this._cloneData(t)},_cloneData:function(t){this.dataCloned=b()(t)},_setFlatData:function(t){this.flatData[t[this.prop_id]]=t},_mapData:function(t,n){var e=this;n(t);var r=t[this.prop_children];r&&r.forEach(function(t){e._mapData(t,n)})},_updateExpandStatus:function(){this._mapData(this.dataCloned,this._setFlatData)},collapse:function(t){var n=this,e=this;t.forEach(function(t){t[n.prop_expand]&&(t[n.prop_expand]=!1);var r=t[n.prop_children];r&&e.collapse(r)})},handleExpand:function(t){if(this.prop_expand in t){t[this.prop_expand]=!t[this.prop_expand];var n=t[this.prop_children];!t[this.prop_expand]&&n&&this.collapse(n)}else this.$set(t,this.prop_expand,!0);this.$emit("on-expand",t,t[this.prop_expand]),this._updateExpandStatus()},_toggleExpand:function(t,n){var e=this,r=this;if(c()(t))t.forEach(function(t){r.$set(t,e.prop_expand,n);var o=t[e.prop_children];o&&r._toggleExpand(o,n)});else{r.$set(t,this.prop_expand,n);var o=t[this.prop_children];o&&r._toggleExpand(o,n)}},handleNodeClick:function(t,n){var e=this;this.$emit("on-node-click",t,n,function(){e.handleExpand(n)})},toggleExpand:function(){this._toggleExpand(this.dataCloned,this.expandAll),this._updateExpandStatus()}},mounted:function(){this._handleData(this.data),this._updateExpandStatus(),this._toggleExpand(this.dataCloned,this.expandAll)}},x=y;e("fcc4");function _(t,n,e,r,o,i,a,c){var u,f="function"===typeof t?t.options:t;if(n&&(f.render=n,f.staticRenderFns=e,f._compiled=!0),r&&(f.functional=!0),i&&(f._scopeId="data-v-"+i),a?(u=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},f._ssrRegister=u):o&&(u=c?function(){o.call(this,this.$root.$options.shadowRoot)}:o),u)if(f.functional){f._injectStyles=u;var s=f.render;f.render=function(t,n){return u.call(n),s(t,n)}}else{var p=f.beforeCreate;f.beforeCreate=p?[].concat(p,u):[u]}return{exports:t,options:f}}var g=_(x,o,i,!1,null,null,null),m=g.exports,w=function t(n){t.installed||(t.installed=!0,n.component(m.name,m))};m.install=w,"undefined"!==typeof window&&window.Vue&&window.Vue.use(m);var S=m;n["default"]=S},fcc4:function(t,n,e){"use strict";var r=e("bcfc"),o=e.n(r);o.a},fdef:function(t,n){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"}})}); -------------------------------------------------------------------------------- /group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lison16/v-org-tree/444e982eb8a01646afc4d347d2d040dafaf13359/group.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "v-org-tree", 3 | "version": "1.0.12", 4 | "private": false, 5 | "description": "A simple organization tree chart based on Vue2.x", 6 | "main": "dist/v-org-tree.common.js", 7 | "author": "lison", 8 | "license": "MIT", 9 | "scripts": { 10 | "serve": "vue-cli-service serve", 11 | "build": "vue-cli-service build --dest demo", 12 | "lint": "vue-cli-service lint", 13 | "package": "vue-cli-service build --target lib --name v-org-tree --dest dist ./src/components/org-tree/index.js" 14 | }, 15 | "dependencies": { 16 | "clonedeep": "^2.0.0" 17 | }, 18 | "devDependencies": { 19 | "@vue/cli-plugin-babel": "^3.2.0", 20 | "@vue/cli-plugin-eslint": "^3.2.0", 21 | "@vue/cli-service": "^3.2.0", 22 | "@vue/eslint-config-standard": "^4.0.0", 23 | "babel-eslint": "^10.0.1", 24 | "eslint": "^5.8.0", 25 | "eslint-plugin-vue": "^5.0.0-0", 26 | "less": "^3.0.4", 27 | "less-loader": "^4.1.0", 28 | "lint-staged": "^7.2.2", 29 | "vue-template-compiler": "^2.5.17", 30 | "vue": "^2.5.17" 31 | }, 32 | "repository": { 33 | "type": "git", 34 | "url": "https://github.com/lison16/v-org-tree.git" 35 | }, 36 | "bugs": { 37 | "url": "https://github.com/lison16/v-org-tree/issues" 38 | }, 39 | "gitHooks": { 40 | "pre-commit": "lint-staged" 41 | }, 42 | "lint-staged": { 43 | "*.js": [ 44 | "vue-cli-service lint", 45 | "git add" 46 | ], 47 | "*.vue": [ 48 | "vue-cli-service lint", 49 | "git add" 50 | ] 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | autoprefixer: {} 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lison16/v-org-tree/444e982eb8a01646afc4d347d2d040dafaf13359/public/favicon.ico -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | v-org-tree 9 | 10 | 11 | 14 |
15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 24 | 25 | 67 | 68 | 110 | -------------------------------------------------------------------------------- /src/components/org-tree/index.js: -------------------------------------------------------------------------------- 1 | import OrgTree from './org-tree' 2 | 3 | const install = Vue => { 4 | if (install.installed) { 5 | return 6 | } 7 | 8 | install.installed = true 9 | 10 | Vue.component(OrgTree.name, OrgTree) 11 | } 12 | 13 | OrgTree.install = install 14 | 15 | if (typeof window !== 'undefined' && window.Vue) { 16 | window.Vue.use(OrgTree) 17 | } 18 | 19 | export default OrgTree 20 | -------------------------------------------------------------------------------- /src/components/org-tree/node.js: -------------------------------------------------------------------------------- 1 | // 判断是否叶子节点 2 | const isLeaf = (data, prop) => { 3 | return !(Array.isArray(data[prop]) && data[prop].length > 0) 4 | } 5 | 6 | // 创建 node 节点 7 | export const renderNode = (h, data, context) => { 8 | const { props } = context 9 | const cls = ['org-tree-node'] 10 | const childNodes = [] 11 | const children = data[props.props.children] 12 | 13 | if (isLeaf(data, props.props.children)) { 14 | cls.push('is-leaf') 15 | } else if (props.collapsable && !data[props.props.expand]) { 16 | cls.push('collapsed') 17 | } 18 | 19 | childNodes.push(renderLabel(h, data, context)) 20 | 21 | if (!props.collapsable || data[props.props.expand]) { 22 | childNodes.push(renderChildren(h, children, context)) 23 | } 24 | 25 | return h('div', { 26 | domProps: { 27 | className: cls.join(' ') 28 | } 29 | }, childNodes) 30 | } 31 | 32 | // 创建展开折叠按钮 33 | export const renderBtn = (h, data, context) => { 34 | const { props } = context 35 | const expandHandler = context.listeners['on-expand'] 36 | 37 | let cls = ['org-tree-node-btn'] 38 | 39 | if (data[props.props.expand]) { 40 | cls.push('expanded') 41 | } 42 | 43 | return h('span', { 44 | 'class': 'org-tree-button-wrapper', 45 | on: { 46 | click: e => { 47 | e.stopPropagation() 48 | expandHandler && expandHandler(data) 49 | } 50 | } 51 | }, [ 52 | props.buttonRender 53 | ? props.buttonRender(h, data) 54 | : h('span', { 55 | 'class': cls.join(' ') 56 | }) 57 | ]) 58 | } 59 | 60 | // 创建 label 节点 61 | export const renderLabel = (h, data, context) => { 62 | const { props } = context 63 | const label = data[props.props.label] 64 | const nodeRender = props.nodeRender 65 | const clickHandler = context.listeners['on-node-click'] 66 | const mousedownHandler = context.listeners['on-node-mousedown'] 67 | const mouseupHandler = context.listeners['on-node-mouseup'] 68 | const touchstartHandler = context.listeners['on-node-touchstart'] 69 | const touchleaveHandler = context.listeners['on-node-touchleave'] 70 | 71 | const childNodes = [] 72 | if (typeof nodeRender === 'function') { 73 | let vnode = nodeRender(h, data) 74 | 75 | vnode && childNodes.push(vnode) 76 | } else { 77 | childNodes.push(label) 78 | } 79 | 80 | if (props.collapsable && !isLeaf(data, props.props.children)) { 81 | childNodes.push(renderBtn(h, data, context)) 82 | } 83 | 84 | const cls = ['org-tree-node-label-inner'] 85 | let { labelWidth, labelClassName } = props 86 | if (typeof labelWidth === 'number') { 87 | labelWidth += 'px' 88 | } 89 | if (typeof labelClassName === 'function') { 90 | labelClassName = labelClassName(data) 91 | } 92 | labelClassName && cls.push(labelClassName) 93 | 94 | return h('div', { 95 | domProps: { 96 | className: 'org-tree-node-label' 97 | }, 98 | on: { 99 | click: e => clickHandler && clickHandler(e, data), 100 | mousedown: e => mousedownHandler && mousedownHandler(e, data), 101 | mouseup: e => mouseupHandler && mouseupHandler(e, data), 102 | touchstart: e => touchstartHandler && touchstartHandler(e, data), 103 | touchleave: e => touchleaveHandler && touchleaveHandler(e, data) 104 | } 105 | }, [h('div', { 106 | domProps: { 107 | className: cls.join(' ') 108 | }, 109 | style: { width: labelWidth } 110 | }, childNodes)]) 111 | } 112 | 113 | // 创建 node 子节点 114 | export const renderChildren = (h, list, context) => { 115 | if (Array.isArray(list) && list.length) { 116 | const children = list.map(item => { 117 | return renderNode(h, item, context) 118 | }) 119 | 120 | return h('div', { 121 | domProps: { 122 | className: 'org-tree-node-children' 123 | } 124 | }, children) 125 | } 126 | return '' 127 | } 128 | 129 | export const render = (h, context) => { 130 | const { props } = context 131 | return renderNode(h, props.data, context) 132 | } 133 | 134 | export default render 135 | -------------------------------------------------------------------------------- /src/components/org-tree/org-tree.less: -------------------------------------------------------------------------------- 1 | .org-tree-container { 2 | display: inline-block; 3 | padding: 15px; 4 | background-color: #fff; 5 | } 6 | 7 | .org-tree { 8 | // display: inline-block; 9 | display: table; 10 | text-align: center; 11 | 12 | &:before, &:after { 13 | content: ''; 14 | display: table; 15 | pointer-events: none; 16 | } 17 | 18 | &:after { 19 | clear: both; 20 | pointer-events: none; 21 | } 22 | } 23 | 24 | .org-tree-node, 25 | .org-tree-node-children { 26 | position: relative; 27 | margin: 0 auto; 28 | padding: 0; 29 | list-style-type: none; 30 | 31 | &:before, &:after { 32 | transition: all .35s; 33 | pointer-events: none; 34 | } 35 | } 36 | .org-tree-node-label { 37 | position: relative; 38 | display: inline-block; 39 | 40 | .org-tree-node-label-inner { 41 | padding: 10px 15px; 42 | text-align: center; 43 | border-radius: 3px; 44 | box-shadow: 0 1px 5px rgba(0, 0, 0, .15); 45 | } 46 | } 47 | .org-tree-button-wrapper{ 48 | position: absolute; 49 | top: 100%; 50 | left: 50%; 51 | width: 0px; 52 | height: 0px; 53 | z-index: 10; 54 | transform: translateX(-50%); 55 | & > *{ 56 | position: absolute; 57 | top: 50%; 58 | left: 50%; 59 | } 60 | .org-tree-node-btn { 61 | position: relative; 62 | display: inline-block; 63 | width: 20px; 64 | height: 20px; 65 | background-color: #fff; 66 | border: 1px solid #ccc; 67 | border-radius: 50%; 68 | box-shadow: 0 0 2px rgba(0, 0, 0, .15); 69 | cursor: pointer; 70 | transition: all .35s ease; 71 | transform: translate(-50%, 9px); 72 | 73 | &:hover { 74 | background-color: #e7e8e9; 75 | transform: translate(-50%, 9px) scale(1.15); 76 | } 77 | 78 | &:before, &:after { 79 | content: ''; 80 | position: absolute; 81 | pointer-events: none; 82 | } 83 | 84 | &:before { 85 | top: 50%; 86 | left: 4px; 87 | right: 4px; 88 | height: 0; 89 | border-top: 1px solid #ccc; 90 | } 91 | 92 | &:after { 93 | top: 4px; 94 | left: 50%; 95 | bottom: 4px; 96 | width: 0; 97 | border-left: 1px solid #ccc; 98 | pointer-events: none; 99 | } 100 | 101 | &.expanded:after { 102 | border: none; 103 | pointer-events: none; 104 | } 105 | } 106 | } 107 | 108 | .org-tree-node { 109 | padding-top: 20px; 110 | display: table-cell; 111 | vertical-align: top; 112 | 113 | &.is-leaf, &.collapsed { 114 | padding-left: 10px; 115 | padding-right: 10px; 116 | } 117 | 118 | &:before, &:after { 119 | pointer-events: none; 120 | content: ''; 121 | position: absolute; 122 | top: 0; 123 | left: 0; 124 | width: 50%; 125 | height: 19px; 126 | } 127 | 128 | &:after { 129 | left: 50%; 130 | border-left: 1px solid #ddd; 131 | pointer-events: none; 132 | } 133 | 134 | &:not(:first-child):before, 135 | &:not(:last-child):after { 136 | border-top: 1px solid #ddd; 137 | pointer-events: none; 138 | } 139 | 140 | } 141 | .collapsable .org-tree-node.collapsed { 142 | padding-bottom: 30px; 143 | 144 | .org-tree-node-label:after { 145 | content: ''; 146 | position: absolute; 147 | top: 100%; 148 | left: 0; 149 | width: 50%; 150 | height: 20px; 151 | border-right: 1px solid #ddd; 152 | pointer-events: none; 153 | } 154 | 155 | // &.collapsed{ 156 | // .org-tree-node-label:after{ 157 | // display: none; 158 | // } 159 | // } 160 | } 161 | .org-tree > .org-tree-node { 162 | padding-top: 0; 163 | 164 | &:after { 165 | border-left: 0; 166 | pointer-events: none; 167 | } 168 | } 169 | .org-tree-node-children { 170 | padding-top: 20px; 171 | display: table; 172 | 173 | &:before { 174 | content: ''; 175 | position: absolute; 176 | top: 0; 177 | left: 50%; 178 | width: 0; 179 | height: 20px; 180 | border-left: 1px solid #ddd; 181 | } 182 | 183 | &:after { 184 | content: ''; 185 | display: table; 186 | clear: both; 187 | pointer-events: none; 188 | } 189 | } 190 | 191 | .horizontal { 192 | .org-tree-node { 193 | // display: flex; 194 | // flex-direction: row; 195 | // justify-content: flex-start; 196 | // align-items: center; 197 | display: table-cell; 198 | float: none; 199 | padding-top: 0; 200 | padding-left: 20px; 201 | 202 | &.is-leaf, &.collapsed { 203 | padding-top: 10px; 204 | padding-bottom: 10px; 205 | } 206 | 207 | &:before, &:after { 208 | width: 19px; 209 | height: 50%; 210 | pointer-events: none; 211 | } 212 | 213 | &:after { 214 | top: 50%; 215 | left: 0; 216 | border-left: 0; 217 | pointer-events: none; 218 | } 219 | 220 | &:only-child:before { 221 | top: 1px; 222 | border-bottom: 1px solid #ddd; 223 | } 224 | 225 | &:not(:first-child):before, 226 | &:not(:last-child):after { 227 | border-top: 0; 228 | border-left: 1px solid #ddd; 229 | pointer-events: none; 230 | } 231 | 232 | &:not(:only-child):after { 233 | border-top: 1px solid #ddd; 234 | pointer-events: none; 235 | } 236 | 237 | .org-tree-node-inner { 238 | display: table; 239 | } 240 | 241 | } 242 | 243 | .org-tree-node-label { 244 | display: table-cell; 245 | vertical-align: middle; 246 | } 247 | 248 | &.collapsable .org-tree-node.collapsed { 249 | padding-right: 30px; 250 | 251 | .org-tree-node-label{ 252 | &:after { 253 | top: 0; 254 | left: 100%; 255 | width: 20px; 256 | height: 50%; 257 | border-right: 0; 258 | border-bottom: 0.625em solid #ddd; 259 | pointer-events: none; 260 | } 261 | } 262 | } 263 | 264 | .org-tree-button-wrapper{ 265 | position: absolute; 266 | top: 50%; 267 | left: 100%; 268 | width: 0px; 269 | height: 0px; 270 | z-index: 10; 271 | transform: translateY(-50%); 272 | & > *{ 273 | position: absolute; 274 | top: 50%; 275 | left: 50%; 276 | } 277 | .org-tree-node-btn { 278 | display: inline-block; 279 | transform: translate(9PX, -50%); 280 | } 281 | } 282 | 283 | & > .org-tree-node:only-child:before { 284 | border-bottom: 0; 285 | } 286 | 287 | .org-tree-node-children { 288 | // display: flex; 289 | // flex-direction: column; 290 | // justify-content: center; 291 | // align-items: flex-start; 292 | display: table-cell; 293 | padding-top: 0; 294 | padding-left: 20px; 295 | 296 | &:before { 297 | top: 50%; 298 | left: 0; 299 | width: 20px; 300 | height: 0; 301 | border-left: 0; 302 | border-top: 1px solid #ddd; 303 | } 304 | 305 | &:after { 306 | display: none; 307 | } 308 | 309 | & > .org-tree-node { 310 | display: block; 311 | } 312 | } 313 | } 314 | -------------------------------------------------------------------------------- /src/components/org-tree/org-tree.vue: -------------------------------------------------------------------------------- 1 | 20 | 21 | 177 | 178 | 181 | -------------------------------------------------------------------------------- /src/data.js: -------------------------------------------------------------------------------- 1 | export const data = { 2 | dep_id: 0, 3 | label: 'XXX科技有限公司', 4 | dep_children: [ 5 | { 6 | dep_id: 2, 7 | label: '产品研发部', 8 | dep_children: [ 9 | { 10 | dep_id: 5, 11 | label: '研发-前端' 12 | }, { 13 | dep_id: 6, 14 | label: '研发-后端' 15 | }, { 16 | dep_id: 9, 17 | label: 'UI设计' 18 | }, { 19 | dep_id: 10, 20 | label: '产品经理' 21 | } 22 | ] 23 | }, 24 | { 25 | dep_id: 3, 26 | label: '销售部', 27 | dep_children: [ 28 | { 29 | dep_id: 7, 30 | label: '销售一部' 31 | }, { 32 | dep_id: 8, 33 | label: '销售二部' 34 | } 35 | ] 36 | }, 37 | { 38 | dep_id: 4, 39 | label: '财务部' 40 | }, { 41 | dep_id: 11, 42 | label: 'HR人事' 43 | } 44 | ] 45 | } 46 | 47 | export const newData = { 48 | dep_id: 0, 49 | label: 'XXX科技有限公司', 50 | dep_children: [ 51 | { 52 | dep_id: 2, 53 | label: '产品研发部', 54 | dep_children: [ 55 | { 56 | dep_id: 5, 57 | label: '研发-前端' 58 | }, { 59 | dep_id: 6, 60 | label: '研发-后端' 61 | }, { 62 | dep_id: 9, 63 | label: 'UI设计' 64 | } 65 | ] 66 | }, 67 | { 68 | dep_id: 3, 69 | label: '销售部', 70 | dep_children: [ 71 | { 72 | dep_id: 7, 73 | label: '销售一部' 74 | } 75 | ] 76 | }, 77 | { 78 | dep_id: 4, 79 | label: '财务部' 80 | }, { 81 | dep_id: 9, 82 | label: 'HR人事' 83 | } 84 | ] 85 | } 86 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | 4 | Vue.config.productionTip = false 5 | 6 | new Vue({ 7 | render: h => h(App) 8 | }).$mount('#app') 9 | -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | baseUrl: process.env.NODE_ENV === 'production' ? 'https://lison16.github.io/v-org-tree/' : '/', 3 | lintOnSave: true, 4 | productionSourceMap: false 5 | } 6 | --------------------------------------------------------------------------------