@jecloud/ui
Version:
JECloud UI库,基于ant-design-vue封装
1 lines • 2.33 kB
JavaScript
var l=this&&this.__assign||function(){return l=Object.assign||function(l){for(var o,e=1,t=arguments.length;e<t;e++)for(var r in o=arguments[e])Object.prototype.hasOwnProperty.call(o,r)&&(l[r]=o[r]);return l},l.apply(this,arguments)};import{mergeProps as o,createVNode as e,isVNode as t}from"vue";import{defineComponent as r,ref as i}from"vue";import{Row as n,Col as a}from"ant-design-vue";import{toNumber as s,pick as u}from"@jecloud/utils";import{filterEmpty as p}from"../../utils/props";import{useModelValue as c,useStyle4Size as d}from"../../hooks";function f(l){return"function"==typeof l||"[object Object]"===Object.prototype.toString.call(l)&&!t(l)}export default r({name:"JeFieldset",inheritAttrs:!1,props:{title:String,cols:{type:Number,default:1},simple:Boolean,collapsed:Boolean,collapsible:{type:Boolean,default:!0},align:String,justify:String,wrap:{type:Boolean,default:!0},bgColor:String,titleColor:String,titleBgColor:String,borderColor:String,width:Number,height:Number},emits:["title-dblclick"],setup:function(t,r){var v=r.slots,m=r.attrs,b=r.emit,g=c({props:t,context:r,key:"collapsed"}),y=i(),C=i();return function(){var r,i,c,h=p(null===(r=v.default)||void 0===r?void 0:r.call(v)),j=24/s(t.cols),S=h.map((function(l){var o,t,r;if(["ACol"].includes(null===(o=l.type)||void 0===o?void 0:o.name))return l;var i={};return(null===(t=l.props)||void 0===t?void 0:t.colSpan)&&(i.span=s(l.props.colSpan)*j),(null===(r=l.props)||void 0===r?void 0:r.hidden)?null:e(a,i,f(l)?l:{default:function(){return[l]}})}));return e("div",o({class:{"je-fieldset":!0,"je-fieldset-simple":t.simple,"is--collapsible":t.collapsible,"is--collapsed":g.value},style:l({backgroundColor:t.bgColor,borderColor:t.borderColor},d({props:t}))},m),[t.simple?null:e("div",{class:"je-fieldset-header",ref:C,style:{backgroundColor:t.titleBgColor,borderBottomColor:t.borderColor}},[e("span",{class:"je-fieldset-header-title",style:{color:t.titleColor},onClick:function(){g.value=!g.value},onDblclick:function(){b("title-dblclick")}},[e("i",{class:{"collapsible-icon":!0,"fas fa-caret-down":g.value,"fas fa-caret-up":!g.value}},null),null!==(c=null===(i=v.title)||void 0===i?void 0:i.call(v))&&void 0!==c?c:t.title])]),g.value?null:e(n,o({class:"je-fieldset-body",ref:y},u(t,["justify","align","wrap"])),f(S)?S:{default:function(){return[S]}})])}}});