vxe-pc-ui
Version:
A vue based PC component library
1 lines • 1.77 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_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,_comp.defineVxeComponent)({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:r,slots:i}=t;var n=_xeUtils.default.uniqueId();const u=(0,_vue.inject)("$xeSplit",null),a=(0,_vue.ref)(),h=(0,_vue.reactive)({id:n,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 o=(0,_vue.reactive)({});const s={},d={refElem:a},l={xID:n,props:e,context:t,reactData:o,internalData:{},getRefMaps:()=>d,getComputeMaps:()=>s};Object.assign(l,{dispatchEvent:(e,t,i)=>{r(e,(0,_ui.createEvent)(i,{$splitPane:l},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",l),l.renderVN=()=>(0,_vue.h)("div",{ref:a}),l},render(){return this.renderVN()}});