UNPKG

element-gui

Version:

A Component Library for Vue.js.

1 lines 11.8 kB
module.exports=function(e){var n={};function t(i){if(n[i])return n[i].exports;var s=n[i]={i:i,l:!1,exports:{}};return e[i].call(s.exports,s,s.exports,t),s.l=!0,s.exports}return t.m=e,t.c=n,t.d=function(e,n,i){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:i})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(t.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var s in e)t.d(i,s,function(n){return e[n]}.bind(null,s));return i},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="/dist/",t(t.s=152)}({0:function(e,n,t){"use strict";function i(e,n,t,i,s,r,a,o){var u,c="function"==typeof e?e.options:e;if(n&&(c.render=n,c.staticRenderFns=t,c._compiled=!0),i&&(c.functional=!0),r&&(c._scopeId="data-v-"+r),a?(u=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),s&&s.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},c._ssrRegister=u):s&&(u=o?function(){s.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:s),u)if(c.functional){c._injectStyles=u;var p=c.render;c.render=function(e,n){return u.call(n),p(e,n)}}else{var l=c.beforeCreate;c.beforeCreate=l?[].concat(l,u):[u]}return{exports:e,options:c}}t.d(n,"a",(function(){return i}))},152:function(e,n,t){"use strict";t.r(n);var i=t(2),s=t(25);var r={name:"ElSplitpanes",props:{horizontal:{type:Boolean,default:!1},pushOtherPanes:{type:Boolean,default:!0},dblClickSplitter:{type:Boolean,default:!0},firstSplitter:{type:Boolean,default:!1}},data:function(){return{container:null,ready:!1,panes:[],touch:{mouseDown:!1,dragging:!1,activeSplitter:null},splitterTaps:{splitter:null,timeoutId:null}}},computed:{panesCount:function(){return this.panes.length},indexedPanes:function(){return this.panes.reduce((function(e,n){return(e[n.id]=n)&&e}),{})}},methods:{updatePaneComponents:function(){var e=this;this.$children.forEach((function(n){var t;n.update(((t={})[e.horizontal?"height":"width"]=e.indexedPanes[n._uid].size+"%",t))}))},bindEvents:function(){document.addEventListener("mousemove",this.onMouseMove,{passive:!1}),document.addEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.addEventListener("touchmove",this.onMouseMove,{passive:!1}),document.addEventListener("touchend",this.onMouseUp))},unbindEvents:function(){document.removeEventListener("mousemove",this.onMouseMove,{passive:!1}),document.removeEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.removeEventListener("touchmove",this.onMouseMove,{passive:!1}),document.removeEventListener("touchend",this.onMouseUp))},onMouseDown:function(e,n){this.bindEvents(),this.touch.mouseDown=!0,this.touch.activeSplitter=n},onMouseMove:function(e){this.touch.mouseDown&&(e.preventDefault(),this.touch.dragging=!0,this.calculatePanesSize(this.getCurrentMouseDrag(e)),this.$emit("resize",this.panes.map((function(e){return{min:e.min,max:e.max,size:e.size}}))))},onMouseUp:function(){var e=this;this.touch.dragging&&this.$emit("resized",this.panes.map((function(e){return{min:e.min,max:e.max,size:e.size}}))),this.touch.mouseDown=!1,setTimeout((function(){e.touch.dragging=!1,e.unbindEvents()}),100)},onSplitterClick:function(e,n){var t=this;"ontouchstart"in window&&(e.preventDefault(),this.splitterTaps.splitter===n?(clearTimeout(this.splitterTaps.timeoutId),this.splitterTaps.timeoutId=null,this.onSplitterDblClick(e,n)):(this.splitterTaps.splitter=n,this.splitterTaps.timeoutId=setTimeout((function(){t.splitterTaps.splitter=null}),500))),this.touch.dragging||this.$emit("splitter-click",this.panes[n])},onSplitterDblClick:function(e,n){var t=0;this.panes=this.panes.map((function(e,i){return e.size=i===n?e.max:e.min,i!==n&&(t+=e.min),e})),this.panes[n].size-=t,this.$emit("pane-maximize",this.panes[n])},onPaneClick:function(e,n){this.$emit("pane-click",this.panes[n])},getCurrentMouseDrag:function(e){var n=this.container.getBoundingClientRect(),t="ontouchstart"in window&&e.touches?e.touches[0]:e,i=t.clientX,s=t.clientY;return{x:i-n.left,y:s-n.top}},getCurrentDragPercentage:function(e){e=e[this.horizontal?"y":"x"];var n=this.container[this.horizontal?"clientHeight":"clientWidth"];return Math.floor(100*e/n)},calculatePanesSize:function(e){var n=this.touch.activeSplitter,t={prevPanesSize:this.sumPrevPanesSize(n),nextPanesSize:this.sumNextPanesSize(n),prevReachedMinPanes:0,nextReachedMinPanes:0},i=0+(this.pushOtherPanes?0:t.prevPanesSize),s=100-(this.pushOtherPanes?0:t.nextPanesSize),r=Math.max(Math.min(this.getCurrentDragPercentage(e),s),i),a=[n,n+1],o=this.panes[a[0]]||null,u=this.panes[a[1]]||null,c=o.max<100&&r>=o.max+t.prevPanesSize,p=u.max<100&&r<=100-(u.max+this.sumNextPanesSize(n+1));if(c||p)c?(o.size=o.max,u.size=Math.max(100-o.max-t.prevPanesSize-t.nextPanesSize,0)):(o.size=Math.max(100-u.max-t.prevPanesSize-this.sumNextPanesSize(n+1),0),u.size=u.max);else{if(this.pushOtherPanes){var l=this.doPushOtherPanes(t,r);if(!l)return;t=l.sums,a=l.panesToResize,o=this.panes[a[0]]||null,u=this.panes[a[1]]||null}null!==o&&(o.size=Math.min(Math.max(r-t.prevPanesSize-t.prevReachedMinPanes,o.min),o.max)),null!==u&&(u.size=Math.min(Math.max(100-r-t.nextPanesSize-t.nextReachedMinPanes,u.min),u.max))}},doPushOtherPanes:function(e,n){var t=this,i=this.touch.activeSplitter,s=[i,i+1];return n<e.prevPanesSize+this.panes[s[0]].min&&(s[0]=this.findPrevExpandedPane(i).index,e.prevReachedMinPanes=0,s[0]<i&&this.panes.forEach((function(n,t){t>s[0]&&t<=i&&(n.size=n.min,e.prevReachedMinPanes+=n.min)})),e.prevPanesSize=this.sumPrevPanesSize(s[0]),void 0===s[0])?(e.prevReachedMinPanes=0,this.panes[0].size=this.panes[0].min,this.panes.forEach((function(n,t){t>0&&t<=i&&(n.size=n.min,e.prevReachedMinPanes+=n.min)})),this.panes[s[1]].size=100-e.prevReachedMinPanes-this.panes[0].min-e.prevPanesSize-e.nextPanesSize,null):n>100-e.nextPanesSize-this.panes[s[1]].min&&(s[1]=this.findNextExpandedPane(i).index,e.nextReachedMinPanes=0,s[1]>i+1&&this.panes.forEach((function(n,t){t>i&&t<s[1]&&(n.size=n.min,e.nextReachedMinPanes+=n.min)})),e.nextPanesSize=this.sumNextPanesSize(s[1]-1),void 0===s[1])?(e.nextReachedMinPanes=0,this.panes[this.panesCount-1].size=this.panes[this.panesCount-1].min,this.panes.forEach((function(n,s){s<t.panesCount-1&&s>=i+1&&(n.size=n.min,e.nextReachedMinPanes+=n.min)})),this.panes[s[0]].size=100-e.prevPanesSize-e.nextReachedMinPanes-this.panes[this.panesCount-1].min-e.nextPanesSize,null):{sums:e,panesToResize:s}},sumPrevPanesSize:function(e){return this.panes.reduce((function(n,t,i){return n+(i<e?t.size:0)}),0)},sumNextPanesSize:function(e){return this.panes.reduce((function(n,t,i){return n+(i>e+1?t.size:0)}),0)},findPrevExpandedPane:function(e){return Object(s.isArrFind)(),[].concat(this.panes).reverse().find((function(n){return n.index<e&&n.size>n.min}))||{}},findNextExpandedPane:function(e){return Object(s.isArrFind)(),this.panes.find((function(n){return n.index>e+1&&n.size>n.min}))||{}},checkSplitpanesNodes:function(){this.container.children.forEach((function(e){var n=e.classList.contains("el-splitpanes__pane"),t=e.classList.contains("el-splitpanes__splitter");if(!n&&!t)return Object(i.isIE)()?e.removeNode(!0):e.remove(),void console.warn("Splitpanes: Only <el-pane> elements are allowed at the root of <el-splitpanes>. One of your DOM nodes was removed.")}))},addSplitter:function(e,n){var t=this,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=e-1,r=document.createElement("div");r.classList.add("el-splitpanes__splitter"),i||(r.onmousedown=function(e){return t.onMouseDown(e,s)},"undefined"!=typeof window&&"ontouchstart"in window&&(r.ontouchstart=function(e){return t.onMouseDown(e,s)}),r.onclick=function(e){return t.onSplitterClick(e,s+1)}),this.dblClickSplitter&&(r.ondblclick=function(e){return t.onSplitterDblClick(e,s+1)}),n.parentNode.insertBefore(r,n)},removeSplitter:function(e){e.onmousedown=void 0,e.onclick=void 0,e.ondblclick=void 0,Object(i.isIE)()?e.removeNode(!0):e.remove()},redoSplitters:function(){var e=this;Object(s.isArrForm)();var n=Array.from(this.container.children);n.forEach((function(n){n.className.indexOf("el-splitpanes__splitter")>=0&&e.removeSplitter(n)}));var t=0;n.forEach((function(n){n.className.indexOf("el-splitpanes__pane")>=0&&(!t&&e.firstSplitter?e.addSplitter(t,n,!0):t&&e.addSplitter(t,n),t++)}))},requestUpdate:function(e){var n=e.target,t=function(e,n){var t={};for(var i in e)n.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}(e,["target"]),i=this.indexedPanes[n._uid];Object(s.isObjEntries)(),Object.entries(t).forEach((function(e){var n=e[0],t=e[1];return i[n]=t}))},onPaneAdd:function(e){var n=-1;Object(s.isArrForm)(),Array.from(e.$el.parentNode.children).some((function(t){return t.className.indexOf("el-splitpanes__pane")>=0&&n++,t===e.$el}));var t=parseFloat(e.minSize),i=parseFloat(e.maxSize);this.panes.splice(n,0,{id:e._uid,index:n,min:isNaN(t)?0:t,max:isNaN(i)?100:i,size:null===e.size?null:parseFloat(e.size)}),this.panes.forEach((function(e,n){return e.index=n})),this.ready&&(this.redoSplitters(),this.redistributeSpaceEvenly(),this.$emit("pane-add",{index:n,panes:this.panes.map((function(e){return{min:e.min,max:e.max,size:e.size}}))}))},onPaneRemove:function(e){Object(s.isFindIndex)();var n=this.panes.findIndex((function(n){return n.id===e._uid})),t=this.panes.splice(n,1)[0];this.panes.forEach((function(e,n){return e.index=n})),this.redoSplitters(),this.distributeEmptySpace(),this.$emit("pane-remove",{removed:t,panes:this.panes.map((function(e){return{min:e.min,max:e.max,size:e.size}}))})},resetPaneSizes:function(){this.panes.some((function(e){return null===e.size}))&&this.redistributeSpaceEvenly()},redistributeSpaceEvenly:function(){var e=100/this.panesCount;this.panes.forEach((function(n){return n.size=e})),this.ready&&this.$emit("resized",this.panes.map((function(e){return{min:e.min,max:e.max,size:e.size}})))},distributeEmptySpace:function(){var e=[],n=0,t=0,i=100-this.panes.reduce((function(e,n){return(e+=n.size)&&e}),0);this.panes.forEach((function(i){i.size<i.max&&e.push(i),i.size?t+=i.max-i.size:n++}));var s=t<i,r=e.length-(s?0:n),a=i/r,o=i;e.forEach((function(e){if(e.size<e.max&&(e.size||!e.size&&s)){var n=Math.min(e.size+a,e.max),t=n-e.size;o-=t,e.size=n,a-t>.1&&(a=o/--r)}})),this.$emit("resized",this.panes.map((function(e){return{min:e.min,max:e.max,size:e.size}})))}},watch:{panes:{deep:!0,immediate:!1,handler:function(){this.updatePaneComponents()}},horizontal:function(){this.updatePaneComponents()},firstSplitter:function(){this.redoSplitters()},dblClickSplitter:function(e){var n=this;[].concat(this.container.querySelectorAll(".el-splitpanes__splitter")).forEach((function(t,i){t.ondblclick=e?function(e){return n.onSplitterDblClick(e,i)}:void 0}))}},mounted:function(){this.container=this.$refs.container,this.redoSplitters(),this.resetPaneSizes(),this.$emit("ready"),this.ready=!0},render:function(e){return e("div",{ref:"container",class:["el-splitpanes","el-splitpanes--"+(this.horizontal?"horizontal":"vertical"),{"el-splitpanes--dragging":this.touch.dragging}]},this.$slots.default)}},a=t(0),o=Object(a.a)(r,void 0,void 0,!1,null,null,null).exports;o.install=function(e){e.component(o.name,o)};n.default=o},2:function(e,n){e.exports=require("element-gui/lib/utils/util")},25:function(e,n){e.exports=require("element-gui/lib/utils/ie")}});