diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..c06df4d --- /dev/null +++ b/.babelrc @@ -0,0 +1,18 @@ +{ + "presets": [ + ["env", { + "modules": false, + "targets": { + "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] + } + }], + "stage-2" + ], + "plugins": ["transform-runtime"], + "env": { + "test": { + "presets": ["env", "stage-2"], + "plugins": ["istanbul"] + } + } +} diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..e291365 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 4 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/.gitignore b/.gitignore index 5148e52..aba914c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,37 +1,12 @@ -# Logs -logs -*.log +.DS_Store +node_modules/ npm-debug.log* - -# Runtime data -pids -*.pid -*.seed - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (http://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules -jspm_packages - -# Optional npm cache directory -.npm - -# Optional REPL history -.node_repl_history +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +*.suo +*.ntvs* +*.njsproj +*.sln diff --git a/.postcssrc.js b/.postcssrc.js new file mode 100644 index 0000000..ea9a5ab --- /dev/null +++ b/.postcssrc.js @@ -0,0 +1,8 @@ +// https://github.com/michael-ciniawsky/postcss-load-config + +module.exports = { + "plugins": { + // to edit target browsers: use "browserlist" field in package.json + "autoprefixer": {} + } +} diff --git a/README.md b/README.md index f34eebf..4fd7d31 100644 --- a/README.md +++ b/README.md @@ -1,134 +1,186 @@ -### 贡献者名单 - - lily7129 -### develop logs -- 2017-5-2: 支持下拉树, add combotree -- 2017-5-26: 添加父节点半选状态框 -- 2017-6-08: 修复火狐复选事件的bug -- 2017-6-21: 修复动态渲染 -### QQ交流群:255965810 - -### How to run demo -``` +# vue2-tree + +## online demo + [https://halower.github.io/vue2-tree](https://halower.github.io/vue2-tree) +## features + +* normal tree + +* lazy loading + +* loading tip + +* dynamic add node + +* custom tree icon, use [iconFont](http://iconfont.cn/) + +* custom icon style. color + +* ie9,10,11,spartan + +__issues__ + +* checkbox status fix later + + showCheckbox: true, + halfCheck: true + + +notice: + + loadingChild method + + import { ZTree, ComboZTree, generateKey, getParentNode } from 'vue2-lazy-tree' + + import ZTree from 'vue2-lazy-tree' + + +## Build Setup + +``` bash +# install dependencies npm install -npm run dev + +# serve with hot reload at localhost:8080 +npm run dev + +# build for production with minification publish to npm +npm run build +``` + +----- + +### How to install the plugin (the npm package is not necessarily updated synchronously with the source code) + + npm install vue2-lazy-tree or cnpm install vue2-lazy-tree (国内) + +### How to use in u production + + import { ZTree } from 'vue2-lazy-tree' + import './../dist/vue2-tree.min.css' + Vue.use(ZTree) + +### Demo ``` -### 在线Demo - [点击进入线上效果](https://halower.github.io/vue2-tree/) -### 效果图 - ![效果图](http://files.cnblogs.com/files/rohelm/jdfw.gif) -### 示例 -```html ``` + ### 属性 | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |---------- |---------- | @@ -137,8 +189,49 @@ export default { ``` options: { + labelKey: '', { String } set the label field, default 'label' showCheckbox: true, //是否支持多选, - halfCheckedStatus: true,//控制父框是否需要半钩状态, + halfCheck: true,//控制父框是否需要半钩状态, + + lazy: true, // 是否是异步加载数据 + load: this.loadingChild, // 异步加载数据方法 + + showSearch: false, // 是否显示搜索 + + iconClass: { // custom icon class, Default + close: 'icon-youjiantou', + open: 'icon-xiajiantou', + add: 'icon-add' + }, + iconStyle: { // custom icon style, sometimes u just need to set color + color: '#108ee9' // default #000 + }, + + dynamicAdd: true, + // function handle display add button + // return true or false, default true + // [Function] param: { node } + dynamicAddFilter: (node) => { + if (node.type === 1 || node.type === 2) { + return true + } + return false + }, + // function handle add node; the new node must have `dynamicAdd : true` property + // the tree component rely on this show editor + // param { node } + // return Promise(parent.children) must bu children Array + dynamicAddNode: [Function], + // function handle save node; when successfull saved, the new node must del `dynamicAdd` property + // the tree component rely on this save node + // param { node, $event } + // return Promise(node) must be node Object return from server + dynamicSaveNode: [Function], + // function handle leaf icon + // param { node } + // return { String } , iconfont class name, default '' + leafIcon: [Function], + search: { useInitial: true, //是否支持拼音首字母搜索         useEnglish: false, //是否是英文搜索 @@ -147,15 +240,17 @@ export default { /* 节点元素 */ { - id: 1, //节点标志 - label: '一级节点', //节点名称 - open: true, // 是否打开节点 - checked: false, //是否被选中 - parentId: null, //父级节点Id - visible: true, //是否可见 - searched: false, //是否是搜索值, - nodeSelectNotAll: false,//表示父框可以半钩状态 - children: [] //子节点 + id: 1, // 节点标志 + label: '一级节点', // 节点名称 + open: true, // 是否打开节点 + checked: false, // 是否被选中 + parentId: null, // 父级节点Id + visible: true, // 是否可见 + searched: false, // 是否是搜索值, + nodeSelectNotAll: false, // 表示父框可以半钩状态 + leaf: true, // 是否是叶子节点, 如果是叶子结点, lazy=true 时,显示 leafIcon, 此节点不再异步加载数据 + children: [] // 子节点, + } ``` ### 方法 @@ -169,3 +264,43 @@ export default { |---------- |-------- |---------- | | node-click | 节点被点击时的回调 | 共1个参数,节点组件本身。 | +### iconfont + +u can use build in iconfont class or u add it by u self [iconFont](http://iconfont.cn/) + +how to find the build in class: + + // just go to the package folder, under node_modules/vue2-lazy-tree/ + src/components/tree/assets/iconfont/demo_fontclass.html + +---- + +## discuss + + QQ group:255965810 + +## contributor + +* lily7129 +* halower +* https://github.com/alonesuperman +* tinwan + +## Update History +* beautify the tree 25082017 + +* fix tree's halfchecked&click status 23082017 + +* fix tree's root bug 16082017 + +* fix generateKey method bug 31072017 + +* add label key property, set the label field 28072017 + +* add node leaf 27072017 + +* fix key bugs, add iconfont class 25072017 + +* fix checkbox bugs, showCheckbox & halfCheck 25072017 + +* Add how to use it in the production env 25072017 diff --git a/_config.yml b/_config.yml deleted file mode 100644 index c419263..0000000 --- a/_config.yml +++ /dev/null @@ -1 +0,0 @@ -theme: jekyll-theme-cayman \ No newline at end of file diff --git a/build/check-versions.js b/build/check-versions.js index 6548ba1..100f3a0 100644 --- a/build/check-versions.js +++ b/build/check-versions.js @@ -1,7 +1,7 @@ var chalk = require('chalk') var semver = require('semver') var packageConfig = require('../package.json') - +var shell = require('shelljs') function exec (cmd) { return require('child_process').execSync(cmd).toString().trim() } @@ -12,12 +12,15 @@ var versionRequirements = [ currentVersion: semver.clean(process.version), versionRequirement: packageConfig.engines.node }, - { +] + +if (shell.which('npm')) { + versionRequirements.push({ name: 'npm', currentVersion: exec('npm --version'), versionRequirement: packageConfig.engines.npm - } -] + }) +} module.exports = function () { var warnings = [] diff --git a/build/dev-server.js b/build/dev-server.js index 782dc6f..d376ea6 100644 --- a/build/dev-server.js +++ b/build/dev-server.js @@ -29,7 +29,8 @@ var devMiddleware = require('webpack-dev-middleware')(compiler, { }) var hotMiddleware = require('webpack-hot-middleware')(compiler, { - log: () => {} + log: () => {}, + heartbeat: 2000 }) // force page reload when html-webpack-plugin template changes compiler.plugin('compilation', function (compilation) { diff --git a/build/vue-loader.conf.js b/build/vue-loader.conf.js index 7aee79b..8a346d5 100644 --- a/build/vue-loader.conf.js +++ b/build/vue-loader.conf.js @@ -8,5 +8,11 @@ module.exports = { ? config.build.productionSourceMap : config.dev.cssSourceMap, extract: isProduction - }) + }), + transformToRequire: { + video: 'src', + source: 'src', + img: 'src', + image: 'xlink:href' + } } diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index daa3589..0d52fa9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -9,6 +9,7 @@ function resolve (dir) { module.exports = { entry: { + plyfill: 'babel-polyfill', app: './src/main.js' }, output: { @@ -45,6 +46,14 @@ module.exports = { name: utils.assetsPath('img/[name].[hash:7].[ext]') } }, + { + test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, + loader: 'url-loader', + options: { + limit: 10000, + name: utils.assetsPath('media/[name].[hash:7].[ext]') + } + }, { test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, loader: 'url-loader', diff --git a/build/webpack.prod.conf.js b/build/webpack.prod.conf.js index da44b65..8b0d413 100644 --- a/build/webpack.prod.conf.js +++ b/build/webpack.prod.conf.js @@ -9,9 +9,11 @@ var HtmlWebpackPlugin = require('html-webpack-plugin') var ExtractTextPlugin = require('extract-text-webpack-plugin') var OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin') -var env = config.build.env var webpackConfig = merge(baseWebpackConfig, { + entry: { + 'vue2-tree': './src/index.js' + }, module: { rules: utils.styleLoaders({ sourceMap: config.build.productionSourceMap, @@ -19,15 +21,23 @@ var webpackConfig = merge(baseWebpackConfig, { }) }, devtool: config.build.productionSourceMap ? '#source-map' : false, + // output: { + // path: config.build.assetsRoot, + // filename: utils.assetsPath('js/[name].[chunkhash].js'), + // chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') + // }, output: { - path: config.build.assetsRoot, - filename: utils.assetsPath('js/[name].[chunkhash].js'), - chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') + path: config.bundle.assetsRoot, + publicPath: config.bundle.assetsPublicPath, + filename: '[name].min.js', + library: 'ZTree', + libraryTarget: 'umd' }, + externals: ['vue', 'chinese-to-pinyin', 'babel-polyfill'], plugins: [ // http://vuejs.github.io/vue-loader/en/workflow/production.html new webpack.DefinePlugin({ - 'process.env': env + 'process.env': config.bundle.env }), new webpack.optimize.UglifyJsPlugin({ compress: { @@ -37,84 +47,10 @@ var webpackConfig = merge(baseWebpackConfig, { }), // extract css into its own file new ExtractTextPlugin({ - filename: utils.assetsPath('css/[name].[contenthash].css') - }), - // Compress extracted CSS. We are using this plugin so that possible - // duplicated CSS from different components can be deduped. - new OptimizeCSSPlugin({ - cssProcessorOptions: { - safe: true - } - }), - // generate dist index.html with correct asset hash for caching. - // you can customize output by editing /index.html - // see https://github.com/ampedandwired/html-webpack-plugin - new HtmlWebpackPlugin({ - filename: config.build.index, - template: 'index.html', - inject: true, - minify: { - removeComments: true, - collapseWhitespace: true, - removeAttributeQuotes: true - // more options: - // https://github.com/kangax/html-minifier#options-quick-reference - }, - // necessary to consistently work with multiple chunks via CommonsChunkPlugin - chunksSortMode: 'dependency' - }), - // split vendor js into its own file - new webpack.optimize.CommonsChunkPlugin({ - name: 'vendor', - minChunks: function (module, count) { - // any required modules inside node_modules are extracted to vendor - return ( - module.resource && - /\.js$/.test(module.resource) && - module.resource.indexOf( - path.join(__dirname, '../node_modules') - ) === 0 - ) - } - }), - // extract webpack runtime and module manifest to its own file in order to - // prevent vendor hash from being updated whenever app bundle is updated - new webpack.optimize.CommonsChunkPlugin({ - name: 'manifest', - chunks: ['vendor'] + // filename: utils.assetsPath('css/[name].[contenthash].css') + filename: 'vue2-tree.min.css' }), - // copy custom static assets - new CopyWebpackPlugin([ - { - from: path.resolve(__dirname, '../static'), - to: config.build.assetsSubDirectory, - ignore: ['.*'] - } - ]) + new OptimizeCSSPlugin() ] }) - -if (config.build.productionGzip) { - var CompressionWebpackPlugin = require('compression-webpack-plugin') - - webpackConfig.plugins.push( - new CompressionWebpackPlugin({ - asset: '[path].gz[query]', - algorithm: 'gzip', - test: new RegExp( - '\\.(' + - config.build.productionGzipExtensions.join('|') + - ')$' - ), - threshold: 10240, - minRatio: 0.8 - }) - ) -} - -if (config.build.bundleAnalyzerReport) { - var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin - webpackConfig.plugins.push(new BundleAnalyzerPlugin()) -} - module.exports = webpackConfig diff --git a/config/index.js b/config/index.js index 83ad165..bc7dade 100644 --- a/config/index.js +++ b/config/index.js @@ -7,7 +7,7 @@ module.exports = { index: path.resolve(__dirname, '../dist/index.html'), assetsRoot: path.resolve(__dirname, '../dist'), assetsSubDirectory: 'static', - assetsPublicPath: './', + assetsPublicPath: '/', productionSourceMap: true, // Gzip off by default as many popular static hosts such as // Surge or Netlify already gzip all static assets for you. @@ -21,9 +21,19 @@ module.exports = { // Set to `true` or `false` to always turn it on or off bundleAnalyzerReport: process.env.npm_config_report }, + bundle: { + env: require('./prod.env'), + assetsRoot: path.resolve(__dirname, '../dist'), + assetsPublicPath: '/', + assetsSubDirectory: '/', + productionSourceMap: true, + productionGzip: false, + productionGzipExtensions: ['js', 'css'], + bundleAnalyzerReport: process.env.npm_config_report + }, dev: { env: require('./dev.env'), - port: 8080, + port: 8082, autoOpenBrowser: true, assetsSubDirectory: 'static', assetsPublicPath: '/', diff --git a/data/child.json b/data/child.json new file mode 100644 index 0000000..4eb4a8c --- /dev/null +++ b/data/child.json @@ -0,0 +1,22 @@ +[ + { + "id": 1, + "label": "节点 1", + "open": false, + "checked": false, + "nodeSelectNotAll": false, + "parentId": null, + "visible": true, + "searched": false + }, + { + "id": 2, + "label": "节点 2", + "open": false, + "checked": false, + "nodeSelectNotAll": false, + "parentId": null, + "visible": true, + "searched": false + } +] diff --git a/dist/app.min.js b/dist/app.min.js new file mode 100644 index 0000000..384a30e --- /dev/null +++ b/dist/app.min.js @@ -0,0 +1,8 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("vue"),require("chinese-to-pinyin")):"function"==typeof define&&define.amd?define(["vue","chinese-to-pinyin"],t):"object"==typeof exports?exports.ZTree=t(require("vue"),require("chinese-to-pinyin")):e.ZTree=t(e.vue,e["chinese-to-pinyin"])}(this,function(e,t){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/",t(t.s=157)}([function(e,t,n){var r=n(60)("wks"),o=n(37),i=n(2).Symbol,a="function"==typeof i;(e.exports=function(e){return r[e]||(r[e]=a&&i[e]||(a?i:o)("Symbol."+e))}).store=r},function(e,t){var n=e.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t,n){var r=n(6),o=n(92),i=n(107),a=Object.defineProperty;t.f=n(4)?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){e.exports=!n(15)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t,n){var r=n(2),o=n(1),i=n(7),a=n(8),c=function(e,t,n){var s,u,l,f=e&c.F,d=e&c.G,h=e&c.S,p=e&c.P,v=e&c.B,y=e&c.W,m=d?o:o[t]||(o[t]={}),g=m.prototype,w=d?r:h?r[t]:(r[t]||{}).prototype;d&&(n=t);for(s in n)(u=!f&&w&&void 0!==w[s])&&s in m||(l=u?w[s]:n[s],m[s]=d&&"function"!=typeof w[s]?n[s]:v&&u?i(l,r):y&&w[s]==l?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(l):p&&"function"==typeof l?i(Function.call,l):l,p&&((m.virtual||(m.virtual={}))[s]=l,e&c.R&&g&&!g[s]&&a(g,s,l)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},function(e,t,n){var r=n(9);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,n){var r=n(27);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){var r=n(3),o=n(32);e.exports=n(4)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t){e.exports={}},function(e,t,n){"use strict";var r=n(105)(!0);n(31)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){"use strict";function r(e){return"[object Array]"===S.call(e)}function o(e){return"[object ArrayBuffer]"===S.call(e)}function i(e){return"undefined"!=typeof FormData&&e instanceof FormData}function a(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function c(e){return"string"==typeof e}function s(e){return"number"==typeof e}function u(e){return void 0===e}function l(e){return null!==e&&"object"==typeof e}function f(e){return"[object Date]"===S.call(e)}function d(e){return"[object File]"===S.call(e)}function h(e){return"[object Blob]"===S.call(e)}function p(e){return"[object Function]"===S.call(e)}function v(e){return l(e)&&p(e.pipe)}function y(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function m(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function g(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function w(e,t){if(null!==e&&void 0!==e)if("object"==typeof e||r(e)||(e=[e]),r(e))for(var n=0,o=e.length;nw;w++)if((y=t?g(a(p=e[w])[0],p[1]):g(e[w]))===u||y===l)return y}else for(v=m.call(e);!(p=v.next()).done;)if((y=o(v,g,p.value,t))===u||y===l)return y};t.BREAK=u,t.RETURN=l},function(e,t,n){var r=n(3).f,o=n(16),i=n(0)("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e,t,n){var r=n(35),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t,n){var r=n(21);e.exports=function(e){return Object(r(e))}},function(e,t,n){e.exports={default:n(83),__esModule:!0}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},function(e,t,n){var r=n(9),o=n(2).document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},function(e,t,n){var r=n(14);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t,n){"use strict";var r=n(55),o=n(5),i=n(103),a=n(8),c=n(16),s=n(10),u=n(95),l=n(23),f=n(100),d=n(0)("iterator"),h=!([].keys&&"next"in[].keys()),p=function(){return this};e.exports=function(e,t,n,v,y,m,g){u(n,t,v);var w,x,b,_=function(e){if(!h&&e in C)return C[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},k=t+" Iterator",S="values"==y,N=!1,C=e.prototype,A=C[d]||C["@@iterator"]||y&&C[y],E=A||_(y),T=y?S?_("entries"):E:void 0,O="Array"==t?C.entries||A:A;if(O&&(b=f(O.call(new e)))!==Object.prototype&&(l(b,k,!0),r||c(b,d)||a(b,d,p)),S&&A&&"values"!==A.name&&(N=!0,E=function(){return A.call(this)}),r&&!g||!h&&!N&&C[d]||a(C,d,E),s[t]=E,s[k]=p,y)if(w={values:S?E:_("values"),keys:m?E:_("keys"),entries:T},g)for(x in w)x in C||i(C,x,w[x]);else o(o.P+o.F*(h||N),t,w);return w}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(8);e.exports=function(e,t,n){for(var o in t)n&&e[o]?e[o]=t[o]:r(e,o,t[o]);return e}},function(e,t,n){var r=n(60)("keys"),o=n(37);e.exports=function(e){return r[e]||(r[e]=o(e))}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r=n(30),o=n(21);e.exports=function(e){return r(o(e))}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t,n){var r=n(20),o=n(0)("iterator"),i=n(10);e.exports=n(1).getIteratorMethod=function(e){if(void 0!=e)return e[o]||e["@@iterator"]||i[r(e)]}},function(e,t){},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(71),i=r(o),a=n(18),c=r(a);t.default=function(){function e(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=(0,c.default)(e);!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}return function(t,n){if(Array.isArray(t))return t;if((0,i.default)(Object(t)))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"generateKey",function(){return f}),n.d(t,"getParentNode",function(){return d});var r=n(18),o=n.n(r),i=n(40),a=n.n(i),c=n(42),s=n.n(c),u=n(64),l=n.n(u);n.d(t,"ZTree",function(){return s.a}),n.d(t,"ComboZTree",function(){return l.a}),s.a.install=function(e){e.component("ZTree",s.a)},l.a.install=function(e){e.component("ComboZTree",l.a)};var f=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0";return t=t.map(function(t,r){return t.key=n+"-"+r.toString(),t.hasOwnProperty("children")&&t.children.length>0&&e(t.children,t.key),t})},d=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=void 0,r=e.key.split("-"),i=!0,c=!1,s=void 0;try{for(var u,l=o()(r.entries());!(i=(u=l.next()).done);i=!0){var f=u.value,d=a()(f,2),h=d[0],p=d[1];switch(h){case 0:break;case 1:n=t[p];break;default:n=n.children[p]}}}catch(e){c=!0,s=e}finally{try{!i&&l.return&&l.return()}finally{if(c)throw s}}return n};t.default=s.a},function(e,t,n){function r(e){n(120)}var o=n(13)(n(68),n(126),r,"data-v-377190f8",null);e.exports=o.exports},function(e,t,n){e.exports={default:n(81),__esModule:!0}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(26),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e){return function(){var t=e.apply(this,arguments);return new o.default(function(e,n){function r(i,a){try{var c=t[i](a),s=c.value}catch(e){return void n(e)}if(!c.done)return o.default.resolve(s).then(function(e){r("next",e)},function(e){r("throw",e)});e(s)}return r("next")})}}},function(e,t,n){e.exports=n(122)},function(e,t,n){"use strict";var r=n(3).f,o=n(57),i=n(33),a=n(7),c=n(28),s=n(21),u=n(22),l=n(31),f=n(54),d=n(59),h=n(4),p=n(56).fastKey,v=h?"_s":"size",y=function(e,t){var n,r=p(t);if("F"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,l){var f=e(function(e,r){c(e,f,t,"_i"),e._i=o(null),e._f=void 0,e._l=void 0,e[v]=0,void 0!=r&&u(r,n,e[l],e)});return i(f.prototype,{clear:function(){for(var e=this,t=e._i,n=e._f;n;n=n.n)n.r=!0,n.p&&(n.p=n.p.n=void 0),delete t[n.i];e._f=e._l=void 0,e[v]=0},delete:function(e){var t=this,n=y(t,e);if(n){var r=n.n,o=n.p;delete t._i[n.i],n.r=!0,o&&(o.n=r),r&&(r.p=o),t._f==n&&(t._f=r),t._l==n&&(t._l=o),t[v]--}return!!n},forEach:function(e){c(this,f,"forEach");for(var t,n=a(e,arguments.length>1?arguments[1]:void 0,3);t=t?t.n:this._f;)for(n(t.v,t.k,this);t&&t.r;)t=t.p},has:function(e){return!!y(this,e)}}),h&&r(f.prototype,"size",{get:function(){return s(this[v])}}),f},def:function(e,t,n){var r,o,i=y(e,t);return i?i.v=n:(e._l=i={i:o=p(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=i),r&&(r.n=i),e[v]++,"F"!==o&&(e._i[o]=i)),e},getEntry:y,setStrong:function(e,t,n){l(e,t,function(e,t){this._t=e,this._k=t,this._l=void 0},function(){for(var e=this,t=e._k,n=e._l;n&&n.r;)n=n.p;return e._t&&(e._l=n=n?n.n:e._t._f)?"keys"==t?f(0,n.k):"values"==t?f(0,n.v):f(0,[n.k,n.v]):(e._t=void 0,f(1))},n?"entries":"values",!n,!0),d(t)}}},function(e,t,n){var r=n(20),o=n(86);e.exports=function(e){return function(){if(r(this)!=e)throw TypeError(e+"#toJSON isn't generic");return o(this)}}},function(e,t,n){"use strict";var r=n(2),o=n(5),i=n(56),a=n(15),c=n(8),s=n(33),u=n(22),l=n(28),f=n(9),d=n(23),h=n(3).f,p=n(88)(0),v=n(4);e.exports=function(e,t,n,y,m,g){var w=r[e],x=w,b=m?"set":"add",_=x&&x.prototype,k={};return v&&"function"==typeof x&&(g||_.forEach&&!a(function(){(new x).entries().next()}))?(x=t(function(t,n){l(t,x,e,"_c"),t._c=new w,void 0!=n&&u(n,m,t[b],t)}),p("add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON".split(","),function(e){var t="add"==e||"set"==e;e in _&&(!g||"clear"!=e)&&c(x.prototype,e,function(n,r){if(l(this,x,e),!t&&g&&!f(n))return"get"==e&&void 0;var o=this._c[e](0===n?0:n,r);return t?this:o})}),"size"in _&&h(x.prototype,"size",{get:function(){return this._c.size}})):(x=y.getConstructor(t,e,m,b),s(x.prototype,n),i.NEED=!0),d(x,e),k[e]=x,o(o.G+o.W+o.F,k),g||y.setStrong(x,e,m),x}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,n){e.exports=n(2).document&&document.documentElement},function(e,t,n){var r=n(10),o=n(0)("iterator"),i=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||i[o]===e)}},function(e,t,n){var r=n(6);e.exports=function(e,t,n,o){try{return o?t(r(n)[0],n[1]):t(n)}catch(t){var i=e.return;throw void 0!==i&&r(i.call(e)),t}}},function(e,t,n){var r=n(0)("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:n=!0}},i[r]=function(){return a},e(i)}catch(e){}return n}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t){e.exports=!0},function(e,t,n){var r=n(37)("meta"),o=n(9),i=n(16),a=n(3).f,c=0,s=Object.isExtensible||function(){return!0},u=!n(15)(function(){return s(Object.preventExtensions({}))}),l=function(e){a(e,r,{value:{i:"O"+ ++c,w:{}}})},f=function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,r)){if(!s(e))return"F";if(!t)return"E";l(e)}return e[r].i},d=function(e,t){if(!i(e,r)){if(!s(e))return!0;if(!t)return!1;l(e)}return e[r].w},h=function(e){return u&&p.NEED&&s(e)&&!i(e,r)&&l(e),e},p=e.exports={KEY:r,NEED:!1,fastKey:f,getWeak:d,onFreeze:h}},function(e,t,n){var r=n(6),o=n(98),i=n(49),a=n(34)("IE_PROTO"),c=function(){},s=function(){var e,t=n(29)("iframe"),r=i.length;for(t.style.display="none",n(50).appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write("\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// combotree.vue?d9aaaca8","\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// tree-node.vue?4d93cfc8","\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// tree.vue?48dca2db","const pinyin = require('chinese-to-pinyin')\r\nimport Vue from 'vue'\r\nexport default class TreeStore {\r\n constructor(options) {\r\n for (let option in options) {\r\n if (options.hasOwnProperty(option)) {\r\n this[option] = options[option]\r\n }\r\n }\r\n this.datas = new Map()\r\n const _traverseNodes = (root) => {\r\n for (let node of root) {\r\n this.datas.set(node.key, node)\r\n if (node.children && node.children.length > 0) _traverseNodes(node.children)\r\n }\r\n }\r\n _traverseNodes(this.root)\r\n }\r\n __parseKey (key) {\r\n return {\r\n current: key,\r\n parent: key.slice(0, -2)\r\n }\r\n }\r\n /**\r\n * 控制 checkbox 选中状态\r\n * @param node\r\n */\r\n changeCheckStatus(node) {\r\n const _traverseUp = (node) => {\r\n if (node.key.length <= 3) {\r\n return false\r\n }\r\n\r\n let key = this.__parseKey(node.key)\r\n if (node.checked) {\r\n let parent = this.getNode(key.parent)\r\n Vue.set(parent, 'checked', this.sameSilibingChecked(key.parent, key.current))\r\n _traverseUp(parent)\r\n } else {\r\n if (!node.checked) {\r\n let upparent = this.getNode(key.parent)\r\n Vue.set(upparent, 'checked', false)\r\n if (upparent.key) {\r\n _traverseUp(upparent)\r\n }\r\n }\r\n }\r\n }\r\n\r\n const _traverseDown = (node) => {\r\n if (node.children && node.children.length > 0) {\r\n for (let child of node.children) {\r\n Vue.set(child, 'checked', node.checked)\r\n _traverseDown(child)\r\n }\r\n }\r\n }\r\n _traverseUp(node)\r\n _traverseDown(node)\r\n }\r\n changeCheckHalfStatus(node) {\r\n let flag = false;\r\n //如果勾选的是子节点,父节点默认打上勾\r\n const _traverseUp = (node, flag) => {\r\n if (node.key.length <= 3) {\r\n return false\r\n }\r\n\r\n let key = this.__parseKey(node.key)\r\n\r\n let parent = null;\r\n if (node.checked) { //打钩\r\n if (key.parent) {\r\n parent = this.getNode(key.parent)\r\n if (flag) {\r\n parent.checked = true\r\n parent.nodeSelectNotAll = true\r\n _traverseUp(parent, true)\r\n } else {\r\n parent.checked = true;\r\n parent.nodeSelectNotAll = this.sameSilibingHalfChecked(true, parent, key.parent, key.current) === 'half' ? true : false; //返回true则全钩,false为半钩\r\n _traverseUp(parent)\r\n }\r\n }\r\n } else { //去钩\r\n if (key.parent) {\r\n parent = this.getNode(key.parent)\r\n if (this.sameSilibingHalfChecked(false, parent, key.parent, key.current) === \"none\") { //返回true则全没钩,false为半钩\r\n parent.checked = false\r\n parent.nodeSelectNotAll = false\r\n } else {\r\n parent.checked = true\r\n parent.nodeSelectNotAll = true\r\n }\r\n _traverseUp(parent, true)\r\n }\r\n }\r\n }\r\n const _traverseDown = (node) => {\r\n if (node.children && node.children.length > 0) {\r\n if (node.nodeSelectNotAll) { //节点没勾选\r\n node.nodeSelectNotAll = false\r\n }\r\n for (let child of node.children) {\r\n Vue.set(child, 'checked', node.checked)\r\n _traverseDown(child)\r\n }\r\n }\r\n }\r\n _traverseUp(node)\r\n _traverseDown(node)\r\n }\r\n\r\n /**\r\n * 同级的是否全部 check\r\n * @param parentKey\r\n * @param currentKey\r\n * @returns {boolean}\r\n */\r\n sameSilibingChecked(parentKey, currentKey) {\r\n let parent = this.datas.get(parentKey)\r\n let sbIds = []\r\n parent.children.forEach(x => {\r\n if (x.key !== currentKey) sbIds.push(x.key)\r\n })\r\n for (let key of sbIds) {\r\n let node = this.getNode(key)\r\n if (!node.checked) return false\r\n }\r\n return true\r\n }\r\n\r\n /**\r\n * 控制父框是否需要半钩状态\r\n * @param status\r\n * @param parent\r\n * @param parentId\r\n * @param currentId\r\n * @returns {*}\r\n */\r\n sameSilibingHalfChecked(status, parent, parentKey, currentKey) {\r\n let sbIds = []\r\n let currentNode = this.getNode(currentKey)\r\n parent.children.forEach(x => {\r\n if (!currentNode.nodeSelectNotAll && x.key !== currentKey) sbIds.push(x.key) //除去当前节点的剩下节点\r\n })\r\n\r\n if (status) { //打钩\r\n if (sbIds.length !== 0) {\r\n for (let id of sbIds) { //子节点只要有一个被选中则父框打黑,全选打钩,全没有被选无状态\r\n let node = this.getNode(id)\r\n if (!node.checked || node.nodeSelectNotAll) { //节点没勾选\r\n return \"half\" //表示父框半钩的状态\r\n }\r\n }\r\n } else {\r\n if (currentNode.nodeSelectNotAll) {\r\n return \"all\" //表示全钩的状态\r\n }\r\n }\r\n return \"all\" //表示全钩的状态\r\n } else { //去钩\r\n if (sbIds.length !== 0) {\r\n for (let id of sbIds) { //子节点只要有一个被选中则父框打黑,全选打钩,全没有被选无状态\r\n let node = this.getNode(id)\r\n if (node.checked || node.nodeSelectNotAll) { //有节点被勾选,父框半钩的状态\r\n return \"half\"\r\n }\r\n }\r\n } else {\r\n if (currentNode.nodeSelectNotAll) {\r\n return \"all\" //表示全钩的状态\r\n }\r\n }\r\n return \"none\"\r\n }\r\n }\r\n isExitParent(parent) {\r\n let key = this.getNode(parent.key)\r\n if (key.current.length > 3) {\r\n return this.getNode(key.parent)\r\n }\r\n return null\r\n }\r\n isNullOrEmpty(world) {\r\n if (world) {\r\n return world.trim().length === 0\r\n }\r\n return true\r\n }\r\n filterNodes(keyworld, searchOptions) {\r\n const _filterNode = (val, node) => {\r\n if (!val) return true\r\n if (searchOptions.useEnglish) {\r\n return node.label.indexOf(val) !== -1\r\n } else {\r\n return this.toPinYin(node.label, searchOptions.useInitial).indexOf(this.toPinYin(keyworld.toLowerCase(), searchOptions.useInitial, true)) !== -1\r\n }\r\n }\r\n\r\n const _syncNodeStatus = (node) => {\r\n if (node.parentId) {\r\n let parentNode = this.getNode(node.parentId)\r\n if (node.visible) {\r\n parentNode.visible = node.visible\r\n _syncNodeStatus(parentNode)\r\n }\r\n }\r\n }\r\n let filterFunc = (searchOptions.customFilter && typeof(searchOptions.customFilter) === 'function') ? searchOptions.customFilter : _filterNode\r\n this.datas.forEach(node => {\r\n node.visible = filterFunc(keyworld, node)\r\n node.searched = false\r\n if (node.visible) {\r\n if (!this.isNullOrEmpty(keyworld)) {\r\n node.searched = true\r\n }\r\n _syncNodeStatus(node)\r\n }\r\n })\r\n }\r\n getNode(key) {\r\n return this.datas.get(key)\r\n }\r\n toPinYin(keyworld, useInitial) {\r\n if (/^[a-zA-Z]/.test(keyworld)) {\r\n return keyworld\r\n }\r\n let fullpinyin = pinyin(keyworld, {\r\n filterChinese: true,\r\n noTone: true\r\n })\r\n if (useInitial) {\r\n let res = ''\r\n fullpinyin.split(' ').forEach(w => {\r\n if (!(/[a-zA-Z]/.test(w))) {\r\n res += w\r\n } else {\r\n res += w.slice(0, 1)\r\n }\r\n })\r\n return res\r\n }\r\n return fullpinyin\r\n }\r\n setData (node) {\r\n this.datas.set(node.key, node)\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/tree/tree-store.js","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/array/from.js\n// module id = 70\n// module chunks = 0 1","module.exports = { \"default\": require(\"core-js/library/fn/is-iterable\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/is-iterable.js\n// module id = 71\n// module chunks = 0 1","module.exports = { \"default\": require(\"core-js/library/fn/map\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/map.js\n// module id = 72\n// module chunks = 0 1","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/define-property.js\n// module id = 73\n// module chunks = 0 1","module.exports = { \"default\": require(\"core-js/library/fn/set\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/set.js\n// module id = 74\n// module chunks = 0 1","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/classCallCheck.js\n// module id = 75\n// module chunks = 0 1","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/createClass.js\n// module id = 76\n// module chunks = 0 1","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/array/from.js\n// module id = 77\n// module chunks = 0 1","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.get-iterator');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/get-iterator.js\n// module id = 78\n// module chunks = 0 1","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.is-iterable');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/is-iterable.js\n// module id = 79\n// module chunks = 0 1","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.map');\nrequire('../modules/es7.map.to-json');\nmodule.exports = require('../modules/_core').Map;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/map.js\n// module id = 80\n// module chunks = 0 1","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/assign.js\n// module id = 81\n// module chunks = 0 1","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc){\n return $Object.defineProperty(it, key, desc);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/define-property.js\n// module id = 82\n// module chunks = 0 1","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nmodule.exports = require('../modules/_core').Promise;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/promise.js\n// module id = 83\n// module chunks = 0 1","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.set');\nrequire('../modules/es7.set.to-json');\nmodule.exports = require('../modules/_core').Set;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/set.js\n// module id = 84\n// module chunks = 0 1","module.exports = function(){ /* empty */ };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_add-to-unscopables.js\n// module id = 85\n// module chunks = 0 1","var forOf = require('./_for-of');\n\nmodule.exports = function(iter, ITERATOR){\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_array-from-iterable.js\n// module id = 86\n// module chunks = 0 1","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_array-includes.js\n// module id = 87\n// module chunks = 0 1","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx')\n , IObject = require('./_iobject')\n , toObject = require('./_to-object')\n , toLength = require('./_to-length')\n , asc = require('./_array-species-create');\nmodule.exports = function(TYPE, $create){\n var IS_MAP = TYPE == 1\n , IS_FILTER = TYPE == 2\n , IS_SOME = TYPE == 3\n , IS_EVERY = TYPE == 4\n , IS_FIND_INDEX = TYPE == 6\n , NO_HOLES = TYPE == 5 || IS_FIND_INDEX\n , create = $create || asc;\n return function($this, callbackfn, that){\n var O = toObject($this)\n , self = IObject(O)\n , f = ctx(callbackfn, that, 3)\n , length = toLength(self.length)\n , index = 0\n , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined\n , val, res;\n for(;length > index; index++)if(NO_HOLES || index in self){\n val = self[index];\n res = f(val, index, O);\n if(TYPE){\n if(IS_MAP)result[index] = res; // map\n else if(res)switch(TYPE){\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if(IS_EVERY)return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_array-methods.js\n// module id = 88\n// module chunks = 0 1","var isObject = require('./_is-object')\n , isArray = require('./_is-array')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(original){\n var C;\n if(isArray(original)){\n C = original.constructor;\n // cross-realm fallback\n if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;\n if(isObject(C)){\n C = C[SPECIES];\n if(C === null)C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_array-species-constructor.js\n// module id = 89\n// module chunks = 0 1","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function(original, length){\n return new (speciesConstructor(original))(length);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_array-species-create.js\n// module id = 90\n// module chunks = 0 1","'use strict';\nvar $defineProperty = require('./_object-dp')\n , createDesc = require('./_property-desc');\n\nmodule.exports = function(object, index, value){\n if(index in object)$defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_create-property.js\n// module id = 91\n// module chunks = 0 1","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_ie8-dom-define.js\n// module id = 92\n// module chunks = 0 1","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function(fn, args, that){\n var un = that === undefined;\n switch(args.length){\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_invoke.js\n// module id = 93\n// module chunks = 0 1","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n return cof(arg) == 'Array';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_is-array.js\n// module id = 94\n// module chunks = 0 1","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-create.js\n// module id = 95\n// module chunks = 0 1","var global = require('./_global')\n , macrotask = require('./_task').set\n , Observer = global.MutationObserver || global.WebKitMutationObserver\n , process = global.process\n , Promise = global.Promise\n , isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function(){\n var head, last, notify;\n\n var flush = function(){\n var parent, fn;\n if(isNode && (parent = process.domain))parent.exit();\n while(head){\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch(e){\n if(head)notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if(parent)parent.enter();\n };\n\n // Node.js\n if(isNode){\n notify = function(){\n process.nextTick(flush);\n };\n // browsers with MutationObserver\n } else if(Observer){\n var toggle = true\n , node = document.createTextNode('');\n new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new\n notify = function(){\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if(Promise && Promise.resolve){\n var promise = Promise.resolve();\n notify = function(){\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function(){\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function(fn){\n var task = {fn: fn, next: undefined};\n if(last)last.next = task;\n if(!head){\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_microtask.js\n// module id = 96\n// module chunks = 0 1","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function(){\n var A = {}\n , B = {}\n , S = Symbol()\n , K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function(k){ B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source){ // eslint-disable-line no-unused-vars\n var T = toObject(target)\n , aLen = arguments.length\n , index = 1\n , getSymbols = gOPS.f\n , isEnum = pIE.f;\n while(aLen > index){\n var S = IObject(arguments[index++])\n , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)\n , length = keys.length\n , j = 0\n , key;\n while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];\n } return T;\n} : $assign;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-assign.js\n// module id = 97\n// module chunks = 0 1","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-dps.js\n// module id = 98\n// module chunks = 0 1","exports.f = Object.getOwnPropertySymbols;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-gops.js\n// module id = 99\n// module chunks = 0 1","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-gpo.js\n// module id = 100\n// module chunks = 0 1","var has = require('./_has')\n , toIObject = require('./_to-iobject')\n , arrayIndexOf = require('./_array-includes')(false)\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n var O = toIObject(object)\n , i = 0\n , result = []\n , key;\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while(names.length > i)if(has(O, key = names[i++])){\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-keys-internal.js\n// module id = 101\n// module chunks = 0 1","exports.f = {}.propertyIsEnumerable;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-pie.js\n// module id = 102\n// module chunks = 0 1","module.exports = require('./_hide');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_redefine.js\n// module id = 103\n// module chunks = 0 1","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , SPECIES = require('./_wks')('species');\nmodule.exports = function(O, D){\n var C = anObject(O).constructor, S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_species-constructor.js\n// module id = 104\n// module chunks = 0 1","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_string-at.js\n// module id = 105\n// module chunks = 0 1","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-index.js\n// module id = 106\n// module chunks = 0 1","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-primitive.js\n// module id = 107\n// module chunks = 0 1","var anObject = require('./_an-object')\n , get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function(it){\n var iterFn = get(it);\n if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/core.get-iterator.js\n// module id = 108\n// module chunks = 0 1","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function(it){\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n || Iterators.hasOwnProperty(classof(O));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/core.is-iterable.js\n// module id = 109\n// module chunks = 0 1","'use strict';\nvar ctx = require('./_ctx')\n , $export = require('./_export')\n , toObject = require('./_to-object')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , toLength = require('./_to-length')\n , createProperty = require('./_create-property')\n , getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n var O = toObject(arrayLike)\n , C = typeof this == 'function' ? this : Array\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , index = 0\n , iterFn = getIterFn(O)\n , length, result, step, iterator;\n if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for(result = new C(length); length > index; index++){\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.array.from.js\n// module id = 110\n// module chunks = 0 1","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.array.iterator.js\n// module id = 111\n// module chunks = 0 1","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')('Map', function(get){\n return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key){\n var entry = strong.getEntry(this, key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value){\n return strong.def(this, key === 0 ? 0 : key, value);\n }\n}, strong, true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.map.js\n// module id = 112\n// module chunks = 0 1","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', {assign: require('./_object-assign')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.assign.js\n// module id = 113\n// module chunks = 0 1","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.define-property.js\n// module id = 114\n// module chunks = 0 1","'use strict';\nvar LIBRARY = require('./_library')\n , global = require('./_global')\n , ctx = require('./_ctx')\n , classof = require('./_classof')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , aFunction = require('./_a-function')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , speciesConstructor = require('./_species-constructor')\n , task = require('./_task').set\n , microtask = require('./_microtask')()\n , PROMISE = 'Promise'\n , TypeError = global.TypeError\n , process = global.process\n , $Promise = global[PROMISE]\n , process = global.process\n , isNode = classof(process) == 'process'\n , empty = function(){ /* empty */ }\n , Internal, GenericPromiseCapability, Wrapper;\n\nvar USE_NATIVE = !!function(){\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1)\n , FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function(exec){ exec(empty, empty); };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch(e){ /* empty */ }\n}();\n\n// helpers\nvar sameConstructor = function(a, b){\n // with library wrapper special case\n return a === b || a === $Promise && b === Wrapper;\n};\nvar isThenable = function(it){\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar newPromiseCapability = function(C){\n return sameConstructor($Promise, C)\n ? new PromiseCapability(C)\n : new GenericPromiseCapability(C);\n};\nvar PromiseCapability = GenericPromiseCapability = function(C){\n var resolve, reject;\n this.promise = new C(function($$resolve, $$reject){\n if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nvar perform = function(exec){\n try {\n exec();\n } catch(e){\n return {error: e};\n }\n};\nvar notify = function(promise, isReject){\n if(promise._n)return;\n promise._n = true;\n var chain = promise._c;\n microtask(function(){\n var value = promise._v\n , ok = promise._s == 1\n , i = 0;\n var run = function(reaction){\n var handler = ok ? reaction.ok : reaction.fail\n , resolve = reaction.resolve\n , reject = reaction.reject\n , domain = reaction.domain\n , result, then;\n try {\n if(handler){\n if(!ok){\n if(promise._h == 2)onHandleUnhandled(promise);\n promise._h = 1;\n }\n if(handler === true)result = value;\n else {\n if(domain)domain.enter();\n result = handler(value);\n if(domain)domain.exit();\n }\n if(result === reaction.promise){\n reject(TypeError('Promise-chain cycle'));\n } else if(then = isThenable(result)){\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch(e){\n reject(e);\n }\n };\n while(chain.length > i)run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if(isReject && !promise._h)onUnhandled(promise);\n });\n};\nvar onUnhandled = function(promise){\n task.call(global, function(){\n var value = promise._v\n , abrupt, handler, console;\n if(isUnhandled(promise)){\n abrupt = perform(function(){\n if(isNode){\n process.emit('unhandledRejection', value, promise);\n } else if(handler = global.onunhandledrejection){\n handler({promise: promise, reason: value});\n } else if((console = global.console) && console.error){\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if(abrupt)throw abrupt.error;\n });\n};\nvar isUnhandled = function(promise){\n if(promise._h == 1)return false;\n var chain = promise._a || promise._c\n , i = 0\n , reaction;\n while(chain.length > i){\n reaction = chain[i++];\n if(reaction.fail || !isUnhandled(reaction.promise))return false;\n } return true;\n};\nvar onHandleUnhandled = function(promise){\n task.call(global, function(){\n var handler;\n if(isNode){\n process.emit('rejectionHandled', promise);\n } else if(handler = global.onrejectionhandled){\n handler({promise: promise, reason: promise._v});\n }\n });\n};\nvar $reject = function(value){\n var promise = this;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if(!promise._a)promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function(value){\n var promise = this\n , then;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if(promise === value)throw TypeError(\"Promise can't be resolved itself\");\n if(then = isThenable(value)){\n microtask(function(){\n var wrapper = {_w: promise, _d: false}; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch(e){\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch(e){\n $reject.call({_w: promise, _d: false}, e); // wrap\n }\n};\n\n// constructor polyfill\nif(!USE_NATIVE){\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor){\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch(err){\n $reject.call(this, err);\n }\n };\n Internal = function Promise(executor){\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected){\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if(this._a)this._a.push(reaction);\n if(this._s)notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function(onRejected){\n return this.then(undefined, onRejected);\n }\n });\n PromiseCapability = function(){\n var promise = new Internal;\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: $Promise});\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r){\n var capability = newPromiseCapability(this)\n , $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x){\n // instanceof instead of internal slot check because we should fix it without replacement native Promise core\n if(x instanceof $Promise && sameConstructor(x.constructor, this))return x;\n var capability = newPromiseCapability(this)\n , $$resolve = capability.resolve;\n $$resolve(x);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function(iter){\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , resolve = capability.resolve\n , reject = capability.reject;\n var abrupt = perform(function(){\n var values = []\n , index = 0\n , remaining = 1;\n forOf(iterable, false, function(promise){\n var $index = index++\n , alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function(value){\n if(alreadyCalled)return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , reject = capability.reject;\n var abrupt = perform(function(){\n forOf(iterable, false, function(promise){\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.promise.js\n// module id = 115\n// module chunks = 0 1","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')('Set', function(get){\n return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value){\n return strong.def(this, value = value === 0 ? 0 : value, value);\n }\n}, strong);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.set.js\n// module id = 116\n// module chunks = 0 1","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Map', {toJSON: require('./_collection-to-json')('Map')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es7.map.to-json.js\n// module id = 117\n// module chunks = 0 1","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Set', {toJSON: require('./_collection-to-json')('Set')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es7.set.to-json.js\n// module id = 118\n// module chunks = 0 1","// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g =\n typeof global === \"object\" ? global :\n typeof window === \"object\" ? window :\n typeof self === \"object\" ? self : this;\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = require(\"./runtime\");\n\nif (hadRuntime) {\n // Restore the original runtime.\n g.regeneratorRuntime = oldRuntime;\n} else {\n // Remove the global property added by runtime.js.\n try {\n delete g.regeneratorRuntime;\n } catch(e) {\n g.regeneratorRuntime = undefined;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/regenerator-runtime/runtime-module.js\n// module id = 122\n// module chunks = 0 1","/**\n * Copyright (c) 2014, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n * additional grant of patent rights can be found in the PATENTS file in\n * the same directory.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n if (typeof global.process === \"object\" && global.process.domain) {\n invoke = global.process.domain.bind(invoke);\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // Among the various tricks for obtaining a reference to the global\n // object, this seems to be the most reliable technique that does not\n // use indirect eval (which violates Content Security Policy).\n typeof global === \"object\" ? global :\n typeof window === \"object\" ? window :\n typeof self === \"object\" ? self : this\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/regenerator-runtime/runtime.js\n// module id = 123\n// module chunks = 0 1","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"minimize\\\":true,\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1b783067\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./tree-node.vue\")\n}\nvar Component = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./tree-node.vue\"),\n /* template */\n require(\"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1b783067\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":\\\"src\\\",\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./tree-node.vue\"),\n /* styles */\n injectStyle,\n /* scopeId */\n \"data-v-1b783067\",\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/tree/tree-node.vue\n// module id = 124\n// module chunks = 0 1","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('ul', _vm._l((_vm.nodeData), function(item, index) {\n return _c('li', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (!item.hasOwnProperty('visible') || item.visible),\n expression: \"!item.hasOwnProperty('visible') || item.visible\"\n }],\n key: item.key\n }, [_c('div', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (item.hasOwnProperty('dynamicAdd')),\n expression: \"item.hasOwnProperty('dynamicAdd')\"\n }],\n key: index\n }, [_c('input', {\n directives: [{\n name: \"focus\",\n rawName: \"v-focus\"\n }],\n key: item.key,\n ref: \"inputadd\",\n refInFor: true,\n staticClass: \"add-input\",\n attrs: {\n \"type\": \"text\",\n \"value\": \"\"\n },\n on: {\n \"blur\": function($event) {\n _vm.addNode(item, $event)\n },\n \"keyup\": function($event) {\n if (!('button' in $event) && _vm._k($event.keyCode, \"enter\", 13)) { return null; }\n _vm.addNode(item, $event)\n }\n }\n })]), _vm._v(\" \"), _c('div', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (!item.hasOwnProperty('dynamicAdd')),\n expression: \"!item.hasOwnProperty('dynamicAdd')\"\n }],\n staticClass: \"item-handle-area\",\n class: {\n 'node-selected': (item.checked && !_vm.options.showCheckbox) || item.searched\n },\n on: {\n \"click\": function($event) {\n _vm.handleNode(item)\n }\n }\n }, [(_vm.isLeaf(item)) ? _c('i', {\n staticClass: \"icon iconfont handle-icon\",\n class: [item.open ? _vm.options.iconClass.open : _vm.options.iconClass.close],\n style: (_vm.options.iconStyle),\n on: {\n \"click\": function($event) {\n $event.stopPropagation();\n _vm.handleNodeExpand(item, index)\n }\n }\n }) : _c('i', {\n staticClass: \"icon iconfont \",\n class: _vm.leafIcon(item),\n style: (_vm.options.iconStyle)\n }), _vm._v(\" \"), _c('div', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.options.showCheckbox),\n expression: \"options.showCheckbox\"\n }],\n staticClass: \"inputCheck\",\n class: {\n notAllNodes: item.nodeSelectNotAll\n },\n style: ({\n width: _vm.inputWidth + 'px',\n height: _vm.inputWidth + 'px',\n color: _vm.options.iconStyle.color\n }),\n on: {\n \"click\": function($event) {\n $event.stopPropagation();\n _vm.walkCheckBox(item)\n }\n }\n }, [(_vm.options.showCheckbox && !item.nodeSelectNotAll) ? _c('input', {\n key: item.key,\n staticClass: \"check\",\n attrs: {\n \"type\": \"checkbox\"\n },\n domProps: {\n \"checked\": item.checked\n },\n on: {\n \"change\": function($event) {\n _vm.checkBoxChange(item, $event)\n }\n }\n }) : _vm._e()]), _vm._v(\" \"), _c('span', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (item.loading),\n expression: \"item.loading\"\n }],\n staticClass: \"halo-tree-icon_loading halo-tree-iconEle\",\n style: (_vm.options.iconStyle)\n }), _vm._v(\" \"), _c('span', {\n staticClass: \"label\"\n }, [_vm._v(\"\\n \" + _vm._s(item[_vm.options.labelKey]) + \"\\n \")]), _vm._v(\" \"), (_vm.canAdd(item)) ? _c('i', {\n staticClass: \"iconfont add-icon\",\n class: _vm.options.iconClass.add,\n style: (_vm.options.iconStyle),\n on: {\n \"click\": function($event) {\n $event.stopPropagation();\n _vm.handleClickAddNode(item, index)\n }\n }\n }) : _vm._e()]), _vm._v(\" \"), (item.children && item.children.length > 0) ? _c('tree-node', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (item.open),\n expression: \"item.open\"\n }],\n ref: \"treenode\",\n refInFor: true,\n attrs: {\n \"options\": _vm.options,\n \"tree-data\": item.children\n },\n on: {\n \"handlecheckedChange\": _vm.handlecheckedChange\n }\n }) : _vm._e()], 1)\n }))\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler?{\"id\":\"data-v-1b783067\",\"hasScoped\":true,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"}}!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/tree/tree-node.vue\n// module id = 125\n// module chunks = 0 1","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"halo-tree\"\n }, [(_vm.options.showSearch) ? _c('div', {\n staticClass: \"input\"\n }, [_c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.search),\n expression: \"search\"\n }],\n attrs: {\n \"type\": \"text\"\n },\n domProps: {\n \"value\": (_vm.search)\n },\n on: {\n \"input\": function($event) {\n if ($event.target.composing) { return; }\n _vm.search = $event.target.value\n }\n }\n }), _vm._v(\" \"), _c('span', {\n staticClass: \"icon search\"\n })]) : _vm._e(), _vm._v(\" \"), _c('div', {\n staticClass: \"root\"\n }, [_c('i', {\n staticClass: \"icon iconfont\",\n class: [_vm.itemsShow ? _vm.treeNodeOptions.iconClass.open : _vm.treeNodeOptions.iconClass.close],\n style: (_vm.treeNodeOptions.iconStyle),\n on: {\n \"click\": _vm.rootIconClick\n }\n }), _vm._v(\"\\n 我的组织\\n \")]), _vm._v(\" \"), _c('tree-node', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.itemsShow),\n expression: \"itemsShow\"\n }],\n attrs: {\n \"treeData\": _vm.store.root,\n \"options\": _vm.treeNodeOptions\n },\n on: {\n \"handlecheckedChange\": _vm.handlecheckedChange\n }\n })], 1)\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler?{\"id\":\"data-v-377190f8\",\"hasScoped\":true,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"}}!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/tree/tree.vue\n// module id = 126\n// module chunks = 0 1","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"halo-tree\"\n }, [_c('div', {\n staticClass: \"input\"\n }, [_c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.nodelabel),\n expression: \"nodelabel\"\n }],\n attrs: {\n \"type\": \"text\"\n },\n domProps: {\n \"value\": (_vm.nodelabel)\n },\n on: {\n \"click\": _vm.toggleShowTree,\n \"input\": function($event) {\n if ($event.target.composing) { return; }\n _vm.nodelabel = $event.target.value\n }\n }\n }), _vm._v(\" \"), _c('span', {\n class: [_vm.showTree ? 'caret-up' : 'caret-down', _vm.icon],\n on: {\n \"click\": _vm.toggleShowTree\n }\n })]), _vm._v(\" \"), _c('tree', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.showTree),\n expression: \"showTree\"\n }],\n ref: \"tree\",\n attrs: {\n \"treeData\": _vm.treeData,\n \"options\": _vm.options\n },\n on: {\n \"node-click\": _vm.nodeclick,\n \"handlecheckedChange\": _vm.handlecheckedChange\n }\n })], 1)\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler?{\"id\":\"data-v-414c4a42\",\"hasScoped\":false,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"}}!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/tree/combotree.vue\n// module id = 127\n// module chunks = 0 1","module.exports = __WEBPACK_EXTERNAL_MODULE_128__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"chinese-to-pinyin\"\n// module id = 128\n// module chunks = 0 1","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || require('./../helpers/btoa');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n var loadEvent = 'onreadystatechange';\n var xDomain = false;\n\n // For IE 8/9 CORS support\n // Only supports POST and GET calls and doesn't returns the response headers.\n // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n if (process.env.NODE_ENV !== 'test' &&\n typeof window !== 'undefined' &&\n window.XDomainRequest && !('withCredentials' in request) &&\n !isURLSameOrigin(config.url)) {\n request = new window.XDomainRequest();\n loadEvent = 'onload';\n xDomain = true;\n request.onprogress = function handleProgress() {};\n request.ontimeout = function handleTimeout() {};\n }\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request[loadEvent] = function handleLoad() {\n if (!request || (request.readyState !== 4 && !xDomain)) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n // IE sends 1223 instead of 204 (https://github.com/mzabriskie/axios/issues/201)\n status: request.status === 1223 ? 204 : request.status,\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/adapters/xhr.js\n// module id = 129\n// module chunks = 0","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/cancel/Cancel.js\n// module id = 130\n// module chunks = 0","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/cancel/isCancel.js\n// module id = 131\n// module chunks = 0","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/core/createError.js\n// module id = 132\n// module chunks = 0","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/helpers/bind.js\n// module id = 133\n// module chunks = 0","function injectStyle (ssrContext) {\n require(\"!!../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"minimize\\\":true,\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2a1ff92f\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./App.vue\")\n}\nvar Component = require(\"!../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"),\n /* template */\n require(\"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2a1ff92f\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":\\\"src\\\",\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"),\n /* styles */\n injectStyle,\n /* scopeId */\n null,\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = 134\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/axios.js\n// module id = 135\n// module chunks = 0","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/cancel/CancelToken.js\n// module id = 136\n// module chunks = 0","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, this.defaults, { method: 'get' }, config);\n config.method = config.method.toLowerCase();\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/core/Axios.js\n// module id = 137\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/core/InterceptorManager.js\n// module id = 138\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/core/dispatchRequest.js\n// module id = 139\n// module chunks = 0","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/core/enhanceError.js\n// module id = 140\n// module chunks = 0","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/core/settle.js\n// module id = 141\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/core/transformData.js\n// module id = 142\n// module chunks = 0","'use strict';\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/helpers/btoa.js\n// module id = 143\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n }\n\n if (!utils.isArray(val)) {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/helpers/buildURL.js\n// module id = 144\n// module chunks = 0","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/helpers/combineURLs.js\n// module id = 145\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/helpers/cookies.js\n// module id = 146\n// module chunks = 0","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/helpers/isAbsoluteURL.js\n// module id = 147\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/helpers/isURLSameOrigin.js\n// module id = 148\n// module chunks = 0","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/helpers/normalizeHeaderName.js\n// module id = 149\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/helpers/parseHeaders.js\n// module id = 150\n// module chunks = 0","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/axios/lib/helpers/spread.js\n// module id = 151\n// module chunks = 0","\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// App.vue?1410cf84","\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// Tree0.vue?4651e79e","\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// Tree1.vue?51af39e8","\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// Tree2.vue?0813a1aa","\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// Tree3.vue?16860ca2","// The Vue build version to load with the `import` command\r\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\r\nimport Vue from 'vue'\r\nimport App from './App'\r\nVue.config.productionTip = false\r\n\r\n/* eslint-disable no-new */\r\nnew Vue({\r\n el: '#app',\r\n template: '',\r\n components: { App }\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/is-buffer/index.js\n// module id = 163\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/process/browser.js\n// module id = 164\n// module chunks = 0","function injectStyle (ssrContext) {\n require(\"!!../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"minimize\\\":true,\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-06d89960\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./Tree0.vue\")\n}\nvar Component = require(\"!../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./Tree0.vue\"),\n /* template */\n require(\"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-06d89960\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":\\\"src\\\",\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./Tree0.vue\"),\n /* styles */\n injectStyle,\n /* scopeId */\n \"data-v-06d89960\",\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/Tree0.vue\n// module id = 165\n// module chunks = 0","function injectStyle (ssrContext) {\n require(\"!!../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"minimize\\\":true,\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-06e6b0e1\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./Tree1.vue\")\n}\nvar Component = require(\"!../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./Tree1.vue\"),\n /* template */\n require(\"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-06e6b0e1\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":\\\"src\\\",\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./Tree1.vue\"),\n /* styles */\n injectStyle,\n /* scopeId */\n \"data-v-06e6b0e1\",\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/Tree1.vue\n// module id = 166\n// module chunks = 0","function injectStyle (ssrContext) {\n require(\"!!../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"minimize\\\":true,\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-06f4c862\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./Tree2.vue\")\n}\nvar Component = require(\"!../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./Tree2.vue\"),\n /* template */\n require(\"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-06f4c862\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":\\\"src\\\",\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./Tree2.vue\"),\n /* styles */\n injectStyle,\n /* scopeId */\n \"data-v-06f4c862\",\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/Tree2.vue\n// module id = 167\n// module chunks = 0","function injectStyle (ssrContext) {\n require(\"!!../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"minimize\\\":true,\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0702dfe3\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./Tree3.vue\")\n}\nvar Component = require(\"!../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./Tree3.vue\"),\n /* template */\n require(\"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0702dfe3\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":\\\"src\\\",\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./Tree3.vue\"),\n /* styles */\n injectStyle,\n /* scopeId */\n \"data-v-0702dfe3\",\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/Tree3.vue\n// module id = 168\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('ZTree', {\n key: 1,\n ref: \"tree\",\n attrs: {\n \"treeData\": _vm.treeData,\n \"options\": _vm.options\n },\n on: {\n \"node-click\": _vm.itemClick\n }\n })\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler?{\"id\":\"data-v-06d89960\",\"hasScoped\":true,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"}}!./~/vue-loader/lib/selector.js?type=template&index=0!./src/Tree0.vue\n// module id = 169\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('ZTree', {\n key: 1,\n ref: \"tree\",\n attrs: {\n \"treeData\": _vm.treeData,\n \"options\": _vm.options\n },\n on: {\n \"node-click\": _vm.itemClick\n }\n })\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler?{\"id\":\"data-v-06e6b0e1\",\"hasScoped\":true,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"}}!./~/vue-loader/lib/selector.js?type=template&index=0!./src/Tree1.vue\n// module id = 170\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('ZTree', {\n key: 2,\n ref: \"tree\",\n attrs: {\n \"treeData\": _vm.treeData1,\n \"options\": _vm.options1\n },\n on: {\n \"node-click\": _vm.itemClick1,\n \"add-node\": _vm.addNode\n }\n })\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler?{\"id\":\"data-v-06f4c862\",\"hasScoped\":true,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"}}!./~/vue-loader/lib/selector.js?type=template&index=0!./src/Tree2.vue\n// module id = 171\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('ZTree', {\n key: 3,\n ref: \"tree\",\n attrs: {\n \"treeData\": _vm.treeData1,\n \"options\": _vm.options1\n },\n on: {\n \"node-click\": _vm.itemClick1,\n \"add-node\": _vm.addNode\n }\n })\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler?{\"id\":\"data-v-0702dfe3\",\"hasScoped\":true,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"}}!./~/vue-loader/lib/selector.js?type=template&index=0!./src/Tree3.vue\n// module id = 172\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', [_vm._m(0), _vm._v(\" \"), _c('div', {\n attrs: {\n \"id\": \"app\"\n }\n }, [_c('div', [_c('div', [_c('h2', [_vm._v(\"Default Tree\")]), _vm._v(\" \"), _c('code', [_vm._v(\"\\n showCheckbox: false,\\n halfCheck: false\\n \")]), _vm._v(\" \"), _c('Tree0', {\n key: 0\n })], 1), _vm._v(\" \"), _c('div', [_c('h2', [_vm._v(\"Default Tree with checkbox\")]), _vm._v(\" \"), _c('code', [_vm._v(\"\\n showCheckbox: true,\\n halfCheck: true\\n \")]), _vm._v(\" \"), _c('Tree1', {\n key: 1\n })], 1)]), _vm._v(\" \"), _c('div', [_c('div', [_c('h2', [_vm._v(\" Lazy Load Tree\")]), _vm._v(\" \"), _c('Tree2', {\n key: 2\n })], 1), _vm._v(\" \"), _c('div', [_c('h2', [_vm._v(\" Lazy Load Tree with checkbox \")]), _vm._v(\" \"), _c('Tree3', {\n key: 3\n })], 1)])])])\n},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', [_c('p', [_vm._v(\"The item must have key field and must be unique,because Tree component use this for v-for directive set key property \")]), _vm._v(\" \"), _c('p', [_vm._v(\"recommended use 0-1-1-3 structure,\")]), _vm._v(\" \"), _c('p', [_vm._v(\"and u'll see the benefits use this structure when u want dynamic modify treeData\")])])\n}]}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler?{\"id\":\"data-v-2a1ff92f\",\"hasScoped\":false,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"}}!./~/vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = 173\n// module chunks = 0"],"sourceRoot":""} + diff --git a/dist/index.html b/dist/index.html deleted file mode 100644 index 49a0ca4..0000000 --- a/dist/index.html +++ /dev/null @@ -1 +0,0 @@ -vue-tree
\ No newline at end of file diff --git a/dist/plyfill.min.js b/dist/plyfill.min.js new file mode 100644 index 0000000..671b009 --- /dev/null +++ b/dist/plyfill.min.js @@ -0,0 +1,2 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("babel-polyfill")):"function"==typeof define&&define.amd?define(["babel-polyfill"],t):"object"==typeof exports?exports.ZTree=t(require("babel-polyfill")):e.ZTree=t(e["babel-polyfill"])}(this,function(e){return function(e){function t(o){if(r[o])return r[o].exports;var n=r[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var r={};return t.m=e,t.c=r,t.i=function(e){return e},t.d=function(e,r,o){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/",t(t.s=174)}({174:function(t,r){t.exports=e}})}); +//# sourceMappingURL=plyfill.min.js.map \ No newline at end of file diff --git a/dist/plyfill.min.js.map b/dist/plyfill.min.js.map new file mode 100644 index 0000000..8a9a822 --- /dev/null +++ b/dist/plyfill.min.js.map @@ -0,0 +1,2 @@ +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition?5ca6*","webpack:///plyfill.min.js","webpack:///webpack/bootstrap 37212bf1de7e5a6444a3?2f63*","webpack:///external \"babel-polyfill\""],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_174__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","174"],"mappings":"CAAA,SAAAA,EAAAC,GACA,gBAAAC,UAAA,gBAAAC,QACAA,OAAAD,QAAAD,EAAAG,QAAA,mBACA,kBAAAC,gBAAAC,IACAD,QAAA,kBAAAJ,GACA,gBAAAC,SACAA,QAAA,MAAAD,EAAAG,QAAA,mBAEAJ,EAAA,MAAAC,EAAAD,EAAA,oBACCO,KAAA,SAAAC,GACD,MCAgB,UAAUC,GCN1B,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAT,OAGA,IAAAC,GAAAS,EAAAD,IACAE,EAAAF,EACAG,GAAA,EACAZ,WAUA,OANAO,GAAAE,GAAAI,KAAAZ,EAAAD,QAAAC,IAAAD,QAAAQ,GAGAP,EAAAW,GAAA,EAGAX,EAAAD,QAvBA,GAAAU,KA+DA,OAnCAF,GAAAM,EAAAP,EAGAC,EAAAO,EAAAL,EAGAF,EAAAG,EAAA,SAAAK,GAA2C,MAAAA,IAG3CR,EAAAS,EAAA,SAAAjB,EAAAkB,EAAAC,GACAX,EAAAY,EAAApB,EAAAkB,IACAG,OAAAC,eAAAtB,EAAAkB,GACAK,cAAA,EACAC,YAAA,EACAC,IAAAN,KAMAX,EAAAkB,EAAA,SAAAzB,GACA,GAAAkB,GAAAlB,KAAA0B,WACA,WAA2B,MAAA1B,GAAA,SAC3B,WAAiC,MAAAA,GAEjC,OADAO,GAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAQ,EAAAC,GAAsD,MAAAR,QAAAS,UAAAC,eAAAlB,KAAAe,EAAAC,IAGtDrB,EAAAwB,EAAA,IAGAxB,IAAAyB,EAAA,ODgBMC,IACA,SAAUjC,EAAQD,GEjFxBC,EAAAD,QAAAM","file":"plyfill.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"babel-polyfill\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"babel-polyfill\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ZTree\"] = factory(require(\"babel-polyfill\"));\n\telse\n\t\troot[\"ZTree\"] = factory(root[\"babel-polyfill\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_174__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"babel-polyfill\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"babel-polyfill\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ZTree\"] = factory(require(\"babel-polyfill\"));\n\telse\n\t\troot[\"ZTree\"] = factory(root[\"babel-polyfill\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_174__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 174);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 174:\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_174__;\n\n/***/ })\n\n/******/ });\n});\n\n\n// WEBPACK FOOTER //\n// plyfill.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 174);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 37212bf1de7e5a6444a3","module.exports = __WEBPACK_EXTERNAL_MODULE_174__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-polyfill\"\n// module id = 174\n// module chunks = 2"],"sourceRoot":""} + diff --git a/dist/static/css/app.0ca738bade0f67ec53d9de07fde83b19.css b/dist/static/css/app.0ca738bade0f67ec53d9de07fde83b19.css deleted file mode 100644 index 27d50fe..0000000 --- a/dist/static/css/app.0ca738bade0f67ec53d9de07fde83b19.css +++ /dev/null @@ -1 +0,0 @@ -[data-v-9e877da6]{font-size:13px;font-family:\\5FAE\8F6F\96C5\9ED1}.input[data-v-9e877da6]{width:100%;position:relative}.input span[data-v-9e877da6]{position:absolute;top:7px;right:5px}.input input[data-v-9e877da6]{display:inline-block;box-sizing:border-box;width:100%;border-radius:5px;height:25px;margin-top:2px}.input input[data-v-9e877da6]:focus{border:none}.search[data-v-9e877da6]{width:14px;height:14px;background-image:url(data:image/png;base64,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)}li[data-v-e0674d5c]:hover{cursor:pointer}.icon[data-v-e0674d5c]{display:inline-block;margin-right:10px;vertical-align:middle}.halo-tree[data-v-e0674d5c]{font-size:14px;min-height:20px;border-radius:4px}.node-selected[data-v-e0674d5c]{background-color:#ddd}.halo-tree li[data-v-e0674d5c]{margin:0;padding:5px 5px 5px 0;position:relative;list-style:none}.halo-tree li>a[data-v-e0674d5c],.halo-tree li>i[data-v-e0674d5c],.halo-tree li>span[data-v-e0674d5c]{line-height:20px;vertical-align:middle}.halo-tree ul ul li[data-v-e0674d5c]:hover{background:rgba(0,0,0,.035)}.halo-tree li[data-v-e0674d5c]:after,.halo-tree li[data-v-e0674d5c]:before{content:"";left:-8px;position:absolute;right:auto;border-width:1px}.halo-tree li[data-v-e0674d5c]:before{border-left:1px dashed #999;bottom:50px;height:100%;top:-8px;width:1px}.halo-tree li[data-v-e0674d5c]:after{border-top:1px dashed #999;height:20px;top:17px;width:12px}.halo-tree li span[data-v-e0674d5c]{display:inline-block;padding:3px;text-decoration:none;border-radius:3px}.halo-tree li[data-v-e0674d5c]:last-child:before{height:26px}.halo-tree>ul[data-v-e0674d5c]{padding-left:0}.halo-tree ul ul[data-v-e0674d5c]{padding-left:15px;padding-top:10px}.halo-tree li.leaf[data-v-e0674d5c]{padding-left:19px}.halo-tree li.leaf[data-v-e0674d5c]:after{content:"";left:-8px;position:absolute;right:auto;border-width:1px;border-top:1px dashed #999;height:20px;top:17px;width:24px}.check[data-v-e0674d5c]{display:inline-block;position:relative;top:4px}.halo-tree .icon[data-v-e0674d5c]{margin-right:0}.tree-close[data-v-e0674d5c]{width:14px;height:14px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAFrSURBVHjajJK9ihVBFIS/09M6F2YFGZiLz2EqRj6DmGhkqpGYGWyiqYmwsKG54BP4CL6HO+LP3pmdn+7TZTD3buwJKio+6hRlfd8DgJnd6naSbhWIwPdfZ2ZURhUsGJUBuCjCi1xIPGyHACSXuyQQwfj49vnFu5fBQEi4K7mAYGa5UGTCQiAG29V1t9/HYCEgrMhywcw2Ki4MglkMVDE2TRMDwczARXJOVFcRQGXEcHwrBttCF5FdZhaBVOzL+YtdXVcxAk3TxKr6evn+qu/HcQSevL44NjAnbfmapgFiVdV1Dey7LrftZjhaD4sev7q8v7N7u3B21759/gA8evZmWHWYy59Zh0VAlHQ9ywvIclFyrvp+33W/Jw2LhoW/s8ZVkiJwvSg5uZTFbc42jmNu259jGdfNrSmfqMOiNbM6U9Jw59jAj0OZkqbElLT6iXqTtLgWt5tEHe3B008J+rEsWauzurwA2P/P5d8Ax2jvCiw9K+QAAAAASUVORK5CYII=)}.tree-open[data-v-e0674d5c]{width:14px;height:14px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAADxSURBVHjajJJBSgNBEEXf7+kwgbgSzEHcufYe7l14CS8heAev4kUCLpIgaXq6vosewoAR81cF9XlF/SrtdjuuUwY+v27+9d3fHjNQmwUChBZtA8a9gCxpCpKURPoFCwgTtqROJSeTJFCawQYHYVp4ijO1OUkZkkiimwOjjmRqZ2ro4/VpPY5Dzhd3enx5mxM4Va/H8W673Ww2F62n6tl6KH54fh8zq0E5IQHYTEFtLhOHYiDb3p9cMquBnBgWa7VgCtdGmWw7A/viVfWQGKQ0JwwmTLNbUHsCto/FgqR59FK2o1+hU7+rlwf6S7r+XX4GAKAOgoPQpOyQAAAAAElFTkSuQmCC)}.search[data-v-e0674d5c]{width:14px;height:14px;background-image:url(data:image/png;base64,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)}.inputCheck[data-v-e0674d5c]{display:inline-block;position:relative}.inputCheck.notAllNodes[data-v-e0674d5c]:before{content:"";display:inline-block;position:absolute;width:100%;height:100%;z-index:10;top:50%;left:50%;transform:translate3d(-30%,-5%,0);background-image:url(data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjgzMTQ4QkQ0RjRCMTFFN0JFMkVCRUMzMEEzOTYyN0EiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjgzMTQ4QkM0RjRCMTFFN0JFMkVCRUMzMEEzOTYyN0EiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyNkJCOTk5MTQxQkUxMUU3QjU1NkJBNUYxNDA5N0NDQSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyNkJCOTk5MjQxQkUxMUU3QjU1NkJBNUYxNDA5N0NDQSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkDsWNwAAABDSURBVHjaYjQ2NmYgFTBB6cNA/J8IfBhZkw2RltggayLLebTXxILEZiRC/X+q2PR/8AUETNMRItUfRfaTLSk2AQQYAHX7D3OXPy4WAAAAAElFTkSuQmCC)} \ No newline at end of file diff --git a/dist/static/css/app.0ca738bade0f67ec53d9de07fde83b19.css.map b/dist/static/css/app.0ca738bade0f67ec53d9de07fde83b19.css.map deleted file mode 100644 index 1577001..0000000 --- a/dist/static/css/app.0ca738bade0f67ec53d9de07fde83b19.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/components/tree/tree.vue","webpack:///./src/components/tree/tree-node.vue"],"names":[],"mappings":"AACA,kBACI,eACA,iCAAmC,CAEvC,wBACI,WACA,iBAAmB,CAEvB,6BACI,kBACA,QACA,SAAU,CAEd,8BACI,qBACA,sBACA,WACA,kBACA,YACA,cAAgB,CAEpB,oCACM,WAAY,CAElB,yBACE,WACA,YACA,8CAAiD,CAClD,8nIC5BD,0BACI,cAAgB,CAEpB,uBACE,qBACA,kBACA,qBAAuB,CAEzB,4BACI,eACA,gBACA,0BACA,uBACA,iBAAmB,CAEvB,gCACI,qBAAqB,CAEzB,+BACI,SACA,sBACA,kBACA,eAAiB,CAErB,sGAGI,iBACA,qBAAuB,CAE3B,2CACI,2BAA+B,CAEnC,2EAEI,WACA,UACA,kBACA,WACA,gBAAiB,CAErB,sCACI,4BACA,YACA,YACA,SACA,SAAW,CAEf,qCACI,2BACA,YACA,SACA,UAAW,CAEf,oCACI,qBACA,YACA,qBACA,iBAAmB,CAEvB,iDACI,WAAY,CAEhB,+BACI,cAAe,CAEnB,kCACI,kBACA,gBAAkB,CAEtB,oCACI,iBAAmB,CAEvB,0CACI,WACA,UACA,kBACA,WACA,iBACA,2BACA,YACA,SACA,UAAY,CAEhB,wBACI,qBACA,kBACA,OAAS,CAEb,kCACI,cAAgB,CAEpB,6BACE,WACA,YACA,8CAAqD,CAEvD,4BACE,WACA,YACA,8CAAsD,CAExD,yBACE,WACA,YACA,8CAAiD,CAQnD,6BACE,qBACA,iBAAmB,CAErB,gDACE,WACA,qBACA,kBACA,WACA,YACA,WACA,QACA,SACA,kCAEA,8CAA+C,CAChD","file":"static/css/app.0ca738bade0f67ec53d9de07fde83b19.css","sourcesContent":["\n*[data-v-9e877da6]{\n font-size: 13px;\n font-family: '\\5FAE\\8F6F\\96C5\\9ED1'\n}\n.input[data-v-9e877da6]{\n width:100%;\n position: relative;\n}\n.input span[data-v-9e877da6] {\n position: absolute;\n top:7px;\n right:5px;\n}\n.input input[data-v-9e877da6]{\n display: inline-block;\n box-sizing: border-box;\n width:100%;\n border-radius: 5px;\n height:25px;\n margin-top: 2px;\n}\n.input input[data-v-9e877da6]:focus {\n border:none;\n}\n.search[data-v-9e877da6]{\n width:14px;\n height:14px;\n background-image: url(\"../../assets/search.png\");\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/tree/tree.vue","\nli[data-v-e0674d5c]:hover {\n cursor: pointer;\n}\n.icon[data-v-e0674d5c]{\n display: inline-block;\n margin-right: 10px;\n vertical-align: middle;\n}\n.halo-tree[data-v-e0674d5c] {\n font-size: 14px;\n min-height: 20px;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n border-radius: 4px;\n}\n.node-selected[data-v-e0674d5c] {\n background-color:#ddd\n}\n.halo-tree li[data-v-e0674d5c] {\n margin: 0;\n padding: 5px 5px 5px 0;\n position: relative;\n list-style: none;\n}\n.halo-tree li > span[data-v-e0674d5c],\n .halo-tree li > i[data-v-e0674d5c],\n .halo-tree li > a[data-v-e0674d5c] {\n line-height: 20px;\n vertical-align: middle;\n}\n.halo-tree ul ul li[data-v-e0674d5c]:hover {\n background: rgba(0, 0, 0, .035)\n}\n.halo-tree li[data-v-e0674d5c]:after,\n .halo-tree li[data-v-e0674d5c]:before {\n content: '';\n left: -8px;\n position: absolute;\n right: auto;\n border-width: 1px\n}\n.halo-tree li[data-v-e0674d5c]:before {\n border-left: 1px dashed #999;\n bottom: 50px;\n height: 100%;\n top: -8px;\n width: 1px;\n}\n.halo-tree li[data-v-e0674d5c]:after {\n border-top: 1px dashed #999;\n height: 20px;\n top: 17px;\n width: 12px\n}\n.halo-tree li span[data-v-e0674d5c] {\n display: inline-block;\n padding: 3px 3px;\n text-decoration: none;\n border-radius: 3px;\n}\n.halo-tree li[data-v-e0674d5c]:last-child::before {\n height: 26px\n}\n.halo-tree > ul[data-v-e0674d5c] {\n padding-left: 0\n}\n.halo-tree ul ul[data-v-e0674d5c] {\n padding-left: 15px;\n padding-top: 10px;\n}\n.halo-tree li.leaf[data-v-e0674d5c] {\n padding-left: 19px;\n}\n.halo-tree li.leaf[data-v-e0674d5c]:after {\n content: '';\n left: -8px;\n position: absolute;\n right: auto;\n border-width: 1px;\n border-top: 1px dashed #999;\n height: 20px;\n top: 17px;\n width: 24px;\n}\n.check[data-v-e0674d5c] {\n display: inline-block;\n position: relative;\n top: 4px;\n}\n.halo-tree .icon[data-v-e0674d5c] {\n margin-right: 0;\n}\n.tree-close[data-v-e0674d5c]{\n width:14px;\n height:14px;\n background-image: url(\"../../assets/treeOpen-1.png\");\n}\n.tree-open[data-v-e0674d5c]{\n width:14px;\n height:14px;\n background-image: url(\"../../assets/treeClose-2.png\");\n}\n.search[data-v-e0674d5c]{\n width:14px;\n height:14px;\n background-image: url(\"../../assets/search.png\");\n}\n/*.check.notAllNodes{\n -webkit-appearance: none;\n -moz-appearance: none;\n -ms-appearance: none;\n width: 13px;\n}*/\n.inputCheck[data-v-e0674d5c]{\n display: inline-block;\n position: relative;\n}\n.inputCheck.notAllNodes[data-v-e0674d5c]:before{\n content: \"\";\n display: inline-block;\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 10;\n top: 50%;\n left: 50%;\n transform: translate3d(-30%,-5%,0);\n /*background-image: url(\"/../../assets/half.png\");*/\n background-image: url(\"../../assets/half.jpg\");\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/tree/tree-node.vue"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/static/js/app.e7eb3ac0e0a2c5daa1bb.js b/dist/static/js/app.e7eb3ac0e0a2c5daa1bb.js deleted file mode 100644 index b483e2d..0000000 --- a/dist/static/js/app.e7eb3ac0e0a2c5daa1bb.js +++ /dev/null @@ -1,821 +0,0 @@ -webpackJsonp([1],[ -/* 0 */, -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -var Component = __webpack_require__(0)( - /* script */ - __webpack_require__(22), - /* template */ - __webpack_require__(15), - /* scopeId */ - null, - /* cssModules */ - null -) - -module.exports = Component.exports - - -/***/ }), -/* 2 */, -/* 3 */, -/* 4 */, -/* 5 */, -/* 6 */, -/* 7 */, -/* 8 */, -/* 9 */, -/* 10 */, -/* 11 */, -/* 12 */, -/* 13 */ -/***/ (function(module, exports, __webpack_require__) { - - -/* styles */ -__webpack_require__(20) - -var Component = __webpack_require__(0)( - /* script */ - __webpack_require__(23), - /* template */ - __webpack_require__(17), - /* scopeId */ - "data-v-e0674d5c", - /* cssModules */ - null -) - -module.exports = Component.exports - - -/***/ }), -/* 14 */ -/***/ (function(module, exports, __webpack_require__) { - - -/* styles */ -__webpack_require__(19) - -var Component = __webpack_require__(0)( - /* script */ - __webpack_require__(24), - /* template */ - __webpack_require__(16), - /* scopeId */ - "data-v-9e877da6", - /* cssModules */ - null -) - -module.exports = Component.exports - - -/***/ }), -/* 15 */ -/***/ (function(module, exports) { - -module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; - return _c('div', { - staticStyle: { - "width": "300px" - }, - attrs: { - "id": "app" - } - }, [_c('tree', { - ref: "tree", - attrs: { - "treeData": _vm.treeData, - "options": _vm.options - } - })], 1) -},staticRenderFns: []} - -/***/ }), -/* 16 */ -/***/ (function(module, exports) { - -module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; - return _c('div', { - staticClass: "halo-tree" - }, [_c('div', { - staticClass: "input" - }, [_c('input', { - directives: [{ - name: "model", - rawName: "v-model", - value: (_vm.search), - expression: "search" - }], - attrs: { - "type": "text" - }, - domProps: { - "value": (_vm.search) - }, - on: { - "input": function($event) { - if ($event.target.composing) { return; } - _vm.search = $event.target.value - } - } - }), _vm._v(" "), _c('span', { - staticClass: "icon search" - })]), _vm._v(" "), _c('tree-node', { - attrs: { - "treeData": _vm.store.root, - "options": _vm.options - }, - on: { - "handlecheckedChange": _vm.handlecheckedChange - } - })], 1) -},staticRenderFns: []} - -/***/ }), -/* 17 */ -/***/ (function(module, exports) { - -module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; - return _c('ul', _vm._l((_vm.nodeData), function(item) { - return _c('li', { - directives: [{ - name: "show", - rawName: "v-show", - value: (item.visible), - expression: "item.visible" - }], - class: [(item.children && item.children.length > 0) ? '' : 'leaf'] - }, [(item.children && item.children.length > 0) ? _c('i', { - class: [item.open ? 'tree-open' : 'tree-close', 'icon'], - on: { - "click": function($event) { - $event.stopPropagation(); - _vm.handleNodeExpand(item) - } - } - }) : _vm._e(), _vm._v(" "), _c('div', { - staticClass: "inputCheck", - class: { - notAllNodes: item.nodeSelectNotAll - }, - style: ({ - width: _vm.inputWidth + 'px', - height: _vm.inputWidth + 'px' - }), - on: { - "click": function($event) { - _vm.walkCheckBox(item) - } - } - }, [(_vm.options.showCheckbox && _vm.options.halfCheckedStatus && !item.nodeSelectNotAll) ? _c('input', { - directives: [{ - name: "model", - rawName: "v-model", - value: (item.checked), - expression: "item.checked" - }], - staticClass: "check", - attrs: { - "type": "checkbox" - }, - domProps: { - "checked": Array.isArray(item.checked) ? _vm._i(item.checked, null) > -1 : (item.checked) - }, - on: { - "change": function($event) { - _vm.handlecheckedChange(item) - }, - "__c": function($event) { - var $$a = item.checked, - $$el = $event.target, - $$c = $$el.checked ? (true) : (false); - if (Array.isArray($$a)) { - var $$v = null, - $$i = _vm._i($$a, $$v); - if ($$c) { - $$i < 0 && (item.checked = $$a.concat($$v)) - } else { - $$i > -1 && (item.checked = $$a.slice(0, $$i).concat($$a.slice($$i + 1))) - } - } else { - item.checked = $$c - } - } - } - }) : _vm._e()]), _vm._v(" "), _c('span', { - class: { - 'node-selected': (item.checked && !_vm.options.showCheckbox) || item.searched - }, - on: { - "click": function($event) { - _vm.handleNode(item) - } - } - }, [_vm._v("\n " + _vm._s(item.label) + "\n ")]), _vm._v(" "), (item.children && item.children.length > 0) ? _c('tree-node', { - directives: [{ - name: "show", - rawName: "v-show", - value: (item.open), - expression: "item.open" - }], - attrs: { - "options": _vm.options, - "tree-data": item.children - }, - on: { - "handlecheckedChange": _vm.handlecheckedChange - } - }) : _vm._e()], 1) - })) -},staticRenderFns: []} - -/***/ }), -/* 18 */, -/* 19 */ -/***/ (function(module, exports) { - -// removed by extract-text-webpack-plugin - -/***/ }), -/* 20 */ -/***/ (function(module, exports) { - -// removed by extract-text-webpack-plugin - -/***/ }), -/* 21 */, -/* 22 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_tree_tree_vue__ = __webpack_require__(14); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_tree_tree_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__components_tree_tree_vue__); -// -// -// -// -// - - -let that = null; -/* harmony default export */ __webpack_exports__["default"] = ({ - name: 'app', - data() { - that = this; - return { - options: { - showCheckbox: true, - halfCheckedStatus: true, //控制父框是否需要半钩状态 - search: { - useInitial: true, - useEnglish: false, - customFilter: null - } - }, - treeData: [] - }; - }, - mounted: function (resolve) { - this.loadTreeData(resolve); - }, - methods: { - loadTreeData: function (resolve) { - return new Promise(resolve => { - setTimeout(() => { - that.treeData = [{ - id: 1, - label: '一级节点', - open: true, - checked: false, - nodeSelectNotAll: false, //新增参数,表示父框可以半钩状态 - parentId: null, - visible: true, - searched: false, - children: [{ - id: 2, - label: '二级节点-1', - checked: false, - nodeSelectNotAll: false, - parentId: 1, - searched: false, - visible: true - }, { - label: '二级节点-2', - open: true, - checked: false, - nodeSelectNotAll: false, - id: 3, - parentId: 1, - visible: true, - searched: false, - children: [{ - id: 4, - parentId: 3, - label: '三级节点-1', - visible: true, - searched: false, - checked: false, - nodeSelectNotAll: false - }, { - id: 5, - label: '三级节点-2', - parentId: 3, - searched: false, - visible: true, - checked: false, - nodeSelectNotAll: false - }] - }, { - label: '二级节点-3', - open: true, - checked: false, - nodeSelectNotAll: false, - id: 6, - parentId: 1, - visible: true, - searched: false, - children: [{ - id: 7, - parentId: 6, - label: '三级节点-4', - checked: false, - nodeSelectNotAll: false, - searched: false, - visible: true - }, { - id: 8, - label: '三级节点-5', - parentId: 6, - checked: false, - nodeSelectNotAll: false, - searched: false, - visible: true - }] - }] - }]; - resolve(that.treeData); - }, 100); - }); - } - }, - components: { - Tree: __WEBPACK_IMPORTED_MODULE_0__components_tree_tree_vue___default.a - } -}); - -/***/ }), -/* 23 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// - -/* harmony default export */ __webpack_exports__["default"] = ({ - name: 'treeNode', - props: { - treeData: [Array], - options: [Object] - }, - data() { - return { - nodeData: [] - }; - }, - created() { - const parent = this.$parent; - if (parent.isTree) { - this.tree = parent; - } else { - this.tree = parent.tree; - } - - const tree = this.tree; - if (!tree) { - console.warn('找不到树节点'); - } - this.nodeData = (this.treeData || []).slice(0); - }, - computed: { - inputWidth: function () { - if (this.checkFirfox()) { - return 14; - } - return 13; - } - }, - watch: { - treeData: function (data) { - this.nodeData = (data || []).slice(0); - } - }, - methods: { - checkFirfox() { - let u = navigator.userAgent; - if (u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1) { - return true; - } - return false; - }, - walkCheckBox(node) { - if (node.nodeSelectNotAll) { - node.checked = !node.checked; - this.handlecheckedChange(node); - } - }, - handleNodeExpand(node) { - node.open = !node.open; - }, - handlecheckedChange(node) { - this.$emit('handlecheckedChange', node); - }, - handleNode(node) { - if (this.tree.store.last) { - if (this.tree.store.last.id === node.id) { - this.tree.store.last.checked = !this.tree.store.last.checked; - } else { - this.tree.store.last.checked = false; - node.checked = true; - this.tree.store.last = node; - } - } else { - this.tree.store.last = node; - node.checked = true; - } - this.tree.$emit('node-click', node); - } - } -}); - -/***/ }), -/* 24 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__tree_node_vue__ = __webpack_require__(13); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__tree_node_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__tree_node_vue__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__tree_store__ = __webpack_require__(25); -// -// -// -// -// -// -// -// -// - - - -/* harmony default export */ __webpack_exports__["default"] = ({ - name: 'tree', - props: { - treeData: [Array], - options: [Object] - }, - data() { - return { - search: null, - store: { - root: [], - last: null - } - }; - }, - created() { - this.isTree = true; - this.store = new __WEBPACK_IMPORTED_MODULE_1__tree_store__["a" /* default */]({ - root: (this.treeData || []).slice(0), - last: null - }); - }, - watch: { - search: function (val) { - this.store.filterNodes(val, this.options.search); - }, - treeData: function (data) { - this.store = new __WEBPACK_IMPORTED_MODULE_1__tree_store__["a" /* default */]({ - root: (this.treeData || []).slice(0), - last: null - }); - } - }, - methods: { - handlecheckedChange(node) { - if (this.options.halfCheckedStatus) { - this.store.changeCheckHalfStatus(node); - } else { - this.store.changeCheckStatus(node); - } - this.$emit('handlecheckedChange', node); - }, - getSelectedNodes() { - const allnodes = this.store.datas; - let selectedNodes = []; - for (let [, node] of allnodes) { - if (node.checked) { - selectedNodes.push(node); - } - } - return selectedNodes; - }, - getSelectedNodeIds() { - const allnodes = this.store.datas; - let selectedNodeIds = []; - for (let [, node] of allnodes) { - if (node.checked) { - selectedNodeIds.push(node.id); - } - } - return selectedNodeIds; - } - }, - components: { TreeNode: __WEBPACK_IMPORTED_MODULE_0__tree_node_vue___default.a } -}); - -/***/ }), -/* 25 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -const pinyin = __webpack_require__(12); -class TreeStore { - constructor(options) { - for (let option in options) { - if (options.hasOwnProperty(option)) { - this[option] = options[option]; - } - } - this.datas = new Map(); - const _traverseNodes = root => { - for (let node of root) { - this.datas.set(node.id, node); - if (node.children && node.children.length > 0) _traverseNodes(node.children); - } - }; - _traverseNodes(this.root); - } - - changeCheckStatus(node) { - const _traverseUp = node => { - if (node.checked && node.parentId) { - let parent = this.getNode(node.parentId); - parent.checked = this.sameSilibingChecked(node.parentId, node.id); - _traverseUp(parent); - } else { - if (!node.checked && node.parentId) { - let upparent = this.getNode(node.parentId); - upparent.checked = false; - if (upparent.parentId) { - _traverseUp(upparent); - } - } - } - }; - - const _traverseDown = node => { - if (node.children && node.children.length > 0) { - for (let child of node.children) { - child.checked = node.checked; - _traverseDown(child); - } - } - }; - _traverseUp(node); - _traverseDown(node); - } - changeCheckHalfStatus(node) { - let flag = false; - //如果勾选的是子节点,父节点默认打上勾 - const _traverseUp = (node, flag) => { - let parent = null; - if (node.checked) { - //打钩 - if (node.parentId) { - parent = this.getNode(node.parentId); - if (flag) { - parent.checked = true; - parent.nodeSelectNotAll = true; - _traverseUp(parent, true); - } else { - parent.checked = true; - parent.nodeSelectNotAll = this.sameSilibingHalfChecked(true, parent, node.parentId, node.id) === 'half' ? true : false; //返回true则全钩,false为半钩 - _traverseUp(parent); - } - } - } else { - //去钩 - if (node.parentId) { - parent = this.getNode(node.parentId); - if (this.sameSilibingHalfChecked(false, parent, node.parentId, node.id) === "none") { - //返回true则全没钩,false为半钩 - parent.checked = false; - parent.nodeSelectNotAll = false; - } else { - parent.checked = true; - parent.nodeSelectNotAll = true; - } - _traverseUp(parent, true); - } - } - }; - const _traverseDown = node => { - if (node.children && node.children.length > 0) { - if (node.nodeSelectNotAll) { - //节点没勾选 - node.nodeSelectNotAll = false; - } - for (let child of node.children) { - child.checked = node.checked; - _traverseDown(child); - } - } - }; - _traverseUp(node); - _traverseDown(node); - } - sameSilibingChecked(parentId, currentId) { - let parent = this.datas.get(parentId); - let sbIds = []; - parent.children.forEach(x => { - if (x.id !== currentId) sbIds.push(x.id); - }); - for (let id of sbIds) { - let node = this.getNode(id); - if (!node.checked) return false; - } - return true; - } - sameSilibingHalfChecked(status, parent, parentId, currentId) { - let sbIds = []; - let currentNode = this.getNode(currentId); - parent.children.forEach(x => { - if (!currentNode.nodeSelectNotAll && x.id !== currentId) sbIds.push(x.id); //除去当前节点的剩下节点 - }); - - if (status) { - //打钩 - if (sbIds.length !== 0) { - for (let id of sbIds) { - //子节点只要有一个被选中则父框打黑,全选打钩,全没有被选无状态 - let node = this.getNode(id); - if (!node.checked || node.nodeSelectNotAll) { - //节点没勾选 - return "half"; //表示父框半钩的状态 - } - } - } else { - if (currentNode.nodeSelectNotAll) { - return "half"; //表示全钩的状态 - } - } - return "all"; //表示全钩的状态 - } else { - //去钩 - if (sbIds.length !== 0) { - for (let id of sbIds) { - //子节点只要有一个被选中则父框打黑,全选打钩,全没有被选无状态 - let node = this.getNode(id); - if (node.checked || node.nodeSelectNotAll) { - //有节点被勾选,父框半钩的状态 - return "half"; - } - } - } else { - if (currentNode.nodeSelectNotAll) { - return "half"; //表示全钩的状态 - } - } - return "none"; - } - } - isExitParent(parent) { - if (parent.id) { - return this.getNode(node.parentId); - } - return null; - } - isNullOrEmpty(world) { - if (world) { - return world.trim().length === 0; - } - return true; - } - filterNodes(keyworld, searchOptions) { - const _filterNode = (val, node) => { - if (!val) return true; - if (searchOptions.useEnglish) { - return node.label.indexOf(val) !== -1; - } else { - return this.toPinYin(node.label, searchOptions.useInitial).indexOf(this.toPinYin(keyworld.toLowerCase(), searchOptions.useInitial, true)) !== -1; - } - }; - - const _syncNodeStatus = node => { - if (node.parentId) { - let parentNode = this.getNode(node.parentId); - if (node.visible) { - parentNode.visible = node.visible; - _syncNodeStatus(parentNode); - } - } - }; - let filterFunc = searchOptions.customFilter && typeof searchOptions.customFilter === 'function' ? searchOptions.customFilter : _filterNode; - this.datas.forEach(node => { - node.visible = filterFunc(keyworld, node); - node.searched = false; - if (node.visible) { - if (!this.isNullOrEmpty(keyworld)) { - node.searched = true; - } - _syncNodeStatus(node); - } - }); - } - getNode(key) { - return this.datas.get(key); - } - toPinYin(keyworld, useInitial) { - if (/^[a-zA-Z]/.test(keyworld)) { - return keyworld; - } - let fullpinyin = pinyin(keyworld, { - filterChinese: true, - noTone: true - }); - if (useInitial) { - let res = ''; - fullpinyin.split(' ').forEach(w => { - if (!/[a-zA-Z]/.test(w)) { - res += w; - } else { - res += w.slice(0, 1); - } - }); - return res; - } - return fullpinyin; - } -} -/* harmony export (immutable) */ __webpack_exports__["a"] = TreeStore; - - -/***/ }), -/* 26 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(2); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__App__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__App___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__App__); -// The Vue build version to load with the `import` command -// (runtime-only or standalone) has been set in webpack.base.conf with an alias. - - -__WEBPACK_IMPORTED_MODULE_0_vue__["a" /* default */].config.productionTip = false; - -/* eslint-disable no-new */ -new __WEBPACK_IMPORTED_MODULE_0_vue__["a" /* default */]({ - el: '#app', - template: '', - components: { App: __WEBPACK_IMPORTED_MODULE_1__App___default.a } -}); - -/***/ }) -],[26]); -//# sourceMappingURL=app.e7eb3ac0e0a2c5daa1bb.js.map \ No newline at end of file diff --git a/dist/static/js/app.e7eb3ac0e0a2c5daa1bb.js.map b/dist/static/js/app.e7eb3ac0e0a2c5daa1bb.js.map deleted file mode 100644 index 4ced321..0000000 --- a/dist/static/js/app.e7eb3ac0e0a2c5daa1bb.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/App.vue","webpack:///./src/components/tree/tree-node.vue?33f8","webpack:///./src/components/tree/tree.vue?890b","webpack:///./src/App.vue?6ad6","webpack:///./src/components/tree/tree.vue?df00","webpack:///./src/components/tree/tree-node.vue?2180","webpack:///./src/components/tree/tree.vue?94f2","webpack:///./src/components/tree/tree-node.vue?45ce","webpack:///App.vue","webpack:///tree-node.vue","webpack:///tree.vue","webpack:///./src/components/tree/tree-store.js","webpack:///./src/main.js"],"names":["pinyin","require","TreeStore","constructor","options","option","hasOwnProperty","datas","Map","_traverseNodes","root","node","set","id","children","length","changeCheckStatus","_traverseUp","checked","parentId","parent","getNode","sameSilibingChecked","upparent","_traverseDown","child","changeCheckHalfStatus","flag","nodeSelectNotAll","sameSilibingHalfChecked","currentId","get","sbIds","forEach","x","push","status","currentNode","isExitParent","isNullOrEmpty","world","trim","filterNodes","keyworld","searchOptions","_filterNode","val","useEnglish","label","indexOf","toPinYin","useInitial","toLowerCase","_syncNodeStatus","parentNode","visible","filterFunc","customFilter","searched","key","test","fullpinyin","filterChinese","noTone","res","split","w","slice","Vue","config","productionTip","el","template","components"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA,wBAAwG;AACxG;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;;;;ACVA;AACA,sBAAsT;;AAEtT;AACA;AACA;AACA;AACA,wBAA8G;AAC9G;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA;AACA,sBAAsT;;AAEtT;AACA;AACA;AACA;AACA,wBAA8G;AAC9G;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA,gBAAgB,mBAAmB,aAAa,0BAA0B;AAC1E;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,qB;;;;;;ACfD,gBAAgB,mBAAmB,aAAa,0BAA0B;AAC1E;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,CAAC,qB;;;;;;ACnCD,gBAAgB,mBAAmB,aAAa,0BAA0B;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,CAAC,qB;;;;;;;AC5FD,yC;;;;;;ACAA,yC;;;;;;;;;;;;;;;;;ACMA;AACA;AACA;QAEA;SACA;WACA;;;sBAGA;iCACA;;sBAEA;sBACA;wBAGA;AALA;AAHA;gBAUA;AAXA;AAYA;8BACA;sBACA;AACA;;qCAEA;oCACA;yBACA;;gBAGA;mBACA;kBACA;qBACA;qCACA;sBACA;qBACA;sBACA;;kBAGA;qBACA;uBACA;gCACA;wBACA;wBACA;uBAEA;AARA,aADA;qBAWA;oBACA;uBACA;gCACA;kBACA;wBACA;uBACA;wBACA;;oBAGA;0BACA;uBACA;yBACA;0BACA;yBACA;kCAEA;AARA,eADA;oBAWA;uBACA;0BACA;0BACA;yBACA;yBACA;kCAIA;AAVA;AAnBA;qBA+BA;oBACA;uBACA;gCACA;kBACA;wBACA;uBACA;wBACA;;oBAGA;0BACA;uBACA;yBACA;kCACA;0BACA;yBAEA;AARA,eADA;oBAWA;uBACA;0BACA;yBACA;kCACA;0BACA;yBAOA;AAbA;AAnBA;AAjDA,WADA;uBAmFA;WACA;AACA;AAEA;AA3FA;;AA8FA;AAFA;AAhHA,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACsBA;QAEA;;eAEA;cAEA;AAHA;SAIA;;gBAGA;AAFA;AAGA;YACA;wBACA;uBACA;kBACA;WACA;yBACA;AAEA;;sBACA;eACA;mBACA;AACA;gDACA;AACA;;4BAEA;8BACA;eACA;AACA;aACA;AAEA;AAPA;;8BASA;yCACA;AAEA;AAJA;;kBAMA;wBACA;+DACA;eACA;AACA;aACA;AACA;uBACA;iCACA;6BACA;iCACA;AACA;AACA;2BACA;wBACA;AACA;8BACA;wCACA;AACA;qBACA;gCACA;iDACA;+DACA;eACA;yCACA;yBACA;iCACA;AACA;aACA;+BACA;uBACA;AACA;oCACA;AAEA;AAnCA;AAtCA,G;;;;;;;;;;;;;;;;;;;;;ACtBA;AACA;AACA;QAEA;;eAEA;cAEA;AAHA;SA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","file":"static/js/app.e7eb3ac0e0a2c5daa1bb.js","sourcesContent":["var Component = require(\"!../node_modules/.11.3.4@vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../node_modules/.11.3.4@vue-loader/lib/selector?type=script&index=0!./App.vue\"),\n /* template */\n require(\"!!../node_modules/.11.3.4@vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3581a45a\\\"}!../node_modules/.11.3.4@vue-loader/lib/selector?type=template&index=0!./App.vue\"),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = 1\n// module chunks = 1","\n/* styles */\nrequire(\"!!../../../node_modules/.2.1.0@extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"minimize\\\":true,\\\"sourceMap\\\":true}!../../../node_modules/.11.3.4@vue-loader/lib/style-compiler/index?{\\\"id\\\":\\\"data-v-e0674d5c\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/.11.3.4@vue-loader/lib/selector?type=styles&index=0!./tree-node.vue\")\n\nvar Component = require(\"!../../../node_modules/.11.3.4@vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../../../node_modules/.11.3.4@vue-loader/lib/selector?type=script&index=0!./tree-node.vue\"),\n /* template */\n require(\"!!../../../node_modules/.11.3.4@vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-e0674d5c\\\"}!../../../node_modules/.11.3.4@vue-loader/lib/selector?type=template&index=0!./tree-node.vue\"),\n /* scopeId */\n \"data-v-e0674d5c\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/tree/tree-node.vue\n// module id = 13\n// module chunks = 1","\n/* styles */\nrequire(\"!!../../../node_modules/.2.1.0@extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"minimize\\\":true,\\\"sourceMap\\\":true}!../../../node_modules/.11.3.4@vue-loader/lib/style-compiler/index?{\\\"id\\\":\\\"data-v-9e877da6\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/.11.3.4@vue-loader/lib/selector?type=styles&index=0!./tree.vue\")\n\nvar Component = require(\"!../../../node_modules/.11.3.4@vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../../../node_modules/.11.3.4@vue-loader/lib/selector?type=script&index=0!./tree.vue\"),\n /* template */\n require(\"!!../../../node_modules/.11.3.4@vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-9e877da6\\\"}!../../../node_modules/.11.3.4@vue-loader/lib/selector?type=template&index=0!./tree.vue\"),\n /* scopeId */\n \"data-v-9e877da6\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/tree/tree.vue\n// module id = 14\n// module chunks = 1","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticStyle: {\n \"width\": \"300px\"\n },\n attrs: {\n \"id\": \"app\"\n }\n }, [_c('tree', {\n ref: \"tree\",\n attrs: {\n \"treeData\": _vm.treeData,\n \"options\": _vm.options\n }\n })], 1)\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/.11.3.4@vue-loader/lib/template-compiler?{\"id\":\"data-v-3581a45a\"}!./~/.11.3.4@vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = 15\n// module chunks = 1","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"halo-tree\"\n }, [_c('div', {\n staticClass: \"input\"\n }, [_c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.search),\n expression: \"search\"\n }],\n attrs: {\n \"type\": \"text\"\n },\n domProps: {\n \"value\": (_vm.search)\n },\n on: {\n \"input\": function($event) {\n if ($event.target.composing) { return; }\n _vm.search = $event.target.value\n }\n }\n }), _vm._v(\" \"), _c('span', {\n staticClass: \"icon search\"\n })]), _vm._v(\" \"), _c('tree-node', {\n attrs: {\n \"treeData\": _vm.store.root,\n \"options\": _vm.options\n },\n on: {\n \"handlecheckedChange\": _vm.handlecheckedChange\n }\n })], 1)\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/.11.3.4@vue-loader/lib/template-compiler?{\"id\":\"data-v-9e877da6\"}!./~/.11.3.4@vue-loader/lib/selector.js?type=template&index=0!./src/components/tree/tree.vue\n// module id = 16\n// module chunks = 1","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('ul', _vm._l((_vm.nodeData), function(item) {\n return _c('li', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (item.visible),\n expression: \"item.visible\"\n }],\n class: [(item.children && item.children.length > 0) ? '' : 'leaf']\n }, [(item.children && item.children.length > 0) ? _c('i', {\n class: [item.open ? 'tree-open' : 'tree-close', 'icon'],\n on: {\n \"click\": function($event) {\n $event.stopPropagation();\n _vm.handleNodeExpand(item)\n }\n }\n }) : _vm._e(), _vm._v(\" \"), _c('div', {\n staticClass: \"inputCheck\",\n class: {\n notAllNodes: item.nodeSelectNotAll\n },\n style: ({\n width: _vm.inputWidth + 'px',\n height: _vm.inputWidth + 'px'\n }),\n on: {\n \"click\": function($event) {\n _vm.walkCheckBox(item)\n }\n }\n }, [(_vm.options.showCheckbox && _vm.options.halfCheckedStatus && !item.nodeSelectNotAll) ? _c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (item.checked),\n expression: \"item.checked\"\n }],\n staticClass: \"check\",\n attrs: {\n \"type\": \"checkbox\"\n },\n domProps: {\n \"checked\": Array.isArray(item.checked) ? _vm._i(item.checked, null) > -1 : (item.checked)\n },\n on: {\n \"change\": function($event) {\n _vm.handlecheckedChange(item)\n },\n \"__c\": function($event) {\n var $$a = item.checked,\n $$el = $event.target,\n $$c = $$el.checked ? (true) : (false);\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v);\n if ($$c) {\n $$i < 0 && (item.checked = $$a.concat($$v))\n } else {\n $$i > -1 && (item.checked = $$a.slice(0, $$i).concat($$a.slice($$i + 1)))\n }\n } else {\n item.checked = $$c\n }\n }\n }\n }) : _vm._e()]), _vm._v(\" \"), _c('span', {\n class: {\n 'node-selected': (item.checked && !_vm.options.showCheckbox) || item.searched\n },\n on: {\n \"click\": function($event) {\n _vm.handleNode(item)\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.label) + \"\\n \")]), _vm._v(\" \"), (item.children && item.children.length > 0) ? _c('tree-node', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (item.open),\n expression: \"item.open\"\n }],\n attrs: {\n \"options\": _vm.options,\n \"tree-data\": item.children\n },\n on: {\n \"handlecheckedChange\": _vm.handlecheckedChange\n }\n }) : _vm._e()], 1)\n }))\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/.11.3.4@vue-loader/lib/template-compiler?{\"id\":\"data-v-e0674d5c\"}!./~/.11.3.4@vue-loader/lib/selector.js?type=template&index=0!./src/components/tree/tree-node.vue\n// module id = 17\n// module chunks = 1","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/.2.1.0@extract-text-webpack-plugin/loader.js?{\"omit\":1,\"remove\":true}!./~/.2.0.5@vue-style-loader!./~/.0.26.4@css-loader?{\"minimize\":true,\"sourceMap\":true}!./~/.11.3.4@vue-loader/lib/style-compiler?{\"id\":\"data-v-9e877da6\",\"scoped\":true,\"hasInlineConfig\":false}!./~/.11.3.4@vue-loader/lib/selector.js?type=styles&index=0!./src/components/tree/tree.vue\n// module id = 19\n// module chunks = 1","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/.2.1.0@extract-text-webpack-plugin/loader.js?{\"omit\":1,\"remove\":true}!./~/.2.0.5@vue-style-loader!./~/.0.26.4@css-loader?{\"minimize\":true,\"sourceMap\":true}!./~/.11.3.4@vue-loader/lib/style-compiler?{\"id\":\"data-v-e0674d5c\",\"scoped\":true,\"hasInlineConfig\":false}!./~/.11.3.4@vue-loader/lib/selector.js?type=styles&index=0!./src/components/tree/tree-node.vue\n// module id = 20\n// module chunks = 1","\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// App.vue?4eba5114","\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// tree-node.vue?935e7db2","\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// tree.vue?6533b5b8","const pinyin = require('chinese-to-pinyin')\r\nexport default class TreeStore {\r\n constructor(options) {\r\n for (let option in options) {\r\n if (options.hasOwnProperty(option)) {\r\n this[option] = options[option]\r\n }\r\n }\r\n this.datas = new Map()\r\n const _traverseNodes = (root) => {\r\n for (let node of root) {\r\n this.datas.set(node.id, node)\r\n if (node.children && node.children.length > 0) _traverseNodes(node.children)\r\n }\r\n }\r\n _traverseNodes(this.root)\r\n }\r\n\r\n changeCheckStatus(node) {\r\n const _traverseUp = (node) => {\r\n if (node.checked && node.parentId) {\r\n let parent = this.getNode(node.parentId)\r\n parent.checked = this.sameSilibingChecked(node.parentId, node.id)\r\n _traverseUp(parent)\r\n } else {\r\n if (!node.checked && node.parentId) {\r\n let upparent = this.getNode(node.parentId)\r\n upparent.checked = false\r\n if (upparent.parentId) {\r\n _traverseUp(upparent)\r\n }\r\n }\r\n }\r\n }\r\n\r\n const _traverseDown = (node) => {\r\n if (node.children && node.children.length > 0) {\r\n for (let child of node.children) {\r\n child.checked = node.checked\r\n _traverseDown(child)\r\n }\r\n }\r\n }\r\n _traverseUp(node)\r\n _traverseDown(node)\r\n }\r\n changeCheckHalfStatus(node) {\r\n let flag = false;\r\n //如果勾选的是子节点,父节点默认打上勾\r\n const _traverseUp = (node, flag) => {\r\n let parent = null;\r\n if (node.checked) { //打钩\r\n if (node.parentId) {\r\n parent = this.getNode(node.parentId)\r\n if (flag) {\r\n parent.checked = true\r\n parent.nodeSelectNotAll = true\r\n _traverseUp(parent, true)\r\n } else {\r\n parent.checked = true;\r\n parent.nodeSelectNotAll = this.sameSilibingHalfChecked(true, parent, node.parentId, node.id) === 'half' ? true : false; //返回true则全钩,false为半钩\r\n _traverseUp(parent)\r\n }\r\n }\r\n } else { //去钩\r\n if (node.parentId) {\r\n parent = this.getNode(node.parentId)\r\n if (this.sameSilibingHalfChecked(false, parent, node.parentId, node.id) === \"none\") { //返回true则全没钩,false为半钩\r\n parent.checked = false\r\n parent.nodeSelectNotAll = false\r\n } else {\r\n parent.checked = true\r\n parent.nodeSelectNotAll = true\r\n }\r\n _traverseUp(parent, true)\r\n }\r\n }\r\n }\r\n const _traverseDown = (node) => {\r\n if (node.children && node.children.length > 0) {\r\n if (node.nodeSelectNotAll) { //节点没勾选\r\n node.nodeSelectNotAll = false\r\n }\r\n for (let child of node.children) {\r\n child.checked = node.checked\r\n _traverseDown(child)\r\n }\r\n }\r\n }\r\n _traverseUp(node)\r\n _traverseDown(node)\r\n }\r\n sameSilibingChecked(parentId, currentId) {\r\n let parent = this.datas.get(parentId)\r\n let sbIds = []\r\n parent.children.forEach(x => {\r\n if (x.id !== currentId) sbIds.push(x.id)\r\n })\r\n for (let id of sbIds) {\r\n let node = this.getNode(id)\r\n if (!node.checked) return false\r\n }\r\n return true\r\n }\r\n sameSilibingHalfChecked(status, parent, parentId, currentId) {\r\n let sbIds = []\r\n let currentNode = this.getNode(currentId)\r\n parent.children.forEach(x => {\r\n if (!currentNode.nodeSelectNotAll && x.id !== currentId) sbIds.push(x.id) //除去当前节点的剩下节点\r\n })\r\n\r\n if (status) { //打钩\r\n if (sbIds.length !== 0) {\r\n for (let id of sbIds) { //子节点只要有一个被选中则父框打黑,全选打钩,全没有被选无状态\r\n let node = this.getNode(id)\r\n if (!node.checked || node.nodeSelectNotAll) { //节点没勾选\r\n return \"half\" //表示父框半钩的状态\r\n }\r\n }\r\n } else {\r\n if (currentNode.nodeSelectNotAll) {\r\n return \"half\" //表示全钩的状态\r\n }\r\n }\r\n return \"all\" //表示全钩的状态\r\n } else { //去钩\r\n if (sbIds.length !== 0) {\r\n for (let id of sbIds) { //子节点只要有一个被选中则父框打黑,全选打钩,全没有被选无状态\r\n let node = this.getNode(id)\r\n if (node.checked || node.nodeSelectNotAll) { //有节点被勾选,父框半钩的状态\r\n return \"half\"\r\n }\r\n }\r\n } else {\r\n if (currentNode.nodeSelectNotAll) {\r\n return \"half\" //表示全钩的状态\r\n }\r\n }\r\n return \"none\"\r\n }\r\n }\r\n isExitParent(parent) {\r\n if (parent.id) {\r\n return this.getNode(node.parentId)\r\n }\r\n return null\r\n }\r\n isNullOrEmpty(world) {\r\n if (world) {\r\n return world.trim().length === 0\r\n }\r\n return true\r\n }\r\n filterNodes(keyworld, searchOptions) {\r\n const _filterNode = (val, node) => {\r\n if (!val) return true\r\n if (searchOptions.useEnglish) {\r\n return node.label.indexOf(val) !== -1\r\n } else {\r\n return this.toPinYin(node.label, searchOptions.useInitial).indexOf(this.toPinYin(keyworld.toLowerCase(), searchOptions.useInitial, true)) !== -1\r\n }\r\n }\r\n\r\n const _syncNodeStatus = (node) => {\r\n if (node.parentId) {\r\n let parentNode = this.getNode(node.parentId)\r\n if (node.visible) {\r\n parentNode.visible = node.visible\r\n _syncNodeStatus(parentNode)\r\n }\r\n }\r\n }\r\n let filterFunc = (searchOptions.customFilter && typeof(searchOptions.customFilter) === 'function') ? searchOptions.customFilter : _filterNode\r\n this.datas.forEach(node => {\r\n node.visible = filterFunc(keyworld, node)\r\n node.searched = false\r\n if (node.visible) {\r\n if (!this.isNullOrEmpty(keyworld)) {\r\n node.searched = true\r\n }\r\n _syncNodeStatus(node)\r\n }\r\n })\r\n }\r\n getNode(key) {\r\n return this.datas.get(key)\r\n }\r\n toPinYin(keyworld, useInitial) {\r\n if (/^[a-zA-Z]/.test(keyworld)) {\r\n return keyworld\r\n }\r\n let fullpinyin = pinyin(keyworld, {\r\n filterChinese: true,\r\n noTone: true\r\n })\r\n if (useInitial) {\r\n let res = ''\r\n fullpinyin.split(' ').forEach(w => {\r\n if (!(/[a-zA-Z]/.test(w))) {\r\n res += w\r\n } else {\r\n res += w.slice(0, 1)\r\n }\r\n })\r\n return res\r\n }\r\n return fullpinyin\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/components/tree/tree-store.js","// The Vue build version to load with the `import` command\r\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\r\nimport Vue from 'vue'\r\nimport App from './App'\r\nVue.config.productionTip = false\r\n\r\n/* eslint-disable no-new */\r\nnew Vue({\r\n el: '#app',\r\n template: '',\r\n components: { App }\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/static/js/manifest.5dbf75ce9d711e26a95c.js b/dist/static/js/manifest.5dbf75ce9d711e26a95c.js deleted file mode 100644 index 9942f35..0000000 --- a/dist/static/js/manifest.5dbf75ce9d711e26a95c.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e){function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}var n=window.webpackJsonp;window.webpackJsonp=function(t,c,a){for(var i,u,f,s=0,l=[];s-1)return n.splice(g,1)}}function s(n,i){return wu.call(n,i)}function z(n){return"string"==typeof n||"number"==typeof n}function t(n){var i=Object.create(null);return function(g){return i[g]||(i[g]=n(g))}}function y(n,i){function g(g){var h=arguments.length;return h?h>1?n.apply(i,arguments):n.call(i,g):n.call(i)}return g._length=n.length,g}function c(n,i){i=i||0;for(var g=n.length-i,h=new Array(g);g--;)h[g]=n[g+i];return h}function l(n,i){for(var g in i)n[g]=i[g];return n}function d(n){return null!==n&&"object"==typeof n}function j(n){return $u.call(n)===Cu}function r(n){for(var i={},g=0;g=0&&co[g].id>n.id;)g--;co.splice(Math.max(g,eo)+1,0,n)}else co.push(n);jo||(jo=!0,Ju(xn))}}function bn(n){bo.clear(),mn(n,bo)}function mn(n,i){var g,h,u=Array.isArray(n);if((u||d(n))&&Object.isExtensible(n)){if(n.__ob__){var o=n.__ob__.dep.id;if(i.has(o))return;i.add(o)}if(u)for(g=n.length;g--;)mn(n[g],i);else for(h=Object.keys(n),g=h.length;g--;)mn(n[h[g]],i)}}function an(n,i,g){mo.get=function(){return this[i][g]},mo.set=function(n){this[i][g]=n},Object.defineProperty(n,g,mo)}function qn(n){n._watchers=[];var i=n.$options;i.props&&pn(n,i.props),i.methods&&Cn(n,i.methods),i.data?wn(n):$(n._data={},!0),i.computed&&vn(n,i.computed),i.watch&&An(n,i.watch)}function pn(n,i){var g=n.$options.propsData||{},h=n._props={},u=n.$options._propKeys=[],o=!n.$parent;no.shouldConvert=o;for(var s in i)!function(o){u.push(o);var s=P(o,i,g,n);C(h,o,s),o in n||an(n,"_props",o)}(s);no.shouldConvert=!0}function wn(n){var i=n.$options.data;i=n._data="function"==typeof i?kn(i,n):i||{},j(i)||(i={});for(var g=Object.keys(i),h=n.$options.props,u=g.length;u--;)h&&s(h,g[u])||m(g[u])||an(n,"_data",g[u]);$(i,!0)}function kn(n,i){try{return n.call(i)}catch(n){return B(n,i,"data()"),{}}}function vn(n,i){var g=n._computedWatchers=Object.create(null);for(var h in i){var u=i[h],o="function"==typeof u?u:u.get;g[h]=new fo(n,o,e,ao),h in n||_n(n,h,u)}}function _n(n,i,g){"function"==typeof g?(mo.get=$n(i),mo.set=e):(mo.get=g.get?!1!==g.cache?$n(i):g.get:e,mo.set=g.set?g.set:e),Object.defineProperty(n,i,mo)}function $n(n){return function(){var i=this._computedWatchers&&this._computedWatchers[n];if(i)return i.dirty&&i.evaluate(),Zu.target&&i.depend(),i.value}}function Cn(n,i){n.$options.props;for(var g in i)n[g]=null==i[g]?e:y(i[g],n)}function An(n,i){for(var g in i){var h=i[g];if(Array.isArray(h))for(var u=0;u-1:n instanceof RegExp&&n.test(i)}function ri(n,i){for(var g in n){var h=n[g];if(h){var u=di(h.componentOptions);u&&!i(u)&&(ei(h),n[g]=null)}}}function ei(n){n&&(n.componentInstance._inactive||rn(n.componentInstance,"deactivated"),n.componentInstance.$destroy())}function xi(n){for(var i=n.data,g=n,h=n;h.componentInstance;)h=h.componentInstance._vnode,h.data&&(i=fi(h.data,i));for(;g=g.parent;)g.data&&(i=fi(i,g.data));return bi(i)}function fi(n,i){return{staticClass:mi(n.staticClass,i.staticClass),class:n.class?[n.class,i.class]:i.class}}function bi(n){var i=n.class,g=n.staticClass;return g||i?mi(g,ai(i)):""}function mi(n,i){return n?i?n+" "+i:n:i||""}function ai(n){var i="";if(!n)return i;if("string"==typeof n)return n;if(Array.isArray(n)){for(var g,h=0,u=n.length;h-1?Yo[n]=i.constructor===window.HTMLUnknownElement||i.constructor===window.HTMLElement:Yo[n]=/HTMLUnknownElement/.test(i.toString())}function wi(n){if("string"==typeof n){var i=document.querySelector(n);return i||document.createElement("div")}return n}function ki(n,i){var g=document.createElement(n);return"select"!==n?g:(i.data&&i.data.attrs&&void 0!==i.data.attrs.multiple&&g.setAttribute("multiple","multiple"),g)}function vi(n,i){return document.createElementNS(Jo[n],i)}function _i(n){return document.createTextNode(n)}function $i(n){return document.createComment(n)}function Ci(n,i,g){n.insertBefore(i,g)}function Ai(n,i){n.removeChild(i)}function Oi(n,i){n.appendChild(i)}function Ti(n){return n.parentNode}function Si(n){return n.nextSibling}function Ei(n){return n.tagName}function Ni(n,i){n.textContent=i}function Mi(n,i,g){n.setAttribute(i,g)}function Ii(n,i){var g=n.data.ref;if(g){var h=n.context,u=n.componentInstance||n.elm,s=h.$refs;i?Array.isArray(s[g])?o(s[g],u):s[g]===u&&(s[g]=void 0):n.data.refInFor?Array.isArray(s[g])&&s[g].indexOf(u)<0?s[g].push(u):s[g]=[u]:s[g]=u}}function Li(n){return void 0===n||null===n}function Di(n){return void 0!==n&&null!==n}function Pi(n){return!0===n}function Ri(n,i){return n.key===i.key&&n.tag===i.tag&&n.isComment===i.isComment&&Di(n.data)===Di(i.data)&&Fi(n,i)}function Fi(n,i){if("input"!==n.tag)return!0;var g;return(Di(g=n.data)&&Di(g=g.attrs)&&g.type)===(Di(g=i.data)&&Di(g=g.attrs)&&g.type)}function Ui(n,i,g){var h,u,o={};for(h=i;h<=g;++h)u=n[h].key,Di(u)&&(o[u]=h);return o}function Bi(n,i){(n.data.directives||i.data.directives)&&Hi(n,i)}function Hi(n,i){var g,h,u,o=n===ns,s=i===ns,z=Vi(n.data.directives,n.context),t=Vi(i.data.directives,i.context),y=[],c=[];for(g in t)h=z[g],u=t[g],h?(u.oldValue=h.value,Ki(u,"update",i,n),u.def&&u.def.componentUpdated&&c.push(u)):(Ki(u,"bind",i,n),u.def&&u.def.inserted&&y.push(u));if(y.length){var l=function(){for(var g=0;g=0&&" "===(x=n.charAt(e));e--);x&&zs.test(x)||(c=!0)}}else void 0===o?(r=u+1,o=n.slice(0,u).trim()):i();if(void 0===o?o=n.slice(0,u).trim():0!==r&&i(),s)for(u=0;u=Ao}function dg(n){return 34===n||39===n}function jg(n){var i=1;for(Eo=So;!lg();)if(n=cg(),dg(n))rg(n);else if(91===n&&i++,93===n&&i--,0===i){No=So;break}}function rg(n){for(var i=n;!lg()&&(n=cg())!==i;);}function eg(n,i,g){Mo=g;var h=i.value,u=i.modifiers,o=n.tag,s=n.attrsMap.type;if("select"===o)bg(n,h,u);else if("input"===o&&"checkbox"===s)xg(n,h,u);else if("input"===o&&"radio"===s)fg(n,h,u);else if("input"===o||"textarea"===o)mg(n,h,u);else if(!Tu.isReservedTag(o))return zg(n,h,u),!1;return!0}function xg(n,i,g){var h=g&&g.number,u=og(n,"value")||"null",o=og(n,"true-value")||"true",s=og(n,"false-value")||"false";ig(n,"checked","Array.isArray("+i+")?_i("+i+","+u+")>-1"+("true"===o?":("+i+")":":_q("+i+","+o+")")),ug(n,ys,"var $$a="+i+",$$el=$event.target,$$c=$$el.checked?("+o+"):("+s+");if(Array.isArray($$a)){var $$v="+(h?"_n("+u+")":u)+",$$i=_i($$a,$$v);if($$c){$$i<0&&("+i+"=$$a.concat($$v))}else{$$i>-1&&("+i+"=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{"+i+"=$$c}",null,!0)}function fg(n,i,g){var h=g&&g.number,u=og(n,"value")||"null";u=h?"_n("+u+")":u,ig(n,"checked","_q("+i+","+u+")"),ug(n,ys,tg(i,u),null,!0)}function bg(n,i,g){var h=g&&g.number,u='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(h?"_n(val)":"val")+"})",o="var $$selectedVal = "+u+";";o=o+" "+tg(i,"$event.target.multiple ? $$selectedVal : $$selectedVal[0]"),ug(n,"change",o,null,!0)}function mg(n,i,g){var h=n.attrsMap.type,u=g||{},o=u.lazy,s=u.number,z=u.trim,t=!o&&"range"!==h,y=o?"change":"range"===h?ts:"input",c="$event.target.value";z&&(c="$event.target.value.trim()"),s&&(c="_n("+c+")");var l=tg(i,c);t&&(l="if($event.target.composing)return;"+l),ig(n,"value","("+i+")"),ug(n,y,l,null,!0),(z||s||"number"===h)&&ug(n,"blur","$forceUpdate()")}function ag(n){var i;n[ts]&&(i=Lu?"change":"input",n[i]=[].concat(n[ts],n[i]||[]),delete n[ts]),n[ys]&&(i=Uu?"click":"change",n[i]=[].concat(n[ys],n[i]||[]),delete n[ys])}function qg(n,i,g,h){if(g){var u=i,o=Io;i=function(g){null!==(1===arguments.length?u(g):u.apply(null,arguments))&&pg(n,i,h,o)}}Io.addEventListener(n,i,h)}function pg(n,i,g,h){(h||Io).removeEventListener(n,i,g)}function wg(n,i){if(n.data.on||i.data.on){var g=i.data.on||{},h=n.data.on||{};Io=i.elm,ag(g),W(g,h,qg,pg,i.context)}}function kg(n,i){if(n.data.domProps||i.data.domProps){var g,h,u=i.elm,o=n.data.domProps||{},s=i.data.domProps||{};s.__ob__&&(s=i.data.domProps=l({},s));for(g in o)null==s[g]&&(u[g]="");for(g in s)if(h=s[g],"textContent"!==g&&"innerHTML"!==g||(i.children&&(i.children.length=0),h!==o[g]))if("value"===g){u._value=h;var z=null==h?"":String(h);vg(u,i,z)&&(u.value=z)}else u[g]=h}}function vg(n,i,g){return!n.composing&&("option"===i.tag||_g(n,g)||$g(n,g))}function _g(n,i){return document.activeElement!==n&&n.value!==i}function $g(n,i){var g=n.value,u=n._vModifiers;return u&&u.number||"number"===n.type?h(g)!==h(i):u&&u.trim?g.trim()!==i.trim():g!==i}function Cg(n){var i=Ag(n.style);return n.staticStyle?l(n.staticStyle,i):i}function Ag(n){return Array.isArray(n)?r(n):"string"==typeof n?ds(n):n}function Og(n,i){var g,h={};if(i)for(var u=n;u.componentInstance;)u=u.componentInstance._vnode,u.data&&(g=Cg(u.data))&&l(h,g);(g=Cg(n.data))&&l(h,g);for(var o=n;o=o.parent;)o.data&&(g=Cg(o.data))&&l(h,g);return h}function Tg(n,i){var g=i.data,h=n.data;if(g.staticStyle||g.style||h.staticStyle||h.style){var u,o,s=i.elm,z=n.data.staticStyle,t=n.data.style||{},y=z||t,c=Ag(i.data.style)||{};i.data.style=c.__ob__?l({},c):c;var d=Og(i,!0);for(o in y)null==d[o]&&es(s,o,"");for(o in d)(u=d[o])!==y[o]&&es(s,o,null==u?"":u)}}function Sg(n,i){if(i&&(i=i.trim()))if(n.classList)i.indexOf(" ")>-1?i.split(/\s+/).forEach(function(i){return n.classList.add(i)}):n.classList.add(i);else{var g=" "+(n.getAttribute("class")||"")+" ";g.indexOf(" "+i+" ")<0&&n.setAttribute("class",(g+i).trim())}}function Eg(n,i){if(i&&(i=i.trim()))if(n.classList)i.indexOf(" ")>-1?i.split(/\s+/).forEach(function(i){return n.classList.remove(i)}):n.classList.remove(i);else{for(var g=" "+(n.getAttribute("class")||"")+" ",h=" "+i+" ";g.indexOf(h)>=0;)g=g.replace(h," ");n.setAttribute("class",g.trim())}}function Ng(n){if(n){if("object"==typeof n){var i={};return!1!==n.css&&l(i,ms(n.name||"v")),l(i,n),i}return"string"==typeof n?ms(n):void 0}}function Mg(n){$s(function(){$s(n)})}function Ig(n,i){(n._transitionClasses||(n._transitionClasses=[])).push(i),Sg(n,i)}function Lg(n,i){n._transitionClasses&&o(n._transitionClasses,i),Eg(n,i)}function Dg(n,i,g){var h=Pg(n,i),u=h.type,o=h.timeout,s=h.propCount;if(!u)return g();var z=u===qs?ks:_s,t=0,y=function(){n.removeEventListener(z,c),g()},c=function(i){i.target===n&&++t>=s&&y()};setTimeout(function(){t0&&(g=qs,c=s,l=o.length):i===ps?y>0&&(g=ps,c=y,l=t.length):(c=Math.max(s,y),g=c>0?s>y?qs:ps:null,l=g?g===qs?o.length:t.length:0),{type:g,timeout:c,propCount:l,hasTransform:g===qs&&Cs.test(h[ws+"Property"])}}function Rg(n,i){for(;n.length1}function Jg(n,i){i.data.show||Ug(i)}function Kg(n,i,g){var h=i.value,u=n.multiple;if(!u||Array.isArray(h)){for(var o,s,z=0,t=n.options.length;z-1,s.selected!==o&&(s.selected=o);else if(x(Zg(s),h))return void(n.selectedIndex!==z&&(n.selectedIndex=z));u||(n.selectedIndex=-1)}}function Wg(n,i){for(var g=0,h=i.length;g=0&&s[u].lowerCasedTag!==z;u--);else u=0;if(u>=0){for(var t=s.length-1;t>=u;t--)i.end&&i.end(s[t].tag,g,h);s.length=u,o=u&&s[u-1].tag}else"br"===z?i.start&&i.start(n,[],!0,g,h):"p"===z&&(i.start&&i.start(n,[],!1,g,h),i.end&&i.end(n,g,h))}for(var u,o,s=[],z=i.expectHTML,t=i.isUnaryTag||Au,y=i.canBeLeftOpenTag||Au,c=0;n;){if(u=n,o&&az(o)){var l=o.toLowerCase(),d=qz[l]||(qz[l]=new RegExp("([\\s\\S]*?)(]*>)","i")),j=0,r=n.replace(d,function(n,g,h){return j=h.length,az(l)||"noscript"===l||(g=g.replace(//g,"$1").replace(//g,"$1")),i.chars&&i.chars(g),""});c+=n.length-r.length,n=r,h(l,c-j,c)}else{var e=n.indexOf("<");if(0===e){if(Xs.test(n)){var x=n.indexOf("-->");if(x>=0){g(x+3);continue}}if(nz.test(n)){var f=n.indexOf("]>");if(f>=0){g(f+2);continue}}var b=n.match(Qs);if(b){g(b[0].length);continue}var m=n.match(Ys);if(m){var a=c;g(m[0].length),h(m[1],a,c);continue}var q=function(){var i=n.match(Zs);if(i){var h={tagName:i[1],attrs:[],start:c};g(i[0].length);for(var u,o;!(u=n.match(Gs))&&(o=n.match(Ks));)g(o[0].length),h.attrs.push(o);if(u)return h.unarySlash=u[1],g(u[0].length),h.end=c,h}}();if(q){!function(n){var g=n.tagName,u=n.unarySlash;z&&("p"===o&&Vs(g)&&h(o),y(g)&&o===g&&h(g));for(var c=t(g)||"html"===g&&"head"===o||!!u,l=n.attrs.length,d=new Array(l),j=0;j=0){for(w=n.slice(e);!(Ys.test(w)||Zs.test(w)||Xs.test(w)||nz.test(w)||(k=w.indexOf("<",1))<0);)e+=k,w=n.slice(e);p=n.substring(0,e),g(e)}e<0&&(p=n,n=""),i.chars&&p&&i.chars(p)}if(n===u){i.chars&&i.chars(n);break}}h()}function lh(n,i){var g=i?_z(i):vz;if(g.test(n)){for(var h,u,o=[],s=g.lastIndex=0;h=g.exec(n);){u=h.index,u>s&&o.push(JSON.stringify(n.slice(s,u)));var z=Yi(h[1].trim());o.push("_s("+z+")"),s=u+h[0].length}return s0,Pu=Iu&&Iu.indexOf("edge/")>0,Ru=Iu&&Iu.indexOf("android")>0,Fu=Iu&&/iphone|ipad|ipod|ios/.test(Iu),Uu=Iu&&/chrome\/\d+/.test(Iu)&&!Pu,Bu=function(){return void 0===au&&(au=!Mu&&void 0!==n&&"server"===n.process.env.VUE_ENV),au},Hu=Mu&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,Vu="undefined"!=typeof Symbol&&p(Symbol)&&"undefined"!=typeof Reflect&&p(Reflect.ownKeys),Ju=function(){function n(){h=!1;var n=g.slice(0);g.length=0;for(var i=0;i1?c(g):g;for(var h=c(arguments,1),u=0,o=g.length;u1&&(i[g[0].trim()]=g[1].trim())}}),i}),js=/^--/,rs=/\s*!important$/,es=function(n,i,g){js.test(i)?n.style.setProperty(i,g):rs.test(g)?n.style.setProperty(i,g.replace(rs,""),"important"):n.style[fs(i)]=g},xs=["Webkit","Moz","ms"],fs=t(function(n){if(Lo=Lo||document.createElement("div"),"filter"!==(n=ku(n))&&n in Lo.style)return n;for(var i=n.charAt(0).toUpperCase()+n.slice(1),g=0;gd?(y=Li(g[x+1])?null:g[x+1].elm,e(n,y,g,l,x,h)):l>x&&f(n,i,c,d)}function a(n,i,g,h){if(n!==i){if(Pi(i.isStatic)&&Pi(n.isStatic)&&i.key===n.key&&(Pi(i.isCloned)||Pi(i.isOnce)))return i.elm=n.elm,void(i.componentInstance=n.componentInstance);var u,o=i.data;Di(o)&&Di(u=o.hook)&&Di(u=u.prepatch)&&u(n,i);var s=i.elm=n.elm,z=n.children,t=i.children;if(Di(o)&&d(i)){for(u=0;u',g.innerHTML.indexOf(i)>0}("\n"," "),Bs=u("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),Hs=u("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),Vs=u("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),Js=[/"([^"]*)"+/.source,/'([^']*)'+/.source,/([^\s"'=<>`]+)/.source],Ks=new RegExp("^\\s*"+/([^\s"'<>\/=]+)/.source+"(?:\\s*("+/(?:=)/.source+")\\s*(?:"+Js.join("|")+"))?"),Ws="[a-zA-Z_][\\w\\-\\.]*",Zs=new RegExp("^<((?:"+Ws+"\\:)?"+Ws+")"),Gs=/^\s*(\/?)>/,Ys=new RegExp("^<\\/((?:"+Ws+"\\:)?"+Ws+")[^>]*>"),Qs=/^]+>/i,Xs=/^');\n\n if (commentEnd >= 0) {\n advance(commentEnd + 3);\n continue\n }\n }\n\n // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment\n if (conditionalComment.test(html)) {\n var conditionalEnd = html.indexOf(']>');\n\n if (conditionalEnd >= 0) {\n advance(conditionalEnd + 2);\n continue\n }\n }\n\n // Doctype:\n var doctypeMatch = html.match(doctype);\n if (doctypeMatch) {\n advance(doctypeMatch[0].length);\n continue\n }\n\n // End tag:\n var endTagMatch = html.match(endTag);\n if (endTagMatch) {\n var curIndex = index;\n advance(endTagMatch[0].length);\n parseEndTag(endTagMatch[1], curIndex, index);\n continue\n }\n\n // Start tag:\n var startTagMatch = parseStartTag();\n if (startTagMatch) {\n handleStartTag(startTagMatch);\n continue\n }\n }\n\n var text = (void 0), rest$1 = (void 0), next = (void 0);\n if (textEnd >= 0) {\n rest$1 = html.slice(textEnd);\n while (\n !endTag.test(rest$1) &&\n !startTagOpen.test(rest$1) &&\n !comment.test(rest$1) &&\n !conditionalComment.test(rest$1)\n ) {\n // < in plain text, be forgiving and treat it as text\n next = rest$1.indexOf('<', 1);\n if (next < 0) { break }\n textEnd += next;\n rest$1 = html.slice(textEnd);\n }\n text = html.substring(0, textEnd);\n advance(textEnd);\n }\n\n if (textEnd < 0) {\n text = html;\n html = '';\n }\n\n if (options.chars && text) {\n options.chars(text);\n }\n } else {\n var stackedTag = lastTag.toLowerCase();\n var reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\\\s\\\\S]*?)(]*>)', 'i'));\n var endTagLength = 0;\n var rest = html.replace(reStackedTag, function (all, text, endTag) {\n endTagLength = endTag.length;\n if (!isPlainTextElement(stackedTag) && stackedTag !== 'noscript') {\n text = text\n .replace(//g, '$1')\n .replace(//g, '$1');\n }\n if (options.chars) {\n options.chars(text);\n }\n return ''\n });\n index += html.length - rest.length;\n html = rest;\n parseEndTag(stackedTag, index - endTagLength, index);\n }\n\n if (html === last) {\n options.chars && options.chars(html);\n if (false) {\n options.warn((\"Mal-formatted tag at end of template: \\\"\" + html + \"\\\"\"));\n }\n break\n }\n }\n\n // Clean up any remaining tags\n parseEndTag();\n\n function advance (n) {\n index += n;\n html = html.substring(n);\n }\n\n function parseStartTag () {\n var start = html.match(startTagOpen);\n if (start) {\n var match = {\n tagName: start[1],\n attrs: [],\n start: index\n };\n advance(start[0].length);\n var end, attr;\n while (!(end = html.match(startTagClose)) && (attr = html.match(attribute))) {\n advance(attr[0].length);\n match.attrs.push(attr);\n }\n if (end) {\n match.unarySlash = end[1];\n advance(end[0].length);\n match.end = index;\n return match\n }\n }\n }\n\n function handleStartTag (match) {\n var tagName = match.tagName;\n var unarySlash = match.unarySlash;\n\n if (expectHTML) {\n if (lastTag === 'p' && isNonPhrasingTag(tagName)) {\n parseEndTag(lastTag);\n }\n if (canBeLeftOpenTag$$1(tagName) && lastTag === tagName) {\n parseEndTag(tagName);\n }\n }\n\n var unary = isUnaryTag$$1(tagName) || tagName === 'html' && lastTag === 'head' || !!unarySlash;\n\n var l = match.attrs.length;\n var attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n var args = match.attrs[i];\n // hackish work around FF bug https://bugzilla.mozilla.org/show_bug.cgi?id=369778\n if (IS_REGEX_CAPTURING_BROKEN && args[0].indexOf('\"\"') === -1) {\n if (args[3] === '') { delete args[3]; }\n if (args[4] === '') { delete args[4]; }\n if (args[5] === '') { delete args[5]; }\n }\n var value = args[3] || args[4] || args[5] || '';\n attrs[i] = {\n name: args[1],\n value: decodeAttr(\n value,\n options.shouldDecodeNewlines\n )\n };\n }\n\n if (!unary) {\n stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs });\n lastTag = tagName;\n }\n\n if (options.start) {\n options.start(tagName, attrs, unary, match.start, match.end);\n }\n }\n\n function parseEndTag (tagName, start, end) {\n var pos, lowerCasedTagName;\n if (start == null) { start = index; }\n if (end == null) { end = index; }\n\n if (tagName) {\n lowerCasedTagName = tagName.toLowerCase();\n }\n\n // Find the closest opened tag of the same type\n if (tagName) {\n for (pos = stack.length - 1; pos >= 0; pos--) {\n if (stack[pos].lowerCasedTag === lowerCasedTagName) {\n break\n }\n }\n } else {\n // If no tag name is provided, clean shop\n pos = 0;\n }\n\n if (pos >= 0) {\n // Close all the open elements, up the stack\n for (var i = stack.length - 1; i >= pos; i--) {\n if (false) {\n options.warn(\n (\"tag <\" + (stack[i].tag) + \"> has no matching end tag.\")\n );\n }\n if (options.end) {\n options.end(stack[i].tag, start, end);\n }\n }\n\n // Remove the open elements from the stack\n stack.length = pos;\n lastTag = pos && stack[pos - 1].tag;\n } else if (lowerCasedTagName === 'br') {\n if (options.start) {\n options.start(tagName, [], true, start, end);\n }\n } else if (lowerCasedTagName === 'p') {\n if (options.start) {\n options.start(tagName, [], false, start, end);\n }\n if (options.end) {\n options.end(tagName, start, end);\n }\n }\n }\n}\n\n/* */\n\nvar defaultTagRE = /\\{\\{((?:.|\\n)+?)\\}\\}/g;\nvar regexEscapeRE = /[-.*+?^${}()|[\\]\\/\\\\]/g;\n\nvar buildRegex = cached(function (delimiters) {\n var open = delimiters[0].replace(regexEscapeRE, '\\\\$&');\n var close = delimiters[1].replace(regexEscapeRE, '\\\\$&');\n return new RegExp(open + '((?:.|\\\\n)+?)' + close, 'g')\n});\n\nfunction parseText (\n text,\n delimiters\n) {\n var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE;\n if (!tagRE.test(text)) {\n return\n }\n var tokens = [];\n var lastIndex = tagRE.lastIndex = 0;\n var match, index;\n while ((match = tagRE.exec(text))) {\n index = match.index;\n // push text token\n if (index > lastIndex) {\n tokens.push(JSON.stringify(text.slice(lastIndex, index)));\n }\n // tag token\n var exp = parseFilters(match[1].trim());\n tokens.push((\"_s(\" + exp + \")\"));\n lastIndex = index + match[0].length;\n }\n if (lastIndex < text.length) {\n tokens.push(JSON.stringify(text.slice(lastIndex)));\n }\n return tokens.join('+')\n}\n\n/* */\n\nvar onRE = /^@|^v-on:/;\nvar dirRE = /^v-|^@|^:/;\nvar forAliasRE = /(.*?)\\s+(?:in|of)\\s+(.*)/;\nvar forIteratorRE = /\\((\\{[^}]*\\}|[^,]*),([^,]*)(?:,([^,]*))?\\)/;\n\nvar argRE = /:(.*)$/;\nvar bindRE = /^:|^v-bind:/;\nvar modifierRE = /\\.[^.]+/g;\n\nvar decodeHTMLCached = cached(decode);\n\n// configurable state\nvar warn$2;\nvar delimiters;\nvar transforms;\nvar preTransforms;\nvar postTransforms;\nvar platformIsPreTag;\nvar platformMustUseProp;\nvar platformGetTagNamespace;\n\n/**\n * Convert HTML string to AST.\n */\nfunction parse (\n template,\n options\n) {\n warn$2 = options.warn || baseWarn;\n platformGetTagNamespace = options.getTagNamespace || no;\n platformMustUseProp = options.mustUseProp || no;\n platformIsPreTag = options.isPreTag || no;\n preTransforms = pluckModuleFunction(options.modules, 'preTransformNode');\n transforms = pluckModuleFunction(options.modules, 'transformNode');\n postTransforms = pluckModuleFunction(options.modules, 'postTransformNode');\n delimiters = options.delimiters;\n\n var stack = [];\n var preserveWhitespace = options.preserveWhitespace !== false;\n var root;\n var currentParent;\n var inVPre = false;\n var inPre = false;\n var warned = false;\n\n function warnOnce (msg) {\n if (!warned) {\n warned = true;\n warn$2(msg);\n }\n }\n\n function endPre (element) {\n // check pre state\n if (element.pre) {\n inVPre = false;\n }\n if (platformIsPreTag(element.tag)) {\n inPre = false;\n }\n }\n\n parseHTML(template, {\n warn: warn$2,\n expectHTML: options.expectHTML,\n isUnaryTag: options.isUnaryTag,\n canBeLeftOpenTag: options.canBeLeftOpenTag,\n shouldDecodeNewlines: options.shouldDecodeNewlines,\n start: function start (tag, attrs, unary) {\n // check namespace.\n // inherit parent ns if there is one\n var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag);\n\n // handle IE svg bug\n /* istanbul ignore if */\n if (isIE && ns === 'svg') {\n attrs = guardIESVGBug(attrs);\n }\n\n var element = {\n type: 1,\n tag: tag,\n attrsList: attrs,\n attrsMap: makeAttrsMap(attrs),\n parent: currentParent,\n children: []\n };\n if (ns) {\n element.ns = ns;\n }\n\n if (isForbiddenTag(element) && !isServerRendering()) {\n element.forbidden = true;\n \"production\" !== 'production' && warn$2(\n 'Templates should only be responsible for mapping the state to the ' +\n 'UI. Avoid placing tags with side-effects in your templates, such as ' +\n \"<\" + tag + \">\" + ', as they will not be parsed.'\n );\n }\n\n // apply pre-transforms\n for (var i = 0; i < preTransforms.length; i++) {\n preTransforms[i](element, options);\n }\n\n if (!inVPre) {\n processPre(element);\n if (element.pre) {\n inVPre = true;\n }\n }\n if (platformIsPreTag(element.tag)) {\n inPre = true;\n }\n if (inVPre) {\n processRawAttrs(element);\n } else {\n processFor(element);\n processIf(element);\n processOnce(element);\n processKey(element);\n\n // determine whether this is a plain element after\n // removing structural attributes\n element.plain = !element.key && !attrs.length;\n\n processRef(element);\n processSlot(element);\n processComponent(element);\n for (var i$1 = 0; i$1 < transforms.length; i$1++) {\n transforms[i$1](element, options);\n }\n processAttrs(element);\n }\n\n function checkRootConstraints (el) {\n if (false) {\n if (el.tag === 'slot' || el.tag === 'template') {\n warnOnce(\n \"Cannot use <\" + (el.tag) + \"> as component root element because it may \" +\n 'contain multiple nodes.'\n );\n }\n if (el.attrsMap.hasOwnProperty('v-for')) {\n warnOnce(\n 'Cannot use v-for on stateful component root element because ' +\n 'it renders multiple elements.'\n );\n }\n }\n }\n\n // tree management\n if (!root) {\n root = element;\n checkRootConstraints(root);\n } else if (!stack.length) {\n // allow root elements with v-if, v-else-if and v-else\n if (root.if && (element.elseif || element.else)) {\n checkRootConstraints(element);\n addIfCondition(root, {\n exp: element.elseif,\n block: element\n });\n } else if (false) {\n warnOnce(\n \"Component template should contain exactly one root element. \" +\n \"If you are using v-if on multiple elements, \" +\n \"use v-else-if to chain them instead.\"\n );\n }\n }\n if (currentParent && !element.forbidden) {\n if (element.elseif || element.else) {\n processIfConditions(element, currentParent);\n } else if (element.slotScope) { // scoped slot\n currentParent.plain = false;\n var name = element.slotTarget || '\"default\"';(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element;\n } else {\n currentParent.children.push(element);\n element.parent = currentParent;\n }\n }\n if (!unary) {\n currentParent = element;\n stack.push(element);\n } else {\n endPre(element);\n }\n // apply post-transforms\n for (var i$2 = 0; i$2 < postTransforms.length; i$2++) {\n postTransforms[i$2](element, options);\n }\n },\n\n end: function end () {\n // remove trailing whitespace\n var element = stack[stack.length - 1];\n var lastNode = element.children[element.children.length - 1];\n if (lastNode && lastNode.type === 3 && lastNode.text === ' ' && !inPre) {\n element.children.pop();\n }\n // pop stack\n stack.length -= 1;\n currentParent = stack[stack.length - 1];\n endPre(element);\n },\n\n chars: function chars (text) {\n if (!currentParent) {\n if (false) {\n if (text === template) {\n warnOnce(\n 'Component template requires a root element, rather than just text.'\n );\n } else if ((text = text.trim())) {\n warnOnce(\n (\"text \\\"\" + text + \"\\\" outside root element will be ignored.\")\n );\n }\n }\n return\n }\n // IE textarea placeholder bug\n /* istanbul ignore if */\n if (isIE &&\n currentParent.tag === 'textarea' &&\n currentParent.attrsMap.placeholder === text) {\n return\n }\n var children = currentParent.children;\n text = inPre || text.trim()\n ? decodeHTMLCached(text)\n // only preserve whitespace if its not right after a starting tag\n : preserveWhitespace && children.length ? ' ' : '';\n if (text) {\n var expression;\n if (!inVPre && text !== ' ' && (expression = parseText(text, delimiters))) {\n children.push({\n type: 2,\n expression: expression,\n text: text\n });\n } else if (text !== ' ' || !children.length || children[children.length - 1].text !== ' ') {\n children.push({\n type: 3,\n text: text\n });\n }\n }\n }\n });\n return root\n}\n\nfunction processPre (el) {\n if (getAndRemoveAttr(el, 'v-pre') != null) {\n el.pre = true;\n }\n}\n\nfunction processRawAttrs (el) {\n var l = el.attrsList.length;\n if (l) {\n var attrs = el.attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n attrs[i] = {\n name: el.attrsList[i].name,\n value: JSON.stringify(el.attrsList[i].value)\n };\n }\n } else if (!el.pre) {\n // non root node in pre blocks with no attributes\n el.plain = true;\n }\n}\n\nfunction processKey (el) {\n var exp = getBindingAttr(el, 'key');\n if (exp) {\n if (false) {\n warn$2(\"