@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
13 lines • 71.8 kB
JavaScript
(function(w,C){typeof exports=="object"&&typeof module<"u"?C(exports,require("vue"),require("lodash-es"),require("../dynamic-resolver/index.umd.js"),require("../common/index.umd.js"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../dynamic-resolver/index.umd.js","../common/index.umd.js","../designer-canvas/index.umd.js"],C):(w=typeof globalThis<"u"?globalThis:w||self,C(w.image={},w.Vue,w.LodashES,w.dynamicResolver,w.common,w.designerCanvas))})(this,function(w,C,k,de,M,p){"use strict";var rt=Object.defineProperty;var ot=(w,C,k)=>C in w?rt(w,C,{enumerable:!0,configurable:!0,writable:!0,value:k}):w[C]=k;var v=(w,C,k)=>ot(w,typeof C!="symbol"?C+"":C,k);function X(i,t){let e;function n(l){const{properties:f,title:y,ignore:d}=l,a=d&&Array.isArray(d),h=Object.keys(f).reduce((b,A)=>((!a||!d.find(P=>P===A))&&(b[A]=f[A].type==="object"&&f[A].properties?n(f[A]):k.cloneDeep(f[A].default)),b),{});if(y&&(!a||!d.find(b=>b==="id"))){const b=y.toLowerCase().replace(/-/g,"_");h.id=`${b}_${Math.random().toString().slice(2,6)}`}return h}function r(l){const{properties:f,title:y,required:d}=l;if(d&&Array.isArray(d)){const a=d.reduce((h,b)=>(h[b]=f[b].type==="object"&&f[b].properties?n(f[b]):k.cloneDeep(f[b].default),h),{});if(y&&d.find(h=>h==="id")){const h=y.toLowerCase().replace(/-/g,"_");a.id=`${h}_${Math.random().toString().slice(2,6)}`}return a}return{type:y}}function o(l,f={},y){const d=i[l];if(d){let a=r(d);const h=t[l];return a=h?h({getSchemaByType:o},a,f,y):a,e!=null&&e.appendIdentifyForNewControl&&e.appendIdentifyForNewControl(a),a}return null}function s(l,f){const y=n(f);return Object.keys(y).reduce((d,a)=>(Object.prototype.hasOwnProperty.call(l,a)&&(d[a]&&k.isPlainObject(d[a])&&k.isPlainObject(l[a]||!l[a])?Object.assign(d[a],l[a]||{}):d[a]=l[a]),d),y),y}function g(l,f){return Object.keys(l).filter(d=>l[d]!=null).reduce((d,a)=>{if(f.has(a)){const h=f.get(a);if(typeof h=="string")d[h]=l[a];else{const b=h(a,l[a],l);Object.assign(d,b)}}else d[a]=l[a];return d},{})}function c(l,f,y=new Map){const d=s(l,f);return g(d,y)}function u(l){var y;const f=l.type;if(f){const d=i[f];if(!d)return l;const a=s(l,d),h=((y=l.editor)==null?void 0:y.type)||"";if(h){const b=i[h],A=s(l.editor,b);a.editor=A}return a}return l}function m(l){e=l}return{getSchemaByType:o,resolveSchemaWithDefaultValue:u,resolveSchemaToProps:c,mappingSchemaToProps:g,setDesignerContext:m}}const $={},K={},{resolveSchemaWithDefaultValue:ce,resolveSchemaToProps:ue,mappingSchemaToProps:pe}=X($,K);function me(i={}){function t(u,m,l,f){if(typeof l=="number")return f[u].length===l;if(typeof l=="object"){const y=Object.keys(l)[0],d=l[y];if(y==="not")return Number(f[u].length)!==Number(d);if(y==="moreThan")return Number(f[u].length)>=Number(d);if(y==="lessThan")return Number(f[u].length)<=Number(d)}return!1}function e(u,m,l,f){return f[u]&&f[u].propertyValue&&String(f[u].propertyValue.value)===String(l)}const n=new Map([["length",t],["getProperty",e]]);Object.keys(i).reduce((u,m)=>(u.set(m,i[m]),u),n);function r(u,m){const l=u;return typeof m=="number"?[{target:l,operator:"length",param:null,value:Number(m)}]:typeof m=="boolean"?[{target:l,operator:"getProperty",param:u,value:!!m}]:typeof m=="object"?Object.keys(m).map(f=>{if(f==="length")return{target:l,operator:"length",param:null,value:m[f]};const y=f,d=m[f];return{target:l,operator:"getProperty",param:y,value:d}}):[]}function o(u){return Object.keys(u).reduce((l,f)=>{const y=r(f,u[f]);return l.push(...y),l},[])}function s(u,m){if(n.has(u.operator)){const l=n.get(u.operator);return l&&l(u.target,u.param,u.value,m)||!1}return!1}function g(u,m){return o(u).reduce((y,d)=>y&&s(d,m),!0)}function c(u,m){const l=Object.keys(u),f=l.includes("allOf"),y=l.includes("anyOf"),d=f||y,b=(d?u[d?f?"allOf":"anyOf":"allOf"]:[u]).map(P=>g(P,m));return f?!b.includes(!1):b.includes(!0)}return{parseValueSchema:c}}const fe={convertTo:(i,t,e,n)=>{i.appearance||(i.appearance={}),i.appearance[t]=e},convertFrom:(i,t,e)=>i.appearance?i.appearance[t]:i[t]},ge={convertFrom:(i,t,e)=>i.buttons&&i.buttons.length?`共 ${i.buttons.length} 项`:"无"},he={convertTo:(i,t,e,n)=>{i.editor&&(i.editor[t]=e)},convertFrom:(i,t,e)=>i.editor&&Object.prototype.hasOwnProperty.call(i.editor,t)?i.editor[t]:i[t]},ye={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:(i,t,e)=>{var r;const n=i.editor&&i.editor[t]?i.editor[t]:i[t];return((r=ye[n])==null?void 0:r.name)||n}},ve={convertTo:(i,t,e,n)=>{i[t]=i[t]},convertFrom:(i,t,e)=>i.editor?e.getRealEditorType(i.editor.type):""},Ce={convertTo:(i,t,e,n)=>{(i.type==="data-grid-column"||i.type==="tree-grid-column")&&(i.formatter?i.formatter[t]=e:i.formatter={[t]:e})},convertFrom:(i,t,e)=>{if(i.formatter){if(t==="trueText")return i.formatter.trueText;if(t==="falseText")return i.formatter.falseText;if(t==="prefix")return i.formatter.prefix;if(t==="suffix")return i.formatter.suffix;if(t==="precision")return i.formatter.precision;if(t==="decimal")return i.formatter.decimal;if(t==="thousand")return i.formatter.thousand;if(t==="dateFormat")return i.formatter.dateFormat||"yyyy-MM-dd";if(t==="customFormat")return i.formatter.customFormat;if(t==="type")return i.formatter.type||"none"}return"none"}},Ae={convertTo:(i,t,e,n)=>{i.command?i.command[t]=e:i.command={[t]:e},t==="enableType"&&e==="default"&&(i.command.enable=!0,i.command.formatter="",i.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),t==="enableType"&&e==="custom"&&(i.command.enable=!0,i.command.commands=[{value:"add",text:"增加",type:"link"},{value:"edit",text:"编辑",type:"link"},{value:"remove",text:"删除",type:"link"}]),t==="enableType"&&e==="unable"&&(i.command.enable=!1,i.command.formatter="")},convertFrom:(i,t,e)=>{var n,r;if(i.command){if(t==="enableType"){if(i.command.enableType)return i.command.enableType;const o=(r=(n=i.command)==null?void 0:n.commands)==null?void 0:r.find(s=>s.command==="edit"&&s.type==="primary");return i.command.enable?o?"default":"custom":"unable"}if(t==="commands")return i.command.enableType==="custom"?i.command.commands:[];if(t==="formatter")return i.command.formatter;if(t==="count")return i.command.count;if(t==="columnWidth")return i.command.columnWidth||200}return""}},Ee={convertTo:(i,t,e,n)=>{if(i.column||(i.column={}),t==="fitMode"){e&&e!=="none"?(i.column.fitColumns=!0,i.column.fitMode=e):(i.column.fitColumns=!1,i.column.fitMode="average");return}if(t==="fitColumns"){i.column.fitColumns=e,e&&!i.column.fitMode&&(i.column.fitMode="average");return}i.column[t]=e},convertFrom:(i,t,e)=>{if(i.column){if(t==="fitMode")return i.column.fitColumns?i.column.fitMode||"average":"none";if(t==="fitColumns")return i.column.fitColumns}return t==="fitMode"?"none":""}},Fe={convertTo:(i,t,e,n)=>{i.summary?i.summary[t]=e:i.summary={[t]:e},t==="enable"&&e&&(i.summary?i.summary.groupFields||(i.summary.groupFields=[]):i.summary={enable:e,groupFields:[]})},convertFrom:(i,t,e)=>{var n,r;return t==="customSummaryStyle"?i.summary.customSummaryStyle:t==="position"?((n=i.summary)==null?void 0:n[t])||"bottom":t==="customRender"?((r=i.summary)==null?void 0:r[t])||"":i.summary&&t==="enable"?i.summary.enable:i.type==="data-grid-column"?i.enableSummary===void 0?!1:i.enableSummary:""}},xe={convertTo:(i,t,e,n)=>{i.group?i.group[t]=e:i.group={[t]:e},t==="enable"&&e&&(i.group?i.group.groupFields||(i.group.groupFields=[]):i.group={enable:e,groupFields:[],showSummary:!1,customRender:""})},convertFrom:(i,t,e)=>{if(i.group){if(t==="enable")return i.group.enable;if(t==="showSummary")return i.group.showSummary;if(t==="customRender")return i.group.customRender;if(t==="groupFields")return i.group.groupFields}}},we={convertFrom:(i,t)=>i.binding?i.binding.path:"",convertTo:(i,t,e)=>{if(e&&e.length>0){const n=e[0];i.binding||(i.binding={}),i.binding.type="Form",i.binding.path=n.bindingField,i.binding.field=n.id,i.binding.fullPath=n.path,i.path=n.bindingPath}}},Pe={convertTo:(i,t,e,n)=>{if(i.pagination||(i.pagination={}),t==="sizeLimits")if(e==null)delete i.pagination.sizeLimits;else{const r=[...new Set(String(e).split(",").map(o=>o.trim()).filter(o=>o!=="").map(o=>parseInt(o,10)).filter(o=>!Number.isNaN(o)&&o>0))];r.length>0?i.pagination.sizeLimits=r:delete i.pagination.sizeLimits}else i.pagination[t]=e},convertFrom:(i,t,e)=>{var n;return i.pagination?t==="sizeLimits"?((n=i.pagination.sizeLimits)==null?void 0:n.join(","))??"":i.pagination[t]:i[t]}},Se={convertTo:(i,t,e,n)=>{i.rowNumber||(i.rowNumber={}),i.rowNumber[t]=e},convertFrom:(i,t,e)=>i.rowNumber?i.rowNumber[t]:i[t]},Ie={convertTo:(i,t,e,n)=>{i.selection||(i.selection={}),i.selection[t]=e},convertFrom:(i,t,e)=>{if(!i.selection)return!!i[t];const n=!!i.selection[t];return t==="showCheckbox"&&n==null&&i.selection.multiSelect===!0?!0:n}},Me={convertFrom:(i,t,e)=>i[t]&&i[t].length?`共 ${i[t].length} 项`:""},Te={convertFrom:(i,t)=>i[t]||"",convertTo:(i,t,e)=>{i[t]=e}},ke={convertTo:(i,t,e,n)=>{i.size||(i.size={}),i.size[t]=e},convertFrom:(i,t,e)=>i.size?i.size[t]:i[t]},Ve={convertFrom:(i,t,e)=>{var n,r;return(n=i.formatter)!=null&&n.data&&t==="formatterEnumData"&&!i.formatterEnumData?(r=i.formatter)==null?void 0:r.data:i.formatterEnumData}},Oe={convertTo:(i,t,e,n)=>{i.sort||(i.sort={}),i.sort[t]=e},convertFrom:(i,t,e)=>{var n,r;if(t==="mode")return((n=i.sort)==null?void 0:n.mode)||"client";if(t==="multiSort")return!!((r=i.sort)!=null&&r.multiSort)}},Be={convertTo:(i,t,e,n)=>{i.filter||(i.filter={}),i.filter[t]=e,t==="enable"&&(i.enableFilter=!1)},convertFrom:(i,t,e)=>{var n,r,o,s;return t==="mode"?((n=i.filter)==null?void 0:n.mode)||"server":t==="filterStyle"?((r=i.filter)==null?void 0:r.filterStyle)||"filter-column":t==="enable"?((o=i.filter)==null?void 0:o.enable)!==void 0?!!i.filter.enable:!!i.enableFilter:((s=i.filter)==null?void 0:s[t])||void 0}},Le={convertTo:(i,t,e,n)=>{i.rowOption?i.rowOption[t]=e:i.rowOption={[t]:e}},convertFrom:(i,t,e)=>{if(i.rowOption){if(t==="customRowStyle")return i.rowOption.customRowStyle;if(t==="customCellStyle")return i.rowOption.customCellStyle;if(t==="height")return i.rowOption.height}return""}},De={convertTo:(i,t,e,n)=>{(i.type==="data-grid-column"||i.type==="tree-grid-column")&&(i[t]=e,t==="columnTemplateType"&&e==="hyperlink"&&(i.onClickLinkCommand?i.columnTemplate=`
<span class="f-pretend-link f-cursor-pointer"
@click="(ctx)=>viewModel.current.${i.onClickLinkCommand||""}({id: rowData.id,context: ctx})">
{{rowData.${i.field}}}
</span>`:i.columnTemplate=`
<span class="f-pretend-link f-cursor-pointer">
{{rowData.${i.field}}}
</span>`),t==="columnTemplateType"&&e==="default"&&(i.columnTemplate=""),t==="columnTemplateType"&&e==="custom"&&(i.columnTemplate=""))},convertFrom:(i,t,e)=>t==="columnTemplate"?i.columnTemplate:t==="columnTemplateType"?i.columnTemplateType?i.columnTemplateType||"default":i.columnTemplate&&!i.onClickLinkCommand?"custom":i.columnTemplate&&i.onClickLinkCommand?"hyperlink":"default":""},Ne={convertTo:(i,t,e,n)=>{i.hierarchy||(i.hierarchy={cascadeOption:{}}),i.hierarchy.cascadeOption||(i.hierarchy.cascadeOption={}),i.hierarchy.cascadeOption[t]=e},convertFrom:(i,t,e)=>{var n,r;return!!((r=(n=i.hierarchy)==null?void 0:n.cascadeOption)!=null&&r[t])}};function _(i,t,e){const n=new Map([["/converter/appearance.converter",fe],["/converter/buttons.converter",ge],["/converter/property-editor.converter",he],["/converter/items-count.converter",Me],["/converter/type.converter",be],["/converter/change-editor.converter",ve],["/converter/change-formatter.converter",Ce],["/converter/column-command.converter",Ae],["/converter/column-option.converter",Ee],["/converter/summary.converter",Fe],["/converter/group.converter",xe],["/converter/form-group-label.converter",Te],["/converter/field-selector.converter",we],["/converter/pagination.converter",Pe],["/converter/row-number.converter",Se],["/converter/grid-selection.converter",Ie],["/converter/size.converter",ke],["/converter/change-formatter-enum.converter",Ve],["/converter/grid-sort.converter",Oe],["/converter/grid-filter.converter",Be],["/converter/row-option.converter",Le],["/converter/change-formatter-type.converter",De],["/converter/tree-auto-check.converter",Ne]]),r=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"}]]),o=me();function s(d,a){return()=>o.parseValueSchema(d,a)}function g(d,a,h){return d.includes("visible")&&a.visible!==void 0?typeof a.visible=="boolean"?()=>!!a.visible:a.visible===void 0?!0:s(a.visible,h):()=>!0}function c(d,a,h){return d.includes("readonly")&&a.readonly!==void 0?typeof a.readonly=="boolean"?()=>!!a.readonly:s(a.readonly,h):()=>!1}function u(d,a){const h=d.$converter||a;return typeof h=="string"&&h&&n.has(h)?n.get(h)||null:h||null}function m(d,a,h,b,A,P="",I=""){return Object.keys(d).map(x=>{const V=C.ref(1),T=x,F=d[x],E=Object.keys(F),U=F.title,N=F.type,R=r.get(N)||{type:"input-group",enableClear:!1},L=F.editor?Object.assign({},R,F.editor):Object.assign({},R),H=g(E,F,a),z=c(E,F,a);L.readonly=L.readonly===void 0?z():L.readonly;const Z=F.type==="cascade"?m(F.properties,a,h,b,A,P,I):[],Q=!0;let O=u(F,I);const _e=C.computed({get(){if(V.value){if(["class","style"].find(W=>W===T)&&!O&&(O=n.get("/converter/appearance.converter")||null),O&&O.convertFrom){const W=O.convertFrom(h,x,A,P);return W===void 0&&Object.prototype.hasOwnProperty.call(F,"defaultValue")?F.type==="boolean"?F.defaultValue:F.defaultValue||"":W}const B=h[x];return Object.prototype.hasOwnProperty.call(F,"defaultValue")&&(B===void 0||typeof B=="string"&&B==="")?F.type==="boolean"?F.defaultValue:F.defaultValue||"":B}return null},set(B){V.value+=1,O&&O.convertTo?(O.convertTo(b,x,B,A,P),O.convertTo(h,x,B,A,P)):(b[x]=B,h[x]=B)}}),{refreshPanelAfterChanged:et,description:tt,isExpand:it,parentPropertyID:nt}=F,ae={propertyID:T,propertyName:U,propertyType:N,propertyValue:_e,editor:L,visible:H,readonly:z,cascadeConfig:Z,hideCascadeTitle:Q,refreshPanelAfterChanged:et,description:tt,isExpand:it,parentPropertyID:nt};return a[T]=ae,ae})}function l(d,a,h={}){const b={},A=i[d];return A&&A.categories?Object.keys(A.categories).map(I=>{const S=A.categories[I],x=S==null?void 0:S.title,V=m(S.properties||{},b,{},h,a);return{categoryId:I,categoryName:x,properties:V}}):[]}function f(d,a,h,b,A=""){const P=a.$ref.schema,I=a.$ref.converter,S=h[P],x=S.type,V=e(S),T={},F=i[x];if(F&&F.categories){const E=F.categories[d],U=E==null?void 0:E.title;I&&Object.keys(E.properties).forEach(L=>{E.properties[L].$converter=I});const N=(E==null?void 0:E.properties)||{},R=m(N,T,V,S,b,A);return{categoryId:d,categoryName:U,properties:R}}return{categoryId:d,categoryName:"",properties:[]}}function y(d,a,h,b,A){const P=d.type,I=e(d),S={};let x=A||i[P];if(!(x&&Object.keys(x).length>0)&&h&&h.getPropConfig&&(x=h.getPropConfig(b)),x&&x.categories){const T=[];return Object.keys(x.categories).map(F=>{const E=x.categories[F];if(E.$ref){T.push(f(F,E,d,a,b));return}const U=E==null?void 0:E.title,N=E==null?void 0:E.tabId,R=E==null?void 0:E.tabName,L=E==null?void 0:E.hide,H=E==null?void 0:E.hideTitle,z=m(E.properties||{},S,I,d,a,b,E.$converter),{setPropertyRelates:Z}=E,Q=E==null?void 0:E.parentPropertyID;T.push({categoryId:F,categoryName:U,tabId:N,tabName:R,hide:L,properties:z,hideTitle:H,setPropertyRelates:Z,parentPropertyID:Q})}),T}return[]}return{getPropertyConfigBySchema:y,getPropertyConfigByType:l,propertyConverterMap:n}}const ee={},te={};_(ee,te,ce);const ie={},ne={},{resolveSchemaWithDefaultValue:Re}=X(ie,ne),re={},oe={};_(re,oe,Re);function Ge(i,t,e=new Map,n=(s,g,c,u)=>g,r={},o=s=>s){return $[t.title]=t,K[t.title]=n,ee[t.title]=r,te[t.title]=o,ie[t.title]=t,ne[t.title]=n,re[t.title]=r,oe[t.title]=o,(s={},g=!0)=>{if(!g)return pe(s,e);const c=ue(s,t,e),u=Object.keys(i).reduce((m,l)=>(m[l]=i[l].default,m),{});return Object.assign(u,c)}}function je(i,t,e){return t}const Ue=new Map([["appearance",de.resolveAppearance]]),Ye={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/image.schema.json",title:"image",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for image",type:"string"},type:{description:"The type string of image",type:"string",default:"image"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},rootId:{description:"",type:"string",default:"default-root"},src:{description:"",type:"string",default:""},errorSrc:{description:"",type:"string",default:""},alt:{description:"",type:"string",default:""},title:{description:"",type:"string",default:""},visible:{description:"",type:"boolean",default:!0},width:{description:"",type:"Number"},height:{description:"",type:"Number"}},required:["id","type"],ignore:["id","appearance","binding","visible"]},Y={modelValue:{type:String,default:""},src:{type:String,default:""},errorSrc:{type:String,default:""},alt:{type:String,default:""},title:{type:String,default:""},customClass:{type:Object,default:""},id:{type:String,default:""},width:{type:Number},height:{type:Number},readonly:{type:Boolean,default:!1},visible:{type:Boolean,default:!0}},J=Ge(Y,Ye,Ue,je),le=Object.assign({},Y,{componentId:{type:String,default:""}}),G=C.defineComponent({name:"FImage",props:Y,emits:["change","update:modelValue","click"],setup(i,t){const e=C.ref(i.modelValue),n=C.computed(()=>{const l={"f-imgcontainer-in-form":!0};return M.getCustomClass(l,i.customClass)}),r=C.computed(()=>{const l={};return i.width&&i.width>0&&(l.width=i.width+"px"),i.height&&i.height>0&&(l.height=i.height+"px"),l}),o=C.ref(i.alt?i.alt:void 0),s=C.ref(i.title?i.title:void 0),g=i.errorSrc?M.urlPrependBasePath(i.errorSrc):"data:image/png;base64,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",c=C.ref(M.urlPrependBasePath(i.modelValue||i.src));function u(){i.title&&(s.value=i.title)}C.watch(()=>i.src,l=>{u(),c.value=M.urlPrependBasePath(l)}),C.watch(()=>i.modelValue,l=>{u(),e.value=l,c.value=M.urlPrependBasePath(l)||M.urlPrependBasePath(i.src)||g});function m(){c.value===g&&(s.value=void 0),c.value=g}return()=>i.visible?C.createVNode("div",{class:n.value},[C.createVNode("img",{alt:o.value,title:s.value,style:r.value,src:c.value,onError:m},null)]):null}});function qe(i){const{formSchemaUtils:t,formStateMachineUtils:e}=i;function n(c,u=""){return{path:u+c.code,field:c.id,fullPath:c.code}}function r(c,u=""){const m=t.getViewModelById(c);return m?m.states.map(l=>n(l,u)):[]}function o(c){const u=t.getRootViewModelId(),m=r(c);if(c===u)return m;const l=r(u,"root-component.");return[...m,...l]}function s(c){return c.binding&&c.binding.path||c.id||""}function g(){return e&&e.getRenderStates()||[]}return{getVariables:o,getControlName:s,getStateMachines:g}}class ze{constructor(t){v(this,"sessionVariables",[{key:"CurrentSysOrgName",name:"当前组织Name",description:"当前组织Name"},{key:"CurrentSysOrgId",name:"当前组织Id",description:"当前组织Id"},{key:"CurrentUserName",name:"当前用户Name",description:"当前用户Name"},{key:"CurrentUserCode",name:"当前用户Code",description:"当前用户Code"},{key:"CurrentUserId",name:"当前用户Id",description:"当前用户Id"},{key:"CurrentLanguage",name:"当前语言编号",description:"当前登录的语言编号,例如简体中文返回'zh-CHS',英文返回'en',繁体中文'zh-CHT'"}]);v(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});v(this,"getExpressionConverter",(t,e)=>({convertFrom:(n,r,o,s)=>{const g=o.getExpressionRuleValue(t,e||r);return g&&g.value||""},convertTo:(n,r,o,s,g)=>{var c;if(r==="dataPicking"&&(o!=null&&o.target)){const u=`${o.target}_dataPicking`;((c=o.rules)==null?void 0:c.some(l=>l.id===u&&l.value))?n.dictPickingExpressionId=u:delete n.dictPickingExpressionId}s.updateExpression(o)}}));this.formSchemaService=t}getExpressionRule(t,e){const n=this.getExpressionData();if(!n)return"";const r=n.find(s=>s.target===t);if(!r)return"";const o=r.rules.find(s=>s.type===e);return o||""}getContextFormVariables(){const{module:t}=this.formSchemaService.getFormSchema();if(!t.viewmodels||t.viewmodels.length===0)return[];const e=this.formSchemaService.getRootViewModelId(),n=this.formSchemaService.getViewModelById(e);if(!n||!n.states||n.states.length===0)return[];const r=[];return n.states.filter(o=>o.category==="remote").forEach(o=>{r.push({key:o.code,name:o.name,description:o.name,category:o.category})}),r}createTreeNode(t,e,n="label"){return{id:t.id,name:t.name,bindingPath:t[n],parents:e,type:"field"}}buildEntityFieldsTreeData(t=null,e){const n=[];return t==null||t.forEach(r=>{var g;const o=this.createTreeNode(r,e);let s=[];(g=r.type)!=null&&g.fields&&(s=this.buildEntityFieldsTreeData(r.type.fields,[...e,r.label])),n.push({data:o,children:s,expanded:!0})}),n}buildChildEntityTreeData(t=null,e){const n=[];return t==null||t.forEach(r=>{var c,u;const o=this.createTreeNode(r,e);o.type="entity";const s=this.buildEntityFieldsTreeData((c=r.type)==null?void 0:c.fields,[...e,r.label]),g=this.buildChildEntityTreeData((u=r.type)==null?void 0:u.entities,[...e,r.label]);g!=null&&g.length&&(s==null||s.push(...g)),n.push({data:o,children:s||[],expanded:!0})}),n}getEntitiesTreeData(){const t=this.formSchemaService.getSchemaEntities();if(!(t!=null&&t.length))return[];const e=t[0];if(!(e!=null&&e.type))return[];const n=this.buildEntityFieldsTreeData(e.type.fields,[e.code]),r=this.buildChildEntityTreeData(e.type.entities,[e.code]);return r!=null&&r.length&&(n==null||n.push(...r)),{entityCode:e.code,fields:[{data:this.createTreeNode(e,[],"code"),children:n||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(t,e,n){const r=n==="Field"?t.binding.field:t.id,o=this.getExpressionRule(r,e),s=this.getEntitiesAndVariables(),g={message:["validate","required","dataPicking"].includes(e)&&o?o.message:"",...s};return o.messageType!=null&&(g.messageType=o.messageType),g}buildRule(t,e,n,r){const{expression:o,message:s,messageType:g}=e,c={id:`${t}_${n}`,type:n,value:o};return(n==="validate"||n==="dataPicking"||n==="required")&&(c.message=s),n==="dataPicking"&&(c.messageType=g),n==="validate"&&r&&(c.elementId=r),c}getExpressionData(){const{expressions:t}=this.formSchemaService.getFormSchema().module;return t||[]}updateExpression(t,e,n,r){const o=e==="Field"?t.binding.field:t.id,s=this.buildRule(o,n,r,t.type==="form-group"?t.id:"");let c=this.getExpressionData().find(m=>m.targetType===e&&m.target===o);const u=m=>m.value.trim()==="";if(c){const m=c.rules.find(l=>l.id===s.id);if(m)u(s)?c.rules=c.rules.filter(l=>l.id!==s.id):(Object.assign(m,s),r==="validate"&&t.type==="form-group"&&(m.elementId=t.id));else{if(u(s))return null;c.rules=c.rules||[],c.rules.push(s)}}else{if(u(s))return null;c={target:`${o}`,rules:[s],targetType:e}}return c}getExpressionEditorOptions(t,e,n,r){return n.reduce((o,s)=>{var c,u;const g=e==="Field"?(c=t==null?void 0:t.binding)==null?void 0:c.field:t.id;return o[s]={hide:e==="Field"?!!((u=t==null?void 0:t.binding)!=null&&u.field):!1,description:"",title:this.expressionNames[s],type:"string",$converter:this.getExpressionConverter(g),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[s]}编辑器`,showMessage:s==="validate"||s==="dataPicking"||s==="required",showMessageType:s==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(t,s,e),onSubmitModal:m=>{const l=this.updateExpression(t,e,m,s);if(r){const f=this.buildRule(g,m,s);r(f)}return l}}},o},{})}getExpressionInfo(t,e,n){const r=e==="Field"?t.binding.field:t.id,o=this.getExpressionRule(r,n),s={value:o&&o.value,targetId:r,targetType:e,expressionType:n};return o&&o.message&&(s.message=o.message),s}getExpressionConfig(t,e,n=["compute","dependency","validate"],r){var o;return{description:"表达式",title:"表达式",hide:!(t.binding&&((o=t.binding)==null?void 0:o.type)==="Form"),properties:{...this.getExpressionEditorOptions(t,e,n,r)}}}getExpressionOptions(t,e,n){const r=this.getExpressionInfo(t,e,n);return{dialogTitle:`${this.expressionNames[n]||"表达式"}编辑器`,singleExpand:!1,showMessage:n==="required",beforeOpen:()=>this.onBeforeOpenExpression(t,n,e),expressionInfo:r}}}class We{constructor(t,e){v(this,"componentId");v(this,"viewModelId");v(this,"eventsEditorUtils");v(this,"formSchemaUtils");v(this,"formMetadataConverter");v(this,"designViewModelUtils");v(this,"designViewModelField");v(this,"controlCreatorUtils");v(this,"designerHostService");v(this,"designerContext");v(this,"modalService",null);v(this,"formRule",null);v(this,"schemaService",null);v(this,"metadataService",null);v(this,"propertyConfig",{type:"object",categories:{}});v(this,"expressionProperty");var n;this.componentId=t,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((n=this.formSchemaUtils)==null?void 0:n.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService,this.designerContext=e.designerContext,this.modalService=e.modalService,this.expressionProperty=new ze(this.formSchemaUtils)}inResponsiveForm(){var t;return!!((t=this.designerContext)!=null&&t.responsiveForm)}getFormDesignerInstance(){var t,e;return(e=(t=this.designerContext)==null?void 0:t.instances)==null?void 0:e.formDesigner.value}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){var n;const e=t.binding&&t.binding.type==="Form"&&t.binding.field;if(e){if(!this.designViewModelField){const r=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=r.fields.find(o=>o.id===e)}t.updateOn=(n=this.designViewModelField)==null?void 0:n.updateOn}}getBasicPropConfig(t){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",idField:"value",editable:!1,data:[{value:t.type,name:p.DgControl[t.type]&&p.DgControl[t.type].name}]}}}}}getAppearanceConfig(t=null,e={},n){const r={title:"外观",description:"Appearance"},o={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"}};for(const s in e)o[s]=Object.assign(o[s]||{},e[s]);return{...r,properties:{...o},setPropertyRelates(s,g){if(s){switch(s&&s.propertyID){case"class":case"style":{p.canvasChanged.value++;break}}n&&n(s,t,g)}}}}getPropertyEditorParams(t,e=[],n="visible",r={},o={},s=""){const{getVariables:g,getControlName:c,getStateMachines:u}=qe(this.designerHostService),m=this.getRealTargetType(t),l=e&&e.length>0?e:["Const","Variable","StateMachine","Expression"],f={type:"property-editor",propertyTypes:l};return l.map(y=>{switch(y){case"Const":Object.assign(f,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},r);break;case"Expression":f.expressionConfig=this.getExpressionOptions(t,m,s||n);break;case"StateMachine":f.stateMachines=u();break;case"Variable":Object.assign(f,{controlName:c(t),newVariablePrefix:"is",newVariableType:"Boolean",variables:g(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:d=>{d.value=g(this.viewModelId)}},o),this.designerContext.designerMode==="PC_RTC"&&(f.newVariablePrefix="ext_"+f.newVariablePrefix);break}}),f}getVisibleProperty(t,e=""){var o;let n=["Const","Variable","StateMachine","Expression"];return e==="gridFieldEditor"?n=["Const","Expression"]:e==="form-group"&&!((o=t.binding)!=null&&o.field)?n=["Const","Variable","StateMachine","Custom"]:e==="dataGrid"||e==="treeGrid"||e==="wizard"?n=["Const","Variable","Expression"]:(t.type.indexOf("toolbar-item")>-1||e==="form-group")&&(n=["Const","Variable","StateMachine","Custom","Expression"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(t,n,"visible")}}}getBehaviorConfig(t,e="",n={},r){const o={title:"行为",description:""},s=this.getVisibleProperty(t,e);for(const c in n)s[c]=Object.assign(s[c]||{},n[c]);const g=this;return{...o,properties:{...s},setPropertyRelates(c,u){if(c){switch(c.propertyID){case"disabled":case"readonly":case"visible":g.afterMutilEditorChanged(t,c);break}r&&r(c,u)}}}}afterMutilEditorChanged(t,e){this.addNewVariableToViewModel(e,this.viewModelId),this.updateExpressionValue(e,t),this.clearExpression(e,t)}updateElementByParentContainer(t,e){const n=e&&e.parent&&e.parent.schema;if(!n)return;const r=n.contents.findIndex(s=>s.id===t),o=k.cloneDeep(n.contents[r]);n.contents.splice(r,1),n.contents.splice(r,0,o),p.refreshCanvas()}addNewVariableToViewModel(t,e){const n=t.propertyValue;if(!(n&&typeof n=="object")||!(n.type==="Variable"&&n.isNewVariable))return;const s={id:n.field,category:"locale",code:n.fullPath,name:n.fullPath,type:n.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete n.newVariableType,delete n.isNewVariable,this.formSchemaUtils.getVariableByCode(s.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(s)}getExpressions(){let t=[];return this.formRule?(this.formRule.expressions=this.formRule.expressions||[],t=this.formRule.expressions||[]):t=this.formSchemaUtils.getExpressions(),t}updateExpressionValue(t,e){const n=t.propertyValue;if(!((n&&n.type)==="Expression"&&n.expressionInfo))return;const{expressionId:s,expressionInfo:g}=n,{targetId:c,targetType:u,expressionType:m,value:l,message:f}=g,y=this.getExpressions();let d=y.find(h=>h.target===c);d||(d={target:c,rules:[],targetType:u},y.push(d));const a=d.rules.find(h=>h.type===m);if(a)a.id=s,a.value=l,a.message=f,(m==="minDate"||m==="maxDate"||m==="defaultTime")&&(a.elementId=e.id);else{const h={id:s,type:m,value:l,message:f,elementId:e.id};d.rules.push(h)}delete n.expressionInfo}clearExpression(t,e){const n=t.propertyValue;if(n&&n.type==="Expression")return;const o=t.propertyID,s=this.getExpressions(),g=e.binding?e.binding.field:e.id,c=s.find(u=>u.target===g);!c||!c.rules||(c.rules=c.rules.filter(u=>u.type!==o))}getExpressionOptions(t,e,n){return this.expressionProperty.getExpressionOptions(t,e,n)}getRealTargetType(t){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(t.type)>-1?"Button":t.binding&&t.binding.field?"Field":"Container"}createBaseEventProperty(t){const e={};return e[this.viewModelId]={type:"events-editor",editor:{initialData:t,viewSourceHandle:n=>{var r;((r=n.controller)==null?void 0:r.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(n)}}},e}}const D=class D{static getEditorTypesByMDataType(t,e=!1,n=""){if(e)return[{key:p.DgControl["language-textbox"].type,value:p.DgControl["language-textbox"].name}];let r=D.fieldControlTypeMapping[t];if(n==="data-grid-column"&&(r!=null&&r.length)){const o=[p.DgControl["check-group"].type,p.DgControl["radio-group"].type,p.DgControl.image.type,p.DgControl["rich-text-editor"].type,p.DgControl.avatar.type];r=r.filter(s=>!o.includes(s.key))}if(n==="tree-grid-column"&&(r!=null&&r.length)){const o=[p.DgControl["check-group"].type,p.DgControl["radio-group"].type,p.DgControl.image.type,p.DgControl["rich-text-editor"].type,p.DgControl.avatar.type,p.DgControl.switch.type];r=r.filter(s=>!o.includes(s.key))}return r}static getAllInputTypes(){const t=[];for(const e in D.fieldControlTypeMapping)D.fieldControlTypeMapping[e].forEach(n=>{t.find(r=>r.key===n.key&&r.value===n.value)||t.push({key:n.key,value:n.value})});return t}static mappingDomPropAndSchemaProp(t,e){var o;const n=(o=t.editor)==null?void 0:o.type,r=[];return(t.type===p.DgControl["data-grid-column"].type||t.type===p.DgControl["tree-grid-column"].type)&&e&&e.categoryId&&e.categoryId.indexOf("gridFieldEditor")<0&&r.push({domField:"title",schemaField:"name"}),r.push({domField:"label",schemaField:"name"}),r.push({domField:"editor.required",schemaField:"require"}),r.push({domField:"editor.readonly",schemaField:"readonly"}),(n===p.DgControl["input-group"].type||n===p.DgControl.textarea.type||n===p.DgControl["number-spinner"].type)&&r.push({domField:"editor.maxLength",schemaField:"type.length"}),n===p.DgControl["number-spinner"].type&&r.push({domField:"editor.precision",schemaField:"type.precision"}),(t.type===p.DgControl["data-grid-column"].type||t.type===p.DgControl["tree-grid-column"].type)&&r.push({domField:"formatter.precision",schemaField:"type.precision"}),(n===p.DgControl["combo-list"].type||n===p.DgControl["radio-group"].type)&&r.push({domField:"editor.data",schemaField:"type.enumValues"}),(t.type===p.DgControl["data-grid-column"].type||t.type===p.DgControl["tree-grid-column"].type)&&r.push({domField:"formatter.data",schemaField:"type.enumValues"}),n===p.DgControl["date-picker"].type&&(r.push({domField:"editor.displayFormat",schemaField:"editor.format"}),r.push({domField:"editor.fieldType",schemaField:"type.name"})),n===p.DgControl["number-spinner"].type&&(r.push({domField:"editor.max",schemaField:"editor.maxValue"}),r.push({domField:"editor.min",schemaField:"editor.minValue"})),n===p.DgControl.lookup.type&&(r.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),r.push({domField:"editor.valueField",schemaField:"editor.valueField"}),r.push({domField:"editor.textField",schemaField:"editor.textField"}),r.push({domField:"editor.displayType",schemaField:"editor.displayType"}),r.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),r.push({domField:"editor.helpId",schemaField:"editor.helpId"})),r.push({domField:"path",schemaField:"bindingPath"}),r.push({domField:"binding.path",schemaField:"bindingField"}),r.push({domField:"binding.fullPath",schemaField:"path"}),(t.type===p.DgControl["data-grid-column"].type||t.type===p.DgControl["tree-grid-column"].type)&&r.push({domField:"field",schemaField:"bindingPath"}),r}};v(D,"fieldControlTypeMapping",{String:[{key:p.DgControl["input-group"].type,value:p.DgControl["input-group"].name},{key:p.DgControl.lookup.type,value:p.DgControl.lookup.name},{key:p.DgControl.image.type,value:p.DgControl.image.name},{key:p.DgControl["date-picker"].type,value:p.DgControl["date-picker"].name},{key:p.DgControl.switch.type,value:p.DgControl.switch.name},{key:p.DgControl["check-box"].type,value:p.DgControl["check-box"].name},{key:p.DgControl["check-group"].type,value:p.DgControl["check-group"].name},{key:p.DgControl["radio-group"].type,value:p.DgControl["radio-group"].name},{key:p.DgControl["combo-list"].type,value:p.DgControl["combo-list"].name},{key:p.DgControl.textarea.type,value:p.DgControl.textarea.name},{key:p.DgControl["time-picker"].type,value:p.DgControl["time-picker"].name},{key:p.DgControl["rich-text-editor"].type,value:p.DgControl["rich-text-editor"].name}],Text:[{key:p.DgControl.textarea.type,value:p.DgControl.textarea.name},{key:p.DgControl.lookup.type,value:p.DgControl.lookup.name},{key:p.DgControl.image.type,value:p.DgControl.image.name},{key:p.DgControl.avatar.type,value:p.DgControl.avatar.name},{key:p.DgControl["rich-text-editor"].type,value:p.DgControl["rich-text-editor"].name}],Decimal:[{key:p.DgControl["number-spinner"].type,value:p.DgControl["number-spinner"].name}],Integer:[{key:p.DgControl["number-spinner"].type,value:p.DgControl["number-spinner"].name}],Number:[{key:p.DgControl["number-spinner"].type,value:p.DgControl["number-spinner"].name},{key:p.DgControl.switch.type,value:p.DgControl.switch.name},{key:p.DgControl["check-box"].type,value:p.DgControl["check-box"].name}],BigNumber:[{key:p.DgControl["number-spinner"].type,value:p.DgControl["number-spinner"].name}],Date:[{key:p.DgControl["date-picker"].type,value:p.DgControl["date-picker"].name}],DateTime:[{key:p.DgControl["date-picker"].type,value:p.DgControl["date-picker"].name}],Boolean:[{key:p.DgControl.switch.type,value:p.DgControl.switch.name},{key:p.DgControl["check-box"].type,value:p.DgControl["check-box"].name}],Enum:[{key:p.DgControl["combo-list"].type,value:p.DgControl["combo-list"].name},{key:p.DgControl["radio-group"].type,value:p.DgControl["radio-group"].name}],Object:[{key:p.DgControl.lookup.type,value:p.DgControl.lookup.name},{key:p.DgControl["combo-list"].type,value:p.DgControl["combo-list"].name}]});let q=D;var j=(i=>(i.Form="Form",i.Variable="Variable",i))(j||{});class se{constructor(){v(this,"label","");v(this,"id","");v(this,"columnInSM",12);v(this,"columnInMD",6);v(this,"columnInLG",3);v(this,"columnInEL",2);v(this,"displayWidthInSM",1);v(this,"displayWidthInMD",1);v(this,"displayWidthInLG",1);v(this,"displayWidthInEL",1);v(this,"displayColumnCountAtBreakPoint","md");v(this,"tagRow",0);v(this,"showTopBorder",0);v(this,"group",1);v(this,"isSupportedClass",!0);v(this,"fieldSetId","")}}function Je(i){let t,e;const n=new Map;let r=[];function o(m,l){const y=(m||"").split(" ").filter(A=>A.startsWith("col-"));if(y.length===0){l.isSupportedClass=!1;return}let d=y.find(A=>/^col-([1-9]|10|11|12)$/.test(A)),a=y.find(A=>/^col-md-([1-9]|10|11|12)$/.test(A)),h=y.find(A=>/^col-xl-([1-9]|10|11|12)$/.test(A)),b=y.find(A=>/^col-el-([1-9]|10|11|12)$/.test(A));d=d||"col-12",l.columnInSM=parseInt(d.replace("col-",""),10),l.displayWidthInSM=l.columnInSM/12,l.displayWidthInSM!==1&&(l.isSupportedClass=!1),a=a||"col-md-"+l.columnInSM,l.columnInMD=parseInt(a.replace("col-md-",""),10),l.displayWidthInMD=l.columnInMD/6,[1,2].includes(l.displayWidthInMD)||(l.isSupportedClass=!1),h=h||"col-xl-"+l.columnInMD,l.columnInLG=parseInt(h.replace("col-xl-",""),10),l.displayWidthInLG=l.columnInLG/3,[1,2,3,4].includes(l.displayWidthInLG)||(l.isSupportedClass=!1),b=b||"col-el-"+l.columnInLG,l.columnInEL=parseInt(b.replace("col-el-",""),10),l.displayWidthInEL=l.columnInEL/2,[1,2,3,4,5,6].includes(l.displayWidthInEL)||(l.isSupportedClass=!1)}function s(m,l,f,y=!1){let d=!1;if(!m.contents||m.contents.length===0){const a=new se;o(m.layout,a),l.push(a);return}m.contents.forEach(a=>{if(a.type==="fieldset"){f+=1,s(a,l,f,!0),d=!0;return}if(a.type==="dynamic-form")return;d&&(f+=1,d=!1);const h=a.appearance&&a.appearance.class,b=new se;h?o(h,b):b.isSupportedClass=!1,b.label=a.label||a.id,b.id=a.id,b.group=f,y&&(b.fieldSetId=m.id),e===a.id&&(t=f),n.set(a.id,a),l.push(b)})}function g(m){const l=i.getComponentById(m);if(!l||!l.componentType||!l.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const f=i.selectNode(l,y=>y.type===p.DgControl["response-form"].type);return!f||!f.contents||f.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:f}}function c(m,l){l=l||m.id;const{result:f,message:y,formNode:d}=g(l);if(!f)return{result:f,message:y};e=m.id,r=[],n.clear();const a=d.contents[0].type===p.DgControl.fieldset.type?0:1;s(d,r,a);const h=r.find(A=>!A.isSupportedClass);return{defaultState:{defaultGroupNumber:t||1,model:h?"customize":"standard"},importData:r}}function u(m,l){l=l;const{result:f,formNode:y}=g(l);if(!f)return"";const d=[];return m.forEach(a=>{var A;const h=n.get(a.id),b=h.appearance&&h.appearance.class;if(b){const I=b.split(" ").filter(E=>!E.startsWith("col-")),S="col-"+a.columnInSM,x="col-md-"+a.columnInMD,V="col-xl-"+a.columnInLG,T="col-el-"+a.columnInEL,F=[S,x,V,T].concat(I);h.appearance.class=F.join(" ")}if(a.fieldSetId){const P=y.contents.find(S=>S.id===a.fieldSetId),I=d.find(S=>S.id===a.fieldSetId);I?(A=I.contents)==null||A.push(h):(d.push(P),P.contents=[h])}else d.push(h)}),y.contents=d,y.id}return{checkCanFindFormNode:g,checkCanOpenLayoutEditor:c,changeFormControlsByResponseLayoutConfig:u,getResonseFormLayoutConfig:s}}const He=i=>C.createVNode(C.Fragment,null,[C.createVNode("h5",null,[C.createTextVNode("代码示例")]),C.createVNode("pre",{style:"background-color: #f5f5f5; padding: 10px; border-radius: 5px;"},[C.createVNode("code",null,[`
<h3>Tips:</h3>
<span style="color: blue;">
自定义提示内容
</span>
`])])]);class Ze extends We{constructor(e,n){super(e,n);v(this,"responseLayoutEditorFunction");v(this,"bindingVarible");v(this,"formGroupEvents",[{label:"fieldValueChanging",name:"绑定字段值变化前事件"},{label:"fieldValueChanged",name:"绑定字段值变化后事件"},{label:"onClickLabel",name:"标签点击事件"}]);v(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});v(this,"showCustomValue",e=>{var r;const n=this.designViewModelField!=null&&((r=this.designViewModelField)==null?void 0:r.type.name)!=="Boolean";return this.formRule?e.dataType!=="boolean":n});this.responseLayoutEditorFunction=Je(this.formSchemaUtils)}getCommonPropertyConfig(e,n,r="Card"){if(this.propertyConfig.categories.basic=this.getBasicProperties(e,n,r),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,n),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e,"form-group"),r==="Card"){const o=this.getTipsConfig(e);this.propertyConfig.categories.behavior.properties={...this.propertyConfig.categories.behavior.properties,...o},["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","language-textbox"].includes(e.editor.type)&&(this.propertyConfig.categories.expansion=this.getExpandProperties(e,r))}}getPropertyConfig(e,n){return this.getCommonPropertyConfig(e,n,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressions=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(e),this.propertyConfig}getGridFieldEdtiorPropConfig(e,n){return this.propertyConfig.categories={},this.getCommonPropertyConfig(e,n,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(e):this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressons=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories}getBasicProperties(e,n,r="Card"){var l;const o=this;this.setDesignViewModelField(e);const{canChangeControlType:s,editorTypeList:g}=this.getAvailableEditorType(e),c=this.getPropertyEditorParams(e,["Variable"],"label",{},{newVariablePrefix:"",newVariableType:"String"});let u=g;this.formRule&&(u=g.filter(f=>f.key!=="image"&&f.key!=="rich-text-editor"&&f.key!=="avatar"));const m={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",editable:!1,data:u,readonly:!s}},titleSourceType:{description:"标签来源类型",title:"标签类型",type:"string",refreshPanelAfterChanged:!0,editor:{type:"combo-list",textField:"name",valueField:"id",idField:"id",editable:!1,data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},defaultValue:"static"},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter",visible:!e.titleSourceType||e.titleSourceType==="static"},titleDataSource:{description:"标签",title:"标签",type:"string",editor:c,visible:e.titleSourceType==="dynamic"},showLabelType:{description:"标签显示方式:1、显示:显示标签 2、占位:保留标签空间,但不显示文本 3、不显示:不显示标签",title:"标签显示",type:"enum",ed