vxe-pc-ui
Version:
A vue based PC component library
1 lines • 1.73 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_util=require("./util"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeSplitPane",props:{name:[Number,String],width:[Number,String],height:[Number,String],showAction:Boolean,minWidth:{type:[Number,String],default:()=>null},minHeight:{type:[Number,String],default:()=>null}},emits:[],setup(e,t){const{emit:n,slots:i}=t;var r=_xeUtils.default.uniqueId();const u=(0,_vue.inject)("$xeSplit",null),a=(0,_vue.ref)(),h=(0,_vue.reactive)({id:r,name:e.name,width:e.width,height:e.height,minWidth:e.minWidth,minHeight:e.minHeight,showAction:e.showAction,isVisible:!0,isExpand:!0,renderWidth:0,resizeWidth:0,foldWidth:0,renderHeight:0,resizeHeight:0,foldHeight:0,slots:i});var d=(0,_vue.reactive)({});const l={},o={refElem:a},s={xID:r,props:e,context:t,reactData:d,internalData:{},getRefMaps:()=>o,getComputeMaps:()=>l};Object.assign(s,{dispatchEvent:(e,t,i)=>{n(e,(0,_ui.createEvent)(i,{$splitPane:s},t))}},{});return(0,_vue.watch)(()=>e.name,e=>{h.name=e}),(0,_vue.watch)(()=>e.width,e=>{h.width=e}),(0,_vue.watch)(()=>e.height,e=>{h.height=e}),(0,_vue.watch)(()=>e.minWidth,e=>{h.minWidth=e}),(0,_vue.watch)(()=>e.minHeight,e=>{h.minHeight=e}),(0,_vue.watch)(()=>e.showAction,e=>{h.showAction=e}),(0,_vue.onMounted)(()=>{var e=a.value;u&&e&&(0,_util.assembleSplitItem)(u,e,h)}),(0,_vue.onUnmounted)(()=>{u&&(0,_util.destroySplitItem)(u,h)}),(0,_vue.provide)("$xeSplitItem",s),s.renderVN=()=>(0,_vue.h)("div",{ref:a}),s},render(){return this.renderVN()}});