@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
9 lines (8 loc) • 31.3 kB
JavaScript
(function(w,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("vue"),require("../common/index.umd.js"),require("lodash-es"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../response-toolbar/index.umd.js"),require("../locale/index.umd.js"),require("../../designer/response-toolbar/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../common/index.umd.js","lodash-es","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../response-toolbar/index.umd.js","../locale/index.umd.js","../../designer/response-toolbar/index.umd.js"],c):(w=typeof globalThis<"u"?globalThis:w||self,c(w.section={},w.Vue,w.common,w.LodashES,w.dynamicResolver,w.designerCanvas,w.FResponseToolbar,w.locale,w.designer))})(this,function(w,c,N,L,oe,I,ie,_,ae){"use strict";function W(e,t){let n;function r(i){const{properties:l,title:p,ignore:o}=i,a=o&&Array.isArray(o),u=Object.keys(l).reduce((v,g)=>((!a||!o.find(h=>h===g))&&(v[g]=l[g].type==="object"&&l[g].properties?r(l[g]):L.cloneDeep(l[g].default)),v),{});if(p&&(!a||!o.find(v=>v==="id"))){const v=p.toLowerCase().replace(/-/g,"_");u.id=`${v}_${Math.random().toString().slice(2,6)}`}return u}function s(i){const{properties:l,title:p,required:o}=i;if(o&&Array.isArray(o)){const a=o.reduce((u,v)=>(u[v]=l[v].type==="object"&&l[v].properties?r(l[v]):L.cloneDeep(l[v].default),u),{});if(p&&o.find(u=>u==="id")){const u=p.toLowerCase().replace(/-/g,"_");a.id=`${u}_${Math.random().toString().slice(2,6)}`}return a}return{type:p}}function d(i,l={},p){const o=e[i];if(o){let a=s(o);const u=t[i];return a=u?u({getSchemaByType:d},a,l,p):a,n!=null&&n.appendIdentifyForNewControl&&n.appendIdentifyForNewControl(a),a}return null}function m(i,l){const p=r(l);return Object.keys(p).reduce((o,a)=>(Object.prototype.hasOwnProperty.call(i,a)&&(o[a]&&L.isPlainObject(o[a])&&L.isPlainObject(i[a]||!i[a])?Object.assign(o[a],i[a]||{}):o[a]=i[a]),o),p),p}function S(i,l){return Object.keys(i).filter(o=>i[o]!=null).reduce((o,a)=>{if(l.has(a)){const u=l.get(a);if(typeof u=="string")o[u]=i[a];else{const v=u(a,i[a],i);Object.assign(o,v)}}else o[a]=i[a];return o},{})}function T(i,l,p=new Map){const o=m(i,l);return S(o,p)}function f(i){var p;const l=i.type;if(l){const o=e[l];if(!o)return i;const a=m(i,o),u=((p=i.editor)==null?void 0:p.type)||"";if(u){const v=e[u],g=m(i.editor,v);a.editor=g}return a}return i}function b(i){n=i}return{getSchemaByType:d,resolveSchemaWithDefaultValue:f,resolveSchemaToProps:T,mappingSchemaToProps:S,setDesignerContext:b}}const G={},Z={},{resolveSchemaWithDefaultValue:le,resolveSchemaToProps:se,mappingSchemaToProps:ce}=W(G,Z);function ue(e={}){function t(f,b,i,l){if(typeof i=="number")return l[f].length===i;if(typeof i=="object"){const p=Object.keys(i)[0],o=i[p];if(p==="not")return Number(l[f].length)!==Number(o);if(p==="moreThan")return Number(l[f].length)>=Number(o);if(p==="lessThan")return Number(l[f].length)<=Number(o)}return!1}function n(f,b,i,l){return l[f]&&l[f].propertyValue&&String(l[f].propertyValue.value)===String(i)}const r=new Map([["length",t],["getProperty",n]]);Object.keys(e).reduce((f,b)=>(f.set(b,e[b]),f),r);function s(f,b){const i=f;return typeof b=="number"?[{target:i,operator:"length",param:null,value:Number(b)}]:typeof b=="boolean"?[{target:i,operator:"getProperty",param:f,value:!!b}]:typeof b=="object"?Object.keys(b).map(l=>{if(l==="length")return{target:i,operator:"length",param:null,value:b[l]};const p=l,o=b[l];return{target:i,operator:"getProperty",param:p,value:o}}):[]}function d(f){return Object.keys(f).reduce((i,l)=>{const p=s(l,f[l]);return i.push(...p),i},[])}function m(f,b){if(r.has(f.operator)){const i=r.get(f.operator);return i&&i(f.target,f.param,f.value,b)||!1}return!1}function S(f,b){return d(f).reduce((p,o)=>p&&m(o,b),!0)}function T(f,b){const i=Object.keys(f),l=i.includes("allOf"),p=i.includes("anyOf"),o=l||p,v=(o?f[o?l?"allOf":"anyOf":"allOf"]:[f]).map(h=>S(h,b));return l?!v.includes(!1):v.includes(!0)}return{parseValueSchema:T}}const de={convertTo:(e,t,n,r)=>{e.appearance||(e.appearance={}),e.appearance[t]=n},convertFrom:(e,t,n)=>e.appearance?e.appearance[t]:e[t]},fe={convertFrom:(e,t,n)=>e.buttons&&e.buttons.length?`共 ${e.buttons.length} 项`:"无"},me={convertTo:(e,t,n,r)=>{e.editor&&(e.editor[t]=n)},convertFrom:(e,t,n)=>e.editor&&Object.prototype.hasOwnProperty.call(e.editor,t)?e.editor[t]:e[t]},pe={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",name:"容器"},table:{type:"table",name:"表格布局"},"table-td":{type:"table-td",name:"单元格"},"input-group":{type:"input-group",name:"文本"},textarea:{type:"textarea",name:"多行文本"},lookup:{type:"lookup",name:"帮助"},"number-spinner":{type:"number-spinner",name:"数值"},"date-picker":{type:"date-picker",name:"日期"},switch:{type:"switch",name:"开关"},"radio-group":{type:"radio-group",name:"单选组"},"check-box":{type:"check-box",name:"复选框"},"check-group":{type:"check-group",name:"复选框组"},"combo-list":{type:"combo-list",name:"下拉列表"},"response-form":{type:"response-form",name:"卡片面板"},"response-layout":{type:"response-layout",name:"布局容器",icon:"response-layout-3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"response-layout-1"},"tree-grid":{type:"tree-grid",name:"树表格"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块"},component:{type:"component",name:"组件"},tabs:{type:"tabs",name:"标签页"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮"},"drawer-toolbar-item":{type:"drawer-toolbar-item",name:"抽屉工具栏按钮"},"html-template":{type:"html-template",name:"模板容器"},"time-picker":{type:"time-picker",name:"时间选择"},section:{type:"section",name:"分组面板"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传"},"page-header":{type:"page-header",name:"页头"},"page-footer":{type:"page-footer",name:"页脚"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏"},"drawer-toolbar":{type:"drawer-toolbar",name:"抽屉工具栏"},fieldset:{type:"fieldset",name:"分组"},"query-solution":{type:"query-solution",name:"筛选方案"},drawer:{type:"drawer",name:"抽屉"},"external-container":{type:"external-container",name:"外部容器",icon:"content-container"},"list-nav":{type:"list-nav",name:"列表导航"},nav:{type:"nav",name:"标签类导航"},"list-view":{type:"list-view",name:"列表"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"},image:{type:"image",name:"图像"},avatar:{type:"avatar",name:"头像"},"discussion-editor":{type:"discussion-editor",name:"评论编辑区"},"discussion-list":{type:"discussion-list",name:"评论列表"},comment:{type:"comment",name:"评论区"},"approval-logs":{type:"approval-logs",name:"审批记录"},"rich-text-editor":{type:"rich-text-editor",name:"富文本",icon:"rich-text-box"},calendar:{type:"calendar",name:"日历",icon:"date-picker"},wizard:{type:"wizard",name:"向导",icon:"wizard"},"wizard-page":{type:"wizard-page",name:"向导页",icon:"wizard"},"wizard-page-detail":{type:"wizard-page-detail",name:"向导详情",icon:"wizard"},step:{type:"step",name:"步骤条",icon:"step"},"dynamic-form":{type:"dynamic-form",name:"动态表单"}},be={convertFrom:(e,t,n)=>{var s;const r=e.editor&&e.editor[t]?e.editor[t]:e[t];return((s=pe[r])==null?void 0:s.name)||r}},ge={convertTo:(e,t,n,r)=>{e[t]=e[t]},convertFrom:(e,t,n)=>e.editor?n.getRealEditorType(e.editor.type):""},ve={convertTo:(e,t,n,r)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e.formatter?e.formatter[t]=n:e.formatter={[t]:n})},convertFrom:(e,t,n)=>{if(e.formatter){if(t==="trueText")return e.formatter.trueText;if(t==="falseText")return e.formatter.falseText;if(t==="prefix")return e.formatter.prefix;if(t==="suffix")return e.formatter.suffix;if(t==="precision")return e.formatter.precision;if(t==="decimal")return e.formatter.decimal;if(t==="thousand")return e.formatter.thousand;if(t==="dateFormat")return e.formatter.dateFormat||"yyyy-MM-dd";if(t==="customFormat")return e.formatter.customFormat;if(t==="type")return e.formatter.type||"none"}return"none"}},ye={convertTo:(e,t,n,r)=>{e.command?e.command[t]=n:e.command={[t]:n},t==="enableType"&&n==="default"&&(e.command.enable=!0,e.command.formatter="",e.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),t==="enableType"&&n==="custom"&&(e.command.enable=!0,e.command.commands=[{value:"add",text:"增加",type:"link"},{value:"edit",text:"编辑",type:"link"},{value:"remove",text:"删除",type:"link"}]),t==="enableType"&&n==="unable"&&(e.command.enable=!1,e.command.formatter="")},convertFrom:(e,t,n)=>{var r,s;if(e.command){if(t==="enableType"){if(e.command.enableType)return e.command.enableType;const d=(s=(r=e.command)==null?void 0:r.commands)==null?void 0:s.find(m=>m.command==="edit"&&m.type==="primary");return e.command.enable?d?"default":"custom":"unable"}if(t==="commands")return e.command.enableType==="custom"?e.command.commands:[];if(t==="formatter")return e.command.formatter;if(t==="count")return e.command.count;if(t==="columnWidth")return e.command.columnWidth||200}return""}},Ce={convertTo:(e,t,n,r)=>{if(e.column||(e.column={}),t==="fitMode"){n&&n!=="none"?(e.column.fitColumns=!0,e.column.fitMode=n):(e.column.fitColumns=!1,e.column.fitMode="average");return}if(t==="fitColumns"){e.column.fitColumns=n,n&&!e.column.fitMode&&(e.column.fitMode="average");return}e.column[t]=n},convertFrom:(e,t,n)=>{if(e.column){if(t==="fitMode")return e.column.fitColumns?e.column.fitMode||"average":"none";if(t==="fitColumns")return e.column.fitColumns}return t==="fitMode"?"none":""}},Se={convertTo:(e,t,n,r)=>{e.summary?e.summary[t]=n:e.summary={[t]:n},t==="enable"&&n&&(e.summary?e.summary.groupFields||(e.summary.groupFields=[]):e.summary={enable:n,groupFields:[]})},convertFrom:(e,t,n)=>{var r,s;return t==="customSummaryStyle"?e.summary.customSummaryStyle:t==="position"?((r=e.summary)==null?void 0:r[t])||"bottom":t==="customRender"?((s=e.summary)==null?void 0:s[t])||"":e.summary&&t==="enable"?e.summary.enable:e.type==="data-grid-column"?e.enableSummary===void 0?!1:e.enableSummary:""}},Te={convertTo:(e,t,n,r)=>{e.group?e.group[t]=n:e.group={[t]:n},t==="enable"&&n&&(e.group?e.group.groupFields||(e.group.groupFields=[]):e.group={enable:n,groupFields:[],showSummary:!1,customRender:""})},convertFrom:(e,t,n)=>{if(e.group){if(t==="enable")return e.group.enable;if(t==="showSummary")return e.group.showSummary;if(t==="customRender")return e.group.customRender;if(t==="groupFields")return e.group.groupFields}}},Fe={convertFrom:(e,t)=>e.binding?e.binding.path:"",convertTo:(e,t,n)=>{if(n&&n.length>0){const r=n[0];e.binding||(e.binding={}),e.binding.type="Form",e.binding.path=r.bindingField,e.binding.field=r.id,e.binding.fullPath=r.path,e.path=r.bindingPath}}},xe={convertTo:(e,t,n,r)=>{if(e.pagination||(e.pagination={}),t==="sizeLimits")if(n==null)delete e.pagination.sizeLimits;else{const s=[...new Set(String(n).split(",").map(d=>d.trim()).filter(d=>d!=="").map(d=>parseInt(d,10)).filter(d=>!Number.isNaN(d)&&d>0))];s.length>0?e.pagination.sizeLimits=s:delete e.pagination.sizeLimits}else e.pagination[t]=n},convertFrom:(e,t,n)=>{var r;return e.pagination?t==="sizeLimits"?((r=e.pagination.sizeLimits)==null?void 0:r.join(","))??"":e.pagination[t]:e[t]}},we={convertTo:(e,t,n,r)=>{e.rowNumber||(e.rowNumber={}),e.rowNumber[t]=n},convertFrom:(e,t,n)=>e.rowNumber?e.rowNumber[t]:e[t]},he={convertTo:(e,t,n,r)=>{e.selection||(e.selection={}),e.selection[t]=n},convertFrom:(e,t,n)=>{if(!e.selection)return!!e[t];const r=!!e.selection[t];return t==="showCheckbox"&&r==null&&e.selection.multiSelect===!0?!0:r}},ke={convertFrom:(e,t,n)=>e[t]&&e[t].length?`共 ${e[t].length} 项`:""},Pe={convertFrom:(e,t)=>e[t]||"",convertTo:(e,t,n)=>{e[t]=n}},Oe={convertTo:(e,t,n,r)=>{e.size||(e.size={}),e.size[t]=n},convertFrom:(e,t,n)=>e.size?e.size[t]:e[t]},je={convertFrom:(e,t,n)=>{var r,s;return(r=e.formatter)!=null&&r.data&&t==="formatterEnumData"&&!e.formatterEnumData?(s=e.formatter)==null?void 0:s.data:e.formatterEnumData}},Ne={convertTo:(e,t,n,r)=>{e.sort||(e.sort={}),e.sort[t]=n},convertFrom:(e,t,n)=>{var r,s;if(t==="mode")return((r=e.sort)==null?void 0:r.mode)||"client";if(t==="multiSort")return!!((s=e.sort)!=null&&s.multiSort)}},Re={convertTo:(e,t,n,r)=>{e.filter||(e.filter={}),e.filter[t]=n,t==="enable"&&(e.enableFilter=!1)},convertFrom:(e,t,n)=>{var r,s,d,m;return t==="mode"?((r=e.filter)==null?void 0:r.mode)||"server":t==="filterStyle"?((s=e.filter)==null?void 0:s.filterStyle)||"filter-column":t==="enable"?((d=e.filter)==null?void 0:d.enable)!==void 0?!!e.filter.enable:!!e.enableFilter:((m=e.filter)==null?void 0:m[t])||void 0}},Me={convertTo:(e,t,n,r)=>{e.rowOption?e.rowOption[t]=n:e.rowOption={[t]:n}},convertFrom:(e,t,n)=>{if(e.rowOption){if(t==="customRowStyle")return e.rowOption.customRowStyle;if(t==="customCellStyle")return e.rowOption.customCellStyle;if(t==="height")return e.rowOption.height}return""}},ze={convertTo:(e,t,n,r)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e[t]=n,t==="columnTemplateType"&&n==="hyperlink"&&(e.onClickLinkCommand?e.columnTemplate=`
<span class="f-pretend-link f-cursor-pointer"
@click="(ctx)=>viewModel.current.${e.onClickLinkCommand||""}({id: rowData.id,context: ctx})">
{{rowData.${e.field}}}
</span>`:e.columnTemplate=`
<span class="f-pretend-link f-cursor-pointer">
{{rowData.${e.field}}}
</span>`),t==="columnTemplateType"&&n==="default"&&(e.columnTemplate=""),t==="columnTemplateType"&&n==="custom"&&(e.columnTemplate=""))},convertFrom:(e,t,n)=>t==="columnTemplate"?e.columnTemplate:t==="columnTemplateType"?e.columnTemplateType?e.columnTemplateType||"default":e.columnTemplate&&!e.onClickLinkCommand?"custom":e.columnTemplate&&e.onClickLinkCommand?"hyperlink":"default":""},Ee={convertTo:(e,t,n,r)=>{e.hierarchy||(e.hierarchy={cascadeOption:{}}),e.hierarchy.cascadeOption||(e.hierarchy.cascadeOption={}),e.hierarchy.cascadeOption[t]=n},convertFrom:(e,t,n)=>{var r,s;return!!((s=(r=e.hierarchy)==null?void 0:r.cascadeOption)!=null&&s[t])}};function J(e,t,n){const r=new Map([["/converter/appearance.converter",de],["/converter/buttons.converter",fe],["/converter/property-editor.converter",me],["/converter/items-count.converter",ke],["/converter/type.converter",be],["/converter/change-editor.converter",ge],["/converter/change-formatter.converter",ve],["/converter/column-command.converter",ye],["/converter/column-option.converter",Ce],["/converter/summary.converter",Se],["/converter/group.converter",Te],["/converter/form-group-label.converter",Pe],["/converter/field-selector.converter",Fe],["/converter/pagination.converter",xe],["/converter/row-number.converter",we],["/converter/grid-selection.converter",he],["/converter/size.converter",Oe],["/converter/change-formatter-enum.converter",je],["/converter/grid-sort.converter",Ne],["/converter/grid-filter.converter",Re],["/converter/row-option.converter",Me],["/converter/change-formatter-type.converter",ze],["/converter/tree-auto-check.converter",Ee]]),s=new Map([["string",{type:"input-group",enableClear:!1}],["boolean",{type:"combo-list",textField:"name",valueField:"value",idField:"value",enableClear:!1,editable:!1,data:[{value:!0,name:"是"},{value:!1,name:"否"}]}],["enum",{type:"combo-list",maxHeight:128,enableClear:!1,editable:!1}],["array",{type:"button-edit"}],["number",{type:"number-spinner",placeholder:""}],["events-editor",{type:"events-editor",hide:!0}],["multiLanguage",{type:"language-textbox"}]]),d=ue();function m(o,a){return()=>d.parseValueSchema(o,a)}function S(o,a,u){return o.includes("visible")&&a.visible!==void 0?typeof a.visible=="boolean"?()=>!!a.visible:a.visible===void 0?!0:m(a.visible,u):()=>!0}function T(o,a,u){return o.includes("readonly")&&a.readonly!==void 0?typeof a.readonly=="boolean"?()=>!!a.readonly:m(a.readonly,u):()=>!1}function f(o,a){const u=o.$converter||a;return typeof u=="string"&&u&&r.has(u)?r.get(u)||null:u||null}function b(o,a,u,v,g,h="",F=""){return Object.keys(o).map(x=>{const M=c.ref(1),P=x,C=o[x],y=Object.keys(C),A=C.title,z=C.type,E=s.get(z)||{type:"input-group",enableClear:!1},R=C.editor?Object.assign({},E,C.editor):Object.assign({},E),B=S(y,C,a),D=T(y,C,a);R.readonly=R.readonly===void 0?D():R.readonly;const q=C.type==="cascade"?b(C.properties,a,u,v,g,h,F):[],V=!0;let O=f(C,F);const Ye=c.computed({get(){if(M.value){if(["class","style"].find($=>$===P)&&!O&&(O=r.get("/converter/appearance.converter")||null),O&&O.convertFrom){const $=O.convertFrom(u,x,g,h);return $===void 0&&Object.prototype.hasOwnProperty.call(C,"defaultValue")?C.type==="boolean"?C.defaultValue:C.defaultValue||"":$}const j=u[x];return Object.prototype.hasOwnProperty.call(C,"defaultValue")&&(j===void 0||typeof j=="string"&&j==="")?C.type==="boolean"?C.defaultValue:C.defaultValue||"":j}return null},set(j){M.value+=1,O&&O.convertTo?(O.convertTo(v,x,j,g,h),O.convertTo(u,x,j,g,h)):(v[x]=j,u[x]=j)}}),{refreshPanelAfterChanged:Ke,description:et,isExpand:tt,parentPropertyID:nt}=C,re={propertyID:P,propertyName:A,propertyType:z,propertyValue:Ye,editor:R,visible:B,readonly:D,cascadeConfig:q,hideCascadeTitle:V,refreshPanelAfterChanged:Ke,description:et,isExpand:tt,parentPropertyID:nt};return a[P]=re,re})}function i(o,a,u={}){const v={},g=e[o];return g&&g.categories?Object.keys(g.categories).map(F=>{const k=g.categories[F],x=k==null?void 0:k.title,M=b(k.properties||{},v,{},u,a);return{categoryId:F,categoryName:x,properties:M}}):[]}function l(o,a,u,v,g=""){const h=a.$ref.schema,F=a.$ref.converter,k=u[h],x=k.type,M=n(k),P={},C=e[x];if(C&&C.categories){const y=C.categories[o],A=y==null?void 0:y.title;F&&Object.keys(y.properties).forEach(R=>{y.properties[R].$converter=F});const z=(y==null?void 0:y.properties)||{},E=b(z,P,M,k,v,g);return{categoryId:o,categoryName:A,properties:E}}return{categoryId:o,categoryName:"",properties:[]}}function p(o,a,u,v,g){const h=o.type,F=n(o),k={};let x=g||e[h];if(!(x&&Object.keys(x).length>0)&&u&&u.getPropConfig&&(x=u.getPropConfig(v)),x&&x.categories){const P=[];return Object.keys(x.categories).map(C=>{const y=x.categories[C];if(y.$ref){P.push(l(C,y,o,a,v));return}const A=y==null?void 0:y.title,z=y==null?void 0:y.tabId,E=y==null?void 0:y.tabName,R=y==null?void 0:y.hide,B=y==null?void 0:y.hideTitle,D=b(y.properties||{},k,F,o,a,v,y.$converter),{setPropertyRelates:q}=y,V=y==null?void 0:y.parentPropertyID;P.push({categoryId:C,categoryName:A,tabId:z,tabName:E,hide:R,properties:D,hideTitle:B,setPropertyRelates:q,parentPropertyID:V})}),P}return[]}return{getPropertyConfigBySchema:p,getPropertyConfigByType:i,propertyConverterMap:r}}const Q={},U={};J(Q,U,le);const X={},Y={},{resolveSchemaWithDefaultValue:Ae}=W(X,Y),K={},ee={};J(K,ee,Ae);function Le(e,t,n=new Map,r=(m,S,T,f)=>S,s={},d=m=>m){return G[t.title]=t,Z[t.title]=r,Q[t.title]=s,U[t.title]=d,X[t.title]=t,Y[t.title]=r,K[t.title]=s,ee[t.title]=d,(m={},S=!0)=>{if(!S)return ce(m,n);const T=se(m,t,n),f=Object.keys(e).reduce((b,i)=>(b[i]=e[i].default,b),{});return Object.assign(f,T)}}function De(e,t){if(!e||e.length<1)return null;for(const n of e){if(n.id===t)return n;if(n.children){const r=n.children.find(s=>s.id===t);if(r)return r}}return null}function $e(){function e(t,n){var S;const r=(S=t.toolbar)==null?void 0:S.buttons;if(!r||r.length<1)return null;const[s,d]=n.payloads,m=De(r,d);return m?m.onClick||m.click:null}return{resolve:e}}function He(e,t,n){return t?{enableAccordion:t}:{enableAccordion:""}}function Be(e,t){var r,s;const n={buttons:t.buttons,buttonPosition:t.position,buttonsVisible:t.visible};return(r=t.appearance)!=null&&r.class&&(n.buttonsClass=(s=t.appearance)==null?void 0:s.class),n}const qe=new Map([["appearance",oe.resolveAppearance],["expanded","expandStatus"],["enableAccordion",He],["toolbar",Be]]);function Ve(e,t){var d,m;if(!(t!=null&&t.schema))return;const n=((m=(d=t.schema)==null?void 0:d.appearance)==null?void 0:m.class)||"",r=t.elementRef,s=window.getComputedStyle(r);s&&s.display==="flex"&&!n.includes("f-page-child-fill")&&(e.appearance.class+=" d-block")}function Ie(e,t){var T;const n=Math.random().toString().slice(2,6),r=t.parentComponentInstance,s=e.getSchemaByType("section");Object.assign(s,{id:`section-${n}`,appearance:{class:"f-section-in-mainsubcard"},mainTitle:t.mainTitle||s.mainTitle||"标题"});const d=e.getSchemaByType("content-container");Object.assign(d,{id:`container-${n}`,appearance:{class:"f-struct-wrapper"},contents:[s]});const m=r.schema,S=((T=m.appearance)==null?void 0:T.class)||"";switch(m&&m.type){case I.DgControl["splitter-pane"].type:{s.appearance.class="f-section-in-main",S.includes("f-page-child-fill")&&(d.appearance.class+=" f-struct-wrapper-child",s.fill=!0);break}case I.DgControl["content-container"].type:m.isLikeCardContainer&&S.includes("f-struct-like-card-child-fill")&&(d.appearance.class+=" f-struct-wrapper-child",s.fill=!0)}return Ve(d,r),d}function _e(e,t,n){return n.parentComponentInstance?Ie(e,n):t}const We={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/section.schema.json",title:"section",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a Section",type:"string"},type:{description:"The type string of Section component",type:"string",default:"section"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},contentClass:{description:"",type:"string",default:""},contents:{description:"",type:"array",default:[]},enableAccordion:{description:"",type:"string",default:""},accordionMode:{description:"",type:"string",default:"default"},enableMaximize:{description:"",type:"boolean",default:!1},expanded:{description:"",type:"boolean",default:!0},fill:{description:"",type:"boolean",default:!1},headerClass:{description:"",type:"string",default:""},size:{description:"",type:"object",properties:{width:{type:"number"},height:{type:"number"}},default:null},showHeader:{description:"",type:"string",default:!0},mainTitle:{description:"",type:"string",default:""},subTitle:{description:"",type:"string",default:""},headerContentClass:{description:"",type:"string",default:""},extendedAreaClass:{description:"",type:"string",default:""},visible:{description:"",type:"boolean",default:!0},expandStatus:{description:"",type:"boolean",default:!0},toolbar:{description:"",type:"object",properties:{type:{type:"string",default:"section-toolbar"},position:{type:"string",default:"inHead"},buttons:{type:"array",default:[]},appearance:{description:"",type:"object",properties:{class:{type:"string",default:""}}}},default:null},headerTitleHtml:{description:"",type:"string",default:""},headerTitleRenderFunction:{description:"",type:"function",default:null},headerHtml:{description:"",type:"string",default:""},headerRenderFunction:{description:"",type:"function",default:null},headerContentHtml:{description:"",type:"string",default:""},headerContentRenderFunction:{description:"",type:"function",default:null},toolbarHtml:{description:"",type:"string",default:""},toolbarRenderFunction:{description:"",type:"function",default:null},extendedAreaHtml:{description:"",type:"string",default:""},extendedAreaRenderFunction:{description:"",type:"function",default:null},footerClass:{description:"",type:"string",default:""},footerRenderFunction:{description:"",type:"function",default:null},moreButtonClass:{description:"���������˵�ʱ����ʽ",type:"string",default:"btn-secondary"}},required:["id","type","contents"]},H={contentClass:{type:String,default:""},customClass:{type:String,default:""},customStyle:{type:String,default:""},enableAccordion:{type:String,default:""},expandStatus:{type:Boolean,default:!0},mainTitle:{type:String,default:""},showHeader:{type:Boolean,default:!0},subTitle:{type:String,default:""},expandLabel:{type:String,default:"展开"},collapseLabel:{type:String,default:"收起"},headerClass:{type:String,default:""},headerStyle:{type:[String,Function],default:""},headerContentClass:{type:String,default:""},enableMaximize:{type:Boolean,default:!1},extendedAreaClass:{type:String,default:""},extendedAreaRenderFunction:{type:Function},footerClass:{type:String,default:""},footerStyle:{type:[String,Function],default:""},buttons:{type:Array,default:[]},buttonPosition:{type:String,default:"inHead"},buttonsClass:{type:String,default:""},buttonsVisible:{type:Boolean,default:!0},fill:{type:Boolean,default:!1},visible:{type:Boolean,default:!0},headerTitleRenderFunction:{type:Function},headerRenderFunction:{type:Function},headerContentRenderFunction:{type:Function},footerRenderFunction:{type:Function},toolbarRenderFunction:{type:Function},moreButtonClass:{type:String,default:"btn-secondary"}},Ge=Le(H,We,qe,_e),Ze=$e();function Je(e,t,n){let r;function s(T=1){const f=["body>.f-datagrid-settings-simple-host","body>div","body>farris-dialog>.farris-modal.show","body>.farris-modal.show","body>farris-filter-panel>.f-filter-panel-wrapper","body .f-sidebar-show>.f-sidebar-main","body>.popover.show","body>filter-row-panel>.f-datagrid-filter-panel","body>.f-section-maximize"],b=Array.from(document.body.querySelectorAll(f.join(","))).filter(l=>l).map(l=>{const{display:p,zIndex:o}=window.getComputedStyle(l);return p==="none"?0:parseInt(o,10)}).filter(l=>l);let i=Math.max(...b);return i<1040&&(i=1040),i+T}function d(){r=e.value.nextElementSibling;const T=document&&document.querySelector("body");T&&(T.appendChild(e.value),e.value.style.zIndex=s())}function m(){r?t.value.insertBefore(e.value,r):t.value.appendChild(e.value),e.value.style.zIndex=null}function S(){!e||!t.value||(n.value=!n.value,n.value?d():m())}return{onClickMaxMinIcon:S}}function te(e,t){const n=c.ref(e.buttons),r=c.computed(()=>e.buttonPosition==="inHead"?"right":"left"),s=c.computed(()=>"f-section-toolbar col-6"+(e.buttonPosition==="inHead"?" f-toolbar f-section-header--toolbar":" f-section-content--toolbar")+(e.buttonsClass?" "+e.buttonsClass:"")),d=c.computed(()=>e.buttons&&e.buttons.length>0&&e.buttonPosition==="inHead");function m(f,b){t.emit("click",f,b)}function S(){return d.value&&c.createVNode(ie,{customClass:s.value,items:n.value,onClick:m,alignment:r.value,visible:e.buttonsVisible},null)}function T(){return c.createVNode("div",{class:s.value},[c.createVNode("div",{class:"w-100",style:"flex:1"},[e.toolbarRenderFunction()])])}return()=>e.toolbarRenderFunction?T():S()}function Qe(e,t,n,r,s,d){const m={collapseLabel:_.LocaleService.getRealPropertyValue(e.collapseLabel,"收起","section.collapseLabel"),expandLabel:_.LocaleService.getRealPropertyValue(e.expandLabel,"展开","section.expandLabel")},S=c.computed(()=>e.buttonPosition),T=te(e,t),{onClickMaxMinIcon:f}=Je(r,s,d),b=c.computed(()=>e.enableMaximize),i=c.computed(()=>e.enableAccordion!==""),l=c.computed(()=>{const F={"f-section-header":!0};return N.getCustomClass(F,e.headerClass)});function p(F){F.stopPropagation(),e.enableAccordion!==""&&(n.value=!n.value)}function o(){const F=c.computed(()=>({btn:!0,"f-btn-collapse-expand":!0,"f-btn-mx":!0,"f-state-expand":n.value})),k=c.computed(()=>({"f-icon":!0,"f-icon-maximize":!d.value,"f-icon-minimize":d.value}));return c.createVNode("div",{class:"f-max-accordion"},[b.value?c.createVNode("span",{class:k.value,onClick:f},null):"",i.value?c.createVNode("button",{class:F.value,onClick:p},[c.createVNode("span",null,[n.value?m.collapseLabel:m.expandLabel])]):""])}function a(){return c.createVNode("div",{class:"f-title"},[c.createVNode("h4",{class:"f-title-text"},[e.mainTitle]),e.subTitle&&c.createVNode("span",null,[e.subTitle])])}function u(){const F=c.computed(()=>{const k={"f-content":!0};return N.getCustomClass(k,e.headerContentClass)});return t.slots.headerContent?c.createVNode("div",{class:F.value},[t.slots.headerContent()]):e.headerContentRenderFunction?c.createVNode("div",{class:F.value},[e.headerContentRenderFunction()]):c.createVNode("div",{class:F.value},null)}function v(){return t.slots.headerTitle?t.slots.headerTitle():e.headerTitleRenderFunction?e.headerTitleRenderFunction():a()}function g(){return c.createVNode("div",{class:l.value},[v(),u(),S.value==="inHead"&&T(),(b.value||i.value)&&o()])}function h(){return t.slots.header?c.createVNode("div",{class:l.value},[t.slots.header()]):e.headerRenderFunction?c.createVNode("div",{class:l.value},[e.headerRenderFunction()]):g()}return()=>e.showHeader&&h()}const ne=c.defineComponent({name:"FSection",props:H,emits:["click"],setup(e,t){const n=c.ref(),r=c.ref(),s=c.ref(e.customClass),d=c.computed(()=>e.enableAccordion),m=c.ref(e.expandStatus),S=c.computed(()=>e.buttonPosition),T=c.ref(!1),f=Qe(e,t,m,n,r,T),b=te(e,t),i=c.computed(()=>{const g={"f-section":!0,"f-section-accordion":d.value==="default","f-state-collapse":d.value&&!m.value,"f-section-custom-accordion":d.value==="custom","f-section-fill":e.fill,"f-section-maximize":T.value};return N.getCustomClass(g,s.value)}),l=c.computed(()=>{const g={"f-section-content":!0};return N.getCustomClass(g,e.contentClass)}),p=c.computed(()=>{const g={"f-section-extend":!0};return N.getCustomClass(g,e.extendedAreaClass)});function o(){if(t.slots.extend)return c.createVNode("div",{class:p.value},[t.slots.extend()]);if(e.extendedAreaRenderFunction)return c.createVNode("div",{class:p.value},[e.extendedAreaRenderFunction()])}function a(){return c.createVNode("div",{class:l.value},[S.value==="inContent"&&b(),t.slots.default&&t.slots.default()])}const u=c.computed(()=>{const g={};return e.footerStyle?typeof e.headerStyle=="function"?N.getCustomStyle(g,e.footerStyle()):N.getCustomStyle(g,e.footerStyle):g});function v(){return t.slots.footer?t.slots.footer&&c.createVNode("div",{class:"f-section-footer "+e.footerClass,style:u.value},[t.slots.footer()]):e.footerRenderFunction?c.createVNode("div",{class:"f-section-footer "+e.footerClass,style:u.value},[e.footerRenderFunction()]):null}return c.watch(()=>e.expandStatus,(g,h)=>{g!==h&&(m.value=g)}),c.onMounted(()=>{n.value&&n.value&&(r.value=n.value.parentElement)}),()=>e.visible?c.createVNode("div",{class:i.value,ref:n,style:e.customStyle},[f(),o(),a(),v()]):null}}),Ue=Object.assign({},ae.commonToolbarItemDesignProps),Xe=N.withInstall(ne);w.Section=ne,w.default=Xe,w.eventHandlerResolver=Ze,w.propsResolver=Ge,w.sectionProps=H,w.sectionToolbarItemProps=Ue,Object.defineProperties(w,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});