vxe-pc-ui
Version:
A vue based PC component library
1 lines • 1.75 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:"VxeSplitterPanel",props:{name:[Number,String],width:[Number,String],height:[Number,String],minWidth:{type:[Number,String],default:()=>null},minHeight:{type:[Number,String],default:()=>null},showAction:Boolean},emits:[],setup(e,t){let{emit:r,slots:i}=t;var u=_xeUtils.default.uniqueId();let n=(0,_vue.inject)("$xeSplitter",null),a=(0,_vue.ref)(),h=(0,_vue.reactive)({id:u,name:e.name,width:e.width,height:e.height,minWidth:e.minWidth,minHeight:e.minHeight,showAction:e.showAction,isExpand:!0,renderWidth:0,resizeWidth:0,foldWidth:0,renderHeight:0,resizeHeight:0,foldHeight:0,slots:i});var l=(0,_vue.reactive)({});let d={},o={refElem:a},s={xID:u,props:e,context:t,reactData:l,internalData:{},getRefMaps:()=>o,getComputeMaps:()=>d};Object.assign(s,{dispatchEvent:(e,t,i)=>{r(e,(0,_ui.createEvent)(i,{$splitterPanel: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;n&&e&&(0,_util.assembleSplitterItem)(n,e,h)}),(0,_vue.onUnmounted)(()=>{n&&(0,_util.destroySplitterItem)(n,h)}),(0,_vue.provide)("$xeSplitterItem",s),s.renderVN=()=>(0,_vue.h)("div",{ref:a}),s},render(){return this.renderVN()}});