@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
2 lines • 146 kB
JavaScript
(function(oe,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("vue"),require("lodash-es"),require("../common/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("vue-i18n"),require("../locale/index.umd.js"),require("@vueuse/core"),require("../data-view/index.umd.js"),require("../property-panel/index.umd.js"),require("../accordion/index.umd.js"),require("../avatar/index.umd.js"),require("../../designer/button-edit/index.umd.js"),require("../button-group/index.umd.js"),require("../calendar/index.umd.js"),require("../capsule/index.umd.js"),require("../../designer/checkbox/index.umd.js"),require("../../designer/checkbox-group/index.umd.js"),require("../combo-list/index.umd.js"),require("../combo-tree/index.umd.js"),require("../component/index.umd.js"),require("../color-picker/index.umd.js"),require("../content-container/index.umd.js"),require("../date-picker/index.umd.js"),require("../../designer/data-grid/index.umd.js"),require("../dropdown/index.umd.js"),require("../dynamic-form/index.umd.js"),require("../events-editor/index.umd.js"),require("../filter-bar/index.umd.js"),require("../field-selector/index.umd.js"),require("../binding-selector/index.umd.js"),require("../image-cropper/index.umd.js"),require("../../designer/input-group/index.umd.js"),require("../layout/index.umd.js"),require("../list-nav/index.umd.js"),require("../../designer/list-view/index.umd.js"),require("../lookup/index.umd.js"),require("../mapping-editor/index.umd.js"),require("../nav/index.umd.js"),require("../number-range/index.umd.js"),require("../number-spinner/index.umd.js"),require("../order/index.umd.js"),require("../page-header/index.umd.js"),require("../page-footer/index.umd.js"),require("../pagination/index.umd.js"),require("../progress/index.umd.js"),require("../query-solution/index.umd.js"),require("../../designer/radio-group/index.umd.js"),require("../rate/index.umd.js"),require("../response-toolbar/index.umd.js"),require("../response-layout/index.umd.js"),require("../response-layout-editor/index.umd.js"),require("../search-box/index.umd.js"),require("../section/index.umd.js"),require("../smoke-detector/index.umd.js"),require("../splitter/index.umd.js"),require("../step/index.umd.js"),require("../switch/index.umd.js"),require("../tabs/index.umd.js"),require("../tags/index.umd.js"),require("../text/index.umd.js"),require("../time-picker/index.umd.js"),require("../transfer/index.umd.js"),require("../tree-view/index.umd.js"),require("../uploader/index.umd.js"),require("../verify-detail/index.umd.js"),require("../video/index.umd.js"),require("../textarea/index.umd.js"),require("../schema-selector/index.umd.js"),require("../../designer/tree-grid/index.umd.js"),require("../event-parameter/index.umd.js"),require("../filter-condition-editor/index.umd.js"),require("../fieldset/index.umd.js"),require("../sort-condition-editor/index.umd.js"),require("../menu-lookup/index.umd.js"),require("../../designer/drawer/index.umd.js"),require("../json-editor/index.umd.js"),require("../property-editor/index.umd.js"),require("../expression-editor/index.umd.js"),require("../code-editor/index.umd.js"),require("../html-template/index.umd.js"),require("../collection-property-editor/index.umd.js"),require("../modal/index.umd.js"),require("../external-container/index.umd.js"),require("../language-textbox/index.umd.js"),require("../notify/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../common/index.umd.js","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","vue-i18n","../locale/index.umd.js","@vueuse/core","../data-view/index.umd.js","../property-panel/index.umd.js","../accordion/index.umd.js","../avatar/index.umd.js","../../designer/button-edit/index.umd.js","../button-group/index.umd.js","../calendar/index.umd.js","../capsule/index.umd.js","../../designer/checkbox/index.umd.js","../../designer/checkbox-group/index.umd.js","../combo-list/index.umd.js","../combo-tree/index.umd.js","../component/index.umd.js","../color-picker/index.umd.js","../content-container/index.umd.js","../date-picker/index.umd.js","../../designer/data-grid/index.umd.js","../dropdown/index.umd.js","../dynamic-form/index.umd.js","../events-editor/index.umd.js","../filter-bar/index.umd.js","../field-selector/index.umd.js","../binding-selector/index.umd.js","../image-cropper/index.umd.js","../../designer/input-group/index.umd.js","../layout/index.umd.js","../list-nav/index.umd.js","../../designer/list-view/index.umd.js","../lookup/index.umd.js","../mapping-editor/index.umd.js","../nav/index.umd.js","../number-range/index.umd.js","../number-spinner/index.umd.js","../order/index.umd.js","../page-header/index.umd.js","../page-footer/index.umd.js","../pagination/index.umd.js","../progress/index.umd.js","../query-solution/index.umd.js","../../designer/radio-group/index.umd.js","../rate/index.umd.js","../response-toolbar/index.umd.js","../response-layout/index.umd.js","../response-layout-editor/index.umd.js","../search-box/index.umd.js","../section/index.umd.js","../smoke-detector/index.umd.js","../splitter/index.umd.js","../step/index.umd.js","../switch/index.umd.js","../tabs/index.umd.js","../tags/index.umd.js","../text/index.umd.js","../time-picker/index.umd.js","../transfer/index.umd.js","../tree-view/index.umd.js","../uploader/index.umd.js","../verify-detail/index.umd.js","../video/index.umd.js","../textarea/index.umd.js","../schema-selector/index.umd.js","../../designer/tree-grid/index.umd.js","../event-parameter/index.umd.js","../filter-condition-editor/index.umd.js","../fieldset/index.umd.js","../sort-condition-editor/index.umd.js","../menu-lookup/index.umd.js","../../designer/drawer/index.umd.js","../json-editor/index.umd.js","../property-editor/index.umd.js","../expression-editor/index.umd.js","../code-editor/index.umd.js","../html-template/index.umd.js","../collection-property-editor/index.umd.js","../modal/index.umd.js","../external-container/index.umd.js","../language-textbox/index.umd.js","../notify/index.umd.js"],i):(oe=typeof globalThis<"u"?globalThis:oe||self,i(oe.textarea={},oe.Vue,oe.LodashES,oe.common,oe.dynamicResolver,oe.designerCanvas,oe.vueI18n,oe.locale,oe.VueUseCore,oe.dataView))})(this,function(oe,i,re,he,rt,$t,yt,at,an,Y){"use strict";var Jo=Object.defineProperty;var Qo=(oe,i,re)=>i in oe?Jo(oe,i,{enumerable:!0,configurable:!0,writable:!0,value:re}):oe[i]=re;var W=(oe,i,re)=>Qo(oe,typeof i!="symbol"?i+"":i,re);function Dt(n,t){let e;function o(c){const{properties:g,title:f,ignore:p}=c,h=p&&Array.isArray(p),x=Object.keys(g).reduce((E,j)=>((!h||!p.find(L=>L===j))&&(E[j]=g[j].type==="object"&&g[j].properties?o(g[j]):re.cloneDeep(g[j].default)),E),{});if(f&&(!h||!p.find(E=>E==="id"))){const E=f.toLowerCase().replace(/-/g,"_");x.id=`${E}_${Math.random().toString().slice(2,6)}`}return x}function r(c){const{properties:g,title:f,required:p}=c;if(p&&Array.isArray(p)){const h=p.reduce((x,E)=>(x[E]=g[E].type==="object"&&g[E].properties?o(g[E]):re.cloneDeep(g[E].default),x),{});if(f&&p.find(x=>x==="id")){const x=f.toLowerCase().replace(/-/g,"_");h.id=`${x}_${Math.random().toString().slice(2,6)}`}return h}return{type:f}}function s(c,g={},f){const p=n[c];if(p){let h=r(p);const x=t[c];return h=x?x({getSchemaByType:s},h,g,f):h,e!=null&&e.appendIdentifyForNewControl&&e.appendIdentifyForNewControl(h),h}return null}function a(c,g){const f=o(g);return Object.keys(f).reduce((p,h)=>(Object.prototype.hasOwnProperty.call(c,h)&&(p[h]&&re.isPlainObject(p[h])&&re.isPlainObject(c[h]||!c[h])?Object.assign(p[h],c[h]||{}):p[h]=c[h]),p),f),f}function d(c,g){return Object.keys(c).filter(p=>c[p]!=null).reduce((p,h)=>{if(g.has(h)){const x=g.get(h);if(typeof x=="string")p[x]=c[h];else{const E=x(h,c[h],c);Object.assign(p,E)}}else p[h]=c[h];return p},{})}function l(c,g,f=new Map){const p=a(c,g);return d(p,f)}function u(c){var f;const g=c.type;if(g){const p=n[g];if(!p)return c;const h=a(c,p),x=((f=c.editor)==null?void 0:f.type)||"";if(x){const E=n[x],j=a(c.editor,E);h.editor=j}return h}return c}function m(c){e=c}return{getSchemaByType:s,resolveSchemaWithDefaultValue:u,resolveSchemaToProps:l,mappingSchemaToProps:d,setDesignerContext:m}}const qt={},Lt={},{getSchemaByType:Zo,resolveSchemaWithDefaultValue:sn,resolveSchemaToProps:ln,mappingSchemaToProps:cn,setDesignerContext:Ko}=Dt(qt,Lt);function un(n={}){function t(u,m,c,g){if(typeof c=="number")return g[u].length===c;if(typeof c=="object"){const f=Object.keys(c)[0],p=c[f];if(f==="not")return Number(g[u].length)!==Number(p);if(f==="moreThan")return Number(g[u].length)>=Number(p);if(f==="lessThan")return Number(g[u].length)<=Number(p)}return!1}function e(u,m,c,g){return g[u]&&g[u].propertyValue&&String(g[u].propertyValue.value)===String(c)}const o=new Map([["length",t],["getProperty",e]]);Object.keys(n).reduce((u,m)=>(u.set(m,n[m]),u),o);function r(u,m){const c=u;return typeof m=="number"?[{target:c,operator:"length",param:null,value:Number(m)}]:typeof m=="boolean"?[{target:c,operator:"getProperty",param:u,value:!!m}]:typeof m=="object"?Object.keys(m).map(g=>{if(g==="length")return{target:c,operator:"length",param:null,value:m[g]};const f=g,p=m[g];return{target:c,operator:"getProperty",param:f,value:p}}):[]}function s(u){return Object.keys(u).reduce((c,g)=>{const f=r(g,u[g]);return c.push(...f),c},[])}function a(u,m){if(o.has(u.operator)){const c=o.get(u.operator);return c&&c(u.target,u.param,u.value,m)||!1}return!1}function d(u,m){return s(u).reduce((f,p)=>f&&a(p,m),!0)}function l(u,m){const c=Object.keys(u),g=c.includes("allOf"),f=c.includes("anyOf"),p=g||f,E=(p?u[p?g?"allOf":"anyOf":"allOf"]:[u]).map(L=>d(L,m));return g?!E.includes(!1):E.includes(!0)}return{parseValueSchema:l}}const dn={convertTo:(n,t,e,o)=>{n.appearance||(n.appearance={}),n.appearance[t]=e},convertFrom:(n,t,e)=>n.appearance?n.appearance[t]:n[t]},fn={convertFrom:(n,t,e)=>n.buttons&&n.buttons.length?`共 ${n.buttons.length} 项`:"无"},pn={convertTo:(n,t,e,o)=>{n.editor&&(n.editor[t]=e)},convertFrom:(n,t,e)=>n.editor&&Object.prototype.hasOwnProperty.call(n.editor,t)?n.editor[t]:n[t]},$={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:"标签页工具栏按钮"},"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:"标签页工具栏"},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:"多语输入框"}},mn={convertFrom:(n,t,e)=>{var r;const o=n.editor&&n.editor[t]?n.editor[t]:n[t];return((r=$[o])==null?void 0:r.name)||o}},gn={convertTo:(n,t,e,o)=>{n[t]=n[t]},convertFrom:(n,t,e)=>n.editor?e.getRealEditorType(n.editor.type):""},hn={convertTo:(n,t,e,o)=>{(n.type==="data-grid-column"||n.type==="tree-grid-column")&&(n.formatter?n.formatter[t]=e:n.formatter={[t]:e})},convertFrom:(n,t,e)=>{if(n.formatter){if(t==="trueText")return n.formatter.trueText;if(t==="falseText")return n.formatter.falseText;if(t==="prefix")return n.formatter.prefix;if(t==="suffix")return n.formatter.suffix;if(t==="precision")return n.formatter.precision;if(t==="decimal")return n.formatter.decimal;if(t==="thousand")return n.formatter.thousand;if(t==="tempDateFormat")return n.formatter.dateFormat==="yyyy年MM月dd日"?"yearMonthDay":n.formatter.dateFormat==="yyyy-MM-dd HH:mm:ss"?"yyyy-MM-ddTHH:mm:ss":n.formatter.dateFormat==="yyyy/MM/dd HH:mm:ss"?"yyyy/MM/ddTHH:mm:ss":n.formatter.dateFormat==="yyyy年MM月dd日 HH时mm分ss秒"?"yearMonthDayHourMinuteSecond":n.formatter.tempDateFormat||n.formatter.dateFormat||"yyyy-MM-dd";if(t==="customFormat")return n.formatter.customFormat;if(t==="type")return n.formatter.type||"none"}return"none"}},yn={convertTo:(n,t,e,o)=>{n.command?n.command[t]=e:n.command={[t]:e},t==="enable"&&e&&(n.command.commands||(n.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]))},convertFrom:(n,t,e)=>n.command&&t==="enable"?n.command.enable:""},vn={convertTo:(n,t,e,o)=>{n.column?n.column[t]=e:n.column={[t]:e},t==="fitColumns"&&e&&(n.column.fitMode||(n.column.fitMode="average"))},convertFrom:(n,t,e)=>{if(n.column){if(t==="fitColumns")return n.column.fitColumns;if(t==="fitMode")return n.column.fitMode}return""}},bn={convertTo:(n,t,e,o)=>{n.summary?n.summary[t]=e:n.summary={[t]:e},t==="enable"&&e&&(n.summary?n.summary.groupFields||(n.summary.groupFields=[]):n.summary={enable:e,groupFields:[]})},convertFrom:(n,t,e)=>n.summary&&t==="enable"?n.summary.enable:n.type==="data-grid-column"?n.enableSummary===void 0?!1:n.enableSummary:""},Cn={convertTo:(n,t,e,o)=>{n.group?n.group[t]=e:n.group={[t]:e},t==="enable"&&e&&(n.group?n.group.groupFields||(n.group.groupFields=[]):n.group={enable:e,groupFields:[],showSummary:!1})},convertFrom:(n,t,e)=>{if(n.group){if(t==="enable")return n.group.enable;if(t==="showSummary")return n.group.showSummary}}},wn={convertFrom:(n,t)=>n.binding?n.binding.path:"",convertTo:(n,t,e)=>{if(e&&e.length>0){const o=e[0];n.binding||(n.binding={}),n.binding.type="Form",n.binding.path=o.bindingField,n.binding.field=o.id,n.binding.fullPath=o.path,n.path=o.bindingPath}}},xn={convertTo:(n,t,e,o)=>{n.pagination||(n.pagination={}),n.pagination[t]=e},convertFrom:(n,t,e)=>n.pagination?n.pagination[t]:n[t]},Sn={convertTo:(n,t,e,o)=>{n.rowNumber||(n.rowNumber={}),n.rowNumber[t]=e},convertFrom:(n,t,e)=>n.rowNumber?n.rowNumber[t]:n[t]},Tn={convertTo:(n,t,e,o)=>{n.selection||(n.selection={}),n.selection[t]=e},convertFrom:(n,t,e)=>n.selection?n.selection[t]:n[t]},Mn={convertFrom:(n,t,e)=>n[t]&&n[t].length?`共 ${n[t].length} 项`:""},En={convertFrom:(n,t)=>n[t]||"",convertTo:(n,t,e)=>{n[t]=e}},Fn={convertTo:(n,t,e,o)=>{n.size||(n.size={}),n.size[t]=e},convertFrom:(n,t,e)=>n.size?n.size[t]:n[t]},kn={convertFrom:(n,t,e)=>{var o,r;return(o=n.formatter)!=null&&o.data&&t==="formatterEnumData"&&!n.formatterEnumData?(r=n.formatter)==null?void 0:r.data:n.formatterEnumData}},jn={convertTo:(n,t,e,o)=>{n.sort||(n.sort={}),n.sort[t]=e},convertFrom:(n,t,e)=>{var o,r;if(t==="mode")return((o=n.sort)==null?void 0:o.mode)||"client";if(t==="multiSort")return!!((r=n.sort)!=null&&r.multiSort)}},Nn={convertTo:(n,t,e,o)=>{n.filter||(n.filter={}),n.filter[t]=e},convertFrom:(n,t,e)=>{var o;if(t==="mode")return((o=n.filter)==null?void 0:o.mode)||"client"}},Bn={convertTo:(n,t,e,o)=>{n.rowOption?n.rowOption[t]=e:n.rowOption={[t]:e}},convertFrom:(n,t,e)=>{if(n.rowOption){if(t==="customRowStyle")return n.rowOption.customRowStyle;if(t==="customCellStyle")return n.rowOption.customCellStyle}return""}};function Rt(n,t,e){const o=new Map([["/converter/appearance.converter",dn],["/converter/buttons.converter",fn],["/converter/property-editor.converter",pn],["/converter/items-count.converter",Mn],["/converter/type.converter",mn],["/converter/change-editor.converter",gn],["/converter/change-formatter.converter",hn],["/converter/column-command.converter",yn],["/converter/column-option.converter",vn],["/converter/summary.converter",bn],["/converter/group.converter",Cn],["/converter/form-group-label.converter",En],["/converter/field-selector.converter",wn],["/converter/pagination.converter",xn],["/converter/row-number.converter",Sn],["/converter/grid-selection.converter",Tn],["/converter/size.converter",Fn],["/converter/change-formatter-enum.converter",kn],["/converter/grid-sort.converter",jn],["/converter/grid-filter.converter",Nn],["/converter/row-option.converter",Bn]]),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}]]),s=un();function a(p,h){return()=>s.parseValueSchema(p,h)}function d(p,h,x){return p.includes("visible")&&h.visible!==void 0?typeof h.visible=="boolean"?()=>!!h.visible:h.visible===void 0?!0:a(h.visible,x):()=>!0}function l(p,h,x){return p.includes("readonly")&&h.readonly!==void 0?typeof h.readonly=="boolean"?()=>!!h.readonly:a(h.readonly,x):()=>!1}function u(p,h){const x=p.$converter||h;return typeof x=="string"&&x&&o.has(x)?o.get(x)||null:x||null}function m(p,h,x,E,j,L="",S=""){return Object.keys(p).map(v=>{const k=i.ref(1),T=v,w=p[v],B=Object.keys(w),b=w.title,M=w.type,V=r.get(M)||{type:"input-group",enableClear:!1},P=w.editor?Object.assign({},V,w.editor):Object.assign({},V),F=d(B,w,h),z=l(B,w,h);P.readonly=P.readonly===void 0?z():P.readonly;const Q=w.type==="cascade"?m(w.properties,h,x,E,j,L,S):[],O=!0;let I=u(w,S);const _=i.computed({get(){if(k.value){if(["class","style"].find(ce=>ce===T)&&!I&&(I=o.get("/converter/appearance.converter")||null),I&&I.convertFrom)return I.convertFrom(x,v,j,L);const ie=x[v];return Object.prototype.hasOwnProperty.call(w,"defaultValue")&&(ie===void 0||typeof ie=="string"&&ie==="")?w.type==="boolean"?w.defaultValue:w.defaultValue||"":ie}return null},set(ie){k.value+=1,I&&I.convertTo?(I.convertTo(E,v,ie,j,L),I.convertTo(x,v,ie,j,L)):(E[v]=ie,x[v]=ie)}}),{refreshPanelAfterChanged:R,description:ee,isExpand:ye,parentPropertyID:ve}=w,X={propertyID:T,propertyName:b,propertyType:M,propertyValue:_,editor:P,visible:F,readonly:z,cascadeConfig:Q,hideCascadeTitle:O,refreshPanelAfterChanged:R,description:ee,isExpand:ye,parentPropertyID:ve};return h[T]=X,X})}function c(p,h,x={}){const E={},j=n[p];return j&&j.categories?Object.keys(j.categories).map(S=>{const y=j.categories[S],v=y==null?void 0:y.title,k=m(y.properties||{},E,{},x,h);return{categoryId:S,categoryName:v,properties:k}}):[]}function g(p,h,x,E,j=""){const L=h.$ref.schema,S=h.$ref.converter,y=x[L],v=y.type,k=e(y),T={},w=n[v];if(w&&w.categories){const B=w.categories[p],b=B==null?void 0:B.title;S&&Object.keys(B.properties).forEach(P=>{B.properties[P].$converter=S});const M=(B==null?void 0:B.properties)||{},V=m(M,T,k,y,E,j);return{categoryId:p,categoryName:b,properties:V}}return{categoryId:p,categoryName:"",properties:[]}}function f(p,h,x,E,j){const L=p.type,S=e(p),y={};let v=j||n[L];if(v&&Object.keys(v).length===0&&x&&x.getPropConfig&&(v=x.getPropConfig(E)),v&&v.categories){const k=[];return Object.keys(v.categories).map(T=>{const w=v.categories[T];if(w.$ref){k.push(g(T,w,p,h,E));return}const B=w==null?void 0:w.title,b=w==null?void 0:w.tabId,M=w==null?void 0:w.tabName,V=w==null?void 0:w.hide,P=w==null?void 0:w.hideTitle,F=m(w.properties||{},y,S,p,h,E,w.$converter),{setPropertyRelates:z}=w,Q=w==null?void 0:w.parentPropertyID;k.push({categoryId:T,categoryName:B,tabId:b,tabName:M,hide:V,properties:F,hideTitle:P,setPropertyRelates:z,parentPropertyID:Q})}),k}return[]}return{getPropertyConfigBySchema:f,getPropertyConfigByType:c,propertyConverterMap:o}}const Ht={},zt={};Rt(Ht,zt,sn);const At={},Ut={},{getSchemaByType:ei,resolveSchemaWithDefaultValue:Vn,resolveSchemaToProps:ti,mappingSchemaToProps:ni,setDesignerContext:oi}=Dt(At,Ut),_t={},Wt={};Rt(_t,Wt,Vn);function Je(n,t,e=new Map,o=(a,d,l,u)=>d,r={},s=a=>a){return qt[t.title]=t,Lt[t.title]=o,Ht[t.title]=r,zt[t.title]=s,At[t.title]=t,Ut[t.title]=o,_t[t.title]=r,Wt[t.title]=s,(a={},d=!0)=>{if(!d)return cn(a,e);const l=ln(a,t,e),u=Object.keys(n).reduce((m,c)=>(m[c]=n[c].default,m),{});return Object.assign(u,l)}}function vt(n,t){return{customClass:t.class,customStyle:t.style}}const In=new Map([["appearance",vt]]),Pn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/switch.schema.json",title:"textarea",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a textarea",type:"string"},type:{description:"The type string of textarea component",type:"string",default:"textarea"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0},rows:{description:"",type:"number"},showCount:{description:"",type:"boolean",default:!1},maxLength:{description:"",type:"number",default:0},updateOn:{description:"",type:"string",default:"blur"},allowUnlimtedWhenEmpty:{description:"",type:"boolean",default:!0},autoHeight:{description:"",type:"boolean",default:!1},resizable:{description:"",type:"boolean",default:!1},lineBreak:{description:"",type:"boolean",default:"enter"}},required:["type"],ignore:["id","appearance","binding","visible"]};function On(n,t,e){return t}const st={autoHeight:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},autocomplete:{type:Boolean,default:!1},allowUnlimtedWhenEmpty:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!1},id:{type:String,default:""},minLength:{type:Number,default:0},maxLength:{type:Number},modelValue:{type:String,default:""},placeholder:{type:String,default:""},readonly:{type:Boolean,default:!1},rows:{type:Number},resizable:{type:Boolean,default:!1},showCount:{type:Boolean,default:!1},showBorder:{Type:Boolean,default:!0},tabIndex:{type:Number,default:-1},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},updateOn:{type:String,default:"blur"},lineBreak:{type:Boolean,default:"enter"}},Gt=Object.assign({},st,{readonly:{}}),bt=Je(st,Pn,In,On),Qe=i.defineComponent({name:"FTextarea",props:st,emits:["update:modelValue","valueChange","change","mousedownEvent","mouseupEvent"],setup(n,t){var P;const{isUndefined:e}=he.useCommonUtils(),o=i.ref(),r=i.ref(null),s=i.computed(()=>n.modelValue),a=i.computed(()=>{if(!(n.allowUnlimtedWhenEmpty&&n.maxLength===0||e(n.maxLength)))return typeof n.maxLength=="number"&&!isNaN(n.maxLength)?n.maxLength:n.modelValue?n.modelValue.length:0}),d=i.ref(((P=n.modelValue)==null?void 0:P.slice(0,a.value))||""),l=he.useTextBox(n,t,d,s,o),{inputGroupClass:u,onBlur:m,onFocus:c,onMousedown:g,onMouseup:f,onTextBoxValueChange:p,hasFocused:h}=l,x=he.useClear(n,t,l),{onMouseEnter:E,onMouseLeave:j,clearButtonClass:L,shouldShowClearButton:S,clearButtonStyle:y}=x,v=F=>{var z,Q,O;F.stopPropagation(),t.emit("update:modelValue",(z=F.target)==null?void 0:z.value),t.emit("valueChange",(Q=F.target)==null?void 0:Q.value),t.emit("change",(O=F.target)==null?void 0:O.value)},k=F=>{F.stopPropagation(),r.value.value="",t.emit("update:modelValue",""),t.emit("valueChange",""),t.emit("change","")},T=F=>{if(n.readonly||!h)return;const{altKey:z,key:Q}=F;if(Q==="Enter"&&!z&&n.lineBreak==="alt enter"){F.preventDefault();return}if(z&&Q==="Enter"&&n.lineBreak==="alt enter"){F.stopPropagation(),F.preventDefault();const{selectionStart:O,selectionEnd:I}=r.value;d.value=d.value.slice(0,O)+`
`+d.value.slice(I),i.nextTick(()=>{var _;r.value.selectionStart=O+1,r.value.selectionEnd=O+1,(_=r.value)==null||_.focus()}),t.emit("update:modelValue",d.value),t.emit("valueChange",d.value),t.emit("change",d.value);return}},w=i.computed(()=>({"form-control":!0,"h-100":n.autoHeight})),B=i.computed(()=>{const F={};return n.resizable||(F.resize="none"),n.rows>2?{height:"auto",...F}:F}),b=i.computed(()=>n.disabled||n.readonly?"":n.placeholder);i.watch(()=>n.modelValue,(F,z)=>{F!==z&&(d.value=F)});const M=()=>r.value;t.expose({elementRef:r,getTextareaElement:M});function V(){var F,z;n.selectOnCreated&&((F=r.value)==null||F.select()),n.focusOnCreated&&((z=r.value)==null||z.focus({preventScroll:!0}))}return i.onMounted(()=>{V()}),()=>i.createVNode("div",{ref:o,class:u.value,onMouseenter:E,onMouseleave:j,style:"position:relative"},[i.withDirectives(i.createVNode("textarea",{ref:r,class:w.value,id:n.id,"onUpdate:modelValue":F=>d.value=F,minlength:n.minLength,maxlength:a.value,tabindex:n.tabIndex,disabled:n.disabled,readonly:n.readonly,autocomplete:n.autocomplete,placeholder:b.value,autofocus:n.autofocus,rows:n.rows,onInput:v,onFocus:c,onChange:p,onKeydown:T,onBlur:m,onMousedown:g,onMouseup:f,style:B.value},null),[[i.vModelText,d.value]]),S.value&&i.createVNode("span",{id:"clearIcon",class:L.value,style:y.value,onClick:F=>k(F)},[i.createVNode("i",{class:"f-icon modal_close"},null)])])}});function Xt(n,t,e){var b;const o=e&&e.getStyles&&e.getStyles()||"",r=e&&e.getDesignerClass&&e.getDesignerClass()||"",s=i.ref();let a;function d(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:e&&e.checkCanMoveComponent?e.checkCanMoveComponent():!0}function l(){return!1}function u(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:e&&e.checkCanDeleteComponent?e.checkCanDeleteComponent():!0}function m(){return(t==null?void 0:t.schema.componentType)==="frame"?!0:e&&e.hideNestedPaddingInDesginerView?e.hideNestedPaddingInDesginerView():!1}function c(M){if(!M||!M.value)return null;if(M.value.schema&&M.value.schema.type==="component")return M.value;const V=i.ref(M==null?void 0:M.value.parent),P=c(V);return P||null}function g(M=t){var z;if(e!=null&&e.getDraggableDesignItemElement)return e.getDraggableDesignItemElement(M);const{componentInstance:V,designerItemElementRef:P}=M;if(!V||!V.value)return null;const{getCustomButtons:F}=V.value;return V.value.canMove||F&&((z=F())!=null&&z.length)?P:g(M.parent)}function f(M){return!!e&&e.canAccepts(M)}function p(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function h(){}function x(M,V){var P;!M||!V||(e!=null&&e.onAcceptMovedChildElement&&e.onAcceptMovedChildElement(M,V),(P=t==null?void 0:t.setupContext)==null||P.emit("dragEnd"))}function E(M,V){const{componentType:P}=M;let F=rt.getSchemaByTypeForDesigner(P,M,V);e&&e.onResolveNewComponentSchema&&(F=e.onResolveNewComponentSchema(M,F));const z=P.toLowerCase().replace(/-/g,"_");return F&&!F.id&&F.type===P&&(F.id=`${z}_${Math.random().toString().slice(2,6)}`),F}function j(M){M&&e!=null&&e.onChildElementMovedOut&&e.onChildElementMovedOut(M)}function L(...M){if(e&&e.getPropsConfig)return e.getPropsConfig(...M)}function S(M){if(!M)return;const V=t==null?void 0:t.schema,{formSchemaUtils:P}=M;if(V&&P.getExpressions().length){const F=P.getExpressions().findIndex(z=>z.target===V.id);F>-1&&P.getExpressions().splice(F,1)}}function y(M){if(!M||!(t!=null&&t.schema))return;const V=t.schema,{formSchemaUtils:P}=M;P.removeCommunicationInComponent(V)}function v(M){e&&e.onRemoveComponent&&e.onRemoveComponent(),S(M),y(M),t!=null&&t.schema.contents&&t.schema.contents.map(V=>{let P=V.id;V.type==="component-ref"&&(P=V.component);const F=n.value.querySelectorAll(`#${P}-design-item`);F!=null&&F.length&&Array.from(F).map(z=>{var Q;(Q=z==null?void 0:z.componentInstance)!=null&&Q.value.onRemoveComponent&&z.componentInstance.value.onRemoveComponent(M)})})}function k(){if(e&&e.getCustomButtons)return e.getCustomButtons()}function T(M){var P,F;if(!((P=t==null?void 0:t.schema)!=null&&P.id))return;if(!a&&M&&(a=M.formSchemaUtils),e!=null&&e.setComponentBasicInfoMap){e.setComponentBasicInfoMap();return}let V="";if(e!=null&&e.getComponentTitle)V=e.getComponentTitle();else{const{text:z,title:Q,label:O,mainTitle:I,name:_,type:R}=t.schema;V=z||Q||O||I||_||((F=$[R])==null?void 0:F.name)}V&&a.getControlBasicInfoMap().set(t.schema.id,{componentTitle:V,parentPathName:V})}function w(M){var z;const{changeObject:V}=M,{propertyID:P,propertyValue:F}=V;if(["text","title","label","name","mainTitle"].includes((z=M==null?void 0:M.changeObject)==null?void 0:z.propertyID)&&P&&F&&(T(),a)){const Q=a.getControlBasicInfoMap(),O=Q.keys().toArray().filter(I=>{var _,R;return((_=Q.get(I))==null?void 0:_.reliedComponentId)===((R=t==null?void 0:t.schema)==null?void 0:R.id)});O!=null&&O.length&&O.forEach(I=>{const _=Q.get(I).parentPathName.split(" > ");_[0]=F,Q.get(I).parentPathName=_.join(" > ")})}}function B(M){if(w(M),e&&e.onPropertyChanged)return e.onPropertyChanged(M)}return s.value={canMove:d(),canSelectParent:l(),canDelete:u(),canNested:!m(),contents:t==null?void 0:t.schema.contents,elementRef:n,parent:(b=t==null?void 0:t.parent)==null?void 0:b.componentInstance,schema:t==null?void 0:t.schema,styles:o,designerClass:r,canAccepts:f,getBelongedComponentInstance:c,getDraggableDesignItemElement:g,getDraggingDisplayText:p,getPropConfig:L,getDragScopeElement:h,onAcceptMovedChildElement:x,onChildElementMovedOut:j,addNewChildComponentSchema:E,triggerBelongedComponentToMoveWhenMoved:!!e&&e.triggerBelongedComponentToMoveWhenMoved||i.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!e&&e.triggerBelongedComponentToDeleteWhenDeleted||i.ref(!1),onRemoveComponent:v,getCustomButtons:k,onPropertyChanged:B,setComponentBasicInfoMap:T,updateContextSchema:t==null?void 0:t.updateContextSchema},s}const $n=i.ref(0);function Dn(){$n.value++}const lt=i.ref(0);function qn(n){const{formSchemaUtils:t,formStateMachineUtils:e}=n;function o(l,u=""){return{path:u+l.code,field:l.id,fullPath:l.code}}function r(l,u=""){return t.getViewModelById(l).states.map(c=>o(c,u))}function s(l){const u=t.getRootViewModelId(),m=r(l);if(l===u)return m;const c=r(u,"root-component.");return[...m,...c]}function a(l){return l.binding&&l.binding.path||l.id||""}function d(){return e&&e.getRenderStates()||[]}return{getVariables:s,getControlName:a,getStateMachines:d}}class Yt{constructor(t){W(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'"}]);W(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});W(this,"getExpressionConverter",(t,e)=>({convertFrom:(o,r,s,a)=>{const d=s.getExpressionRuleValue(t,e||r);return d&&d.value||""},convertTo:(o,r,s,a,d)=>{var l;if(r==="dataPicking"&&(s!=null&&s.target)){const u=`${s.target}_dataPicking`;((l=s.rules)==null?void 0:l.some(c=>c.id===u&&c.value))?o.dictPickingExpressionId=u:delete o.dictPickingExpressionId}a.updateExpression(s)}}));this.formSchemaService=t}getExpressionRule(t,e){const o=this.formSchemaService.getExpressions();if(!o)return"";const r=o.find(a=>a.target===t);if(!r)return"";const s=r.rules.find(a=>a.type===e);return s||""}getContextFormVariables(){const{module:t}=this.formSchemaService.getFormSchema();if(!t.viewmodels||t.viewmodels.length===0)return[];const e=this.formSchemaService.getRootViewModelId(),o=this.formSchemaService.getViewModelById(e);if(!o||!o.states||o.states.length===0)return[];const r=[];return o.states.forEach(s=>{r.push({key:s.code,name:s.name,description:s.name,category:s.category})}),r}createTreeNode(t,e,o="label"){return{id:t.id,name:t.name,bindingPath:t[o],parents:e,type:"field"}}buildEntityFieldsTreeData(t=null,e){const o=[];return t==null||t.forEach(r=>{var d;const s=this.createTreeNode(r,e);let a=[];(d=r.type)!=null&&d.fields&&(a=this.buildEntityFieldsTreeData(r.type.fields,[...e,r.label])),o.push({data:s,children:a,expanded:!0})}),o}buildChildEntityTreeData(t=null,e){const o=[];return t==null||t.forEach(r=>{var l,u;const s=this.createTreeNode(r,e);s.type="entity";const a=this.buildEntityFieldsTreeData((l=r.type)==null?void 0:l.fields,[...e,r.label]),d=this.buildChildEntityTreeData((u=r.type)==null?void 0:u.entities,[...e,r.label]);d!=null&&d.length&&(a==null||a.push(...d)),o.push({data:s,children:a||[],expanded:!0})}),o}getEntitiesTreeData(){const t=this.formSchemaService.getSchemaEntities();if(!(t!=null&&t.length))return[];const e=t[0];if(!(e!=null&&e.type))return[];const o=this.buildEntityFieldsTreeData(e.type.fields,[e.code]),r=this.buildChildEntityTreeData(e.type.entities,[e.code]);return r!=null&&r.length&&(o==null||o.push(...r)),{entityCode:e.code,fields:[{data:this.createTreeNode(e,[],"code"),children:o||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(t,e,o){const r=o==="Field"?t.binding.field:t.id,s=this.getExpressionRule(r,e),a=this.getEntitiesAndVariables(),d={message:["validate","required","dataPicking"].includes(e)&&s?s.message:"",...a};return s.messageType!=null&&(d.messageType=s.messageType),d}buildRule(t,e,o,r){const{expression:s,message:a,messageType:d}=e,l={id:`${t}_${o}`,type:o,value:s};return(o==="validate"||o==="dataPicking"||o==="required")&&(l.message=a),o==="dataPicking"&&(l.messageType=d),o==="validate"&&r&&(l.elementId=r),l}getExpressionData(){const{expressions:t}=this.formSchemaService.getFormSchema().module;return t||[]}updateExpression(t,e,o,r){const s=e==="Field"?t.binding.field:t.id,a=this.buildRule(s,o,r,t.type==="form-group"?t.id:"");let l=this.getExpressionData().find(m=>m.targetType===e&&m.target===s);const u=m=>m.value.trim()==="";if(l){const m=l.rules.find(c=>c.id===a.id);if(m)u(a)?l.rules=l.rules.filter(c=>c.id!==a.id):(Object.assign(m,a),r==="validate"&&t.type==="form-group"&&(m.elementId=t.id));else{if(u(a))return null;l.rules=l.rules||[],l.rules.push(a)}}else{if(u(a))return null;l={target:`${s}`,rules:[a],targetType:e}}return l}getExpressionEditorOptions(t,e,o,r){return o.reduce((s,a)=>{var l,u;const d=e==="Field"?(l=t==null?void 0:t.binding)==null?void 0:l.field:t.id;return s[a]={hide:e==="Field"?!!((u=t==null?void 0:t.binding)!=null&&u.field):!1,description:"",title:this.expressionNames[a],type:"string",$converter:this.getExpressionConverter(d),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[a]}编辑器`,showMessage:a==="validate"||a==="dataPicking"||a==="required",showMessageType:a==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(t,a,e),onSubmitModal:m=>{const c=this.updateExpression(t,e,m,a);if(r){const g=this.buildRule(d,m,a);r(g)}return c}}},s},{})}getExpressionInfo(t,e,o){const r=e==="Field"?t.binding.field:t.id,s=this.getExpressionRule(r,o),a={value:s&&s.value,targetId:r,targetType:e,expressionType:o};return s&&s.message&&(a.message=s.message),a}getExpressionConfig(t,e,o=["compute","dependency","validate"],r){return{description:"表达式",title:"表达式",hide:!t.binding,properties:{...this.getExpressionEditorOptions(t,e,o,r)}}}getExpressionOptions(t,e,o){const r=this.getExpressionInfo(t,e,o);return{dialogTitle:`${this.expressionNames[o]}编辑器`,singleExpand:!1,showMessage:o==="required",beforeOpen:()=>this.onBeforeOpenExpression(t,o,e),expressionInfo:r}}}class Ln{constructor(t,e){W(this,"componentId");W(this,"viewModelId");W(this,"eventsEditorUtils");W(this,"formSchemaUtils");W(this,"formMetadataConverter");W(this,"designViewModelUtils");W(this,"designViewModelField");W(this,"controlCreatorUtils");W(this,"designerHostService");W(this,"designerContext");W(this,"schemaService",null);W(this,"metadataService",null);W(this,"propertyConfig",{type:"object",categories:{}});var o;this.componentId=t,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((o=this.formSchemaUtils)==null?void 0:o.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService,this.designerContext=e.designerContext}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 o;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(s=>s.id===e)}t.updateOn=(o=this.designViewModelField)==null?void 0:o.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:$[t.type]&&$[t.type].name}]}}}}}getAppearanceConfig(t=null,e={},o){const r={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 a in e)s[a]=Object.assign(s[a]||{},e[a]);return{...r,properties:{...s},setPropertyRelates(a,d){if(a){switch(a&&a.propertyID){case"class":case"style":{lt.value++;break}}o&&o(a,t,d)}}}}getPropertyEditorParams(t,e=[],o="visible",r={},s={}){const{getVariables:a,getControlName:d,getStateMachines:l}=qn(this.designerHostService),u=this.getRealTargetType(t),m=e&&e.length>0?e:["Const","Variable","StateMachine","Expression"],c={type:"property-editor",propertyTypes:m};return m.map(g=>{switch(g){case"Const":Object.assign(c,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},r);break;case"Expression":c.expressionConfig=this.getExpressionOptions(t,u,o);break;case"StateMachine":c.stateMachines=l();break;case"Variable":Object.assign(c,{controlName:d(t),newVariablePrefix:"is",newVariableType:"Boolean",variables:a(this.viewModelId),onBeforeOpenVariables:f=>{f.value=a(this.viewModelId)}},s);break}}),c}getVisibleProperty(t,e=""){var s;let o=["Const","Variable","StateMachine","Expression"];return e==="gridFieldEditor"?o=["Const","Expression"]:e==="form-group"&&!((s=t.binding)!=null&&s.field)&&(o=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(t,o,"visible")}}}getBehaviorConfig(t,e="",o={},r){const s={title:"行为",description:""},a=this.getVisibleProperty(t,e);for(const l in o)a[l]=Object.assign(a[l]||{},o[l]);const d=this;return{...s,properties:{...a},setPropertyRelates(l,u){if(l){switch(l.propertyID){case"disabled":case"readonly":case"visible":d.afterMutilEditorChanged(t,l);break}r&&r(l,u)}}}}afterMutilEditorChanged(t,e){this.addNewVariableToViewModel(e,this.viewModelId),this.updateExpressionValue(e),this.clearExpression(e,t)}updateElementByParentContainer(t,e){const o=e&&e.parent&&e.parent.schema;if(!o)return;const r=o.contents.findIndex(a=>a.id===t),s=re.cloneDeep(o.contents[r]);o.contents.splice(r,1),o.contents.splice(r,0,s),Dn()}addNewVariableToViewModel(t,e){const o=t.propertyValue;if(!(o&&typeof o=="object")||!(o.type==="Variable"&&o.isNewVariable))return;const a={id:o.field,category:"locale",code:o.fullPath,name:o.fullPath,type:o.newVariableType||"String"};delete o.newVariableType,delete o.isNewVariable,this.formSchemaUtils.getVariableByCode(a.code)||this.formSchemaUtils.getViewModelById(e).states.push(a)}updateExpressionValue(t){const e=t.propertyValue;if(!((e&&e.type)==="Expression"&&e.expressionInfo))return;const{expressionId:s,expressionInfo:a}=e,{targetId:d,targetType:l,expressionType:u,value:m,message:c}=a,g=this.formSchemaUtils.getModule();g.expressions=g.expressions||[];const{expressions:f}=g;let p=f.find(x=>x.target===d);p||(p={target:d,rules:[],targetType:l},f.push(p));const h=p.rules.find(x=>x.type===u);if(h)h.value=m,h.message=c;else{const x={id:s,type:u,value:m,message:c};p.rules.push(x)}delete e.expressionInfo}clearExpression(t,e){const o=t.propertyValue;if(o&&o.type==="Expression")return;const s=t.propertyID,a=this.formSchemaUtils.getExpressions(),d=e.binding?e.binding.field:e.id,l=a.find(u=>u.target===d);!l||!l.rules||(l.rules=l.rules.filter(u=>u.type!==s))}getExpressionOptions(t,e,o){return new Yt(this.formSchemaUtils).getExpressionOptions(t,e,o)}getRealTargetType(t){return["response-toolbar-item","tab-toolbar-item","section-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:o=>{var r;((r=o.controller)==null?void 0:r.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(o)}}},e}}const Ge=class Ge{static getEditorTypesByMDataType(t,e=!1,o=""){if(e)return[{key:$["language-textbox"].type,value:$["language-textbox"].name}];let r=Ge.fieldControlTypeMapping[t];if(o==="data-grid-column"&&(r!=null&&r.length)){const s=[$["check-group"].type,$["radio-group"].type];r=r.filter(a=>!s.includes(a.key))}return r}static getAllInputTypes(){const t=[];for(const e in Ge.fieldControlTypeMapping)Ge.fieldControlTypeMapping[e].forEach(o=>{t.find(r=>r.key===o.key&&r.value===o.value)||t.push({key:o.key,value:o.value})});return t}static mappingDomPropAndSchemaProp(t,e){var s;const o=(s=t.editor)==null?void 0:s.type,r=[];return(t.type===$["data-grid-column"].type||t.type===$["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"}),(o===$["input-group"].type||o===$.textarea.type||o===$["number-spinner"].type)&&r.push({domField:"editor.maxLength",schemaField:"type.length"}),o===$["number-spinner"].type&&r.push({domField:"editor.precision",schemaField:"type.precision"}),(t.type===$["data-grid-column"].type||t.type===$["tree-grid-column"].type)&&r.push({domField:"formatter.precision",schemaField:"type.precision"}),(o===$["combo-list"].type||o===$["radio-group"].type)&&r.push({domField:"editor.data",schemaField:"type.enumValues"}),(t.type===$["data-grid-column"].type||t.type===$["tree-grid-column"].type)&&r.push({domField:"formatter.data",schemaField:"type.enumValues"}),o===$["date-picker"].type&&(r.push({domField:"editor.displayFormat",schemaField:"editor.format"}),r.push({domField:"editor.fieldType",schemaField:"type.name"})),o===$["number-spinner"].type&&(r.push({domField:"editor.max",schemaField:"editor.maxValue"}),r.push({domField:"editor.min",schemaField:"editor.minValue"})),o===$.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===$["data-grid-column"].type||t.type===$["tree-grid-column"].type)&&r.push({domField:"field",schemaField:"bindingPath"}),r}};W(Ge,"fieldControlTypeMapping",{String:[{key:$["input-group"].type,value:$["input-group"].name},{key:$.lookup.type,value:$.lookup.name},{key:$["date-picker"].type,value:$["date-picker"].name},{key:$.switch.type,value:$.switch.name},{key:$["check-box"].type,value:$["check-box"].name},{key:$["check-group"].type,value:$["check-group"].name},{key:$["radio-group"].type,value:$["radio-group"].name},{key:$["combo-list"].type,value:$["combo-list"].name},{key:$.textarea.type,value:$.textarea.name},{key:$["time-picker"].type,value:$["time-picker"].name}],Text:[{key:$.textarea.type,value:$.textarea.name},{key:$.lookup.type,value:$.lookup.name}],Decimal:[{key:$["number-spinner"].type,value:$["number-spinner"].name}],Integer:[{key:$["number-spinner"].type,value:$["number-spinner"].name}],Number:[{key:$["number-spinner"].type,value:$["number-spinner"].name},{key:$.switch.type,value:$.switch.name},{key:$["check-box"].type,value:$["check-box"].name}],BigNumber:[{key:$["number-spinner"].type,value:$["number-spinner"].name}],Date:[{key:$["date-picker"].type,value:$["date-picker"].name}],DateTime:[{key:$["date-picker"].type,value:$["date-picker"].name}],Boolean:[{key:$.switch.type,value:$.switch.name},{key:$["check-box"].type,value:$["check-box"].name}],Enum:[{key:$["combo-list"].type,value:$["combo-list"].name},{key:$["radio-group"].type,value:$["radio-group"].name}],Object:[{key:$.lookup.type,value:$.lookup.name},{key:$["combo-list"].type,value:$["combo-list"].name},{key:$["radio-group"].type,value:$["radio-group"].name}]});let ct=Ge;var ut=(n=>(n.Form="Form",n.Variable="Variable",n))(ut||{});class Rn{constructor(){W(this,"label","");W(this,"id","");W(this,"columnInSM",12);W(this,"columnInMD",6);W(this,"columnInLG",3);W(this,"columnInEL",2);W(this,"displayWidthInSM",1);W(this,"displayWidthInMD",1);W(this,"displayWidthInLG",1);W(this,"displayWidthInEL",1);W(this,"displayColumnCountAtBreakPoint","md");W(this,"tagRow",0);W(this,"showTopBorder",0);W(this,"group",1);W(this,"isSupportedClass",!0);W(this,"fieldSetId","")}}function Hn(n){let t,e;const o=new Map;let r=[];function s(m,c){const f=m.split(" ").filter(j=>j.startsWith("col-"));if(f.length===0){c.isSupportedClass=!1;return}let p=f.find(j=>/^col-([1-9]|10|11|12)$/.test(j)),h=f.find(j=>/^col-md-([1-9]|10|11|12)$/.test(j)),x=f.find(j=>/^col-xl-([1-9]|10|11|12)$/.test(j)),E=f.find(j=>/^col-el-([1-9]|10|11|12)$/.test(j));p=p||"col-12",c.columnInSM=parseInt(p.replace("col-",""),10),c.displayWidthInSM=c.columnInSM/12,c.displayWidthInSM!==1&&(c.isSupportedClass=!1),h=h||"col-md-"+c.columnInSM,c.columnInMD=parseInt(h.replace("col-md-",""),10),c.displayWidthInMD=c.columnInMD/6,[1,2].includes(c.displayWidthInMD)||(c.isSupportedClass=!1),x=x||"col-xl-"+c.columnInMD,c.columnInLG=parseInt(x.replace("col-xl-",""),10),c.displayWidthInLG=c.columnInLG/3,[1,2,3,4].includes(c.displayWidthInLG)||(c.isSupportedClass=!1),E=E||"col-el-"+c.columnInLG,c.columnInEL=parseInt(E.replace("col-el-",""),10),c.displayWidthInEL=c.columnInEL/2,[1,2,3,4,5,6].includes(c.displayWidthInEL)||(c.isSupportedClass=!1)}function a(m,c,g,f=!1){let p=!1;m.contents.forEach(h=>{if(h.type==="fieldset"){g+=1,a(h,c,g,!0),p=!0;return}p&&(g+=1,p=!1);const x=h.appearance&&h.appearance.class,E=new Rn;x?s(x,E):E.isSupportedClass=!1,E.label=h.label||h.id,E.id=h.id,E.group=g,f&&(E.fieldSetId=m.id),e===h.id&&(t=g),o.set(h.id,h),c.push(E)})}function d(m){const c=n.getComponentById(m);if(!c||!c.componentType||!c.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const g=n.selectNode(c,f=>f.type===$t.DgControl["response-form"].type);return!g||!g.contents||g.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:g}}function l(m,c){c=c||m.id;const{result:g,message:f,formNode:p}=d(c);if(!g)return{result:g,message:f};e=m.id,r=[],o.clear();const h=p.contents[0].type===$t.DgControl.fieldset.type?0:1;a(p,r,h);const x=r.find(j=>!j.isSupportedClass);return{defaultState:{defaultGroupNumber:t||1,model:x?"customize":"standard"},importData:r}}function u(m,c){c=c;const{result:g,formNode:f}=d(c);if(!g)return"";const p=[];return m.forEach(h=>{var j;const x=o.get(h.id),E=x.appearance&&x.appearance.class;if(E){const S=E.split(" ").filter(B=>!B.startsWith("col-")),y="col-"+h.columnInSM,v="col-md-"+h.columnInMD,k="col-xl-"+h.columnInLG,T="col-el-"+h.columnInEL,w=[y,v,k,T].concat(S);x.appearance.class=w.join(" ")}if(h.fieldSetId){const L=f.contents.find(y=>y.id===h.fieldSetId),S=p.find(y=>y.id===h.fieldSetId);S?(j=S.contents)==null||j.push(x):(p.push(L),L.contents=[x])}else p.push(x)}),f.contents=p,f.id}return{checkCanFindFormNode:d,checkCanOpenLayoutEditor:l,changeFormControlsByResponseLayoutConfig:u,getResonseFormLayoutCo