@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
8 lines • 65.3 kB
JavaScript
(function(x,F){typeof exports=="object"&&typeof module<"u"?F(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"],F):(x=typeof globalThis<"u"?globalThis:x||self,F(x.image={},x.Vue,x.LodashES,x.dynamicResolver,x.common,x.designerCanvas))})(this,function(x,F,T,ae,B,m){"use strict";var it=Object.defineProperty;var nt=(x,F,T)=>F in x?it(x,F,{enumerable:!0,configurable:!0,writable:!0,value:T}):x[F]=T;var v=(x,F,T)=>nt(x,typeof F!="symbol"?F+"":F,T);function Q(i,t){let e;function n(r){const{properties:f,title:h,ignore:a}=r,u=a&&Array.isArray(a),y=Object.keys(f).reduce((b,C)=>((!u||!a.find(I=>I===C))&&(b[C]=f[C].type==="object"&&f[C].properties?n(f[C]):T.cloneDeep(f[C].default)),b),{});if(h&&(!u||!a.find(b=>b==="id"))){const b=h.toLowerCase().replace(/-/g,"_");y.id=`${b}_${Math.random().toString().slice(2,6)}`}return y}function o(r){const{properties:f,title:h,required:a}=r;if(a&&Array.isArray(a)){const u=a.reduce((y,b)=>(y[b]=f[b].type==="object"&&f[b].properties?n(f[b]):T.cloneDeep(f[b].default),y),{});if(h&&a.find(y=>y==="id")){const y=h.toLowerCase().replace(/-/g,"_");u.id=`${y}_${Math.random().toString().slice(2,6)}`}return u}return{type:h}}function s(r,f={},h){const a=i[r];if(a){let u=o(a);const y=t[r];return u=y?y({getSchemaByType:s},u,f,h):u,e!=null&&e.appendIdentifyForNewControl&&e.appendIdentifyForNewControl(u),u}return null}function l(r,f){const h=n(f);return Object.keys(h).reduce((a,u)=>(Object.prototype.hasOwnProperty.call(r,u)&&(a[u]&&T.isPlainObject(a[u])&&T.isPlainObject(r[u]||!r[u])?Object.assign(a[u],r[u]||{}):a[u]=r[u]),a),h),h}function g(r,f){return Object.keys(r).filter(a=>r[a]!=null).reduce((a,u)=>{if(f.has(u)){const y=f.get(u);if(typeof y=="string")a[y]=r[u];else{const b=y(u,r[u],r);Object.assign(a,b)}}else a[u]=r[u];return a},{})}function c(r,f,h=new Map){const a=l(r,f);return g(a,h)}function p(r){var h;const f=r.type;if(f){const a=i[f];if(!a)return r;const u=l(r,a),y=((h=r.editor)==null?void 0:h.type)||"";if(y){const b=i[y],C=l(r.editor,b);u.editor=C}return u}return r}function d(r){e=r}return{getSchemaByType:s,resolveSchemaWithDefaultValue:p,resolveSchemaToProps:c,mappingSchemaToProps:g,setDesignerContext:d}}const X={},$={},{resolveSchemaWithDefaultValue:de,resolveSchemaToProps:ce,mappingSchemaToProps:ue}=Q(X,$);function pe(i={}){function t(p,d,r,f){if(typeof r=="number")return f[p].length===r;if(typeof r=="object"){const h=Object.keys(r)[0],a=r[h];if(h==="not")return Number(f[p].length)!==Number(a);if(h==="moreThan")return Number(f[p].length)>=Number(a);if(h==="lessThan")return Number(f[p].length)<=Number(a)}return!1}function e(p,d,r,f){return f[p]&&f[p].propertyValue&&String(f[p].propertyValue.value)===String(r)}const n=new Map([["length",t],["getProperty",e]]);Object.keys(i).reduce((p,d)=>(p.set(d,i[d]),p),n);function o(p,d){const r=p;return typeof d=="number"?[{target:r,operator:"length",param:null,value:Number(d)}]:typeof d=="boolean"?[{target:r,operator:"getProperty",param:p,value:!!d}]:typeof d=="object"?Object.keys(d).map(f=>{if(f==="length")return{target:r,operator:"length",param:null,value:d[f]};const h=f,a=d[f];return{target:r,operator:"getProperty",param:h,value:a}}):[]}function s(p){return Object.keys(p).reduce((r,f)=>{const h=o(f,p[f]);return r.push(...h),r},[])}function l(p,d){if(n.has(p.operator)){const r=n.get(p.operator);return r&&r(p.target,p.param,p.value,d)||!1}return!1}function g(p,d){return s(p).reduce((h,a)=>h&&l(a,d),!0)}function c(p,d){const r=Object.keys(p),f=r.includes("allOf"),h=r.includes("anyOf"),a=f||h,b=(a?p[a?f?"allOf":"anyOf":"allOf"]:[p]).map(I=>g(I,d));return f?!b.includes(!1):b.includes(!0)}return{parseValueSchema:c}}const me={convertTo:(i,t,e,n)=>{i.appearance||(i.appearance={}),i.appearance[t]=e},convertFrom:(i,t,e)=>i.appearance?i.appearance[t]:i[t]},fe={convertFrom:(i,t,e)=>i.buttons&&i.buttons.length?`共 ${i.buttons.length} 项`:"无"},ge={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]},he={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",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:"列表导航"},"list-view":{type:"list-view",name:"列表"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"},image:{type:"image",name:"图像"},"discussion-editor":{type:"discussion-editor",name:"评论编辑区"},"discussion-list":{type:"discussion-list",name:"评论列表"},comment:{type:"comment",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:"动态表单"}},ye={convertFrom:(i,t,e)=>{var o;const n=i.editor&&i.editor[t]?i.editor[t]:i[t];return((o=he[n])==null?void 0:o.name)||n}},be={convertTo:(i,t,e,n)=>{i[t]=i[t]},convertFrom:(i,t,e)=>i.editor?e.getRealEditorType(i.editor.type):""},ve={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";if(t==="customFormat")return i.formmater.customFormat}return"none"}},Ce={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.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:"danger"},{value:"remove",text:"删除",type:"remove"}]),t==="enableType"&&e==="unable"&&(i.command.enable=!1)},convertFrom:(i,t,e)=>{var n,o;if(i.command){if(t==="enableType"){const s=(o=(n=i.command)==null?void 0:n.commands)==null?void 0:o.find(l=>l.command==="edit"&&l.type==="primary");return i.command.enable?s?"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""}},Ae={convertTo:(i,t,e,n)=>{i.column?i.column[t]=e:i.column={[t]:e},t==="fitColumns"&&e&&(i.column.fitMode||(i.column.fitMode="average"))},convertFrom:(i,t,e)=>{if(i.column){if(t==="fitColumns")return i.column.fitColumns;if(t==="fitMode")return i.column.fitMode}return""}},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,o;return t==="customSummaryStyle"?i.summary.customSummaryStyle:t==="position"?((n=i.summary)==null?void 0:n[t])||"bottom":t==="customRender"?((o=i.summary)==null?void 0:o[t])||"":i.summary&&t==="enable"?i.summary.enable:i.type==="data-grid-column"?i.enableSummary===void 0?!1:i.enableSummary:""}},Ee={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}}},xe={convertTo:(i,t,e,n)=>{i.pagination||(i.pagination={}),t==="sizeLimits"?i.pagination.sizeLimits=e.split(","):i.pagination[t]=e},convertFrom:(i,t,e)=>i.pagination?t==="sizeLimits"?i.pagination.sizeLimits.join(","):i.pagination[t]:i[t]},Ie={convertTo:(i,t,e,n)=>{i.rowNumber||(i.rowNumber={}),i.rowNumber[t]=e},convertFrom:(i,t,e)=>i.rowNumber?i.rowNumber[t]:i[t]},Se={convertTo:(i,t,e,n)=>{i.selection||(i.selection={}),i.selection[t]=e},convertFrom:(i,t,e)=>{var n,o;return t==="showCheckbox"?(n=i.selection)!=null&&n.multiSelect?!0:(o=i.selection)==null?void 0:o.showCheckbox:i.selection?i.selection[t]:i[t]}},Me={convertFrom:(i,t,e)=>i[t]&&i[t].length?`共 ${i[t].length} 项`:""},Pe={convertFrom:(i,t)=>i[t]||"",convertTo:(i,t,e)=>{i[t]=e}},Te={convertTo:(i,t,e,n)=>{i.size||(i.size={}),i.size[t]=e},convertFrom:(i,t,e)=>i.size?i.size[t]:i[t]},ke={convertFrom:(i,t,e)=>{var n,o;return(n=i.formatter)!=null&&n.data&&t==="formatterEnumData"&&!i.formatterEnumData?(o=i.formatter)==null?void 0:o.data:i.formatterEnumData}},Ve={convertTo:(i,t,e,n)=>{i.sort||(i.sort={}),i.sort[t]=e},convertFrom:(i,t,e)=>{var n,o;if(t==="mode")return((n=i.sort)==null?void 0:n.mode)||"client";if(t==="multiSort")return!!((o=i.sort)!=null&&o.multiSort)}},De={convertTo:(i,t,e,n)=>{i.filter||(i.filter={}),i.filter[t]=e},convertFrom:(i,t,e)=>{var n;if(t==="mode")return((n=i.filter)==null?void 0:n.mode)||"client"}},Oe={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""}},Be={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":""};function K(i,t,e){const n=new Map([["/converter/appearance.converter",me],["/converter/buttons.converter",fe],["/converter/property-editor.converter",ge],["/converter/items-count.converter",Me],["/converter/type.converter",ye],["/converter/change-editor.converter",be],["/converter/change-formatter.converter",ve],["/converter/column-command.converter",Ce],["/converter/column-option.converter",Ae],["/converter/summary.converter",Fe],["/converter/group.converter",Ee],["/converter/form-group-label.converter",Pe],["/converter/field-selector.converter",we],["/converter/pagination.converter",xe],["/converter/row-number.converter",Ie],["/converter/grid-selection.converter",Se],["/converter/size.converter",Te],["/converter/change-formatter-enum.converter",ke],["/converter/grid-sort.converter",Ve],["/converter/grid-filter.converter",De],["/converter/row-option.converter",Oe],["/converter/change-formatter-type.converter",Be]]),o=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"}]]),s=pe();function l(a,u){return()=>s.parseValueSchema(a,u)}function g(a,u,y){return a.includes("visible")&&u.visible!==void 0?typeof u.visible=="boolean"?()=>!!u.visible:u.visible===void 0?!0:l(u.visible,y):()=>!0}function c(a,u,y){return a.includes("readonly")&&u.readonly!==void 0?typeof u.readonly=="boolean"?()=>!!u.readonly:l(u.readonly,y):()=>!1}function p(a,u){const y=a.$converter||u;return typeof y=="string"&&y&&n.has(y)?n.get(y)||null:y||null}function d(a,u,y,b,C,I="",M=""){return Object.keys(a).map(w=>{const k=F.ref(1),P=w,E=a[w],A=Object.keys(E),U=E.title,N=E.type,R=o.get(N)||{type:"input-group",enableClear:!1},O=E.editor?Object.assign({},R,E.editor):Object.assign({},R),J=g(A,E,u),z=c(A,E,u);O.readonly=O.readonly===void 0?z():O.readonly;const H=E.type==="cascade"?d(E.properties,u,y,b,C,I,M):[],Z=!0;let V=p(E,M);const Xe=F.computed({get(){if(k.value){if(["class","style"].find(tt=>tt===P)&&!V&&(V=n.get("/converter/appearance.converter")||null),V&&V.convertFrom)return V.convertFrom(y,w,C,I);const D=y[w];return Object.prototype.hasOwnProperty.call(E,"defaultValue")&&(D===void 0||typeof D=="string"&&D==="")?E.type==="boolean"?E.defaultValue:E.defaultValue||"":D}return null},set(D){k.value+=1,V&&V.convertTo?(V.convertTo(b,w,D,C,I),V.convertTo(y,w,D,C,I)):(b[w]=D,y[w]=D)}}),{refreshPanelAfterChanged:$e,description:Ke,isExpand:_e,parentPropertyID:et}=E,le={propertyID:P,propertyName:U,propertyType:N,propertyValue:Xe,editor:O,visible:J,readonly:z,cascadeConfig:H,hideCascadeTitle:Z,refreshPanelAfterChanged:$e,description:Ke,isExpand:_e,parentPropertyID:et};return u[P]=le,le})}function r(a,u,y={}){const b={},C=i[a];return C&&C.categories?Object.keys(C.categories).map(M=>{const S=C.categories[M],w=S==null?void 0:S.title,k=d(S.properties||{},b,{},y,u);return{categoryId:M,categoryName:w,properties:k}}):[]}function f(a,u,y,b,C=""){const I=u.$ref.schema,M=u.$ref.converter,S=y[I],w=S.type,k=e(S),P={},E=i[w];if(E&&E.categories){const A=E.categories[a],U=A==null?void 0:A.title;M&&Object.keys(A.properties).forEach(O=>{A.properties[O].$converter=M});const N=(A==null?void 0:A.properties)||{},R=d(N,P,k,S,b,C);return{categoryId:a,categoryName:U,properties:R}}return{categoryId:a,categoryName:"",properties:[]}}function h(a,u,y,b,C){const I=a.type,M=e(a),S={};let w=C||i[I];if(!(w&&Object.keys(w).length>0)&&y&&y.getPropConfig&&(w=y.getPropConfig(b)),w&&w.categories){const P=[];return Object.keys(w.categories).map(E=>{const A=w.categories[E];if(A.$ref){P.push(f(E,A,a,u,b));return}const U=A==null?void 0:A.title,N=A==null?void 0:A.tabId,R=A==null?void 0:A.tabName,O=A==null?void 0:A.hide,J=A==null?void 0:A.hideTitle,z=d(A.properties||{},S,M,a,u,b,A.$converter),{setPropertyRelates:H}=A,Z=A==null?void 0:A.parentPropertyID;P.push({categoryId:E,categoryName:U,tabId:N,tabName:R,hide:O,properties:z,hideTitle:J,setPropertyRelates:H,parentPropertyID:Z})}),P}return[]}return{getPropertyConfigBySchema:h,getPropertyConfigByType:r,propertyConverterMap:n}}const _={},ee={};K(_,ee,de);const te={},ie={},{resolveSchemaWithDefaultValue:Le}=Q(te,ie),ne={},oe={};K(ne,oe,Le);function Ne(i,t,e=new Map,n=(l,g,c,p)=>g,o={},s=l=>l){return X[t.title]=t,$[t.title]=n,_[t.title]=o,ee[t.title]=s,te[t.title]=t,ie[t.title]=n,ne[t.title]=o,oe[t.title]=s,(l={},g=!0)=>{if(!g)return ue(l,e);const c=ce(l,t,e),p=Object.keys(i).reduce((d,r)=>(d[r]=i[r].default,d),{});return Object.assign(p,c)}}function Re(i,t,e){return t}const Ge=new Map([["appearance",ae.resolveAppearance]]),je={$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}},W=Ne(Y,je,Ge,Re),re=Object.assign({},Y,{componentId:{type:String,default:""}}),G=F.defineComponent({name:"FImage",props:Y,emits:["change","update:modelValue"],setup(i,t){const e=F.ref(i.modelValue),n=F.computed(()=>{const r={"f-imgcontainer-in-form":!0};return B.getCustomClass(r,i.customClass)}),o=F.computed(()=>{const r={};return i.width&&i.width>0&&(r.width=i.width+"px"),i.height&&i.height>0&&(r.height=i.height+"px"),r}),s=F.ref(i.alt?i.alt:void 0),l=F.ref(i.title?i.title:void 0),g=i.errorSrc?i.errorSrc:"data:image/png;base64,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",c=F.ref(i.modelValue||i.src);function p(){i.title&&(l.value=i.title)}F.watch(()=>i.src,r=>{p(),c.value=r}),F.watch(()=>i.modelValue,r=>{p(),e.value=r,c.value=r||i.src||g});function d(){c.value===g&&(l.value=void 0),c.value=g}return()=>i.visible?F.createVNode("div",{class:n.value},[F.createVNode("img",{alt:s.value,title:l.value,style:o.value,src:c.value,onError:d},null)]):null}});function Ue(i){const{formSchemaUtils:t,formStateMachineUtils:e}=i;function n(c,p=""){return{path:p+c.code,field:c.id,fullPath:c.code}}function o(c,p=""){const d=t.getViewModelById(c);return d?d.states.map(r=>n(r,p)):[]}function s(c){const p=t.getRootViewModelId(),d=o(c);if(c===p)return d;const r=o(p,"root-component.");return[...d,...r]}function l(c){return c.binding&&c.binding.path||c.id||""}function g(){return e&&e.getRenderStates()||[]}return{getVariables:s,getControlName:l,getStateMachines:g}}class Ye{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,o,s,l)=>{const g=s.getExpressionRuleValue(t,e||o);return g&&g.value||""},convertTo:(n,o,s,l,g)=>{var c;if(o==="dataPicking"&&(s!=null&&s.target)){const p=`${s.target}_dataPicking`;((c=s.rules)==null?void 0:c.some(r=>r.id===p&&r.value))?n.dictPickingExpressionId=p:delete n.dictPickingExpressionId}l.updateExpression(s)}}));this.formSchemaService=t}getExpressionRule(t,e){const n=this.getExpressionData();if(!n)return"";const o=n.find(l=>l.target===t);if(!o)return"";const s=o.rules.find(l=>l.type===e);return s||""}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 o=[];return n.states.filter(s=>s.category==="remote").forEach(s=>{o.push({key:s.code,name:s.name,description:s.name,category:s.category})}),o}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(o=>{var g;const s=this.createTreeNode(o,e);let l=[];(g=o.type)!=null&&g.fields&&(l=this.buildEntityFieldsTreeData(o.type.fields,[...e,o.label])),n.push({data:s,children:l,expanded:!0})}),n}buildChildEntityTreeData(t=null,e){const n=[];return t==null||t.forEach(o=>{var c,p;const s=this.createTreeNode(o,e);s.type="entity";const l=this.buildEntityFieldsTreeData((c=o.type)==null?void 0:c.fields,[...e,o.label]),g=this.buildChildEntityTreeData((p=o.type)==null?void 0:p.entities,[...e,o.label]);g!=null&&g.length&&(l==null||l.push(...g)),n.push({data:s,children:l||[],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]),o=this.buildChildEntityTreeData(e.type.entities,[e.code]);return o!=null&&o.length&&(n==null||n.push(...o)),{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 o=n==="Field"?t.binding.field:t.id,s=this.getExpressionRule(o,e),l=this.getEntitiesAndVariables(),g={message:["validate","required","dataPicking"].includes(e)&&s?s.message:"",...l};return s.messageType!=null&&(g.messageType=s.messageType),g}buildRule(t,e,n,o){const{expression:s,message:l,messageType:g}=e,c={id:`${t}_${n}`,type:n,value:s};return(n==="validate"||n==="dataPicking"||n==="required")&&(c.message=l),n==="dataPicking"&&(c.messageType=g),n==="validate"&&o&&(c.elementId=o),c}getExpressionData(){const{expressions:t}=this.formSchemaService.getFormSchema().module;return t||[]}updateExpression(t,e,n,o){const s=e==="Field"?t.binding.field:t.id,l=this.buildRule(s,n,o,t.type==="form-group"?t.id:"");let c=this.getExpressionData().find(d=>d.targetType===e&&d.target===s);const p=d=>d.value.trim()==="";if(c){const d=c.rules.find(r=>r.id===l.id);if(d)p(l)?c.rules=c.rules.filter(r=>r.id!==l.id):(Object.assign(d,l),o==="validate"&&t.type==="form-group"&&(d.elementId=t.id));else{if(p(l))return null;c.rules=c.rules||[],c.rules.push(l)}}else{if(p(l))return null;c={target:`${s}`,rules:[l],targetType:e}}return c}getExpressionEditorOptions(t,e,n,o){return n.reduce((s,l)=>{var c,p;const g=e==="Field"?(c=t==null?void 0:t.binding)==null?void 0:c.field:t.id;return s[l]={hide:e==="Field"?!!((p=t==null?void 0:t.binding)!=null&&p.field):!1,description:"",title:this.expressionNames[l],type:"string",$converter:this.getExpressionConverter(g),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[l]}编辑器`,showMessage:l==="validate"||l==="dataPicking"||l==="required",showMessageType:l==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(t,l,e),onSubmitModal:d=>{const r=this.updateExpression(t,e,d,l);if(o){const f=this.buildRule(g,d,l);o(f)}return r}}},s},{})}getExpressionInfo(t,e,n){const o=e==="Field"?t.binding.field:t.id,s=this.getExpressionRule(o,n),l={value:s&&s.value,targetId:o,targetType:e,expressionType:n};return s&&s.message&&(l.message=s.message),l}getExpressionConfig(t,e,n=["compute","dependency","validate"],o){return{description:"表达式",title:"表达式",hide:!t.binding,properties:{...this.getExpressionEditorOptions(t,e,n,o)}}}getExpressionOptions(t,e,n){const o=this.getExpressionInfo(t,e,n);return{dialogTitle:`${this.expressionNames[n]||"表达式"}编辑器`,singleExpand:!1,showMessage:n==="required",beforeOpen:()=>this.onBeforeOpenExpression(t,n,e),expressionInfo:o}}}class qe{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 Ye(this.formSchemaUtils)}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 o=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=o.fields.find(s=>s.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:m.DgControl[t.type]&&m.DgControl[t.type].name}]}}}}}getAppearanceConfig(t=null,e={},n){const o={title:"外观",description:"Appearance"},s={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 l in e)s[l]=Object.assign(s[l]||{},e[l]);return{...o,properties:{...s},setPropertyRelates(l,g){if(l){switch(l&&l.propertyID){case"class":case"style":{m.canvasChanged.value++;break}}n&&n(l,t,g)}}}}getPropertyEditorParams(t,e=[],n="visible",o={},s={},l=""){const{getVariables:g,getControlName:c,getStateMachines:p}=Ue(this.designerHostService),d=this.getRealTargetType(t),r=e&&e.length>0?e:["Const","Variable","StateMachine","Expression"],f={type:"property-editor",propertyTypes:r};return r.map(h=>{switch(h){case"Const":Object.assign(f,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},o);break;case"Expression":f.expressionConfig=this.getExpressionOptions(t,d,l||n);break;case"StateMachine":f.stateMachines=p();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:a=>{a.value=g(this.viewModelId)}},s),this.designerContext.designerMode==="PC_RTC"&&(f.newVariablePrefix="ext_"+f.newVariablePrefix);break}}),f}getVisibleProperty(t,e=""){var s;let n=["Const","Variable","StateMachine","Expression"];return e==="gridFieldEditor"?n=["Const","Expression"]:e==="form-group"&&!((s=t.binding)!=null&&s.field)&&(n=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(t,n,"visible")}}}getBehaviorConfig(t,e="",n={},o){const s={title:"行为",description:""},l=this.getVisibleProperty(t,e);for(const c in n)l[c]=Object.assign(l[c]||{},n[c]);const g=this;return{...s,properties:{...l},setPropertyRelates(c,p){if(c){switch(c.propertyID){case"disabled":case"readonly":case"visible":g.afterMutilEditorChanged(t,c);break}o&&o(c,p)}}}}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 o=n.contents.findIndex(l=>l.id===t),s=T.cloneDeep(n.contents[o]);n.contents.splice(o,1),n.contents.splice(o,0,s),m.refreshCanvas()}addNewVariableToViewModel(t,e){const n=t.propertyValue;if(!(n&&typeof n=="object")||!(n.type==="Variable"&&n.isNewVariable))return;const l={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(l.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(l)}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:l,expressionInfo:g}=n,{targetId:c,targetType:p,expressionType:d,value:r,message:f}=g,h=this.getExpressions();let a=h.find(y=>y.target===c);a||(a={target:c,rules:[],targetType:p},h.push(a));const u=a.rules.find(y=>y.type===d);if(u)u.value=r,u.message=f,(d==="minDate"||d==="maxDate"||d==="defaultTime")&&(u.elementId=e.id);else{const y={id:l,type:d,value:r,message:f,elementId:e.id};a.rules.push(y)}delete n.expressionInfo}clearExpression(t,e){const n=t.propertyValue;if(n&&n.type==="Expression")return;const s=t.propertyID,l=this.getExpressions(),g=e.binding?e.binding.field:e.id,c=l.find(p=>p.target===g);!c||!c.rules||(c.rules=c.rules.filter(p=>p.type!==s))}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 o;((o=n.controller)==null?void 0:o.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(n)}}},e}}const L=class L{static getEditorTypesByMDataType(t,e=!1,n=""){if(e)return[{key:m.DgControl["language-textbox"].type,value:m.DgControl["language-textbox"].name}];let o=L.fieldControlTypeMapping[t];if(n==="data-grid-column"&&(o!=null&&o.length)){const s=[m.DgControl["check-group"].type,m.DgControl["radio-group"].type,m.DgControl.image.type,m.DgControl["rich-text-editor"].type];o=o.filter(l=>!s.includes(l.key))}return o}static getAllInputTypes(){const t=[];for(const e in L.fieldControlTypeMapping)L.fieldControlTypeMapping[e].forEach(n=>{t.find(o=>o.key===n.key&&o.value===n.value)||t.push({key:n.key,value:n.value})});return t}static mappingDomPropAndSchemaProp(t,e){var s;const n=(s=t.editor)==null?void 0:s.type,o=[];return(t.type===m.DgControl["data-grid-column"].type||t.type===m.DgControl["tree-grid-column"].type)&&e&&e.categoryId&&e.categoryId.indexOf("gridFieldEditor")<0&&o.push({domField:"title",schemaField:"name"}),o.push({domField:"label",schemaField:"name"}),o.push({domField:"editor.required",schemaField:"require"}),o.push({domField:"editor.readonly",schemaField:"readonly"}),(n===m.DgControl["input-group"].type||n===m.DgControl.textarea.type||n===m.DgControl["number-spinner"].type)&&o.push({domField:"editor.maxLength",schemaField:"type.length"}),n===m.DgControl["number-spinner"].type&&o.push({domField:"editor.precision",schemaField:"type.precision"}),(t.type===m.DgControl["data-grid-column"].type||t.type===m.DgControl["tree-grid-column"].type)&&o.push({domField:"formatter.precision",schemaField:"type.precision"}),(n===m.DgControl["combo-list"].type||n===m.DgControl["radio-group"].type)&&o.push({domField:"editor.data",schemaField:"type.enumValues"}),(t.type===m.DgControl["data-grid-column"].type||t.type===m.DgControl["tree-grid-column"].type)&&o.push({domField:"formatter.data",schemaField:"type.enumValues"}),n===m.DgControl["date-picker"].type&&(o.push({domField:"editor.displayFormat",schemaField:"editor.format"}),o.push({domField:"editor.fieldType",schemaField:"type.name"})),n===m.DgControl["number-spinner"].type&&(o.push({domField:"editor.max",schemaField:"editor.maxValue"}),o.push({domField:"editor.min",schemaField:"editor.minValue"})),n===m.DgControl.lookup.type&&(o.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),o.push({domField:"editor.valueField",schemaField:"editor.valueField"}),o.push({domField:"editor.textField",schemaField:"editor.textField"}),o.push({domField:"editor.displayType",schemaField:"editor.displayType"}),o.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),o.push({domField:"editor.helpId",schemaField:"editor.helpId"})),o.push({domField:"path",schemaField:"bindingPath"}),o.push({domField:"binding.path",schemaField:"bindingField"}),o.push({domField:"binding.fullPath",schemaField:"path"}),(t.type===m.DgControl["data-grid-column"].type||t.type===m.DgControl["tree-grid-column"].type)&&o.push({domField:"field",schemaField:"bindingPath"}),o}};v(L,"fieldControlTypeMapping",{String:[{key:m.DgControl["input-group"].type,value:m.DgControl["input-group"].name},{key:m.DgControl.lookup.type,value:m.DgControl.lookup.name},{key:m.DgControl.image.type,value:m.DgControl.image.name},{key:m.DgControl["date-picker"].type,value:m.DgControl["date-picker"].name},{key:m.DgControl.switch.type,value:m.DgControl.switch.name},{key:m.DgControl["check-box"].type,value:m.DgControl["check-box"].name},{key:m.DgControl["check-group"].type,value:m.DgControl["check-group"].name},{key:m.DgControl["radio-group"].type,value:m.DgControl["radio-group"].name},{key:m.DgControl["combo-list"].type,value:m.DgControl["combo-list"].name},{key:m.DgControl.textarea.type,value:m.DgControl.textarea.name},{key:m.DgControl["time-picker"].type,value:m.DgControl["time-picker"].name}],Text:[{key:m.DgControl.textarea.type,value:m.DgControl.textarea.name},{key:m.DgControl.lookup.type,value:m.DgControl.lookup.name},{key:m.DgControl.image.type,value:m.DgControl.image.name},{key:m.DgControl["rich-text-editor"].type,value:m.DgControl["rich-text-editor"].name}],Decimal:[{key:m.DgControl["number-spinner"].type,value:m.DgControl["number-spinner"].name}],Integer:[{key:m.DgControl["number-spinner"].type,value:m.DgControl["number-spinner"].name}],Number:[{key:m.DgControl["number-spinner"].type,value:m.DgControl["number-spinner"].name},{key:m.DgControl.switch.type,value:m.DgControl.switch.name},{key:m.DgControl["check-box"].type,value:m.DgControl["check-box"].name}],BigNumber:[{key:m.DgControl["number-spinner"].type,value:m.DgControl["number-spinner"].name}],Date:[{key:m.DgControl["date-picker"].type,value:m.DgControl["date-picker"].name}],DateTime:[{key:m.DgControl["date-picker"].type,value:m.DgControl["date-picker"].name}],Boolean:[{key:m.DgControl.switch.type,value:m.DgControl.switch.name},{key:m.DgControl["check-box"].type,value:m.DgControl["check-box"].name}],Enum:[{key:m.DgControl["combo-list"].type,value:m.DgControl["combo-list"].name},{key:m.DgControl["radio-group"].type,value:m.DgControl["radio-group"].name}],Object:[{key:m.DgControl.lookup.type,value:m.DgControl.lookup.name},{key:m.DgControl["combo-list"].type,value:m.DgControl["combo-list"].name},{key:m.DgControl["radio-group"].type,value:m.DgControl["radio-group"].name}]});let q=L;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 ze(i){let t,e;const n=new Map;let o=[];function s(d,r){const h=((d==null?void 0:d.split(" "))||[]).filter(C=>C.startsWith("col-"));if(h.length===0){r.isSupportedClass=!1;return}let a=h.find(C=>/^col-([1-9]|10|11|12)$/.test(C)),u=h.find(C=>/^col-md-([1-9]|10|11|12)$/.test(C)),y=h.find(C=>/^col-xl-([1-9]|10|11|12)$/.test(C)),b=h.find(C=>/^col-el-([1-9]|10|11|12)$/.test(C));a=a||"col-12",r.columnInSM=parseInt(a.replace("col-",""),10),r.displayWidthInSM=r.columnInSM/12,r.displayWidthInSM!==1&&(r.isSupportedClass=!1),u=u||"col-md-"+r.columnInSM,r.columnInMD=parseInt(u.replace("col-md-",""),10),r.displayWidthInMD=r.columnInMD/6,[1,2].includes(r.displayWidthInMD)||(r.isSupportedClass=!1),y=y||"col-xl-"+r.columnInMD,r.columnInLG=parseInt(y.replace("col-xl-",""),10),r.displayWidthInLG=r.columnInLG/3,[1,2,3,4].includes(r.displayWidthInLG)||(r.isSupportedClass=!1),b=b||"col-el-"+r.columnInLG,r.columnInEL=parseInt(b.replace("col-el-",""),10),r.displayWidthInEL=r.columnInEL/2,[1,2,3,4,5,6].includes(r.displayWidthInEL)||(r.isSupportedClass=!1)}function l(d,r,f,h=!1){let a=!1;if(!d.contents||d.contents.length===0){const u=new se;s(d.layout,u),r.push(u);return}d.contents.forEach(u=>{if(u.type==="fieldset"){f+=1,l(u,r,f,!0),a=!0;return}if(u.type==="dynamic-form")return;a&&(f+=1,a=!1);const y=u.appearance&&u.appearance.class,b=new se;y?s(y,b):b.isSupportedClass=!1,b.label=u.label||u.id,b.id=u.id,b.group=f,h&&(b.fieldSetId=d.id),e===u.id&&(t=f),n.set(u.id,u),r.push(b)})}function g(d){const r=i.getComponentById(d);if(!r||!r.componentType||!r.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const f=i.selectNode(r,h=>h.type===m.DgControl["response-form"].type);return!f||!f.contents||f.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:f}}function c(d,r){r=r||d.id;const{result:f,message:h,formNode:a}=g(r);if(!f)return{result:f,message:h};e=d.id,o=[],n.clear();const u=a.contents[0].type===m.DgControl.fieldset.type?0:1;l(a,o,u);const y=o.find(C=>!C.isSupportedClass);return{defaultState:{defaultGroupNumber:t||1,model:y?"customize":"standard"},importData:o}}function p(d,r){r=r;const{result:f,formNode:h}=g(r);if(!f)return"";const a=[];return d.forEach(u=>{var C;const y=n.get(u.id),b=y.appearance&&y.appearance.class;if(b){const M=b.split(" ").filter(A=>!A.startsWith("col-")),S="col-"+u.columnInSM,w="col-md-"+u.columnInMD,k="col-xl-"+u.columnInLG,P="col-el-"+u.columnInEL,E=[S,w,k,P].concat(M);y.appearance.class=E.join(" ")}if(u.fieldSetId){const I=h.contents.find(S=>S.id===u.fieldSetId),M=a.find(S=>S.id===u.fieldSetId);M?(C=M.contents)==null||C.push(y):(a.push(I),I.contents=[y])}else a.push(y)}),h.contents=a,h.id}return{checkCanFindFormNode:g,checkCanOpenLayoutEditor:c,changeFormControlsByResponseLayoutConfig:p,getResonseFormLayoutConfig:l}}class We extends qe{constructor(e,n){super(e,n);v(this,"responseLayoutEditorFunction");v(this,"bindingVarible");v(this,"formGroupEvents",[{label:"onClickLabel",name:"标签点击事件"}]);v(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});v(this,"showCustomValue",e=>{var o;const n=this.designViewModelField!=null&&((o=this.designViewModelField)==null?void 0:o.type.name)!=="Boolean";return this.formRule?e.dataType!=="boolean":n});this.responseLayoutEditorFunction=ze(this.formSchemaUtils)}getCommonPropertyConfig(e,n,o="Card"){this.propertyConfig.categories.basic=this.getBasicProperties(e,n,o),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,n),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e,"form-group")}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,o="Card"){var d;const s=this;this.setDesignViewModelField(e);const{canChangeControlType:l,editorTypeList:g}=this.getAvailableEditorType(e);let c=g;this.formRule&&(c=g.filter(r=>r.key!=="image"&&r.key!=="rich-text-editor"));const p={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:c,readonly:!l}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},showLabelType:{description:"标签显示方式:1、显示:显示标签 2、占位:保留标签空间,但不显示文本 3、不显示:不显示标签",title:"标签显示",type:"enum",editor:{data:[{id:"visible",name:"显示"},{id:"reserve-space",name:"占位"},{id:"none",name:"不显示"}]},defaultValue:((d=e.editor)==null?void 0:d.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:e,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!e.isRtcControl}},setPropertyRelates(r,f,h){if(r)switch(r&&r.propertyID){case"type":{s.changeControlType(e,r,n);break}case"label":{r.needRefreshControlTree=!0;break}case"binding":{s.changeBindingField(e,r,h);break}}}};return o.toLocaleLowerCase()!=="card"&&delete p.properties.showLabelType,p}checkCanChangeControlType(e,n){if(!e.binding)return!1;if(e.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(e.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==B.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(e){var s,l;const n=this.checkCanChangeControlType(e,this.viewModelId);if(!n)return{canChangeControlType:!1,editorTypeList:[{key:e.editor.type,value:((s=m.DgControl[e.editor.type])==null?void 0:s.name)||e.editor.type}]};let o=[];return this.designViewModelField&&this.designViewModelField.$type===B.FormSchemaEntityField$Type.SimpleField?o=q.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(o=q.getEditorTypesByMDataType(this.bindingVarible.type,!!((l=this.designViewModelField)!=null&&l.multiLanguage))),{canChangeControlType:n,editorTypeList:o}}changeBindingField(e,n,o){n.needRefreshEntityTree=!0}getAppearanceProperties(e,n){const o=this;return{title:"外观",description:"Appearance",properties:{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"},fill:{title:"填充宽度",description:"启用后,控件占满父容器宽度",type:"boolean",parentPropertyID:"appearance",defaultValue:!1},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!o.formRule,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",beforeOpen:()=>o.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,o.componentId)}}},setPropertyRelates(s,l){if(s)switch(s&&s.propertyID){case"responseLayout":o.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(s.propertyValue,o.componentId||e.id),o.updateUnifiedLayoutAfterResponseLayoutChanged(o.componentId),o.updateElementByParentContainer(e.id,n),delete e.responseLayout;break;case"class":o.updateUnifiedLayoutAfterControlChanged(s.propertyValue,e.id,this.componentId),m.canvasChanged.value++;break;case"style":{m.canvasChanged.value++;break}}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,n,o){const s=n.propertyValue,l=o&&o.parent&&o.parent.schema;if(!l)return;const g=l.contents.findIndex(d=>d.id===e.id);if(g===-1)return;const c=l.contents[g];let p;if(this.designViewModelField){const f=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(a=>a.id===this.designViewModelField.id).fieldSchema||{};f.editor||(f.editor={}