UNPKG

@jecloud/ui

Version:

JECloud UI库,基于ant-design-vue封装

1 lines 2.31 kB
var e=this&&this.__assign||function(){return e=Object.assign||function(e){for(var t,o=1,r=arguments.length;o<r;o++)for(var n in t=arguments[o])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},e.apply(this,arguments)};import{createVNode as t,isVNode as o,mergeProps as r}from"vue";import{defineComponent as n,ref as i,computed as l}from"vue";import{computedDomSize as a}from"@jecloud/utils";import{useMehtod as u}from"./hooks/use-method";import{useSplitter as s}from"./hooks/use-splitter";import{bars as p,items as d,slots as f,props as c,emits as v}from"./config";import{filterEmpty as m}from"../../utils/props";import h from"./item";function g(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!o(e)}export default n({name:"JePanel",inheritAttrs:!1,props:c,slots:f,emits:v,setup:function(o,n){var f=n.attrs,c=n.slots,v=n.expose,y=n.emit,b={el:i(),body:i(),center:i(),items:[],bars:[]},j=l((function(){var t=e({},o.style);return o.width&&(t.width=""+a({size:o.width,unit:"px"})),o.height&&(t.height=""+a({size:o.height,unit:"px"})),t})),P=u({props:o,slots:c,refMaps:b,emit:y,computeStyle:j}),w=P,O=P.propsReactive;v(P);var x=s({props:o,refMaps:b,panel:P}),J=function(e){var o,n=e.region,i=e.vnode,l=c[n],a=null!==(o=O[n])&&void 0!==o?o:{};if(i)return i;if(l){var u=m(l({$panel:w})),s=u.find((function(e){var t;return"JePanelItem"===(null===(t=e.type)||void 0===t?void 0:t.name)}));return s||t(h,r(a,{region:n,collapsed:a.collapsed,"onUpdate:collapsed":function(e){return a.collapsed=e}}),g(u)?u:{default:function(){return[u]}})}return null};return function(){var e,o={};return m(null===(e=c.default)||void 0===e?void 0:e.call(c)).forEach((function(e){var r,n,i,l;"JePanelItem"===(null===(r=e.type)||void 0===r?void 0:r.name)?o[null!==(i=null===(n=e.props)||void 0===n?void 0:n.region)&&void 0!==i?i:"default"]=e:"JePanel"===(null===(l=e.type)||void 0===l?void 0:l.name)&&(o.default=t(h,null,g(e)?e:{default:function(){return[e]}}))})),t("div",r({class:"je-panel",ref:b.el},f,x,{"data-id":w.id,style:j.value}),[t("div",{class:"je-panel-body",ref:b.body},[t("div",{class:"je-panel-wrapper",ref:b.center},[J({region:"default",vnode:o.default}),p.map((function(e){return J({region:e,vnode:o[e]})}))]),d.map((function(e){return J({region:e,vnode:o[e]})}))])])}}});