├── .browserslistrc ├── babel.config.js ├── cypress.json ├── docs ├── favicon.ico ├── img │ └── logo.82b9c7a5.png ├── fonts │ ├── element-icons.2fad952a.woff │ └── element-icons.6f0a7632.ttf ├── js │ ├── about.6fe3c8de.js │ ├── about.6fe3c8de.js.map │ ├── app.25c4d8d8.js │ ├── chunk-4d12a612.d1fb0639.js │ ├── app.25c4d8d8.js.map │ └── chunk-4d12a612.d1fb0639.js.map ├── css │ ├── app.fab2919d.css │ └── chunk-4d12a612.ce5bf7d7.css └── index.html ├── postcss.config.js ├── public ├── favicon.ico └── index.html ├── src ├── assets │ └── logo.png ├── components │ ├── widgets │ │ ├── Widget.js │ │ ├── AyaExample.vue │ │ ├── AyaTimer.vue │ │ ├── index.js │ │ └── AyaCmdLoading.vue │ ├── HelloWorld.vue │ └── portalconfig │ │ ├── PortalPreview.vue │ │ ├── WidgetArea.vue │ │ └── PortalEditor.vue ├── store.js ├── main.js ├── views │ ├── Home.vue │ ├── Portal.vue │ └── About.vue ├── router.js └── App.vue ├── tests └── e2e │ ├── .eslintrc.js │ ├── specs │ └── test.js │ ├── plugins │ └── index.js │ └── support │ ├── index.js │ └── commands.js ├── .gitignore ├── .eslintrc.js ├── vue.config.js ├── package.json ├── README.md └── LICENSE /.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | not ie <= 8 4 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ["@vue/app"] 3 | }; 4 | -------------------------------------------------------------------------------- /cypress.json: -------------------------------------------------------------------------------- 1 | { 2 | "pluginsFile": "tests/e2e/plugins/index.js" 3 | } 4 | -------------------------------------------------------------------------------- /docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronliruonan/aya-draglayout/HEAD/docs/favicon.ico -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | autoprefixer: {} 4 | } 5 | }; 6 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronliruonan/aya-draglayout/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronliruonan/aya-draglayout/HEAD/src/assets/logo.png -------------------------------------------------------------------------------- /docs/img/logo.82b9c7a5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronliruonan/aya-draglayout/HEAD/docs/img/logo.82b9c7a5.png -------------------------------------------------------------------------------- /docs/fonts/element-icons.2fad952a.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronliruonan/aya-draglayout/HEAD/docs/fonts/element-icons.2fad952a.woff -------------------------------------------------------------------------------- /docs/fonts/element-icons.6f0a7632.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronliruonan/aya-draglayout/HEAD/docs/fonts/element-icons.6f0a7632.ttf -------------------------------------------------------------------------------- /src/components/widgets/Widget.js: -------------------------------------------------------------------------------- 1 | // 小部件实体类 2 | class Widget { 3 | constructor(name, alias) { 4 | this.name = name; 5 | this.alias = alias; 6 | } 7 | } 8 | 9 | export default Widget; 10 | -------------------------------------------------------------------------------- /tests/e2e/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: ["cypress"], 3 | env: { 4 | mocha: true, 5 | "cypress/globals": true 6 | }, 7 | rules: { 8 | strict: "off" 9 | } 10 | }; 11 | -------------------------------------------------------------------------------- /src/store.js: -------------------------------------------------------------------------------- 1 | import Vue from "vue"; 2 | import Vuex from "vuex"; 3 | 4 | Vue.use(Vuex); 5 | 6 | export default new Vuex.Store({ 7 | state: { 8 | loadingInstance: null 9 | }, 10 | mutations: {}, 11 | actions: {} 12 | }); 13 | -------------------------------------------------------------------------------- /tests/e2e/specs/test.js: -------------------------------------------------------------------------------- 1 | // https://docs.cypress.io/api/introduction/api.html 2 | 3 | describe("My First Test", () => { 4 | it("Visits the app root url", () => { 5 | cy.visit("/"); 6 | cy.contains("h1", "Welcome to Your Vue.js App"); 7 | }); 8 | }); 9 | -------------------------------------------------------------------------------- /src/components/widgets/AyaExample.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | /tests/e2e/videos/ 6 | /tests/e2e/screenshots/ 7 | 8 | # local env files 9 | .env.local 10 | .env.*.local 11 | 12 | # Log files 13 | npm-debug.log* 14 | yarn-debug.log* 15 | yarn-error.log* 16 | 17 | # Editor directories and files 18 | .idea 19 | .vscode 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw* 25 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | node: true 5 | }, 6 | extends: ["plugin:vue/essential", "@vue/prettier"], 7 | rules: { 8 | "no-console": process.env.NODE_ENV === "production" ? "error" : "off", 9 | "no-debugger": process.env.NODE_ENV === "production" ? "error" : "off" 10 | }, 11 | parserOptions: { 12 | parser: "babel-eslint" 13 | } 14 | }; 15 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from "vue"; 2 | import App from "./App.vue"; 3 | import router from "./router"; 4 | import store from "./store"; 5 | 6 | import ElementUI from "element-ui"; 7 | import "element-ui/lib/theme-chalk/index.css"; 8 | 9 | Vue.config.productionTip = false; 10 | 11 | Vue.use(ElementUI, { size: "small", zIndex: 3000 }); 12 | 13 | new Vue({ 14 | router, 15 | store, 16 | render: h => h(App) 17 | }).$mount("#app"); 18 | -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | // vue.config.js 2 | module.exports = { 3 | publicPath: process.env.NODE_ENV === "production" ? "/aya-draglayout/" : "/" 4 | // productionGzip: true, 5 | // productionGzipExtensions: ["js", "css"] failed 6 | // configureWebpack: config => { 7 | // if (process.env.NODE_ENV === "production") { 8 | // // 为生产环境修改配置 9 | // config. 10 | // } else { 11 | // // 为开发环境修改配置 12 | // } 13 | // } 14 | }; 15 | -------------------------------------------------------------------------------- /docs/js/about.6fe3c8de.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["about"],{f820:function(t,e,n){"use strict";n.r(e);var a=function(){var t=this,e=t.$createElement;t._self._c;return t._m(0)},s=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"about"},[n("h1",[t._v("This is an about page")])])}],u=n("2877"),i={},o=Object(u["a"])(i,a,s,!1,null,null,null);o.options.__file="About.vue";e["default"]=o.exports}}]); 2 | //# sourceMappingURL=about.6fe3c8de.js.map -------------------------------------------------------------------------------- /docs/css/app.fab2919d.css: -------------------------------------------------------------------------------- 1 | #app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50}#nav{padding:10px}#nav a{font-weight:700;color:#2c3e50}#nav a.router-link-exact-active{color:#42b983}ul{list-style:none;padding:0}li{display:inline-block;margin:5px 10px;padding:5px 10px;border:1px solid #e6e6e6}.el-row{padding-top:20px}h3[data-v-06ae287c]{margin:40px 0 0}ul[data-v-06ae287c]{list-style-type:none;padding:0}li[data-v-06ae287c]{display:inline-block;margin:0 10px}a[data-v-06ae287c]{color:#42b983} -------------------------------------------------------------------------------- /src/components/widgets/AyaTimer.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 31 | -------------------------------------------------------------------------------- /src/components/widgets/index.js: -------------------------------------------------------------------------------- 1 | // 暂时没有办法一次全部局部加载多个组件 2 | import AyaTimer from "@/components/widgets/AyaTimer.vue"; 3 | import AyaExample from "@/components/widgets/AyaExample.vue"; 4 | import AyaCmdLoading from "@/components/widgets/AyaCmdLoading.vue"; 5 | 6 | import Widget from "@/components/widgets/Widget.js"; 7 | 8 | export default { 9 | components: { 10 | AyaExample, 11 | AyaTimer, 12 | AyaCmdLoading 13 | }, 14 | widgets: [ 15 | new Widget("AyaExample", "小挂件-样例"), 16 | new Widget("AyaTimer", "小挂件-计时器"), 17 | new Widget("AyaCmdLoading", "小挂件-CMD加载") 18 | ] 19 | }; 20 | -------------------------------------------------------------------------------- /docs/css/chunk-4d12a612.ce5bf7d7.css: -------------------------------------------------------------------------------- 1 | .portal__preview{position:absolute;top:10px;left:1%;width:98%;height:auto;min-height:90%;padding:0 15px 20px 15px;-webkit-box-sizing:border-box;box-sizing:border-box;border:20px solid #333}.cursor--forbid{cursor:not-allowed!important}.cursor--move{cursor:move!important}p.cursor--move{margin:0;padding:10px;font-size:12px!important;background-color:#b0c4de}.fade-enter-active,.fade-leave-active{-webkit-transition:all .5s ease;transition:all .5s ease}.fade-enter{-webkit-transform:translateX(15px);transform:translateX(15px);opacity:0}.fade-leave-to{-webkit-transform:translateY(30px);transform:translateY(30px);opacity:0} -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | aya-draglayout 9 | 10 | 11 | 14 |
15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/components/widgets/AyaCmdLoading.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 31 | -------------------------------------------------------------------------------- /tests/e2e/plugins/index.js: -------------------------------------------------------------------------------- 1 | // https://docs.cypress.io/guides/guides/plugins-guide.html 2 | /* eslint-disable import/no-extraneous-dependencies global-require */ 3 | const webpack = require("@cypress/webpack-preprocessor"); 4 | 5 | module.exports = (on, config) => { 6 | on( 7 | "file:preprocessor", 8 | webpack({ 9 | webpackOptions: require("@vue/cli-service/webpack.config"), 10 | watchOptions: {} 11 | }) 12 | ); 13 | 14 | return Object.assign({}, config, { 15 | fixturesFolder: "tests/e2e/fixtures", 16 | integrationFolder: "tests/e2e/specs", 17 | screenshotsFolder: "tests/e2e/screenshots", 18 | videosFolder: "tests/e2e/videos", 19 | supportFile: "tests/e2e/support/index.js" 20 | }); 21 | }; 22 | -------------------------------------------------------------------------------- /tests/e2e/support/index.js: -------------------------------------------------------------------------------- 1 | // *********************************************************** 2 | // This example support/index.js is processed and 3 | // loaded automatically before your test files. 4 | // 5 | // This is a great place to put global configuration and 6 | // behavior that modifies Cypress. 7 | // 8 | // You can change the location of this file or turn off 9 | // automatically serving support files with the 10 | // 'supportFile' configuration option. 11 | // 12 | // You can read more here: 13 | // https://on.cypress.io/configuration 14 | // *********************************************************** 15 | 16 | // Import commands.js using ES2015 syntax: 17 | import "./commands"; 18 | 19 | // Alternatively you can use CommonJS syntax: 20 | // require('./commands') 21 | -------------------------------------------------------------------------------- /src/components/HelloWorld.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 20 | 21 | 22 | 38 | -------------------------------------------------------------------------------- /src/views/Home.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 34 | -------------------------------------------------------------------------------- /src/router.js: -------------------------------------------------------------------------------- 1 | import Vue from "vue"; 2 | import Router from "vue-router"; 3 | import Home from "./views/Home.vue"; 4 | 5 | Vue.use(Router); 6 | 7 | export default new Router({ 8 | mode: "history", 9 | base: process.env.BASE_URL, 10 | routes: [ 11 | { 12 | path: "/home", 13 | name: "home", 14 | component: Home 15 | }, 16 | { 17 | path: "/about", 18 | name: "about", 19 | // route level code-splitting 20 | // this generates a separate chunk (about.[hash].js) for this route 21 | // which is lazy-loaded when the route is visited. 22 | component: () => 23 | import(/* webpackChunkName: "about" */ "./views/About.vue") 24 | }, 25 | { 26 | path: "/", 27 | name: "portal", 28 | component: () => import("./views/Portal.vue") 29 | } 30 | ] 31 | }); 32 | -------------------------------------------------------------------------------- /src/views/Portal.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 32 | -------------------------------------------------------------------------------- /src/views/About.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 41 | 42 | -------------------------------------------------------------------------------- /tests/e2e/support/commands.js: -------------------------------------------------------------------------------- 1 | // *********************************************** 2 | // This example commands.js shows you how to 3 | // create various custom commands and overwrite 4 | // existing commands. 5 | // 6 | // For more comprehensive examples of custom 7 | // commands please read more here: 8 | // https://on.cypress.io/custom-commands 9 | // *********************************************** 10 | // 11 | // 12 | // -- This is a parent command -- 13 | // Cypress.Commands.add("login", (email, password) => { ... }) 14 | // 15 | // 16 | // -- This is a child command -- 17 | // Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... }) 18 | // 19 | // 20 | // -- This is a dual command -- 21 | // Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... }) 22 | // 23 | // 24 | // -- This is will overwrite an existing command -- 25 | // Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) 26 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 44 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "aya-draglayout", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "start": "vue-cli-service serve --port 8100 --copy", 7 | "build": "vue-cli-service build --dest docs", 8 | "lint": "vue-cli-service lint", 9 | "test:e2e": "vue-cli-service test:e2e" 10 | }, 11 | "dependencies": { 12 | "element-ui": "^2.4.8", 13 | "es6-uuid": "^1.0.1", 14 | "vue": "^2.5.17", 15 | "vue-router": "^3.0.1", 16 | "vuedraggable": "^2.16.0", 17 | "vuex": "^3.0.1" 18 | }, 19 | "devDependencies": { 20 | "@cypress/webpack-preprocessor": "^3.0.0", 21 | "@vue/cli-plugin-babel": "^3.7.0", 22 | "@vue/cli-plugin-e2e-cypress": "^3.0.5", 23 | "@vue/cli-plugin-eslint": "^3.0.5", 24 | "@vue/cli-service": "^3.7.0", 25 | "@vue/eslint-config-prettier": "^3.0.5", 26 | "node-sass": "^4.9.0", 27 | "sass-loader": "^7.0.1", 28 | "vue-template-compiler": "^2.5.17" 29 | }, 30 | "author": "RonLi", 31 | "license": "MIT" 32 | } 33 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # aya-draglayout 2 | 3 | 这个是自己调研的一个比较糙的Demo, 里面有些垃圾代码,有点乱 4 | 5 | 主要有两个核心点: 6 | 1. 支持拖拽 7 | - 无意间发现了GitHub的一个js库:https://github.com/SortableJS/Sortable 8 | - 这是它的Vue版本: https://github.com/SortableJS/Vue.Draggable 9 | 2. 用了Vue的动态组件 `` 10 | 11 | 余下的就是一些糙的code逻辑: 12 | 1. 准备几个Vue的组件,用`.js`文件把这些组件`export`出去, 13 | 2. Vue的支持的动态组件,利用`:is`来绑定被拖拽的组件名字 14 | 3. 利用Vue.Draggel的事件,来完成组件数据记录 15 | 4. 准备好 数据结构 + 页面布局,就ok了, 16 | 17 | 目前demo欠缺的是: 18 | 1. 都需要手动把Vue挂件import,没能自动 19 | 20 | 21 | Demo演示地址:https://ronliruonan.github.io/aya-draglayout/ 22 | 23 | ## Project setup 24 | ``` 25 | npm install 26 | ``` 27 | 28 | ### Compiles and hot-reloads for development 29 | ``` 30 | npm run serve 31 | ``` 32 | 33 | ### Compiles and minifies for production 34 | ``` 35 | npm run build 36 | ``` 37 | 38 | ### Run your tests 39 | ``` 40 | npm run test 41 | ``` 42 | 43 | ### Lints and fixes files 44 | ``` 45 | npm run lint 46 | ``` 47 | 48 | ### Run your end-to-end tests 49 | ``` 50 | npm run test:e2e 51 | ``` 52 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Ron Li 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | aya-draglayout
-------------------------------------------------------------------------------- /docs/js/about.6fe3c8de.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/views/About.vue?24a9","webpack:///./src/views/About.vue"],"names":["render","_vm","this","_h","$createElement","_self","_c","_m","staticRenderFns","staticClass","_v","script","component","Object","componentNormalizer","options","__file","__webpack_exports__"],"mappings":"8GAAA,IAAAA,EAAA,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BH,EAAAI,MAAAC,GAAwB,OAAAL,EAAAM,GAAA,IACzFC,GAAA,WAAoC,IAAAP,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BE,EAAAL,EAAAI,MAAAC,IAAAH,EAAwB,OAAAG,EAAA,OAAiBG,YAAA,UAAoBH,EAAA,MAAAL,EAAAS,GAAA,2CCAxIC,KAKAC,EAAgBC,OAAAC,EAAA,KAAAD,CAChBF,EACEX,EACAQ,GACF,EACA,KACA,KACA,MAIAI,EAAAG,QAAAC,OAAA,YACeC,EAAA,WAAAL","file":"js/about.6fe3c8de.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"about\"},[_c('h1',[_vm._v(\"This is an about page\")])])}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./About.vue?vue&type=template&id=0391505c&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"About.vue\"\nexport default component.exports"],"sourceRoot":""} -------------------------------------------------------------------------------- /src/components/portalconfig/PortalPreview.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 38 | 39 | 52 | -------------------------------------------------------------------------------- /src/components/portalconfig/WidgetArea.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 51 | -------------------------------------------------------------------------------- /src/components/portalconfig/PortalEditor.vue: -------------------------------------------------------------------------------- 1 | 39 | 40 | 131 | 159 | -------------------------------------------------------------------------------- /docs/js/app.25c4d8d8.js: -------------------------------------------------------------------------------- 1 | (function(e){function t(t){for(var r,o,l=t[0],c=t[1],i=t[2],s=0,f=[];sn-1?n:e[t]},getComponent:function(){return this.$slots.default[0].componentInstance},resetTransitionData:function(t){if(this.noTransitionOnDrag&&this.transitionMode){var e=this.getChildrenNodes();e[t].data=null;var n=this.getComponent();n.children=[],n.kept=void 0}},onDragStart:function(t){this.context=this.getUnderlyingVm(t.item),t.item._underlying_vm_=this.clone(this.context.element),f=t.item},onDragAdd:function(t){var e=t.item._underlying_vm_;if(void 0!==e){n(t.item);var i=this.getVmIndex(t.newIndex);this.spliceList(i,0,e),this.computeIndexes();var o={element:e,newIndex:i};this.emitChanges({added:o})}},onDragRemove:function(t){if(r(this.rootContainer,t.item,t.oldIndex),this.isCloning)n(t.clone);else{var e=this.context.index;this.spliceList(e,1);var i={element:this.context.element,oldIndex:e};this.resetTransitionData(e),this.emitChanges({removed:i})}},onDragUpdate:function(t){n(t.item),r(t.from,t.item,t.oldIndex);var e=this.context.index,i=this.getVmIndex(t.newIndex);this.updatePosition(e,i);var o={element:this.context.element,oldIndex:e,newIndex:i};this.emitChanges({moved:o})},computeFutureIndex:function(t,e){if(!t.element)return 0;var n=[].concat(o(e.to.children)).filter(function(t){return"none"!==t.style["display"]}),i=n.indexOf(e.related),r=t.component.getVmIndex(i),a=-1!=n.indexOf(f);return a||!e.willInsertAfter?r:r+1},onDragMove:function(t,e){var n=this.move;if(!n||!this.realList)return!0;var o=this.getRelatedContextFromMoveEvent(t),r=this.context,a=this.computeFutureIndex(o,t);return i(r,{futureIndex:a}),i(t,{relatedContext:o,draggedContext:r}),n(t,e)},onDragEnd:function(t){this.computeIndexes(),f=null}}};return g}Array.from||(Array.from=function(t){return[].slice.call(t)});var a=n("53fe");t.exports=r(a)})()},"53fe":function(t,e,n){var i,o; 2 | /**! 3 | * Sortable 4 | * @author RubaXa 5 | * @license MIT 6 | */ 7 | /**! 8 | * Sortable 9 | * @author RubaXa 10 | * @license MIT 11 | */ 12 | (function(r){"use strict";i=r,o="function"===typeof i?i.call(e,n,e,t):i,void 0===o||(t.exports=o)})(function(){"use strict";if("undefined"===typeof window||!window.document)return function(){throw new Error("Sortable.js requires a window with a document")};var t,e,n,i,o,r,a,s,l,c,u,d,h,f,p,g,v,m,_,y,b={},w=/\s+/g,x=/left|right|inline/,D="Sortable"+(new Date).getTime(),C=window,S=C.document,T=C.parseInt,E=C.setTimeout,L=C.jQuery||C.Zepto,k=C.Polymer,P=!1,O=!1,A="draggable"in S.createElement("div"),M=function(t){return!navigator.userAgent.match(/(?:Trident.*rv[ :]?11\.|msie)/i)&&(t=S.createElement("x"),t.style.cssText="pointer-events:auto","auto"===t.style.pointerEvents)}(),I=!1,N=Math.abs,$=Math.min,R=[],B=[],j=rt(function(t,e,n){if(n&&e.scroll){var i,o,r,a,u,d,h=n[D],f=e.scrollSensitivity,p=e.scrollSpeed,g=t.clientX,v=t.clientY,m=window.innerWidth,_=window.innerHeight;if(l!==n&&(s=e.scroll,l=n,c=e.scrollFn,!0===s)){s=n;do{if(s.offsetWidth-1:o==t)}}var n={},i=t.group;i&&"object"==typeof i||(i={name:i}),n.name=i.name,n.checkPull=e(i.pull,!0),n.checkPut=e(i.put),n.revertClone=i.revertClone,t.group=n};try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){O=!1,P={capture:!1,passive:O}}}))}catch(t){}function Y(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` must be HTMLElement, and not "+{}.toString.call(t);this.el=t,this.options=e=at({},e),t[D]=this;var n={group:Math.random(),sort:!0,disabled:!1,store:null,handle:null,scroll:!0,scrollSensitivity:30,scrollSpeed:10,draggable:/[uo]l/i.test(t.nodeName)?"li":">*",ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Y.supportPointer};for(var i in n)!(i in e)&&(e[i]=n[i]);for(var o in F(e),this)"_"===o.charAt(0)&&"function"===typeof this[o]&&(this[o]=this[o].bind(this));this.nativeDraggable=!e.forceFallback&&A,G(t,"mousedown",this._onTapStart),G(t,"touchstart",this._onTapStart),e.supportPointer&&G(t,"pointerdown",this._onTapStart),this.nativeDraggable&&(G(t,"dragover",this),G(t,"dragenter",this)),B.push(this._onDragOver),e.store&&this.sort(e.store.get(this))}function X(e,n){"clone"!==e.lastPullMode&&(n=!0),i&&i.state!==n&&(q(i,"display",n?"none":""),n||i.state&&(e.options.group.revertClone?(o.insertBefore(i,r),e._animate(t,i)):o.insertBefore(i,t)),i.state=n)}function z(t,e,n){if(t){n=n||S;do{if(">*"===e&&t.parentNode===n||ot(t,e))return t}while(t=V(t))}return null}function V(t){var e=t.host;return e&&e.nodeType?e:t.parentNode}function U(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move"),t.preventDefault()}function G(t,e,n){t.addEventListener(e,n,P)}function H(t,e,n){t.removeEventListener(e,n,P)}function W(t,e,n){if(t)if(t.classList)t.classList[n?"add":"remove"](e);else{var i=(" "+t.className+" ").replace(w," ").replace(" "+e+" "," ");t.className=(i+(n?" "+e:"")).replace(w," ")}}function q(t,e,n){var i=t&&t.style;if(i){if(void 0===n)return S.defaultView&&S.defaultView.getComputedStyle?n=S.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),void 0===e?n:n[e];e in i||(e="-webkit-"+e),i[e]=n+("string"===typeof n?"":"px")}}function J(t,e,n){if(t){var i=t.getElementsByTagName(e),o=0,r=i.length;if(n)for(;o5||e.clientX-(i.left+i.width)>5}function nt(t){var e=t.tagName+t.className+t.src+t.href+t.textContent,n=e.length,i=0;while(n--)i+=e.charCodeAt(n);return i.toString(36)}function it(t,e){var n=0;if(!t||!t.parentNode)return-1;while(t&&(t=t.previousElementSibling))"TEMPLATE"===t.nodeName.toUpperCase()||">*"!==e&&!ot(t,e)||n++;return n}function ot(t,e){if(t){e=e.split(".");var n=e.shift().toUpperCase(),i=new RegExp("\\s("+e.join("|")+")(?=\\s)","g");return(""===n||t.nodeName.toUpperCase()==n)&&(!e.length||((" "+t.className+" ").match(i)||[]).length==e.length)}return!1}function rt(t,e){var n,i;return function(){void 0===n&&(n=arguments,i=this,E(function(){1===n.length?t.call(i,n[0]):t.apply(i,n),n=void 0},e))}}function at(t,e){if(t&&e)for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function st(t){return k&&k.dom?k.dom(t).cloneNode(!0):L?L(t).clone(!0)[0]:t.cloneNode(!0)}function lt(t){var e=t.getElementsByTagName("input"),n=e.length;while(n--){var i=e[n];i.checked&&R.push(i)}}function ct(t){return E(t,0)}function ut(t){return clearTimeout(t)}return Y.prototype={constructor:Y,_onTapStart:function(e){var n,i=this,o=this.el,r=this.options,s=r.preventOnFilter,l=e.type,c=e.touches&&e.touches[0],u=(c||e).target,d=e.target.shadowRoot&&e.path&&e.path[0]||u,h=r.filter;if(lt(o),!t&&!(/mousedown|pointerdown/.test(l)&&0!==e.button||r.disabled)&&!d.isContentEditable&&(u=z(u,r.draggable,o),u&&a!==u)){if(n=it(u,r.draggable),"function"===typeof h){if(h.call(this,e,u,this))return Q(i,d,"filter",u,o,o,n),void(s&&e.preventDefault())}else if(h&&(h=h.split(",").some(function(t){if(t=z(d,t.trim(),o),t)return Q(i,t,"filter",u,o,o,n),!0}),h))return void(s&&e.preventDefault());r.handle&&!z(d,r.handle,o)||this._prepareDragStart(e,c,u,n)}},_prepareDragStart:function(n,i,s,l){var c,u=this,d=u.el,h=u.options,p=d.ownerDocument;s&&!t&&s.parentNode===d&&(m=n,o=d,t=s,e=t.parentNode,r=t.nextSibling,a=s,g=h.group,f=l,this._lastX=(i||n).clientX,this._lastY=(i||n).clientY,t.style["will-change"]="all",c=function(){u._disableDelayedDrag(),t.draggable=u.nativeDraggable,W(t,h.chosenClass,!0),u._triggerDragStart(n,i),Q(u,o,"choose",t,o,o,f)},h.ignore.split(",").forEach(function(e){J(t,e.trim(),K)}),G(p,"mouseup",u._onDrop),G(p,"touchend",u._onDrop),G(p,"touchcancel",u._onDrop),G(p,"selectstart",u),h.supportPointer&&G(p,"pointercancel",u._onDrop),h.delay?(G(p,"mouseup",u._disableDelayedDrag),G(p,"touchend",u._disableDelayedDrag),G(p,"touchcancel",u._disableDelayedDrag),G(p,"mousemove",u._disableDelayedDrag),G(p,"touchmove",u._disableDelayedDrag),h.supportPointer&&G(p,"pointermove",u._disableDelayedDrag),u._dragStartTimer=E(c,h.delay)):c())},_disableDelayedDrag:function(){var t=this.el.ownerDocument;clearTimeout(this._dragStartTimer),H(t,"mouseup",this._disableDelayedDrag),H(t,"touchend",this._disableDelayedDrag),H(t,"touchcancel",this._disableDelayedDrag),H(t,"mousemove",this._disableDelayedDrag),H(t,"touchmove",this._disableDelayedDrag),H(t,"pointermove",this._disableDelayedDrag)},_triggerDragStart:function(e,n){n=n||("touch"==e.pointerType?e:null),n?(m={target:t,clientX:n.clientX,clientY:n.clientY},this._onDragStart(m,"touch")):this.nativeDraggable?(G(t,"dragend",this),G(o,"dragstart",this._onDragStart)):this._onDragStart(m,!0);try{S.selection?ct(function(){S.selection.empty()}):window.getSelection().removeAllRanges()}catch(t){}},_dragStarted:function(){if(o&&t){var e=this.options;W(t,e.ghostClass,!0),W(t,e.dragClass,!1),Y.active=this,Q(this,o,"start",t,o,o,f)}else this._nulling()},_emulateDragOver:function(){if(_){if(this._lastX===_.clientX&&this._lastY===_.clientY)return;this._lastX=_.clientX,this._lastY=_.clientY,M||q(n,"display","none");var t=S.elementFromPoint(_.clientX,_.clientY),e=t,i=B.length;if(t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(_.clientX,_.clientY),e=t),e)do{if(e[D]){while(i--)B[i]({clientX:_.clientX,clientY:_.clientY,target:t,rootEl:e});break}t=e}while(e=e.parentNode);M||q(n,"display","")}},_onTouchMove:function(t){if(m){var e=this.options,i=e.fallbackTolerance,o=e.fallbackOffset,r=t.touches?t.touches[0]:t,a=r.clientX-m.clientX+o.x,s=r.clientY-m.clientY+o.y,l=t.touches?"translate3d("+a+"px,"+s+"px,0)":"translate("+a+"px,"+s+"px)";if(!Y.active){if(i&&$(N(r.clientX-this._lastX),N(r.clientY-this._lastY))t.offsetWidth,O=s.offsetHeight>t.offsetHeight,A=(k?(a.clientX-c.left)/T:(a.clientY-c.top)/L)>.5,M=s.nextElementSibling,N=!1;if(k){var $=t.offsetTop,R=s.offsetTop;N=$===R?s.previousElementSibling===t&&!P||A&&P:s.previousElementSibling===t||t.previousElementSibling===s?(a.clientY-c.top)/L>.5:R>$}else C||(N=M!==t&&!O||A&&O);var B=Z(o,p,t,l,s,c,a,N);!1!==B&&(1!==B&&-1!==B||(N=1===B),I=!0,E(tt,30),X(b,w),t.contains(p)||(N&&!M?p.appendChild(t):s.parentNode.insertBefore(t,N?M:s)),e=t.parentNode,this._animate(l,t),this._animate(c,s))}}},_animate:function(t,e){var n=this.options.animation;if(n){var i=e.getBoundingClientRect();1===t.nodeType&&(t=t.getBoundingClientRect()),q(e,"transition","none"),q(e,"transform","translate3d("+(t.left-i.left)+"px,"+(t.top-i.top)+"px,0)"),e.offsetWidth,q(e,"transition","all "+n+"ms"),q(e,"transform","translate3d(0,0,0)"),clearTimeout(e.animated),e.animated=E(function(){q(e,"transition",""),q(e,"transform",""),e.animated=!1},n)}},_offUpEvents:function(){var t=this.el.ownerDocument;H(S,"touchmove",this._onTouchMove),H(S,"pointermove",this._onTouchMove),H(t,"mouseup",this._onDrop),H(t,"touchend",this._onDrop),H(t,"pointerup",this._onDrop),H(t,"touchcancel",this._onDrop),H(t,"pointercancel",this._onDrop),H(t,"selectstart",this)},_onDrop:function(a){var s=this.el,l=this.options;clearInterval(this._loopId),clearInterval(b.pid),clearTimeout(this._dragStartTimer),ut(this._cloneId),ut(this._dragStartId),H(S,"mouseover",this),H(S,"mousemove",this._onTouchMove),this.nativeDraggable&&(H(S,"drop",this),H(s,"dragstart",this._onDragStart)),this._offUpEvents(),a&&(y&&(a.preventDefault(),!l.dropBubble&&a.stopPropagation()),n&&n.parentNode&&n.parentNode.removeChild(n),o!==e&&"clone"===Y.active.lastPullMode||i&&i.parentNode&&i.parentNode.removeChild(i),t&&(this.nativeDraggable&&H(t,"dragend",this),K(t),t.style["will-change"]="",W(t,this.options.ghostClass,!1),W(t,this.options.chosenClass,!1),Q(this,o,"unchoose",t,e,o,f),o!==e?(p=it(t,l.draggable),p>=0&&(Q(null,e,"add",t,e,o,f,p),Q(this,o,"remove",t,e,o,f,p),Q(null,e,"sort",t,e,o,f,p),Q(this,o,"sort",t,e,o,f,p))):t.nextSibling!==r&&(p=it(t,l.draggable),p>=0&&(Q(this,o,"update",t,e,o,f,p),Q(this,o,"sort",t,e,o,f,p))),Y.active&&(null!=p&&-1!==p||(p=f),Q(this,o,"end",t,e,o,f,p),this.save()))),this._nulling()},_nulling:function(){o=t=e=n=r=i=a=s=l=m=_=y=p=u=d=v=g=Y.active=null,R.forEach(function(t){t.checked=!0}),R.length=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragover":case"dragenter":t&&(this._onDragOver(e),U(e));break;case"mouseover":this._onDrop(e);break;case"selectstart":e.preventDefault();break}},toArray:function(){for(var t,e=[],n=this.el.children,i=0,o=n.length,r=this.options;i0&&void 0!==arguments[0]?arguments[0]:[6,6,6,6],e={zones:[]};t.forEach(function(t){e.zones.push({size:t,widgets:[]})}),this.rows.push(e)},preview:function(t){this.isPreview=null===t||void 0===t?!this.isPreview:!!t},deleteRow:function(t){this.rows.splice(t,1)}},data:function(){return{isPreview:!1,rows:[{zones:[{size:12,widgets:[{name:"AyaExample",alias:"第一纵Origin左边左"}]},{size:12,widgets:[{name:"AyaExample",alias:"第一纵Origin右边右"}]}]},{zones:[{size:8,widgets:[{name:"AyaTimer",alias:"预设Timer"}]},{size:8,widgets:[]},{size:8,widgets:[]}]}]}}},W=H,q=(n("0e55"),Object(_["a"])(W,a,s,!1,null,null,null));q.options.__file="PortalEditor.vue";var J=q.exports,Q={name:"portal",components:{PortalEditor:J},beforeCreate:function(){this.$store.state.loadingInstance=r["Loading"].service()},created:function(){var t=this;window.setTimeout(function(){var e=t.$store.state.loadingInstance;e&&e.close&&e.close()},1e3)},data:function(){return{}}},Z=Q,K=Object(_["a"])(Z,i,o,!1,null,null,null);K.options.__file="Portal.vue";e["default"]=K.exports},"9ff5":function(t,e,n){},ac6a:function(t,e,n){for(var i=n("cadf"),o=n("0d58"),r=n("2aba"),a=n("7726"),s=n("32e9"),l=n("84f2"),c=n("2b4c"),u=c("iterator"),d=c("toStringTag"),h=l.Array,f={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p=o(f),g=0;g\r\n
\r\n

{{ msg }}

\r\n

\r\n For guide and recipes on how to configure / customize this project,
\r\n check out the\r\n vue-cli documentation.\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelloWorld.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelloWorld.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HelloWorld.vue?vue&type=template&id=06ae287c&scoped=true&\"\nimport script from \"./HelloWorld.vue?vue&type=script&lang=js&\"\nexport * from \"./HelloWorld.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HelloWorld.vue?vue&type=style&index=0&id=06ae287c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"06ae287c\",\n null\n \n)\n\ncomponent.options.__file = \"HelloWorld.vue\"\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=27559ef1&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Home.vue\"\nexport default component.exports","import Vue from \"vue\";\r\nimport Router from \"vue-router\";\r\nimport Home from \"./views/Home.vue\";\r\n\r\nVue.use(Router);\r\n\r\nexport default new Router({\r\n mode: \"history\",\r\n base: process.env.BASE_URL,\r\n routes: [\r\n {\r\n path: \"/home\",\r\n name: \"home\",\r\n component: Home\r\n },\r\n {\r\n path: \"/about\",\r\n name: \"about\",\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () =>\r\n import(/* webpackChunkName: \"about\" */ \"./views/About.vue\")\r\n },\r\n {\r\n path: \"/\",\r\n name: \"portal\",\r\n component: () => import(\"./views/Portal.vue\")\r\n }\r\n ]\r\n});\r\n","import Vue from \"vue\";\r\nimport Vuex from \"vuex\";\r\n\r\nVue.use(Vuex);\r\n\r\nexport default new Vuex.Store({\r\n state: {\r\n loadingInstance: null\r\n },\r\n mutations: {},\r\n actions: {}\r\n});\r\n","import Vue from \"vue\";\r\nimport App from \"./App.vue\";\r\nimport router from \"./router\";\r\nimport store from \"./store\";\r\n\r\nimport ElementUI from \"element-ui\";\r\nimport \"element-ui/lib/theme-chalk/index.css\";\r\n\r\nVue.config.productionTip = false;\r\n\r\nVue.use(ElementUI, { size: \"small\", zIndex: 3000 });\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n render: h => h(App)\r\n}).$mount(\"#app\");\r\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/lib/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/lib/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/lib/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelloWorld.vue?vue&type=style&index=0&id=06ae287c&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/lib/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelloWorld.vue?vue&type=style&index=0&id=06ae287c&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/logo.82b9c7a5.png\";"],"sourceRoot":""} -------------------------------------------------------------------------------- /docs/js/chunk-4d12a612.d1fb0639.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/components/portalconfig/PortalEditor.vue?32e5","webpack:///./node_modules/vuedraggable/dist/vuedraggable.js","webpack:///./node_modules/sortablejs/Sortable.js","webpack:///./src/views/Portal.vue?1dcf","webpack:///./src/components/portalconfig/PortalEditor.vue?6123","webpack:///./node_modules/@babel/runtime/helpers/builtin/es6/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/builtin/es6/objectSpread.js","webpack:///./src/components/portalconfig/WidgetArea.vue?535c","webpack:///./src/components/widgets/AyaTimer.vue?9f9e","webpack:///src/components/widgets/AyaTimer.vue","webpack:///./src/components/widgets/AyaTimer.vue?ba0e","webpack:///./src/components/widgets/AyaTimer.vue","webpack:///./src/components/widgets/AyaExample.vue?a896","webpack:///src/components/widgets/AyaExample.vue","webpack:///./src/components/widgets/AyaExample.vue?dd8d","webpack:///./src/components/widgets/AyaExample.vue","webpack:///./src/components/widgets/AyaCmdLoading.vue?4675","webpack:///src/components/widgets/AyaCmdLoading.vue","webpack:///./src/components/widgets/AyaCmdLoading.vue?daba","webpack:///./src/components/widgets/AyaCmdLoading.vue","webpack:///./node_modules/@babel/runtime/helpers/builtin/es6/classCallCheck.js","webpack:///./src/components/widgets/Widget.js","webpack:///./src/components/widgets/index.js","webpack:///src/components/portalconfig/WidgetArea.vue","webpack:///./src/components/portalconfig/WidgetArea.vue?9d50","webpack:///./src/components/portalconfig/WidgetArea.vue","webpack:///./src/components/portalconfig/PortalPreview.vue?3e63","webpack:///src/components/portalconfig/PortalPreview.vue","webpack:///./src/components/portalconfig/PortalPreview.vue?350b","webpack:///./src/components/portalconfig/PortalPreview.vue","webpack:///src/components/portalconfig/PortalEditor.vue","webpack:///./src/components/portalconfig/PortalEditor.vue?e5db","webpack:///./src/components/portalconfig/PortalEditor.vue","webpack:///src/views/Portal.vue","webpack:///./src/views/Portal.vue?c1a4","webpack:///./src/views/Portal.vue","webpack:///./node_modules/core-js/modules/web.dom.iterable.js","webpack:///./src/components/portalconfig/PortalPreview.vue?e754"],"names":["_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PortalEditor_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PortalEditor_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default","n","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","_toConsumableArray","arr","Array","isArray","arr2","from","buildAttribute","object","propName","value","undefined","buildDraggable","Sortable","removeNode","node","parentElement","removeChild","insertNodeAt","fatherNode","position","refNode","children","nextSibling","insertBefore","computeVmIndex","vnodes","element","map","elt","elm","indexOf","_computeIndexes","slots","isTransition","elmFromNodes","rawIndexes","concat","filter","ind","emit","evtName","evtData","_this","this","$nextTick","$emit","toLowerCase","delegateAndEmit","_this2","realList","eventsListened","eventsToEmit","readonlyProperties","evt","draggingElement","props","options","list","type","required","default","noTransitionOnDrag","Boolean","clone","Function","original","String","move","componentData","draggableComponent","name","data","transitionMode","noneFunctionalComponentMode","init","render","h","$slots","child","componentOptions","tag","footer","attributes","update","$attrs","_componentData","on","_props","mounted","_this3","$el","nodeName","Error","optionsAdded","forEach","bind","onMove","originalEvent","onDragMove","draggable","_sortable","rootContainer","computeIndexes","beforeDestroy","destroy","computed","isCloning","group","pull","watch","handler","newOptionValue","property","option","deep","methods","getChildrenNodes","$children","rawNodes","_this4","visibleIndexes","getUnderlyingVm","htmlElt","index","getUnderlyingPotencialDraggableComponent","_ref","__vue__","$options","_componentTag","$parent","emitChanges","_this5","alterList","onList","newList","spliceList","_arguments","splice","apply","updatePosition","oldIndex","newIndex","getRelatedContextFromMoveEvent","_ref2","to","related","component","context","destination","getVmIndex","domIndex","indexes","numberIndexes","getComponent","componentInstance","resetTransitionData","nodes","transitionContainer","kept","onDragStart","item","_underlying_vm_","onDragAdd","added","onDragRemove","removed","onDragUpdate","moved","computeFutureIndex","relatedContext","domChildren","el","style","currentDOMIndex","currentIndex","draggedInList","willInsertAfter","draggedContext","futureIndex","onDragEnd","slice","module","exports","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","factory","window","document","dragEl","parentEl","ghostEl","cloneEl","rootEl","nextEl","lastDownEl","scrollEl","scrollParentEl","scrollCustomFn","lastEl","lastCSS","lastParentCSS","activeGroup","putSortable","tapEvt","touchEvt","autoScroll","R_SPACE","R_FLOAT","expando","Date","getTime","win","parseInt","setTimeout","$","jQuery","Zepto","Polymer","captureMode","passiveMode","supportDraggable","createElement","supportCssPointerEvents","navigator","userAgent","match","cssText","pointerEvents","_silent","abs","Math","min","savedInputChecked","touchDragOverListeners","_autoScroll","_throttle","scroll","rect","vx","vy","scrollOffsetX","scrollOffsetY","sens","scrollSensitivity","speed","scrollSpeed","x","clientX","y","clientY","winWidth","innerWidth","winHeight","innerHeight","scrollFn","offsetWidth","scrollWidth","offsetHeight","scrollHeight","parentNode","getBoundingClientRect","right","left","bottom","top","clearInterval","pid","setInterval","scrollTo","pageXOffset","pageYOffset","scrollTop","scrollLeft","_prepareGroup","toFn","fromGroup","join","originalGroup","checkPull","checkPut","put","revertClone","addEventListener","defineProperty","get","capture","passive","err","nodeType","toString","_extend","defaults","random","sort","disabled","store","handle","test","ghostClass","chosenClass","dragClass","ignore","preventOnFilter","animation","setData","dataTransfer","textContent","dropBubble","dragoverBubble","dataIdAttr","delay","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","fn","charAt","nativeDraggable","_on","_onTapStart","push","_onDragOver","_cloneHide","sortable","state","lastPullMode","_css","_animate","_closest","selector","ctx","_matches","_getParentOrHost","parent","host","_globalDragOver","dropEffect","preventDefault","event","_off","removeEventListener","_toggleClass","classList","className","replace","prop","val","defaultView","getComputedStyle","currentStyle","_find","tagName","iterator","getElementsByTagName","_dispatchEvent","targetEl","toEl","fromEl","startIndex","createEvent","onName","toUpperCase","substr","initEvent","dispatchEvent","_onMove","dragRect","targetRect","originalEvt","retVal","onMoveFn","dragged","draggedRect","relatedRect","_disableDraggable","_unsilent","_ghostIsLast","lastElementChild","height","width","_generateId","str","src","href","sum","charCodeAt","_index","previousElementSibling","split","shift","re","RegExp","callback","ms","args","dst","_clone","dom","cloneNode","_saveInputCheckedState","root","inputs","idx","checked","_nextTick","_cancelNextTick","id","clearTimeout","constructor","touch","touches","originalTarget","shadowRoot","path","button","isContentEditable","some","criteria","trim","_prepareDragStart","dragStartFn","ownerDocument","_lastX","_lastY","_disableDelayedDrag","_triggerDragStart","_onDrop","_dragStartTimer","pointerType","_onDragStart","selection","empty","getSelection","removeAllRanges","_dragStarted","active","_nulling","_emulateDragOver","elementFromPoint","_onTouchMove","dx","dy","translate3d","_appendGhost","ghostRect","css","marginTop","marginLeft","body","appendChild","useFallback","_offUpEvents","_cloneId","_loopId","effectAllowed","_dragStartId","revert","activeSortable","isOwner","isMovingBetweenSortable","canSort","stopPropagation","animated","contains","floating","cssFloat","display","isWide","isLong","halfway","nextElementSibling","after","elTop","offsetTop","tgTop","moveVector","prevRect","currentRect","save","handleEvent","toArray","order","getAttribute","items","set","closest","querySelectorAll","removeAttribute","utils","off","find","is","extend","throttle","toggleClass","nextTick","cancelNextTick","create","version","_vm","_h","$createElement","_c","_self","staticClass","attrs","msg","staticRenderFns","PortalEditorvue_type_template_id_798729f6_render","staticStyle","box-sizing","_v","background-color","click","$event","addRow","preview","_l","row","rowIndex","gutter","zone","zoneIndex","border","min-height","md","size","start","drag","end","model","$$v","$set","expression","itemIndex","color","widgets","_e","padding","font-size","icon","circle","title","deleteRow","contents","rows","previewclose","PortalEditorvue_type_template_id_798729f6_staticRenderFns","_defineProperty","obj","enumerable","configurable","writable","_objectSpread","ownKeys","keys","getOwnPropertySymbols","sym","getOwnPropertyDescriptor","WidgetAreavue_type_template_id_2cce6e52_render","widget","widgetIndex","_s","alias","text-align","WidgetAreavue_type_template_id_2cce6e52_staticRenderFns","AyaTimervue_type_template_id_b7ec6600_render","AyaTimervue_type_template_id_b7ec6600_staticRenderFns","AyaTimervue_type_script_lang_js_","created","timer","widgets_AyaTimervue_type_script_lang_js_","componentNormalizer","__file","AyaTimer","AyaExamplevue_type_template_id_59a94a4a_render","description","closable","center","show-icon","AyaExamplevue_type_template_id_59a94a4a_staticRenderFns","AyaExamplevue_type_script_lang_js_","widgets_AyaExamplevue_type_script_lang_js_","AyaExample_component","AyaExample","AyaCmdLoadingvue_type_template_id_43a0af56_render","txt","AyaCmdLoadingvue_type_template_id_43a0af56_staticRenderFns","AyaCmdLoadingvue_type_script_lang_js_","justGo","symbols","times","widgets_AyaCmdLoadingvue_type_script_lang_js_","AyaCmdLoading_component","AyaCmdLoading","_classCallCheck","instance","Constructor","TypeError","Widget","components","WidgetAreavue_type_script_lang_js_","vuedraggable_default","a","beforeCreate","portalconfig_WidgetAreavue_type_script_lang_js_","WidgetArea_component","WidgetArea","PortalPreviewvue_type_template_id_5be0c79e_render","close","PortalPreviewvue_type_template_id_5be0c79e_staticRenderFns","PortalPreviewvue_type_script_lang_js_","portalconfig_PortalPreviewvue_type_script_lang_js_","PortalPreview_component","PortalPreview","PortalEditorvue_type_script_lang_js_","ProtalPreview","cols","newRow","zones","colsize","vbool","isPreview","rowindex","portalconfig_PortalEditorvue_type_script_lang_js_","PortalEditor_component","PortalEditor","Portalvue_type_script_lang_js_","$store","loadingInstance","element_ui_common","service","views_Portalvue_type_script_lang_js_","Portal_component","__webpack_exports__","$iterators","getKeys","redefine","global","hide","Iterators","wks","ITERATOR","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","NAME","explicit","Collection","proto","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PortalPreview_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PortalPreview_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default"],"mappings":"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","file":"js/chunk-4d12a612.d1fb0639.js","sourcesContent":["import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PortalEditor.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PortalEditor.vue?vue&type=style&index=0&lang=scss&\"","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n(function () {\n \"use strict\";\n\n if (!Array.from) {\n Array.from = function (object) {\n return [].slice.call(object);\n };\n }\n\n function buildAttribute(object, propName, value) {\n if (value == undefined) {\n return object;\n }\n object = object == null ? {} : object;\n object[propName] = value;\n return object;\n }\n\n function buildDraggable(Sortable) {\n function removeNode(node) {\n node.parentElement.removeChild(node);\n }\n\n function insertNodeAt(fatherNode, node, position) {\n var refNode = position === 0 ? fatherNode.children[0] : fatherNode.children[position - 1].nextSibling;\n fatherNode.insertBefore(node, refNode);\n }\n\n function computeVmIndex(vnodes, element) {\n return vnodes.map(function (elt) {\n return elt.elm;\n }).indexOf(element);\n }\n\n function _computeIndexes(slots, children, isTransition) {\n if (!slots) {\n return [];\n }\n\n var elmFromNodes = slots.map(function (elt) {\n return elt.elm;\n });\n var rawIndexes = [].concat(_toConsumableArray(children)).map(function (elt) {\n return elmFromNodes.indexOf(elt);\n });\n return isTransition ? rawIndexes.filter(function (ind) {\n return ind !== -1;\n }) : rawIndexes;\n }\n\n function emit(evtName, evtData) {\n var _this = this;\n\n this.$nextTick(function () {\n return _this.$emit(evtName.toLowerCase(), evtData);\n });\n }\n\n function delegateAndEmit(evtName) {\n var _this2 = this;\n\n return function (evtData) {\n if (_this2.realList !== null) {\n _this2['onDrag' + evtName](evtData);\n }\n emit.call(_this2, evtName, evtData);\n };\n }\n\n var eventsListened = ['Start', 'Add', 'Remove', 'Update', 'End'];\n var eventsToEmit = ['Choose', 'Sort', 'Filter', 'Clone'];\n var readonlyProperties = ['Move'].concat(eventsListened, eventsToEmit).map(function (evt) {\n return 'on' + evt;\n });\n var draggingElement = null;\n\n var props = {\n options: Object,\n list: {\n type: Array,\n required: false,\n default: null\n },\n value: {\n type: Array,\n required: false,\n default: null\n },\n noTransitionOnDrag: {\n type: Boolean,\n default: false\n },\n clone: {\n type: Function,\n default: function _default(original) {\n return original;\n }\n },\n element: {\n type: String,\n default: 'div'\n },\n move: {\n type: Function,\n default: null\n },\n componentData: {\n type: Object,\n required: false,\n default: null\n }\n };\n\n var draggableComponent = {\n name: 'draggable',\n\n props: props,\n\n data: function data() {\n return {\n transitionMode: false,\n noneFunctionalComponentMode: false,\n init: false\n };\n },\n render: function render(h) {\n var slots = this.$slots.default;\n if (slots && slots.length === 1) {\n var child = slots[0];\n if (child.componentOptions && child.componentOptions.tag === \"transition-group\") {\n this.transitionMode = true;\n }\n }\n var children = slots;\n var footer = this.$slots.footer;\n\n if (footer) {\n children = slots ? [].concat(_toConsumableArray(slots), _toConsumableArray(footer)) : [].concat(_toConsumableArray(footer));\n }\n var attributes = null;\n var update = function update(name, value) {\n attributes = buildAttribute(attributes, name, value);\n };\n update('attrs', this.$attrs);\n if (this.componentData) {\n var _componentData = this.componentData,\n on = _componentData.on,\n _props = _componentData.props;\n\n update('on', on);\n update('props', _props);\n }\n return h(this.element, attributes, children);\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.noneFunctionalComponentMode = this.element.toLowerCase() !== this.$el.nodeName.toLowerCase();\n if (this.noneFunctionalComponentMode && this.transitionMode) {\n throw new Error('Transition-group inside component is not supported. Please alter element value or remove transition-group. Current element value: ' + this.element);\n }\n var optionsAdded = {};\n eventsListened.forEach(function (elt) {\n optionsAdded['on' + elt] = delegateAndEmit.call(_this3, elt);\n });\n\n eventsToEmit.forEach(function (elt) {\n optionsAdded['on' + elt] = emit.bind(_this3, elt);\n });\n\n var options = _extends({}, this.options, optionsAdded, { onMove: function onMove(evt, originalEvent) {\n return _this3.onDragMove(evt, originalEvent);\n } });\n !('draggable' in options) && (options.draggable = '>*');\n this._sortable = new Sortable(this.rootContainer, options);\n this.computeIndexes();\n },\n beforeDestroy: function beforeDestroy() {\n this._sortable.destroy();\n },\n\n\n computed: {\n rootContainer: function rootContainer() {\n return this.transitionMode ? this.$el.children[0] : this.$el;\n },\n isCloning: function isCloning() {\n return !!this.options && !!this.options.group && this.options.group.pull === 'clone';\n },\n realList: function realList() {\n return !!this.list ? this.list : this.value;\n }\n },\n\n watch: {\n options: {\n handler: function handler(newOptionValue) {\n for (var property in newOptionValue) {\n if (readonlyProperties.indexOf(property) == -1) {\n this._sortable.option(property, newOptionValue[property]);\n }\n }\n },\n\n deep: true\n },\n\n realList: function realList() {\n this.computeIndexes();\n }\n },\n\n methods: {\n getChildrenNodes: function getChildrenNodes() {\n if (!this.init) {\n this.noneFunctionalComponentMode = this.noneFunctionalComponentMode && this.$children.length == 1;\n this.init = true;\n }\n\n if (this.noneFunctionalComponentMode) {\n return this.$children[0].$slots.default;\n }\n var rawNodes = this.$slots.default;\n return this.transitionMode ? rawNodes[0].child.$slots.default : rawNodes;\n },\n computeIndexes: function computeIndexes() {\n var _this4 = this;\n\n this.$nextTick(function () {\n _this4.visibleIndexes = _computeIndexes(_this4.getChildrenNodes(), _this4.rootContainer.children, _this4.transitionMode);\n });\n },\n getUnderlyingVm: function getUnderlyingVm(htmlElt) {\n var index = computeVmIndex(this.getChildrenNodes() || [], htmlElt);\n if (index === -1) {\n //Edge case during move callback: related element might be\n //an element different from collection\n return null;\n }\n var element = this.realList[index];\n return { index: index, element: element };\n },\n getUnderlyingPotencialDraggableComponent: function getUnderlyingPotencialDraggableComponent(_ref) {\n var __vue__ = _ref.__vue__;\n\n if (!__vue__ || !__vue__.$options || __vue__.$options._componentTag !== \"transition-group\") {\n return __vue__;\n }\n return __vue__.$parent;\n },\n emitChanges: function emitChanges(evt) {\n var _this5 = this;\n\n this.$nextTick(function () {\n _this5.$emit('change', evt);\n });\n },\n alterList: function alterList(onList) {\n if (!!this.list) {\n onList(this.list);\n } else {\n var newList = [].concat(_toConsumableArray(this.value));\n onList(newList);\n this.$emit('input', newList);\n }\n },\n spliceList: function spliceList() {\n var _arguments = arguments;\n\n var spliceList = function spliceList(list) {\n return list.splice.apply(list, _arguments);\n };\n this.alterList(spliceList);\n },\n updatePosition: function updatePosition(oldIndex, newIndex) {\n var updatePosition = function updatePosition(list) {\n return list.splice(newIndex, 0, list.splice(oldIndex, 1)[0]);\n };\n this.alterList(updatePosition);\n },\n getRelatedContextFromMoveEvent: function getRelatedContextFromMoveEvent(_ref2) {\n var to = _ref2.to,\n related = _ref2.related;\n\n var component = this.getUnderlyingPotencialDraggableComponent(to);\n if (!component) {\n return { component: component };\n }\n var list = component.realList;\n var context = { list: list, component: component };\n if (to !== related && list && component.getUnderlyingVm) {\n var destination = component.getUnderlyingVm(related);\n if (destination) {\n return _extends(destination, context);\n }\n }\n\n return context;\n },\n getVmIndex: function getVmIndex(domIndex) {\n var indexes = this.visibleIndexes;\n var numberIndexes = indexes.length;\n return domIndex > numberIndexes - 1 ? numberIndexes : indexes[domIndex];\n },\n getComponent: function getComponent() {\n return this.$slots.default[0].componentInstance;\n },\n resetTransitionData: function resetTransitionData(index) {\n if (!this.noTransitionOnDrag || !this.transitionMode) {\n return;\n }\n var nodes = this.getChildrenNodes();\n nodes[index].data = null;\n var transitionContainer = this.getComponent();\n transitionContainer.children = [];\n transitionContainer.kept = undefined;\n },\n onDragStart: function onDragStart(evt) {\n this.context = this.getUnderlyingVm(evt.item);\n evt.item._underlying_vm_ = this.clone(this.context.element);\n draggingElement = evt.item;\n },\n onDragAdd: function onDragAdd(evt) {\n var element = evt.item._underlying_vm_;\n if (element === undefined) {\n return;\n }\n removeNode(evt.item);\n var newIndex = this.getVmIndex(evt.newIndex);\n this.spliceList(newIndex, 0, element);\n this.computeIndexes();\n var added = { element: element, newIndex: newIndex };\n this.emitChanges({ added: added });\n },\n onDragRemove: function onDragRemove(evt) {\n insertNodeAt(this.rootContainer, evt.item, evt.oldIndex);\n if (this.isCloning) {\n removeNode(evt.clone);\n return;\n }\n var oldIndex = this.context.index;\n this.spliceList(oldIndex, 1);\n var removed = { element: this.context.element, oldIndex: oldIndex };\n this.resetTransitionData(oldIndex);\n this.emitChanges({ removed: removed });\n },\n onDragUpdate: function onDragUpdate(evt) {\n removeNode(evt.item);\n insertNodeAt(evt.from, evt.item, evt.oldIndex);\n var oldIndex = this.context.index;\n var newIndex = this.getVmIndex(evt.newIndex);\n this.updatePosition(oldIndex, newIndex);\n var moved = { element: this.context.element, oldIndex: oldIndex, newIndex: newIndex };\n this.emitChanges({ moved: moved });\n },\n computeFutureIndex: function computeFutureIndex(relatedContext, evt) {\n if (!relatedContext.element) {\n return 0;\n }\n var domChildren = [].concat(_toConsumableArray(evt.to.children)).filter(function (el) {\n return el.style['display'] !== 'none';\n });\n var currentDOMIndex = domChildren.indexOf(evt.related);\n var currentIndex = relatedContext.component.getVmIndex(currentDOMIndex);\n var draggedInList = domChildren.indexOf(draggingElement) != -1;\n return draggedInList || !evt.willInsertAfter ? currentIndex : currentIndex + 1;\n },\n onDragMove: function onDragMove(evt, originalEvent) {\n var onMove = this.move;\n if (!onMove || !this.realList) {\n return true;\n }\n\n var relatedContext = this.getRelatedContextFromMoveEvent(evt);\n var draggedContext = this.context;\n var futureIndex = this.computeFutureIndex(relatedContext, evt);\n _extends(draggedContext, { futureIndex: futureIndex });\n _extends(evt, { relatedContext: relatedContext, draggedContext: draggedContext });\n return onMove(evt, originalEvent);\n },\n onDragEnd: function onDragEnd(evt) {\n this.computeIndexes();\n draggingElement = null;\n }\n }\n };\n return draggableComponent;\n }\n\n if (typeof exports == \"object\") {\n var Sortable = require(\"sortablejs\");\n module.exports = buildDraggable(Sortable);\n } else if (typeof define == \"function\" && define.amd) {\n define(['sortablejs'], function (Sortable) {\n return buildDraggable(Sortable);\n });\n } else if (window && window.Vue && window.Sortable) {\n var draggable = buildDraggable(window.Sortable);\n Vue.component('draggable', draggable);\n }\n})();","/**!\n * Sortable\n * @author\tRubaXa \n * @license MIT\n */\n\n(function sortableModule(factory) {\n\t\"use strict\";\n\n\tif (typeof define === \"function\" && define.amd) {\n\t\tdefine(factory);\n\t}\n\telse if (typeof module != \"undefined\" && typeof module.exports != \"undefined\") {\n\t\tmodule.exports = factory();\n\t}\n\telse {\n\t\t/* jshint sub:true */\n\t\twindow[\"Sortable\"] = factory();\n\t}\n})(function sortableFactory() {\n\t\"use strict\";\n\n\tif (typeof window === \"undefined\" || !window.document) {\n\t\treturn function sortableError() {\n\t\t\tthrow new Error(\"Sortable.js requires a window with a document\");\n\t\t};\n\t}\n\n\tvar dragEl,\n\t\tparentEl,\n\t\tghostEl,\n\t\tcloneEl,\n\t\trootEl,\n\t\tnextEl,\n\t\tlastDownEl,\n\n\t\tscrollEl,\n\t\tscrollParentEl,\n\t\tscrollCustomFn,\n\n\t\tlastEl,\n\t\tlastCSS,\n\t\tlastParentCSS,\n\n\t\toldIndex,\n\t\tnewIndex,\n\n\t\tactiveGroup,\n\t\tputSortable,\n\n\t\tautoScroll = {},\n\n\t\ttapEvt,\n\t\ttouchEvt,\n\n\t\tmoved,\n\n\t\t/** @const */\n\t\tR_SPACE = /\\s+/g,\n\t\tR_FLOAT = /left|right|inline/,\n\n\t\texpando = 'Sortable' + (new Date).getTime(),\n\n\t\twin = window,\n\t\tdocument = win.document,\n\t\tparseInt = win.parseInt,\n\t\tsetTimeout = win.setTimeout,\n\n\t\t$ = win.jQuery || win.Zepto,\n\t\tPolymer = win.Polymer,\n\n\t\tcaptureMode = false,\n\t\tpassiveMode = false,\n\n\t\tsupportDraggable = ('draggable' in document.createElement('div')),\n\t\tsupportCssPointerEvents = (function (el) {\n\t\t\t// false when IE11\n\t\t\tif (!!navigator.userAgent.match(/(?:Trident.*rv[ :]?11\\.|msie)/i)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tel = document.createElement('x');\n\t\t\tel.style.cssText = 'pointer-events:auto';\n\t\t\treturn el.style.pointerEvents === 'auto';\n\t\t})(),\n\n\t\t_silent = false,\n\n\t\tabs = Math.abs,\n\t\tmin = Math.min,\n\n\t\tsavedInputChecked = [],\n\t\ttouchDragOverListeners = [],\n\n\t\t_autoScroll = _throttle(function (/**Event*/evt, /**Object*/options, /**HTMLElement*/rootEl) {\n\t\t\t// Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n\t\t\tif (rootEl && options.scroll) {\n\t\t\t\tvar _this = rootEl[expando],\n\t\t\t\t\tel,\n\t\t\t\t\trect,\n\t\t\t\t\tsens = options.scrollSensitivity,\n\t\t\t\t\tspeed = options.scrollSpeed,\n\n\t\t\t\t\tx = evt.clientX,\n\t\t\t\t\ty = evt.clientY,\n\n\t\t\t\t\twinWidth = window.innerWidth,\n\t\t\t\t\twinHeight = window.innerHeight,\n\n\t\t\t\t\tvx,\n\t\t\t\t\tvy,\n\n\t\t\t\t\tscrollOffsetX,\n\t\t\t\t\tscrollOffsetY\n\t\t\t\t;\n\n\t\t\t\t// Delect scrollEl\n\t\t\t\tif (scrollParentEl !== rootEl) {\n\t\t\t\t\tscrollEl = options.scroll;\n\t\t\t\t\tscrollParentEl = rootEl;\n\t\t\t\t\tscrollCustomFn = options.scrollFn;\n\n\t\t\t\t\tif (scrollEl === true) {\n\t\t\t\t\t\tscrollEl = rootEl;\n\n\t\t\t\t\t\tdo {\n\t\t\t\t\t\t\tif ((scrollEl.offsetWidth < scrollEl.scrollWidth) ||\n\t\t\t\t\t\t\t\t(scrollEl.offsetHeight < scrollEl.scrollHeight)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/* jshint boss:true */\n\t\t\t\t\t\t} while (scrollEl = scrollEl.parentNode);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (scrollEl) {\n\t\t\t\t\tel = scrollEl;\n\t\t\t\t\trect = scrollEl.getBoundingClientRect();\n\t\t\t\t\tvx = (abs(rect.right - x) <= sens) - (abs(rect.left - x) <= sens);\n\t\t\t\t\tvy = (abs(rect.bottom - y) <= sens) - (abs(rect.top - y) <= sens);\n\t\t\t\t}\n\n\n\t\t\t\tif (!(vx || vy)) {\n\t\t\t\t\tvx = (winWidth - x <= sens) - (x <= sens);\n\t\t\t\t\tvy = (winHeight - y <= sens) - (y <= sens);\n\n\t\t\t\t\t/* jshint expr:true */\n\t\t\t\t\t(vx || vy) && (el = win);\n\t\t\t\t}\n\n\n\t\t\t\tif (autoScroll.vx !== vx || autoScroll.vy !== vy || autoScroll.el !== el) {\n\t\t\t\t\tautoScroll.el = el;\n\t\t\t\t\tautoScroll.vx = vx;\n\t\t\t\t\tautoScroll.vy = vy;\n\n\t\t\t\t\tclearInterval(autoScroll.pid);\n\n\t\t\t\t\tif (el) {\n\t\t\t\t\t\tautoScroll.pid = setInterval(function () {\n\t\t\t\t\t\t\tscrollOffsetY = vy ? vy * speed : 0;\n\t\t\t\t\t\t\tscrollOffsetX = vx ? vx * speed : 0;\n\n\t\t\t\t\t\t\tif ('function' === typeof(scrollCustomFn)) {\n\t\t\t\t\t\t\t\treturn scrollCustomFn.call(_this, scrollOffsetX, scrollOffsetY, evt);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (el === win) {\n\t\t\t\t\t\t\t\twin.scrollTo(win.pageXOffset + scrollOffsetX, win.pageYOffset + scrollOffsetY);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tel.scrollTop += scrollOffsetY;\n\t\t\t\t\t\t\t\tel.scrollLeft += scrollOffsetX;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, 24);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}, 30),\n\n\t\t_prepareGroup = function (options) {\n\t\t\tfunction toFn(value, pull) {\n\t\t\t\tif (value === void 0 || value === true) {\n\t\t\t\t\tvalue = group.name;\n\t\t\t\t}\n\n\t\t\t\tif (typeof value === 'function') {\n\t\t\t\t\treturn value;\n\t\t\t\t} else {\n\t\t\t\t\treturn function (to, from) {\n\t\t\t\t\t\tvar fromGroup = from.options.group.name;\n\n\t\t\t\t\t\treturn pull\n\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t: value && (value.join\n\t\t\t\t\t\t\t\t? value.indexOf(fromGroup) > -1\n\t\t\t\t\t\t\t\t: (fromGroup == value)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar group = {};\n\t\t\tvar originalGroup = options.group;\n\n\t\t\tif (!originalGroup || typeof originalGroup != 'object') {\n\t\t\t\toriginalGroup = {name: originalGroup};\n\t\t\t}\n\n\t\t\tgroup.name = originalGroup.name;\n\t\t\tgroup.checkPull = toFn(originalGroup.pull, true);\n\t\t\tgroup.checkPut = toFn(originalGroup.put);\n\t\t\tgroup.revertClone = originalGroup.revertClone;\n\n\t\t\toptions.group = group;\n\t\t}\n\t;\n\n\t// Detect support a passive mode\n\ttry {\n\t\twindow.addEventListener('test', null, Object.defineProperty({}, 'passive', {\n\t\t\tget: function () {\n\t\t\t\t// `false`, because everything starts to work incorrectly and instead of d'n'd,\n\t\t\t\t// begins the page has scrolled.\n\t\t\t\tpassiveMode = false;\n\t\t\t\tcaptureMode = {\n\t\t\t\t\tcapture: false,\n\t\t\t\t\tpassive: passiveMode\n\t\t\t\t};\n\t\t\t}\n\t\t}));\n\t} catch (err) {}\n\n\t/**\n\t * @class Sortable\n\t * @param {HTMLElement} el\n\t * @param {Object} [options]\n\t */\n\tfunction Sortable(el, options) {\n\t\tif (!(el && el.nodeType && el.nodeType === 1)) {\n\t\t\tthrow 'Sortable: `el` must be HTMLElement, and not ' + {}.toString.call(el);\n\t\t}\n\n\t\tthis.el = el; // root element\n\t\tthis.options = options = _extend({}, options);\n\n\n\t\t// Export instance\n\t\tel[expando] = this;\n\n\t\t// Default options\n\t\tvar defaults = {\n\t\t\tgroup: Math.random(),\n\t\t\tsort: true,\n\t\t\tdisabled: false,\n\t\t\tstore: null,\n\t\t\thandle: null,\n\t\t\tscroll: true,\n\t\t\tscrollSensitivity: 30,\n\t\t\tscrollSpeed: 10,\n\t\t\tdraggable: /[uo]l/i.test(el.nodeName) ? 'li' : '>*',\n\t\t\tghostClass: 'sortable-ghost',\n\t\t\tchosenClass: 'sortable-chosen',\n\t\t\tdragClass: 'sortable-drag',\n\t\t\tignore: 'a, img',\n\t\t\tfilter: null,\n\t\t\tpreventOnFilter: true,\n\t\t\tanimation: 0,\n\t\t\tsetData: function (dataTransfer, dragEl) {\n\t\t\t\tdataTransfer.setData('Text', dragEl.textContent);\n\t\t\t},\n\t\t\tdropBubble: false,\n\t\t\tdragoverBubble: false,\n\t\t\tdataIdAttr: 'data-id',\n\t\t\tdelay: 0,\n\t\t\tforceFallback: false,\n\t\t\tfallbackClass: 'sortable-fallback',\n\t\t\tfallbackOnBody: false,\n\t\t\tfallbackTolerance: 0,\n\t\t\tfallbackOffset: {x: 0, y: 0},\n\t\t\tsupportPointer: Sortable.supportPointer !== false\n\t\t};\n\n\n\t\t// Set default options\n\t\tfor (var name in defaults) {\n\t\t\t!(name in options) && (options[name] = defaults[name]);\n\t\t}\n\n\t\t_prepareGroup(options);\n\n\t\t// Bind all private methods\n\t\tfor (var fn in this) {\n\t\t\tif (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n\t\t\t\tthis[fn] = this[fn].bind(this);\n\t\t\t}\n\t\t}\n\n\t\t// Setup drag mode\n\t\tthis.nativeDraggable = options.forceFallback ? false : supportDraggable;\n\n\t\t// Bind events\n\t\t_on(el, 'mousedown', this._onTapStart);\n\t\t_on(el, 'touchstart', this._onTapStart);\n\t\toptions.supportPointer && _on(el, 'pointerdown', this._onTapStart);\n\n\t\tif (this.nativeDraggable) {\n\t\t\t_on(el, 'dragover', this);\n\t\t\t_on(el, 'dragenter', this);\n\t\t}\n\n\t\ttouchDragOverListeners.push(this._onDragOver);\n\n\t\t// Restore sorting\n\t\toptions.store && this.sort(options.store.get(this));\n\t}\n\n\n\tSortable.prototype = /** @lends Sortable.prototype */ {\n\t\tconstructor: Sortable,\n\n\t\t_onTapStart: function (/** Event|TouchEvent */evt) {\n\t\t\tvar _this = this,\n\t\t\t\tel = this.el,\n\t\t\t\toptions = this.options,\n\t\t\t\tpreventOnFilter = options.preventOnFilter,\n\t\t\t\ttype = evt.type,\n\t\t\t\ttouch = evt.touches && evt.touches[0],\n\t\t\t\ttarget = (touch || evt).target,\n\t\t\t\toriginalTarget = evt.target.shadowRoot && (evt.path && evt.path[0]) || target,\n\t\t\t\tfilter = options.filter,\n\t\t\t\tstartIndex;\n\n\t\t\t_saveInputCheckedState(el);\n\n\n\t\t\t// Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.\n\t\t\tif (dragEl) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {\n\t\t\t\treturn; // only left button or enabled\n\t\t\t}\n\n\t\t\t// cancel dnd if original target is content editable\n\t\t\tif (originalTarget.isContentEditable) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttarget = _closest(target, options.draggable, el);\n\n\t\t\tif (!target) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (lastDownEl === target) {\n\t\t\t\t// Ignoring duplicate `down`\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Get the index of the dragged element within its parent\n\t\t\tstartIndex = _index(target, options.draggable);\n\n\t\t\t// Check filter\n\t\t\tif (typeof filter === 'function') {\n\t\t\t\tif (filter.call(this, evt, target, this)) {\n\t\t\t\t\t_dispatchEvent(_this, originalTarget, 'filter', target, el, el, startIndex);\n\t\t\t\t\tpreventOnFilter && evt.preventDefault();\n\t\t\t\t\treturn; // cancel dnd\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (filter) {\n\t\t\t\tfilter = filter.split(',').some(function (criteria) {\n\t\t\t\t\tcriteria = _closest(originalTarget, criteria.trim(), el);\n\n\t\t\t\t\tif (criteria) {\n\t\t\t\t\t\t_dispatchEvent(_this, criteria, 'filter', target, el, el, startIndex);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (filter) {\n\t\t\t\t\tpreventOnFilter && evt.preventDefault();\n\t\t\t\t\treturn; // cancel dnd\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (options.handle && !_closest(originalTarget, options.handle, el)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Prepare `dragstart`\n\t\t\tthis._prepareDragStart(evt, touch, target, startIndex);\n\t\t},\n\n\t\t_prepareDragStart: function (/** Event */evt, /** Touch */touch, /** HTMLElement */target, /** Number */startIndex) {\n\t\t\tvar _this = this,\n\t\t\t\tel = _this.el,\n\t\t\t\toptions = _this.options,\n\t\t\t\townerDocument = el.ownerDocument,\n\t\t\t\tdragStartFn;\n\n\t\t\tif (target && !dragEl && (target.parentNode === el)) {\n\t\t\t\ttapEvt = evt;\n\n\t\t\t\trootEl = el;\n\t\t\t\tdragEl = target;\n\t\t\t\tparentEl = dragEl.parentNode;\n\t\t\t\tnextEl = dragEl.nextSibling;\n\t\t\t\tlastDownEl = target;\n\t\t\t\tactiveGroup = options.group;\n\t\t\t\toldIndex = startIndex;\n\n\t\t\t\tthis._lastX = (touch || evt).clientX;\n\t\t\t\tthis._lastY = (touch || evt).clientY;\n\n\t\t\t\tdragEl.style['will-change'] = 'all';\n\n\t\t\t\tdragStartFn = function () {\n\t\t\t\t\t// Delayed drag has been triggered\n\t\t\t\t\t// we can re-enable the events: touchmove/mousemove\n\t\t\t\t\t_this._disableDelayedDrag();\n\n\t\t\t\t\t// Make the element draggable\n\t\t\t\t\tdragEl.draggable = _this.nativeDraggable;\n\n\t\t\t\t\t// Chosen item\n\t\t\t\t\t_toggleClass(dragEl, options.chosenClass, true);\n\n\t\t\t\t\t// Bind the events: dragstart/dragend\n\t\t\t\t\t_this._triggerDragStart(evt, touch);\n\n\t\t\t\t\t// Drag start event\n\t\t\t\t\t_dispatchEvent(_this, rootEl, 'choose', dragEl, rootEl, rootEl, oldIndex);\n\t\t\t\t};\n\n\t\t\t\t// Disable \"draggable\"\n\t\t\t\toptions.ignore.split(',').forEach(function (criteria) {\n\t\t\t\t\t_find(dragEl, criteria.trim(), _disableDraggable);\n\t\t\t\t});\n\n\t\t\t\t_on(ownerDocument, 'mouseup', _this._onDrop);\n\t\t\t\t_on(ownerDocument, 'touchend', _this._onDrop);\n\t\t\t\t_on(ownerDocument, 'touchcancel', _this._onDrop);\n\t\t\t\t_on(ownerDocument, 'selectstart', _this);\n\t\t\t\toptions.supportPointer && _on(ownerDocument, 'pointercancel', _this._onDrop);\n\n\t\t\t\tif (options.delay) {\n\t\t\t\t\t// If the user moves the pointer or let go the click or touch\n\t\t\t\t\t// before the delay has been reached:\n\t\t\t\t\t// disable the delayed drag\n\t\t\t\t\t_on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n\t\t\t\t\t_on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n\t\t\t\t\t_on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n\t\t\t\t\t_on(ownerDocument, 'mousemove', _this._disableDelayedDrag);\n\t\t\t\t\t_on(ownerDocument, 'touchmove', _this._disableDelayedDrag);\n\t\t\t\t\toptions.supportPointer && _on(ownerDocument, 'pointermove', _this._disableDelayedDrag);\n\n\t\t\t\t\t_this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n\t\t\t\t} else {\n\t\t\t\t\tdragStartFn();\n\t\t\t\t}\n\n\n\t\t\t}\n\t\t},\n\n\t\t_disableDelayedDrag: function () {\n\t\t\tvar ownerDocument = this.el.ownerDocument;\n\n\t\t\tclearTimeout(this._dragStartTimer);\n\t\t\t_off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n\t\t\t_off(ownerDocument, 'touchend', this._disableDelayedDrag);\n\t\t\t_off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n\t\t\t_off(ownerDocument, 'mousemove', this._disableDelayedDrag);\n\t\t\t_off(ownerDocument, 'touchmove', this._disableDelayedDrag);\n\t\t\t_off(ownerDocument, 'pointermove', this._disableDelayedDrag);\n\t\t},\n\n\t\t_triggerDragStart: function (/** Event */evt, /** Touch */touch) {\n\t\t\ttouch = touch || (evt.pointerType == 'touch' ? evt : null);\n\n\t\t\tif (touch) {\n\t\t\t\t// Touch device support\n\t\t\t\ttapEvt = {\n\t\t\t\t\ttarget: dragEl,\n\t\t\t\t\tclientX: touch.clientX,\n\t\t\t\t\tclientY: touch.clientY\n\t\t\t\t};\n\n\t\t\t\tthis._onDragStart(tapEvt, 'touch');\n\t\t\t}\n\t\t\telse if (!this.nativeDraggable) {\n\t\t\t\tthis._onDragStart(tapEvt, true);\n\t\t\t}\n\t\t\telse {\n\t\t\t\t_on(dragEl, 'dragend', this);\n\t\t\t\t_on(rootEl, 'dragstart', this._onDragStart);\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tif (document.selection) {\n\t\t\t\t\t// Timeout neccessary for IE9\n\t\t\t\t\t_nextTick(function () {\n\t\t\t\t\t\tdocument.selection.empty();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\twindow.getSelection().removeAllRanges();\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t}\n\t\t},\n\n\t\t_dragStarted: function () {\n\t\t\tif (rootEl && dragEl) {\n\t\t\t\tvar options = this.options;\n\n\t\t\t\t// Apply effect\n\t\t\t\t_toggleClass(dragEl, options.ghostClass, true);\n\t\t\t\t_toggleClass(dragEl, options.dragClass, false);\n\n\t\t\t\tSortable.active = this;\n\n\t\t\t\t// Drag start event\n\t\t\t\t_dispatchEvent(this, rootEl, 'start', dragEl, rootEl, rootEl, oldIndex);\n\t\t\t} else {\n\t\t\t\tthis._nulling();\n\t\t\t}\n\t\t},\n\n\t\t_emulateDragOver: function () {\n\t\t\tif (touchEvt) {\n\t\t\t\tif (this._lastX === touchEvt.clientX && this._lastY === touchEvt.clientY) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis._lastX = touchEvt.clientX;\n\t\t\t\tthis._lastY = touchEvt.clientY;\n\n\t\t\t\tif (!supportCssPointerEvents) {\n\t\t\t\t\t_css(ghostEl, 'display', 'none');\n\t\t\t\t}\n\n\t\t\t\tvar target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n\t\t\t\tvar parent = target;\n\t\t\t\tvar i = touchDragOverListeners.length;\n\n\t\t\t\tif (target && target.shadowRoot) {\n\t\t\t\t\ttarget = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n\t\t\t\t\tparent = target;\n\t\t\t\t}\n\n\t\t\t\tif (parent) {\n\t\t\t\t\tdo {\n\t\t\t\t\t\tif (parent[expando]) {\n\t\t\t\t\t\t\twhile (i--) {\n\t\t\t\t\t\t\t\ttouchDragOverListeners[i]({\n\t\t\t\t\t\t\t\t\tclientX: touchEvt.clientX,\n\t\t\t\t\t\t\t\t\tclientY: touchEvt.clientY,\n\t\t\t\t\t\t\t\t\ttarget: target,\n\t\t\t\t\t\t\t\t\trootEl: parent\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttarget = parent; // store last element\n\t\t\t\t\t}\n\t\t\t\t\t/* jshint boss:true */\n\t\t\t\t\twhile (parent = parent.parentNode);\n\t\t\t\t}\n\n\t\t\t\tif (!supportCssPointerEvents) {\n\t\t\t\t\t_css(ghostEl, 'display', '');\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\n\t\t_onTouchMove: function (/**TouchEvent*/evt) {\n\t\t\tif (tapEvt) {\n\t\t\t\tvar\toptions = this.options,\n\t\t\t\t\tfallbackTolerance = options.fallbackTolerance,\n\t\t\t\t\tfallbackOffset = options.fallbackOffset,\n\t\t\t\t\ttouch = evt.touches ? evt.touches[0] : evt,\n\t\t\t\t\tdx = (touch.clientX - tapEvt.clientX) + fallbackOffset.x,\n\t\t\t\t\tdy = (touch.clientY - tapEvt.clientY) + fallbackOffset.y,\n\t\t\t\t\ttranslate3d = evt.touches ? 'translate3d(' + dx + 'px,' + dy + 'px,0)' : 'translate(' + dx + 'px,' + dy + 'px)';\n\n\t\t\t\t// only set the status to dragging, when we are actually dragging\n\t\t\t\tif (!Sortable.active) {\n\t\t\t\t\tif (fallbackTolerance &&\n\t\t\t\t\t\tmin(abs(touch.clientX - this._lastX), abs(touch.clientY - this._lastY)) < fallbackTolerance\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._dragStarted();\n\t\t\t\t}\n\n\t\t\t\t// as well as creating the ghost element on the document body\n\t\t\t\tthis._appendGhost();\n\n\t\t\t\tmoved = true;\n\t\t\t\ttouchEvt = touch;\n\n\t\t\t\t_css(ghostEl, 'webkitTransform', translate3d);\n\t\t\t\t_css(ghostEl, 'mozTransform', translate3d);\n\t\t\t\t_css(ghostEl, 'msTransform', translate3d);\n\t\t\t\t_css(ghostEl, 'transform', translate3d);\n\n\t\t\t\tevt.preventDefault();\n\t\t\t}\n\t\t},\n\n\t\t_appendGhost: function () {\n\t\t\tif (!ghostEl) {\n\t\t\t\tvar rect = dragEl.getBoundingClientRect(),\n\t\t\t\t\tcss = _css(dragEl),\n\t\t\t\t\toptions = this.options,\n\t\t\t\t\tghostRect;\n\n\t\t\t\tghostEl = dragEl.cloneNode(true);\n\n\t\t\t\t_toggleClass(ghostEl, options.ghostClass, false);\n\t\t\t\t_toggleClass(ghostEl, options.fallbackClass, true);\n\t\t\t\t_toggleClass(ghostEl, options.dragClass, true);\n\n\t\t\t\t_css(ghostEl, 'top', rect.top - parseInt(css.marginTop, 10));\n\t\t\t\t_css(ghostEl, 'left', rect.left - parseInt(css.marginLeft, 10));\n\t\t\t\t_css(ghostEl, 'width', rect.width);\n\t\t\t\t_css(ghostEl, 'height', rect.height);\n\t\t\t\t_css(ghostEl, 'opacity', '0.8');\n\t\t\t\t_css(ghostEl, 'position', 'fixed');\n\t\t\t\t_css(ghostEl, 'zIndex', '100000');\n\t\t\t\t_css(ghostEl, 'pointerEvents', 'none');\n\n\t\t\t\toptions.fallbackOnBody && document.body.appendChild(ghostEl) || rootEl.appendChild(ghostEl);\n\n\t\t\t\t// Fixing dimensions.\n\t\t\t\tghostRect = ghostEl.getBoundingClientRect();\n\t\t\t\t_css(ghostEl, 'width', rect.width * 2 - ghostRect.width);\n\t\t\t\t_css(ghostEl, 'height', rect.height * 2 - ghostRect.height);\n\t\t\t}\n\t\t},\n\n\t\t_onDragStart: function (/**Event*/evt, /**boolean*/useFallback) {\n\t\t\tvar _this = this;\n\t\t\tvar dataTransfer = evt.dataTransfer;\n\t\t\tvar options = _this.options;\n\n\t\t\t_this._offUpEvents();\n\n\t\t\tif (activeGroup.checkPull(_this, _this, dragEl, evt)) {\n\t\t\t\tcloneEl = _clone(dragEl);\n\n\t\t\t\tcloneEl.draggable = false;\n\t\t\t\tcloneEl.style['will-change'] = '';\n\n\t\t\t\t_css(cloneEl, 'display', 'none');\n\t\t\t\t_toggleClass(cloneEl, _this.options.chosenClass, false);\n\n\t\t\t\t// #1143: IFrame support workaround\n\t\t\t\t_this._cloneId = _nextTick(function () {\n\t\t\t\t\trootEl.insertBefore(cloneEl, dragEl);\n\t\t\t\t\t_dispatchEvent(_this, rootEl, 'clone', dragEl);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t_toggleClass(dragEl, options.dragClass, true);\n\n\t\t\tif (useFallback) {\n\t\t\t\tif (useFallback === 'touch') {\n\t\t\t\t\t// Bind touch events\n\t\t\t\t\t_on(document, 'touchmove', _this._onTouchMove);\n\t\t\t\t\t_on(document, 'touchend', _this._onDrop);\n\t\t\t\t\t_on(document, 'touchcancel', _this._onDrop);\n\n\t\t\t\t\tif (options.supportPointer) {\n\t\t\t\t\t\t_on(document, 'pointermove', _this._onTouchMove);\n\t\t\t\t\t\t_on(document, 'pointerup', _this._onDrop);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Old brwoser\n\t\t\t\t\t_on(document, 'mousemove', _this._onTouchMove);\n\t\t\t\t\t_on(document, 'mouseup', _this._onDrop);\n\t\t\t\t}\n\n\t\t\t\t_this._loopId = setInterval(_this._emulateDragOver, 50);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (dataTransfer) {\n\t\t\t\t\tdataTransfer.effectAllowed = 'move';\n\t\t\t\t\toptions.setData && options.setData.call(_this, dataTransfer, dragEl);\n\t\t\t\t}\n\n\t\t\t\t_on(document, 'drop', _this);\n\n\t\t\t\t// #1143: Бывает элемент с IFrame внутри блокирует `drop`,\n\t\t\t\t// поэтому если вызвался `mouseover`, значит надо отменять весь d'n'd.\n\t\t\t\t// Breaking Chrome 62+\n\t\t\t\t// _on(document, 'mouseover', _this);\n\n\t\t\t\t_this._dragStartId = _nextTick(_this._dragStarted);\n\t\t\t}\n\t\t},\n\n\t\t_onDragOver: function (/**Event*/evt) {\n\t\t\tvar el = this.el,\n\t\t\t\ttarget,\n\t\t\t\tdragRect,\n\t\t\t\ttargetRect,\n\t\t\t\trevert,\n\t\t\t\toptions = this.options,\n\t\t\t\tgroup = options.group,\n\t\t\t\tactiveSortable = Sortable.active,\n\t\t\t\tisOwner = (activeGroup === group),\n\t\t\t\tisMovingBetweenSortable = false,\n\t\t\t\tcanSort = options.sort;\n\n\t\t\tif (evt.preventDefault !== void 0) {\n\t\t\t\tevt.preventDefault();\n\t\t\t\t!options.dragoverBubble && evt.stopPropagation();\n\t\t\t}\n\n\t\t\tif (dragEl.animated) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmoved = true;\n\n\t\t\tif (activeSortable && !options.disabled &&\n\t\t\t\t(isOwner\n\t\t\t\t\t? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list\n\t\t\t\t\t: (\n\t\t\t\t\t\tputSortable === this ||\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t(activeSortable.lastPullMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) &&\n\t\t\t\t\t\t\tgroup.checkPut(this, activeSortable, dragEl, evt)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t) &&\n\t\t\t\t(evt.rootEl === void 0 || evt.rootEl === this.el) // touch fallback\n\t\t\t) {\n\t\t\t\t// Smart auto-scrolling\n\t\t\t\t_autoScroll(evt, options, this.el);\n\n\t\t\t\tif (_silent) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttarget = _closest(evt.target, options.draggable, el);\n\t\t\t\tdragRect = dragEl.getBoundingClientRect();\n\n\t\t\t\tif (putSortable !== this) {\n\t\t\t\t\tputSortable = this;\n\t\t\t\t\tisMovingBetweenSortable = true;\n\t\t\t\t}\n\n\t\t\t\tif (revert) {\n\t\t\t\t\t_cloneHide(activeSortable, true);\n\t\t\t\t\tparentEl = rootEl; // actualization\n\n\t\t\t\t\tif (cloneEl || nextEl) {\n\t\t\t\t\t\trootEl.insertBefore(dragEl, cloneEl || nextEl);\n\t\t\t\t\t}\n\t\t\t\t\telse if (!canSort) {\n\t\t\t\t\t\trootEl.appendChild(dragEl);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\n\t\t\t\tif ((el.children.length === 0) || (el.children[0] === ghostEl) ||\n\t\t\t\t\t(el === evt.target) && (_ghostIsLast(el, evt))\n\t\t\t\t) {\n\t\t\t\t\t//assign target only if condition is true\n\t\t\t\t\tif (el.children.length !== 0 && el.children[0] !== ghostEl && el === evt.target) {\n\t\t\t\t\t\ttarget = el.lastElementChild;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (target) {\n\t\t\t\t\t\tif (target.animated) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttargetRect = target.getBoundingClientRect();\n\t\t\t\t\t}\n\n\t\t\t\t\t_cloneHide(activeSortable, isOwner);\n\n\t\t\t\t\tif (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt) !== false) {\n\t\t\t\t\t\tif (!dragEl.contains(el)) {\n\t\t\t\t\t\t\tel.appendChild(dragEl);\n\t\t\t\t\t\t\tparentEl = el; // actualization\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis._animate(dragRect, dragEl);\n\t\t\t\t\t\ttarget && this._animate(targetRect, target);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (target && !target.animated && target !== dragEl && (target.parentNode[expando] !== void 0)) {\n\t\t\t\t\tif (lastEl !== target) {\n\t\t\t\t\t\tlastEl = target;\n\t\t\t\t\t\tlastCSS = _css(target);\n\t\t\t\t\t\tlastParentCSS = _css(target.parentNode);\n\t\t\t\t\t}\n\n\t\t\t\t\ttargetRect = target.getBoundingClientRect();\n\n\t\t\t\t\tvar width = targetRect.right - targetRect.left,\n\t\t\t\t\t\theight = targetRect.bottom - targetRect.top,\n\t\t\t\t\t\tfloating = R_FLOAT.test(lastCSS.cssFloat + lastCSS.display)\n\t\t\t\t\t\t\t|| (lastParentCSS.display == 'flex' && lastParentCSS['flex-direction'].indexOf('row') === 0),\n\t\t\t\t\t\tisWide = (target.offsetWidth > dragEl.offsetWidth),\n\t\t\t\t\t\tisLong = (target.offsetHeight > dragEl.offsetHeight),\n\t\t\t\t\t\thalfway = (floating ? (evt.clientX - targetRect.left) / width : (evt.clientY - targetRect.top) / height) > 0.5,\n\t\t\t\t\t\tnextSibling = target.nextElementSibling,\n\t\t\t\t\t\tafter = false\n\t\t\t\t\t;\n\n\t\t\t\t\tif (floating) {\n\t\t\t\t\t\tvar elTop = dragEl.offsetTop,\n\t\t\t\t\t\t\ttgTop = target.offsetTop;\n\n\t\t\t\t\t\tif (elTop === tgTop) {\n\t\t\t\t\t\t\tafter = (target.previousElementSibling === dragEl) && !isWide || halfway && isWide;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (target.previousElementSibling === dragEl || dragEl.previousElementSibling === target) {\n\t\t\t\t\t\t\tafter = (evt.clientY - targetRect.top) / height > 0.5;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tafter = tgTop > elTop;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (!isMovingBetweenSortable) {\n\t\t\t\t\t\tafter = (nextSibling !== dragEl) && !isLong || halfway && isLong;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);\n\n\t\t\t\t\tif (moveVector !== false) {\n\t\t\t\t\t\tif (moveVector === 1 || moveVector === -1) {\n\t\t\t\t\t\t\tafter = (moveVector === 1);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t_silent = true;\n\t\t\t\t\t\tsetTimeout(_unsilent, 30);\n\n\t\t\t\t\t\t_cloneHide(activeSortable, isOwner);\n\n\t\t\t\t\t\tif (!dragEl.contains(el)) {\n\t\t\t\t\t\t\tif (after && !nextSibling) {\n\t\t\t\t\t\t\t\tel.appendChild(dragEl);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\ttarget.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tparentEl = dragEl.parentNode; // actualization\n\n\t\t\t\t\t\tthis._animate(dragRect, dragEl);\n\t\t\t\t\t\tthis._animate(targetRect, target);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t_animate: function (prevRect, target) {\n\t\t\tvar ms = this.options.animation;\n\n\t\t\tif (ms) {\n\t\t\t\tvar currentRect = target.getBoundingClientRect();\n\n\t\t\t\tif (prevRect.nodeType === 1) {\n\t\t\t\t\tprevRect = prevRect.getBoundingClientRect();\n\t\t\t\t}\n\n\t\t\t\t_css(target, 'transition', 'none');\n\t\t\t\t_css(target, 'transform', 'translate3d('\n\t\t\t\t\t+ (prevRect.left - currentRect.left) + 'px,'\n\t\t\t\t\t+ (prevRect.top - currentRect.top) + 'px,0)'\n\t\t\t\t);\n\n\t\t\t\ttarget.offsetWidth; // repaint\n\n\t\t\t\t_css(target, 'transition', 'all ' + ms + 'ms');\n\t\t\t\t_css(target, 'transform', 'translate3d(0,0,0)');\n\n\t\t\t\tclearTimeout(target.animated);\n\t\t\t\ttarget.animated = setTimeout(function () {\n\t\t\t\t\t_css(target, 'transition', '');\n\t\t\t\t\t_css(target, 'transform', '');\n\t\t\t\t\ttarget.animated = false;\n\t\t\t\t}, ms);\n\t\t\t}\n\t\t},\n\n\t\t_offUpEvents: function () {\n\t\t\tvar ownerDocument = this.el.ownerDocument;\n\n\t\t\t_off(document, 'touchmove', this._onTouchMove);\n\t\t\t_off(document, 'pointermove', this._onTouchMove);\n\t\t\t_off(ownerDocument, 'mouseup', this._onDrop);\n\t\t\t_off(ownerDocument, 'touchend', this._onDrop);\n\t\t\t_off(ownerDocument, 'pointerup', this._onDrop);\n\t\t\t_off(ownerDocument, 'touchcancel', this._onDrop);\n\t\t\t_off(ownerDocument, 'pointercancel', this._onDrop);\n\t\t\t_off(ownerDocument, 'selectstart', this);\n\t\t},\n\n\t\t_onDrop: function (/**Event*/evt) {\n\t\t\tvar el = this.el,\n\t\t\t\toptions = this.options;\n\n\t\t\tclearInterval(this._loopId);\n\t\t\tclearInterval(autoScroll.pid);\n\t\t\tclearTimeout(this._dragStartTimer);\n\n\t\t\t_cancelNextTick(this._cloneId);\n\t\t\t_cancelNextTick(this._dragStartId);\n\n\t\t\t// Unbind events\n\t\t\t_off(document, 'mouseover', this);\n\t\t\t_off(document, 'mousemove', this._onTouchMove);\n\n\t\t\tif (this.nativeDraggable) {\n\t\t\t\t_off(document, 'drop', this);\n\t\t\t\t_off(el, 'dragstart', this._onDragStart);\n\t\t\t}\n\n\t\t\tthis._offUpEvents();\n\n\t\t\tif (evt) {\n\t\t\t\tif (moved) {\n\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t!options.dropBubble && evt.stopPropagation();\n\t\t\t\t}\n\n\t\t\t\tghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);\n\n\t\t\t\tif (rootEl === parentEl || Sortable.active.lastPullMode !== 'clone') {\n\t\t\t\t\t// Remove clone\n\t\t\t\t\tcloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);\n\t\t\t\t}\n\n\t\t\t\tif (dragEl) {\n\t\t\t\t\tif (this.nativeDraggable) {\n\t\t\t\t\t\t_off(dragEl, 'dragend', this);\n\t\t\t\t\t}\n\n\t\t\t\t\t_disableDraggable(dragEl);\n\t\t\t\t\tdragEl.style['will-change'] = '';\n\n\t\t\t\t\t// Remove class's\n\t\t\t\t\t_toggleClass(dragEl, this.options.ghostClass, false);\n\t\t\t\t\t_toggleClass(dragEl, this.options.chosenClass, false);\n\n\t\t\t\t\t// Drag stop event\n\t\t\t\t\t_dispatchEvent(this, rootEl, 'unchoose', dragEl, parentEl, rootEl, oldIndex);\n\n\t\t\t\t\tif (rootEl !== parentEl) {\n\t\t\t\t\t\tnewIndex = _index(dragEl, options.draggable);\n\n\t\t\t\t\t\tif (newIndex >= 0) {\n\t\t\t\t\t\t\t// Add event\n\t\t\t\t\t\t\t_dispatchEvent(null, parentEl, 'add', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\n\t\t\t\t\t\t\t// Remove event\n\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'remove', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\n\t\t\t\t\t\t\t// drag from one list and drop into another\n\t\t\t\t\t\t\t_dispatchEvent(null, parentEl, 'sort', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'sort', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (dragEl.nextSibling !== nextEl) {\n\t\t\t\t\t\t\t// Get the index of the dragged element within its parent\n\t\t\t\t\t\t\tnewIndex = _index(dragEl, options.draggable);\n\n\t\t\t\t\t\t\tif (newIndex >= 0) {\n\t\t\t\t\t\t\t\t// drag & drop within the same list\n\t\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'update', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\t\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'sort', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (Sortable.active) {\n\t\t\t\t\t\t/* jshint eqnull:true */\n\t\t\t\t\t\tif (newIndex == null || newIndex === -1) {\n\t\t\t\t\t\t\tnewIndex = oldIndex;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'end', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\n\t\t\t\t\t\t// Save sorting\n\t\t\t\t\t\tthis.save();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tthis._nulling();\n\t\t},\n\n\t\t_nulling: function() {\n\t\t\trootEl =\n\t\t\tdragEl =\n\t\t\tparentEl =\n\t\t\tghostEl =\n\t\t\tnextEl =\n\t\t\tcloneEl =\n\t\t\tlastDownEl =\n\n\t\t\tscrollEl =\n\t\t\tscrollParentEl =\n\n\t\t\ttapEvt =\n\t\t\ttouchEvt =\n\n\t\t\tmoved =\n\t\t\tnewIndex =\n\n\t\t\tlastEl =\n\t\t\tlastCSS =\n\n\t\t\tputSortable =\n\t\t\tactiveGroup =\n\t\t\tSortable.active = null;\n\n\t\t\tsavedInputChecked.forEach(function (el) {\n\t\t\t\tel.checked = true;\n\t\t\t});\n\t\t\tsavedInputChecked.length = 0;\n\t\t},\n\n\t\thandleEvent: function (/**Event*/evt) {\n\t\t\tswitch (evt.type) {\n\t\t\t\tcase 'drop':\n\t\t\t\tcase 'dragend':\n\t\t\t\t\tthis._onDrop(evt);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'dragover':\n\t\t\t\tcase 'dragenter':\n\t\t\t\t\tif (dragEl) {\n\t\t\t\t\t\tthis._onDragOver(evt);\n\t\t\t\t\t\t_globalDragOver(evt);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'mouseover':\n\t\t\t\t\tthis._onDrop(evt);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'selectstart':\n\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\n\n\t\t/**\n\t\t * Serializes the item into an array of string.\n\t\t * @returns {String[]}\n\t\t */\n\t\ttoArray: function () {\n\t\t\tvar order = [],\n\t\t\t\tel,\n\t\t\t\tchildren = this.el.children,\n\t\t\t\ti = 0,\n\t\t\t\tn = children.length,\n\t\t\t\toptions = this.options;\n\n\t\t\tfor (; i < n; i++) {\n\t\t\t\tel = children[i];\n\t\t\t\tif (_closest(el, options.draggable, this.el)) {\n\t\t\t\t\torder.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn order;\n\t\t},\n\n\n\t\t/**\n\t\t * Sorts the elements according to the array.\n\t\t * @param {String[]} order order of the items\n\t\t */\n\t\tsort: function (order) {\n\t\t\tvar items = {}, rootEl = this.el;\n\n\t\t\tthis.toArray().forEach(function (id, i) {\n\t\t\t\tvar el = rootEl.children[i];\n\n\t\t\t\tif (_closest(el, this.options.draggable, rootEl)) {\n\t\t\t\t\titems[id] = el;\n\t\t\t\t}\n\t\t\t}, this);\n\n\t\t\torder.forEach(function (id) {\n\t\t\t\tif (items[id]) {\n\t\t\t\t\trootEl.removeChild(items[id]);\n\t\t\t\t\trootEl.appendChild(items[id]);\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n\t\t * Save the current sorting\n\t\t */\n\t\tsave: function () {\n\t\t\tvar store = this.options.store;\n\t\t\tstore && store.set(this);\n\t\t},\n\n\n\t\t/**\n\t\t * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\n\t\t * @param {HTMLElement} el\n\t\t * @param {String} [selector] default: `options.draggable`\n\t\t * @returns {HTMLElement|null}\n\t\t */\n\t\tclosest: function (el, selector) {\n\t\t\treturn _closest(el, selector || this.options.draggable, this.el);\n\t\t},\n\n\n\t\t/**\n\t\t * Set/get option\n\t\t * @param {string} name\n\t\t * @param {*} [value]\n\t\t * @returns {*}\n\t\t */\n\t\toption: function (name, value) {\n\t\t\tvar options = this.options;\n\n\t\t\tif (value === void 0) {\n\t\t\t\treturn options[name];\n\t\t\t} else {\n\t\t\t\toptions[name] = value;\n\n\t\t\t\tif (name === 'group') {\n\t\t\t\t\t_prepareGroup(options);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\n\t\t/**\n\t\t * Destroy\n\t\t */\n\t\tdestroy: function () {\n\t\t\tvar el = this.el;\n\n\t\t\tel[expando] = null;\n\n\t\t\t_off(el, 'mousedown', this._onTapStart);\n\t\t\t_off(el, 'touchstart', this._onTapStart);\n\t\t\t_off(el, 'pointerdown', this._onTapStart);\n\n\t\t\tif (this.nativeDraggable) {\n\t\t\t\t_off(el, 'dragover', this);\n\t\t\t\t_off(el, 'dragenter', this);\n\t\t\t}\n\n\t\t\t// Remove draggable attributes\n\t\t\tArray.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n\t\t\t\tel.removeAttribute('draggable');\n\t\t\t});\n\n\t\t\ttouchDragOverListeners.splice(touchDragOverListeners.indexOf(this._onDragOver), 1);\n\n\t\t\tthis._onDrop();\n\n\t\t\tthis.el = el = null;\n\t\t}\n\t};\n\n\n\tfunction _cloneHide(sortable, state) {\n\t\tif (sortable.lastPullMode !== 'clone') {\n\t\t\tstate = true;\n\t\t}\n\n\t\tif (cloneEl && (cloneEl.state !== state)) {\n\t\t\t_css(cloneEl, 'display', state ? 'none' : '');\n\n\t\t\tif (!state) {\n\t\t\t\tif (cloneEl.state) {\n\t\t\t\t\tif (sortable.options.group.revertClone) {\n\t\t\t\t\t\trootEl.insertBefore(cloneEl, nextEl);\n\t\t\t\t\t\tsortable._animate(dragEl, cloneEl);\n\t\t\t\t\t} else {\n\t\t\t\t\t\trootEl.insertBefore(cloneEl, dragEl);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcloneEl.state = state;\n\t\t}\n\t}\n\n\n\tfunction _closest(/**HTMLElement*/el, /**String*/selector, /**HTMLElement*/ctx) {\n\t\tif (el) {\n\t\t\tctx = ctx || document;\n\n\t\t\tdo {\n\t\t\t\tif ((selector === '>*' && el.parentNode === ctx) || _matches(el, selector)) {\n\t\t\t\t\treturn el;\n\t\t\t\t}\n\t\t\t\t/* jshint boss:true */\n\t\t\t} while (el = _getParentOrHost(el));\n\t\t}\n\n\t\treturn null;\n\t}\n\n\n\tfunction _getParentOrHost(el) {\n\t\tvar parent = el.host;\n\n\t\treturn (parent && parent.nodeType) ? parent : el.parentNode;\n\t}\n\n\n\tfunction _globalDragOver(/**Event*/evt) {\n\t\tif (evt.dataTransfer) {\n\t\t\tevt.dataTransfer.dropEffect = 'move';\n\t\t}\n\t\tevt.preventDefault();\n\t}\n\n\n\tfunction _on(el, event, fn) {\n\t\tel.addEventListener(event, fn, captureMode);\n\t}\n\n\n\tfunction _off(el, event, fn) {\n\t\tel.removeEventListener(event, fn, captureMode);\n\t}\n\n\n\tfunction _toggleClass(el, name, state) {\n\t\tif (el) {\n\t\t\tif (el.classList) {\n\t\t\t\tel.classList[state ? 'add' : 'remove'](name);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvar className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');\n\t\t\t\tel.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');\n\t\t\t}\n\t\t}\n\t}\n\n\n\tfunction _css(el, prop, val) {\n\t\tvar style = el && el.style;\n\n\t\tif (style) {\n\t\t\tif (val === void 0) {\n\t\t\t\tif (document.defaultView && document.defaultView.getComputedStyle) {\n\t\t\t\t\tval = document.defaultView.getComputedStyle(el, '');\n\t\t\t\t}\n\t\t\t\telse if (el.currentStyle) {\n\t\t\t\t\tval = el.currentStyle;\n\t\t\t\t}\n\n\t\t\t\treturn prop === void 0 ? val : val[prop];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (!(prop in style)) {\n\t\t\t\t\tprop = '-webkit-' + prop;\n\t\t\t\t}\n\n\t\t\t\tstyle[prop] = val + (typeof val === 'string' ? '' : 'px');\n\t\t\t}\n\t\t}\n\t}\n\n\n\tfunction _find(ctx, tagName, iterator) {\n\t\tif (ctx) {\n\t\t\tvar list = ctx.getElementsByTagName(tagName), i = 0, n = list.length;\n\n\t\t\tif (iterator) {\n\t\t\t\tfor (; i < n; i++) {\n\t\t\t\t\titerator(list[i], i);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn list;\n\t\t}\n\n\t\treturn [];\n\t}\n\n\n\n\tfunction _dispatchEvent(sortable, rootEl, name, targetEl, toEl, fromEl, startIndex, newIndex) {\n\t\tsortable = (sortable || rootEl[expando]);\n\n\t\tvar evt = document.createEvent('Event'),\n\t\t\toptions = sortable.options,\n\t\t\tonName = 'on' + name.charAt(0).toUpperCase() + name.substr(1);\n\n\t\tevt.initEvent(name, true, true);\n\n\t\tevt.to = toEl || rootEl;\n\t\tevt.from = fromEl || rootEl;\n\t\tevt.item = targetEl || rootEl;\n\t\tevt.clone = cloneEl;\n\n\t\tevt.oldIndex = startIndex;\n\t\tevt.newIndex = newIndex;\n\n\t\trootEl.dispatchEvent(evt);\n\n\t\tif (options[onName]) {\n\t\t\toptions[onName].call(sortable, evt);\n\t\t}\n\t}\n\n\n\tfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvt, willInsertAfter) {\n\t\tvar evt,\n\t\t\tsortable = fromEl[expando],\n\t\t\tonMoveFn = sortable.options.onMove,\n\t\t\tretVal;\n\n\t\tevt = document.createEvent('Event');\n\t\tevt.initEvent('move', true, true);\n\n\t\tevt.to = toEl;\n\t\tevt.from = fromEl;\n\t\tevt.dragged = dragEl;\n\t\tevt.draggedRect = dragRect;\n\t\tevt.related = targetEl || toEl;\n\t\tevt.relatedRect = targetRect || toEl.getBoundingClientRect();\n\t\tevt.willInsertAfter = willInsertAfter;\n\n\t\tfromEl.dispatchEvent(evt);\n\n\t\tif (onMoveFn) {\n\t\t\tretVal = onMoveFn.call(sortable, evt, originalEvt);\n\t\t}\n\n\t\treturn retVal;\n\t}\n\n\n\tfunction _disableDraggable(el) {\n\t\tel.draggable = false;\n\t}\n\n\n\tfunction _unsilent() {\n\t\t_silent = false;\n\t}\n\n\n\t/** @returns {HTMLElement|false} */\n\tfunction _ghostIsLast(el, evt) {\n\t\tvar lastEl = el.lastElementChild,\n\t\t\trect = lastEl.getBoundingClientRect();\n\n\t\t// 5 — min delta\n\t\t// abs — нельзя добавлять, а то глюки при наведении сверху\n\t\treturn (evt.clientY - (rect.top + rect.height) > 5) ||\n\t\t\t(evt.clientX - (rect.left + rect.width) > 5);\n\t}\n\n\n\t/**\n\t * Generate id\n\t * @param {HTMLElement} el\n\t * @returns {String}\n\t * @private\n\t */\n\tfunction _generateId(el) {\n\t\tvar str = el.tagName + el.className + el.src + el.href + el.textContent,\n\t\t\ti = str.length,\n\t\t\tsum = 0;\n\n\t\twhile (i--) {\n\t\t\tsum += str.charCodeAt(i);\n\t\t}\n\n\t\treturn sum.toString(36);\n\t}\n\n\t/**\n\t * Returns the index of an element within its parent for a selected set of\n\t * elements\n\t * @param {HTMLElement} el\n\t * @param {selector} selector\n\t * @return {number}\n\t */\n\tfunction _index(el, selector) {\n\t\tvar index = 0;\n\n\t\tif (!el || !el.parentNode) {\n\t\t\treturn -1;\n\t\t}\n\n\t\twhile (el && (el = el.previousElementSibling)) {\n\t\t\tif ((el.nodeName.toUpperCase() !== 'TEMPLATE') && (selector === '>*' || _matches(el, selector))) {\n\t\t\t\tindex++;\n\t\t\t}\n\t\t}\n\n\t\treturn index;\n\t}\n\n\tfunction _matches(/**HTMLElement*/el, /**String*/selector) {\n\t\tif (el) {\n\t\t\tselector = selector.split('.');\n\n\t\t\tvar tag = selector.shift().toUpperCase(),\n\t\t\t\tre = new RegExp('\\\\s(' + selector.join('|') + ')(?=\\\\s)', 'g');\n\n\t\t\treturn (\n\t\t\t\t(tag === '' || el.nodeName.toUpperCase() == tag) &&\n\t\t\t\t(!selector.length || ((' ' + el.className + ' ').match(re) || []).length == selector.length)\n\t\t\t);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction _throttle(callback, ms) {\n\t\tvar args, _this;\n\n\t\treturn function () {\n\t\t\tif (args === void 0) {\n\t\t\t\targs = arguments;\n\t\t\t\t_this = this;\n\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\tif (args.length === 1) {\n\t\t\t\t\t\tcallback.call(_this, args[0]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcallback.apply(_this, args);\n\t\t\t\t\t}\n\n\t\t\t\t\targs = void 0;\n\t\t\t\t}, ms);\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction _extend(dst, src) {\n\t\tif (dst && src) {\n\t\t\tfor (var key in src) {\n\t\t\t\tif (src.hasOwnProperty(key)) {\n\t\t\t\t\tdst[key] = src[key];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn dst;\n\t}\n\n\tfunction _clone(el) {\n\t\tif (Polymer && Polymer.dom) {\n\t\t\treturn Polymer.dom(el).cloneNode(true);\n\t\t}\n\t\telse if ($) {\n\t\t\treturn $(el).clone(true)[0];\n\t\t}\n\t\telse {\n\t\t\treturn el.cloneNode(true);\n\t\t}\n\t}\n\n\tfunction _saveInputCheckedState(root) {\n\t\tvar inputs = root.getElementsByTagName('input');\n\t\tvar idx = inputs.length;\n\n\t\twhile (idx--) {\n\t\t\tvar el = inputs[idx];\n\t\t\tel.checked && savedInputChecked.push(el);\n\t\t}\n\t}\n\n\tfunction _nextTick(fn) {\n\t\treturn setTimeout(fn, 0);\n\t}\n\n\tfunction _cancelNextTick(id) {\n\t\treturn clearTimeout(id);\n\t}\n\n\t// Fixed #973:\n\t_on(document, 'touchmove', function (evt) {\n\t\tif (Sortable.active) {\n\t\t\tevt.preventDefault();\n\t\t}\n\t});\n\n\t// Export utils\n\tSortable.utils = {\n\t\ton: _on,\n\t\toff: _off,\n\t\tcss: _css,\n\t\tfind: _find,\n\t\tis: function (el, selector) {\n\t\t\treturn !!_closest(el, selector, el);\n\t\t},\n\t\textend: _extend,\n\t\tthrottle: _throttle,\n\t\tclosest: _closest,\n\t\ttoggleClass: _toggleClass,\n\t\tclone: _clone,\n\t\tindex: _index,\n\t\tnextTick: _nextTick,\n\t\tcancelNextTick: _cancelNextTick\n\t};\n\n\n\t/**\n\t * Create sortable instance\n\t * @param {HTMLElement} el\n\t * @param {Object} [options]\n\t */\n\tSortable.create = function (el, options) {\n\t\treturn new Sortable(el, options);\n\t};\n\n\n\t// Export\n\tSortable.version = '1.7.0';\n\treturn Sortable;\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"portal\"},[_c('PortalEditor',{attrs:{\"msg\":\"PortalEditor:出场了\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:\"portal__editor\"},[_c('el-aside',{staticClass:\"el-card is-always-shadow\",staticStyle:{\"height\":\"600px\",\"box-sizing\":\"border-box\"},attrs:{\"width\":\"150px\"}},[_c('h4',[_vm._v(\"组件区\")]),_c('WidgetArea')],1),_c('el-container',[_c('el-header',{staticStyle:{\"background-color\":\"#B3C0D1\"}},[_c('p',[_vm._v(\"布局\")])]),_c('el-main',[_c('el-button',{on:{\"click\":function($event){_vm.addRow([8, 8, 8])}}},[_vm._v(\"新增 8:8:8\")]),_c('el-button',{on:{\"click\":function($event){_vm.addRow()}}},[_vm._v(\"新增 6:6:6:6\")]),_c('el-button',{on:{\"click\":function($event){_vm.preview()}}},[_vm._v(\"预览\")]),_vm._l((_vm.rows),function(row,rowIndex){return _c('el-row',{key:rowIndex,attrs:{\"gutter\":10}},[_vm._l((row.zones),function(zone,zoneIndex){return _c('el-col',{key:zoneIndex,staticStyle:{\"border\":\"1px dotted #ddd\",\"min-height\":\"88px\"},attrs:{\"md\":zone.size}},[_c('draggable',{attrs:{\"options\":{ group : 'ronli' }},on:{\"start\":function($event){_vm.drag=true},\"end\":function($event){_vm.drag=false}},model:{value:(zone.widgets),callback:function ($$v) {_vm.$set(zone, \"widgets\", $$v)},expression:\"zone.widgets\"}},[_vm._l((zone.widgets),function(item,itemIndex){return _c('div',{key:itemIndex},[_c('p',{staticClass:\"cursor--move\"},[_vm._v(\"鼠标 hold住这儿,再拖拽 -- \"),_c('i',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"这里写一个删除\")])]),_c(item.name,{tag:\"component\"})],1)}),(!zone.widgets.length)?_c('div',{staticClass:\"cursor--forbid\",staticStyle:{\"padding\":\"1em 0\"},on:{\"start\":function($event){_vm.drag=false},\"end\":function($event){_vm.drag=false}}},[_vm._v(\"空白区\")]):_vm._e(),_c('p',{staticStyle:{\"font-size\":\"12px\"}},[_vm._v(\"- - 》》插口槽 Is Here《《 - -\")])],2)],1)}),_c('el-button',{staticStyle:{\"position\":\"absolute\",\"left\":\"-10px\",\"top\":\"10px\"},attrs:{\"type\":\"danger\",\"icon\":\"el-icon-delete\",\"circle\":\"\",\"title\":\"删除该行\"},on:{\"click\":function($event){_vm.deleteRow(rowIndex)}}})],2)})],2)],1),_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.isPreview)?_c('ProtalPreview',{attrs:{\"contents\":_vm.rows},on:{\"previewclose\":_vm.preview}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('draggable',{attrs:{\"element\":'ul',\"options\":{ group: {name:'ronli', pull: 'clone', put:false}}},on:{\"end\":function($event){_vm.drag=false}},model:{value:(_vm.widgets),callback:function ($$v) {_vm.widgets=$$v},expression:\"widgets\"}},[_vm._l((_vm.widgets),function(widget,widgetIndex){return _c('li',{key:widgetIndex,staticClass:\"cursor--move\"},[_vm._v(_vm._s(widget.alias))])}),(!_vm.widgets.length)?_c('li',{staticClass:\"cursor--forbid\",staticStyle:{\"background-color\":\"#67c23a\"},on:{\"start\":function($event){_vm.drag=false},\"end\":function($event){_vm.drag=false}}},[_vm._v(\"--》回收槽《--\")]):_vm._e()],2),_c('pre',{staticStyle:{\"text-align\":\"left\"}},[_vm._v(_vm._s(_vm.widgets))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-card',[_c('h4',[_vm._v(\"小挂件-计时器\")]),_c('el-main',[_vm._v(\"\\n 出生于 \"),_c('em',{staticStyle:{\"color\":\"red\"}},[_vm._v(_vm._s(_vm.ms)+\"s\")]),_vm._v(\" 前\\n \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AyaTimer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AyaTimer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AyaTimer.vue?vue&type=template&id=b7ec6600&\"\nimport script from \"./AyaTimer.vue?vue&type=script&lang=js&\"\nexport * from \"./AyaTimer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"AyaTimer.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-alert',{attrs:{\"title\":\"随意拖拽我\",\"type\":\"success\",\"description\":\"我是个样例,但可以随意拖拽我\",\"closable\":false,\"center\":\"\",\"show-icon\":\"\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AyaExample.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AyaExample.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AyaExample.vue?vue&type=template&id=59a94a4a&\"\nimport script from \"./AyaExample.vue?vue&type=script&lang=js&\"\nexport * from \"./AyaExample.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"AyaExample.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-card',[_c('h3',[_vm._v(\"小挂件-CMD加载\")]),_c('el-main',[_vm._v(_vm._s(_vm.txt)+\" - \"+_vm._s(_vm.txt)+\" - \"+_vm._s(_vm.txt))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AyaCmdLoading.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AyaCmdLoading.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AyaCmdLoading.vue?vue&type=template&id=43a0af56&\"\nimport script from \"./AyaCmdLoading.vue?vue&type=script&lang=js&\"\nexport * from \"./AyaCmdLoading.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"AyaCmdLoading.vue\"\nexport default component.exports","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","// 小部件实体类\r\nclass Widget {\r\n constructor(name, alias) {\r\n this.name = name;\r\n this.alias = alias;\r\n }\r\n}\r\n\r\nexport default Widget;\r\n","// 暂时没有办法一次全部局部加载多个组件\r\nimport AyaTimer from \"@/components/widgets/AyaTimer.vue\";\r\nimport AyaExample from \"@/components/widgets/AyaExample.vue\";\r\nimport AyaCmdLoading from \"@/components/widgets/AyaCmdLoading.vue\";\r\n\r\nimport Widget from \"@/components/widgets/Widget.js\";\r\n\r\nexport default {\r\n components: {\r\n AyaExample,\r\n AyaTimer,\r\n AyaCmdLoading\r\n },\r\n widgets: [\r\n new Widget(\"AyaExample\", \"小挂件-样例\"),\r\n new Widget(\"AyaTimer\", \"小挂件-计时器\"),\r\n new Widget(\"AyaCmdLoading\", \"小挂件-CMD加载\")\r\n ]\r\n};\r\n","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetArea.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetArea.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetArea.vue?vue&type=template&id=2cce6e52&\"\nimport script from \"./WidgetArea.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetArea.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"WidgetArea.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"portal__preview el-card is-always-shadow\"},[_c('div',{staticClass:\"clearfix\",staticStyle:{\"padding\":\"10px\"}},[_c('h3',[_vm._v(\"页面预览\")]),_c('el-button',{staticStyle:{\"position\":\"absolute\",\"top\":\"25px\",\"right\":\"15px\"},attrs:{\"type\":\"warning\",\"icon\":\"el-icon-close\"},on:{\"click\":_vm.close}},[_vm._v(\"关闭预览\")])],1),_vm._l((_vm.contents),function(row,rowIndex){return _c('el-row',{key:rowIndex,attrs:{\"gutter\":10}},_vm._l((row.zones),function(zone,zoneIndex){return _c('el-col',{key:zoneIndex,attrs:{\"md\":zone.size}},[(!zone.widgets.length)?_c('div',[_vm._v(\" \")]):_vm._e(),_vm._l((zone.widgets),function(item,itemIndex){return _c('div',{key:itemIndex},[_c(item.name,{tag:\"component\"})],1)})],2)}))})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PortalPreview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PortalPreview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PortalPreview.vue?vue&type=template&id=5be0c79e&\"\nimport script from \"./PortalPreview.vue?vue&type=script&lang=js&\"\nexport * from \"./PortalPreview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PortalPreview.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"PortalPreview.vue\"\nexport default component.exports","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PortalEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PortalEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PortalEditor.vue?vue&type=template&id=798729f6&\"\nimport script from \"./PortalEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./PortalEditor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PortalEditor.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"PortalEditor.vue\"\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Portal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Portal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Portal.vue?vue&type=template&id=fa8f1b58&\"\nimport script from \"./Portal.vue?vue&type=script&lang=js&\"\nexport * from \"./Portal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Portal.vue\"\nexport default component.exports","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PortalPreview.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PortalPreview.vue?vue&type=style&index=0&lang=scss&\""],"sourceRoot":""} --------------------------------------------------------------------------------