UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

1 lines 150 kB
(function(ne,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("vue"),require("lodash-es"),require("bignumber.js"),require("../number-spinner/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/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("../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","bignumber.js","../number-spinner/index.umd.js","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../common/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","../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"],r):(ne=typeof globalThis<"u"?globalThis:ne||self,r(ne["number-range"]={},ne.Vue,ne.LodashES,ne.BigNumber,ne.FNumberSpinner,ne.dynamicResolver,ne.designerCanvas,ne.common,ne.vueI18n,ne.locale,ne.VueUseCore,ne.dataView))})(this,function(ne,r,ie,me,pn,at,Lt,Se,wt,st,mn,Y){"use strict";var rr=Object.defineProperty;var ir=(ne,r,ie)=>r in ne?rr(ne,r,{enumerable:!0,configurable:!0,writable:!0,value:ie}):ne[r]=ie;var W=(ne,r,ie)=>ir(ne,typeof r!="symbol"?r+"":r,ie);function gn(n,t,e){return t}function Ht(n,t){let e;function o(u){const{properties:g,title:f,ignore:m}=u,h=m&&Array.isArray(m),x=Object.keys(g).reduce((F,E)=>((!h||!m.find(O=>O===E))&&(F[E]=g[E].type==="object"&&g[E].properties?o(g[E]):ie.cloneDeep(g[E].default)),F),{});if(f&&(!h||!m.find(F=>F==="id"))){const F=f.toLowerCase().replace(/-/g,"_");x.id=`${F}_${Math.random().toString().slice(2,6)}`}return x}function i(u){const{properties:g,title:f,required:m}=u;if(m&&Array.isArray(m)){const h=m.reduce((x,F)=>(x[F]=g[F].type==="object"&&g[F].properties?o(g[F]):ie.cloneDeep(g[F].default),x),{});if(f&&m.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(u,g={},f){const m=n[u];if(m){let h=i(m);const x=t[u];return h=x?x({getSchemaByType:s},h,g,f):h,e!=null&&e.appendIdentifyForNewControl&&e.appendIdentifyForNewControl(h),h}return null}function a(u,g){const f=o(g);return Object.keys(f).reduce((m,h)=>(Object.prototype.hasOwnProperty.call(u,h)&&(m[h]&&ie.isPlainObject(m[h])&&ie.isPlainObject(u[h]||!u[h])?Object.assign(m[h],u[h]||{}):m[h]=u[h]),m),f),f}function d(u,g){return Object.keys(u).filter(m=>u[m]!=null).reduce((m,h)=>{if(g.has(h)){const x=g.get(h);if(typeof x=="string")m[x]=u[h];else{const F=x(h,u[h],u);Object.assign(m,F)}}else m[h]=u[h];return m},{})}function c(u,g,f=new Map){const m=a(u,g);return d(m,f)}function l(u){var f;const g=u.type;if(g){const m=n[g];if(!m)return u;const h=a(u,m),x=((f=u.editor)==null?void 0:f.type)||"";if(x){const F=n[x],E=a(u.editor,F);h.editor=E}return h}return u}function p(u){e=u}return{getSchemaByType:s,resolveSchemaWithDefaultValue:l,resolveSchemaToProps:c,mappingSchemaToProps:d,setDesignerContext:p}}const At={},zt={},{getSchemaByType:ar,resolveSchemaWithDefaultValue:hn,resolveSchemaToProps:yn,mappingSchemaToProps:vn,setDesignerContext:sr}=Ht(At,zt);function bn(n={}){function t(l,p,u,g){if(typeof u=="number")return g[l].length===u;if(typeof u=="object"){const f=Object.keys(u)[0],m=u[f];if(f==="not")return Number(g[l].length)!==Number(m);if(f==="moreThan")return Number(g[l].length)>=Number(m);if(f==="lessThan")return Number(g[l].length)<=Number(m)}return!1}function e(l,p,u,g){return g[l]&&g[l].propertyValue&&String(g[l].propertyValue.value)===String(u)}const o=new Map([["length",t],["getProperty",e]]);Object.keys(n).reduce((l,p)=>(l.set(p,n[p]),l),o);function i(l,p){const u=l;return typeof p=="number"?[{target:u,operator:"length",param:null,value:Number(p)}]:typeof p=="boolean"?[{target:u,operator:"getProperty",param:l,value:!!p}]:typeof p=="object"?Object.keys(p).map(g=>{if(g==="length")return{target:u,operator:"length",param:null,value:p[g]};const f=g,m=p[g];return{target:u,operator:"getProperty",param:f,value:m}}):[]}function s(l){return Object.keys(l).reduce((u,g)=>{const f=i(g,l[g]);return u.push(...f),u},[])}function a(l,p){if(o.has(l.operator)){const u=o.get(l.operator);return u&&u(l.target,l.param,l.value,p)||!1}return!1}function d(l,p){return s(l).reduce((f,m)=>f&&a(m,p),!0)}function c(l,p){const u=Object.keys(l),g=u.includes("allOf"),f=u.includes("anyOf"),m=g||f,F=(m?l[m?g?"allOf":"anyOf":"allOf"]:[l]).map(O=>d(O,p));return g?!F.includes(!1):F.includes(!0)}return{parseValueSchema:c}}const Cn={convertTo:(n,t,e,o)=>{n.appearance||(n.appearance={}),n.appearance[t]=e},convertFrom:(n,t,e)=>n.appearance?n.appearance[t]:n[t]},wn={convertFrom:(n,t,e)=>n.buttons&&n.buttons.length?`共 ${n.buttons.length} 项`:"无"},xn={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]},P={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:"多语输入框"}},Sn={convertFrom:(n,t,e)=>{var i;const o=n.editor&&n.editor[t]?n.editor[t]:n[t];return((i=P[o])==null?void 0:i.name)||o}},Tn={convertTo:(n,t,e,o)=>{n[t]=n[t]},convertFrom:(n,t,e)=>n.editor?e.getRealEditorType(n.editor.type):""},Mn={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"}},Fn={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:""},Nn={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""}},En={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:""},jn={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}}},Vn={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}}},kn={convertTo:(n,t,e,o)=>{n.pagination||(n.pagination={}),n.pagination[t]=e},convertFrom:(n,t,e)=>n.pagination?n.pagination[t]:n[t]},Bn={convertTo:(n,t,e,o)=>{n.rowNumber||(n.rowNumber={}),n.rowNumber[t]=e},convertFrom:(n,t,e)=>n.rowNumber?n.rowNumber[t]:n[t]},In={convertTo:(n,t,e,o)=>{n.selection||(n.selection={}),n.selection[t]=e},convertFrom:(n,t,e)=>n.selection?n.selection[t]:n[t]},On={convertFrom:(n,t,e)=>n[t]&&n[t].length?`共 ${n[t].length} 项`:""},Pn={convertFrom:(n,t)=>n[t]||"",convertTo:(n,t,e)=>{n[t]=e}},$n={convertTo:(n,t,e,o)=>{n.size||(n.size={}),n.size[t]=e},convertFrom:(n,t,e)=>n.size?n.size[t]:n[t]},Dn={convertFrom:(n,t,e)=>{var o,i;return(o=n.formatter)!=null&&o.data&&t==="formatterEnumData"&&!n.formatterEnumData?(i=n.formatter)==null?void 0:i.data:n.formatterEnumData}},qn={convertTo:(n,t,e,o)=>{n.sort||(n.sort={}),n.sort[t]=e},convertFrom:(n,t,e)=>{var o,i;if(t==="mode")return((o=n.sort)==null?void 0:o.mode)||"client";if(t==="multiSort")return!!((i=n.sort)!=null&&i.multiSort)}},Rn={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"}},Ln={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 Ut(n,t,e){const o=new Map([["/converter/appearance.converter",Cn],["/converter/buttons.converter",wn],["/converter/property-editor.converter",xn],["/converter/items-count.converter",On],["/converter/type.converter",Sn],["/converter/change-editor.converter",Tn],["/converter/change-formatter.converter",Mn],["/converter/column-command.converter",Fn],["/converter/column-option.converter",Nn],["/converter/summary.converter",En],["/converter/group.converter",jn],["/converter/form-group-label.converter",Pn],["/converter/field-selector.converter",Vn],["/converter/pagination.converter",kn],["/converter/row-number.converter",Bn],["/converter/grid-selection.converter",In],["/converter/size.converter",$n],["/converter/change-formatter-enum.converter",Dn],["/converter/grid-sort.converter",qn],["/converter/grid-filter.converter",Rn],["/converter/row-option.converter",Ln]]),i=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=bn();function a(m,h){return()=>s.parseValueSchema(m,h)}function d(m,h,x){return m.includes("visible")&&h.visible!==void 0?typeof h.visible=="boolean"?()=>!!h.visible:h.visible===void 0?!0:a(h.visible,x):()=>!0}function c(m,h,x){return m.includes("readonly")&&h.readonly!==void 0?typeof h.readonly=="boolean"?()=>!!h.readonly:a(h.readonly,x):()=>!1}function l(m,h){const x=m.$converter||h;return typeof x=="string"&&x&&o.has(x)?o.get(x)||null:x||null}function p(m,h,x,F,E,O="",b=""){return Object.keys(m).map(y=>{const M=r.ref(1),T=y,C=m[y],j=Object.keys(C),w=C.title,N=C.type,k=i.get(N)||{type:"input-group",enableClear:!1},I=C.editor?Object.assign({},k,C.editor):Object.assign({},k),q=d(j,C,h),U=c(j,C,h);I.readonly=I.readonly===void 0?U():I.readonly;const K=C.type==="cascade"?p(C.properties,h,x,F,E,O,b):[],$=!0;let B=l(C,b);const _=r.computed({get(){if(M.value){if(["class","style"].find(ce=>ce===T)&&!B&&(B=o.get("/converter/appearance.converter")||null),B&&B.convertFrom)return B.convertFrom(x,y,E,O);const re=x[y];return Object.prototype.hasOwnProperty.call(C,"defaultValue")&&(re===void 0||typeof re=="string"&&re==="")?C.type==="boolean"?C.defaultValue:C.defaultValue||"":re}return null},set(re){M.value+=1,B&&B.convertTo?(B.convertTo(F,y,re,E,O),B.convertTo(x,y,re,E,O)):(F[y]=re,x[y]=re)}}),{refreshPanelAfterChanged:L,description:ee,isExpand:ye,parentPropertyID:ve}=C,X={propertyID:T,propertyName:w,propertyType:N,propertyValue:_,editor:I,visible:q,readonly:U,cascadeConfig:K,hideCascadeTitle:$,refreshPanelAfterChanged:L,description:ee,isExpand:ye,parentPropertyID:ve};return h[T]=X,X})}function u(m,h,x={}){const F={},E=n[m];return E&&E.categories?Object.keys(E.categories).map(b=>{const v=E.categories[b],y=v==null?void 0:v.title,M=p(v.properties||{},F,{},x,h);return{categoryId:b,categoryName:y,properties:M}}):[]}function g(m,h,x,F,E=""){const O=h.$ref.schema,b=h.$ref.converter,v=x[O],y=v.type,M=e(v),T={},C=n[y];if(C&&C.categories){const j=C.categories[m],w=j==null?void 0:j.title;b&&Object.keys(j.properties).forEach(I=>{j.properties[I].$converter=b});const N=(j==null?void 0:j.properties)||{},k=p(N,T,M,v,F,E);return{categoryId:m,categoryName:w,properties:k}}return{categoryId:m,categoryName:"",properties:[]}}function f(m,h,x,F,E){const O=m.type,b=e(m),v={};let y=E||n[O];if(y&&Object.keys(y).length===0&&x&&x.getPropConfig&&(y=x.getPropConfig(F)),y&&y.categories){const M=[];return Object.keys(y.categories).map(T=>{const C=y.categories[T];if(C.$ref){M.push(g(T,C,m,h,F));return}const j=C==null?void 0:C.title,w=C==null?void 0:C.tabId,N=C==null?void 0:C.tabName,k=C==null?void 0:C.hide,I=C==null?void 0:C.hideTitle,q=p(C.properties||{},v,b,m,h,F,C.$converter),{setPropertyRelates:U}=C,K=C==null?void 0:C.parentPropertyID;M.push({categoryId:T,categoryName:j,tabId:w,tabName:N,hide:k,properties:q,hideTitle:I,setPropertyRelates:U,parentPropertyID:K})}),M}return[]}return{getPropertyConfigBySchema:f,getPropertyConfigByType:u,propertyConverterMap:o}}const _t={},Wt={};Ut(_t,Wt,hn);const Gt={},Xt={},{getSchemaByType:lr,resolveSchemaWithDefaultValue:Hn,resolveSchemaToProps:cr,mappingSchemaToProps:ur,setDesignerContext:dr}=Ht(Gt,Xt),Yt={},Zt={};Ut(Yt,Zt,Hn);function Je(n,t,e=new Map,o=(a,d,c,l)=>d,i={},s=a=>a){return At[t.title]=t,zt[t.title]=o,_t[t.title]=i,Wt[t.title]=s,Gt[t.title]=t,Xt[t.title]=o,Yt[t.title]=i,Zt[t.title]=s,(a={},d=!0)=>{if(!d)return vn(a,e);const c=yn(a,t,e),l=Object.keys(n).reduce((p,u)=>(p[u]=n[u].default,p),{});return Object.assign(l,c)}}function xt(n,t){return{customClass:t.class,customStyle:t.style}}const An=new Map([["appearance",xt]]),zn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/number-range.schema.json",title:"number-range",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a number-range",type:"string"},type:{description:"The type string of number-range component",type:"string",default:"number-range"},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},precision:{description:"",type:"number",default:0},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0},beginValue:{description:"",type:"number"},endValue:{description:"",type:"number"},nullable:{description:"",type:"boolean",default:!1},min:{description:"",type:"string"},max:{description:"",type:"string"}},required:["type"]},lt={id:String,autoDecimal:{type:Boolean,default:!0},beginPlaceHolder:{type:String,default:"请输入开始数字"},beginValue:{type:[Number,String],default:""},bigNumber:{type:Boolean,default:!1},nullable:{type:Boolean,default:!1},decimalSeparator:{type:String,default:"."},disabled:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},endPlaceHolder:{type:String,default:"请输入结束数字"},endValue:{type:[Number,String],default:""},formatter:{type:Function},groupSeparator:{type:String,default:","},groupSize:{type:Number,default:3},max:{type:[Number,String]},min:{type:[Number,String]},parser:{type:Function},placeholder:{type:String,default:"请输入数字"},precision:{type:Number,default:0},prefix:{type:String,default:""},readonly:{type:Boolean,default:!1},separator:{type:String,default:"~"},showButton:{type:Boolean,default:!0},showZero:{type:Boolean,default:!0},step:{type:Number,default:1},suffix:{type:String,default:""},textAlign:{type:String,default:"left"},useThousands:{type:Boolean,default:!0}},St=Je(lt,zn,An,gn);function Jt(n,t){const e=r.computed(()=>Number(n.precision)||0);function o(c){return c.toFixed(e.value)}function i(c){return isNaN(c)||c===null||c===void 0||c===""}function s(c){const l=i(n.max)?null:new me(String(n.max),10),p=i(n.min)?null:new me(String(n.min),10);return l&&c.gt(l)?l:p&&c.lt(p)?p:c}function a(c,l,p,u){const g=new me(c,10),f=i(p&&p.value)?null:new me(String(p.value),10),m=i(l&&l.value)?null:new me(String(l.value),10);let h;return u?h=f&&g.gt(f)?f:g:h=m&&g.lt(m)?m:g,h.toString()}function d(c,l=!0){if(n.parser)return isNaN(Number(c))?n.parser(c):c;let p=new me(c,10);if(l&&(p=s(p)),p.isNaN()){if(n.nullable)return null;const g=new me(""+n.min,10),f=new me(""+n.max,10);if(!g.isNaN())p=g;else if(!f.isNaN())p=f;else return 0}return o(p)}return{getRealValue:d,isEmpty:i,precision:e,getValidNumberObject:s,getValidNumberInRange:a}}function Qt(n,t,e){const o=r.computed(()=>({prefix:n.prefix,suffix:n.suffix,decimalSeparator:n.decimalSeparator,groupSeparator:n.useThousands?n.groupSeparator:"",groupSize:n.groupSize})),{getValidNumberObject:i,precision:s}=e;function a(l){return l=l==null||l===""?"":String(l),l=l.replace(new RegExp(n.prefix,"g"),"").replace(new RegExp(n.suffix,"g"),"").replace(/,/g,""),n.groupSeparator&&n.groupSeparator!==","&&(l=l.replace(new RegExp(`\\${n.groupSeparator}`,"g"),"")),n.decimalSeparator&&n.decimalSeparator!=="."&&(l=l.replace(new RegExp(`\\${n.decimalSeparator}`,"g"),".")),l}function d(l,p){return n.precision!==null&&n.precision!==void 0?l.toFormat(s.value,p):l.toFormat(p)}function c(l,p=!0){const u=a(l),g=new me(u,10);let f=g;return p&&(f=i(g)),f.valueOf()==="0"&&!n.showZero||f.isNaN()?"":n.formatter?n.formatter(f.toNumber()):d(f,o.value)}return{cleanFormat:a,format:c}}function ct(n,t,e,o,i,s,a,d,c,l){const{format:p}=i,{getRealValue:u,getValidNumberInRange:g}=s;function f(){const b=new me(o.value||0);return!((n.max||n.max===0)&&!new me(n.max).isNaN()&&b.gte(new me(n.max))&&(o.value||o.value===0))}function m(){const b=new me(o.value||0);return!((n.min||n.min===0)&&!new me(n.min).isNaN()&&b.lte(new me(n.min))&&(o.value||o.value===0))}function h(b){if(n.readonly||n.disabled)return;const v=b==="up"?f:m,y=b==="up"?"plus":"minus";if(v()){let C=new me(o.value||0)[y](Number(n.step)).toFixed();C=g(C,d,c,l);const j=u(C);e.value=p(C),o.value!==j&&(o.value=j,a(o.value))}}function x(){h("up")}function F(){h("down")}function E(b){x(),b.stopPropagation()}function O(b){F(),b.stopPropagation()}return{canDownward:m,canUpward:f,downward:F,onClickDownButton:O,onClickUpButton:E,upward:x}}function ut(n,t,e,o,i,s,a,d,c,l,p){const{cleanFormat:u,format:g}=i,{getRealValue:f,isEmpty:m,getValidNumberInRange:h}=s,{downward:x,upward:F}=a,E=r.computed(()=>e.value),O=r.ref(!1);function b(T){var N;if(T.stopPropagation(),n.readonly||n.disabled)return;O.value=!1;let C=(N=T.target)==null?void 0:N.value;n.nullable||(C=C||0);let j=u(C);j=h(j,c,l,p);const w=f(j);e.value=g(j),o.value!==w&&(o.value=w,d(o.value)),t.emit("blur",{event:T,formatted:e.value,value:o.value})}function v(T){T.stopPropagation(),!(n.readonly||n.disabled)&&(O.value=!0,e.value=m(o.value)||!n.showZero&&o.value==="0"?"":String(o.value),t.emit("focus",{event:T,formatted:e.value,value:o.value}))}function y(T){var w;T.stopPropagation();let C=(w=T.target)==null?void 0:w.value;n.nullable||(C=C||0);const j=u(C);e.value=j,o.value=f(j),d(o.value)}function M(T){T.key==="ArrowDown"&&(T.preventDefault(),x()),T.key==="ArrowUp"&&(T.preventDefault(),F()),T.stopPropagation()}return{textBoxValue:E,onBlurTextBox:b,onFocusTextBox:v,onInput:y,onKeyDown:M,isTextBoxFocused:O}}function Kt(n,t,e,o,i){const{onBlurTextBox:s,onFocusTextBox:a,onInput:d,onKeyDown:c,textBoxValue:l}=e,p=r.computed(()=>n.disabled||n.readonly||!n.editable?"":o?i.range.begin:i.range.end),u=r.computed(()=>({"form-control":!0,"sub-input":!0})),g=r.computed(()=>({"text-align":n.textAlign}));function f(m){m.stopPropagation()}return()=>r.createVNode("input",{class:u.value,style:g.value,type:"text",value:l.value,disabled:n.disabled,readonly:n.readonly||!n.editable,placeholder:p.value,onBlur:s,onChange:f,onFocus:a,onInput:d,onKeydown:c},null)}function dt(n,t,e){const{canDownward:o,canUpward:i,onClickDownButton:s,onClickUpButton:a}=e,d=r.computed(()=>({"input-group-append":!0,"btn-group":!0,"btn-group-number":!0,"sub-btn-group":!0})),c=r.computed(()=>({btn:!0,"btn-secondary":!0,"btn-number-flag":!0})),l=r.computed(()=>({cursor:i()?"pointer":"not-allowed","margin-left":0})),p=r.computed(()=>({cursor:o()?"pointer":"not-allowed","margin-left":0}));return()=>r.createVNode("div",{class:d.value},[r.createVNode("button",{class:c.value,style:l.value,onClick:a,disabled:!i()},[r.createVNode("span",{class:"f-icon f-icon-arrow-chevron-up number-arrow-chevron"},null)]),r.createVNode("button",{class:c.value,style:p.value,onClick:s,disabled:!o()},[r.createVNode("span",{class:"f-icon f-icon-arrow-chevron-down number-arrow-chevron"},null)])])}const Qe=r.defineComponent({name:"FNumberRange",props:lt,emits:["valueChange","blur","focus","click","input","beginValueChange","endValueChange"],setup(n,t){const e=r.ref(n.beginValue),o=r.ref(""),i=r.ref(n.endValue),s=r.ref(""),a=Jt(n),d=Qt(n,t,a),c=pn.useNumberLocales(n),l=y=>{t.emit("beginValueChange",y)},p=ct(n,t,o,e,d,a,l,e,i,!0),u=ut(n,t,o,e,d,a,p,l,e,i,!0),g=dt(n,t,p),f=Kt(n,t,u,!0,c),m=y=>{t.emit("endValueChange",y)},h=ct(n,t,s,i,d,a,m,e,i,!1),x=ut(n,t,s,i,d,a,h,m,e,i,!1),F=dt(n,t,h),E=Kt(n,t,x,!1,c),{getRealValue:O}=a,{format:b}=d,v=r.computed(()=>!n.disabled&&!n.readonly&&n.showButton);return r.onMounted(()=>{const y=O(n.beginValue,!1),M=O(n.endValue,!1);o.value=b(y,!1),s.value=b(M,!1)}),r.watch(()=>[n.beginValue],([y])=>{if(!u.isTextBoxFocused.value){const M=O(y,!1);e.value=M,o.value=b(M,!1)}}),r.watch(()=>[n.endValue],([y])=>{if(!x.isTextBoxFocused.value){const M=O(y,!1);i.value=M,s.value=b(M,!1)}}),r.watch(()=>[n.precision,n.useThousands,n.prefix,n.suffix,n.showZero],()=>{o.value=b(e.value),s.value=b(i.value)}),()=>r.createVNode("div",{class:"input-group number-range f-cmp-number-spinner"},[r.createVNode("div",{class:"form-control input-container"},[r.createVNode("div",{class:"sub-input-group"},[f(),v.value&&g()]),r.createVNode("span",{class:"spliter"},[r.createTextVNode("~")]),r.createVNode("div",{class:"sub-input-group"},[E(),v.value&&F()])])])}});function en(n,t,e,o){const{onBlurTextBox:i,onFocusTextBox:s,onInput:a,onKeyDown:d,textBoxValue:c}=e,l=r.computed(()=>o?n.beginPlaceHolder:n.endPlaceHolder),p=r.computed(()=>({"form-control":!0,"sub-input":!0})),u=r.computed(()=>({"text-align":n.textAlign}));function g(f){f.stopPropagation()}return()=>r.createVNode("input",{class:p.value,style:u.value,type:"text",value:c.value,disabled:n.disabled,readonly:n.readonly||!n.editable,placeholder:l.value,onBlur:i,onChange:g,onFocus:s,onInput:a,onKeydown:d},null)}function tn(n,t,e){var w;const o=e&&e.getStyles&&e.getStyles()||"",i=e&&e.getDesignerClass&&e.getDesignerClass()||"",s=r.ref();let a;function d(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:e&&e.checkCanMoveComponent?e.checkCanMoveComponent():!0}function c(){return!1}function l(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:e&&e.checkCanDeleteComponent?e.checkCanDeleteComponent():!0}function p(){return(t==null?void 0:t.schema.componentType)==="frame"?!0:e&&e.hideNestedPaddingInDesginerView?e.hideNestedPaddingInDesginerView():!1}function u(N){if(!N||!N.value)return null;if(N.value.schema&&N.value.schema.type==="component")return N.value;const k=r.ref(N==null?void 0:N.value.parent),I=u(k);return I||null}function g(N=t){var U;if(e!=null&&e.getDraggableDesignItemElement)return e.getDraggableDesignItemElement(N);const{componentInstance:k,designerItemElementRef:I}=N;if(!k||!k.value)return null;const{getCustomButtons:q}=k.value;return k.value.canMove||q&&((U=q())!=null&&U.length)?I:g(N.parent)}function f(N){return!!e&&e.canAccepts(N)}function m(){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(N,k){var I;!N||!k||(e!=null&&e.onAcceptMovedChildElement&&e.onAcceptMovedChildElement(N,k),(I=t==null?void 0:t.setupContext)==null||I.emit("dragEnd"))}function F(N,k){const{componentType:I}=N;let q=at.getSchemaByTypeForDesigner(I,N,k);e&&e.onResolveNewComponentSchema&&(q=e.onResolveNewComponentSchema(N,q));const U=I.toLowerCase().replace(/-/g,"_");return q&&!q.id&&q.type===I&&(q.id=`${U}_${Math.random().toString().slice(2,6)}`),q}function E(N){N&&e!=null&&e.onChildElementMovedOut&&e.onChildElementMovedOut(N)}function O(...N){if(e&&e.getPropsConfig)return e.getPropsConfig(...N)}function b(N){if(!N)return;const k=t==null?void 0:t.schema,{formSchemaUtils:I}=N;if(k&&I.getExpressions().length){const q=I.getExpressions().findIndex(U=>U.target===k.id);q>-1&&I.getExpressions().splice(q,1)}}function v(N){if(!N||!(t!=null&&t.schema))return;const k=t.schema,{formSchemaUtils:I}=N;I.removeCommunicationInComponent(k)}function y(N){e&&e.onRemoveComponent&&e.onRemoveComponent(),b(N),v(N),t!=null&&t.schema.contents&&t.schema.contents.map(k=>{let I=k.id;k.type==="component-ref"&&(I=k.component);const q=n.value.querySelectorAll(`#${I}-design-item`);q!=null&&q.length&&Array.from(q).map(U=>{var K;(K=U==null?void 0:U.componentInstance)!=null&&K.value.onRemoveComponent&&U.componentInstance.value.onRemoveComponent(N)})})}function M(){if(e&&e.getCustomButtons)return e.getCustomButtons()}function T(N){var I,q;if(!((I=t==null?void 0:t.schema)!=null&&I.id))return;if(!a&&N&&(a=N.formSchemaUtils),e!=null&&e.setComponentBasicInfoMap){e.setComponentBasicInfoMap();return}let k="";if(e!=null&&e.getComponentTitle)k=e.getComponentTitle();else{const{text:U,title:K,label:$,mainTitle:B,name:_,type:L}=t.schema;k=U||K||$||B||_||((q=P[L])==null?void 0:q.name)}k&&a.getControlBasicInfoMap().set(t.schema.id,{componentTitle:k,parentPathName:k})}function C(N){var U;const{changeObject:k}=N,{propertyID:I,propertyValue:q}=k;if(["text","title","label","name","mainTitle"].includes((U=N==null?void 0:N.changeObject)==null?void 0:U.propertyID)&&I&&q&&(T(),a)){const K=a.getControlBasicInfoMap(),$=K.keys().toArray().filter(B=>{var _,L;return((_=K.get(B))==null?void 0:_.reliedComponentId)===((L=t==null?void 0:t.schema)==null?void 0:L.id)});$!=null&&$.length&&$.forEach(B=>{const _=K.get(B).parentPathName.split(" > ");_[0]=q,K.get(B).parentPathName=_.join(" > ")})}}function j(N){if(C(N),e&&e.onPropertyChanged)return e.onPropertyChanged(N)}return s.value={canMove:d(),canSelectParent:c(),canDelete:l(),canNested:!p(),contents:t==null?void 0:t.schema.contents,elementRef:n,parent:(w=t==null?void 0:t.parent)==null?void 0:w.componentInstance,schema:t==null?void 0:t.schema,styles:o,designerClass:i,canAccepts:f,getBelongedComponentInstance:u,getDraggableDesignItemElement:g,getDraggingDisplayText:m,getPropConfig:O,getDragScopeElement:h,onAcceptMovedChildElement:x,onChildElementMovedOut:E,addNewChildComponentSchema:F,triggerBelongedComponentToMoveWhenMoved:!!e&&e.triggerBelongedComponentToMoveWhenMoved||r.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!e&&e.triggerBelongedComponentToDeleteWhenDeleted||r.ref(!1),onRemoveComponent:y,getCustomButtons:M,onPropertyChanged:j,setComponentBasicInfoMap:T,updateContextSchema:t==null?void 0:t.updateContextSchema},s}const Un=r.ref(0);function _n(){Un.value++}const ft=r.ref(0);function Wn(n){const{formSchemaUtils:t,formStateMachineUtils:e}=n;function o(c,l=""){return{path:l+c.code,field:c.id,fullPath:c.code}}function i(c,l=""){return t.getViewModelById(c).states.map(u=>o(u,l))}function s(c){const l=t.getRootViewModelId(),p=i(c);if(c===l)return p;const u=i(l,"root-component.");return[...p,...u]}function a(c){return c.binding&&c.binding.path||c.id||""}function d(){return e&&e.getRenderStates()||[]}return{getVariables:s,getControlName:a,getStateMachines:d}}class nn{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,i,s,a)=>{const d=s.getExpressionRuleValue(t,e||i);return d&&d.value||""},convertTo:(o,i,s,a,d)=>{var c;if(i==="dataPicking"&&(s!=null&&s.target)){const l=`${s.target}_dataPicking`;((c=s.rules)==null?void 0:c.some(u=>u.id===l&&u.value))?o.dictPickingExpressionId=l:delete o.dictPickingExpressionId}a.updateExpression(s)}}));this.formSchemaService=t}getExpressionRule(t,e){const o=this.formSchemaService.getExpressions();if(!o)return"";const i=o.find(a=>a.target===t);if(!i)return"";const s=i.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 i=[];return o.states.forEach(s=>{i.push({key:s.code,name:s.name,description:s.name,category:s.category})}),i}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(i=>{var d;const s=this.createTreeNode(i,e);let a=[];(d=i.type)!=null&&d.fields&&(a=this.buildEntityFieldsTreeData(i.type.fields,[...e,i.label])),o.push({data:s,children:a,expanded:!0})}),o}buildChildEntityTreeData(t=null,e){const o=[];return t==null||t.forEach(i=>{var c,l;const s=this.createTreeNode(i,e);s.type="entity";const a=this.buildEntityFieldsTreeData((c=i.type)==null?void 0:c.fields,[...e,i.label]),d=this.buildChildEntityTreeData((l=i.type)==null?void 0:l.entities,[...e,i.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]),i=this.buildChildEntityTreeData(e.type.entities,[e.code]);return i!=null&&i.length&&(o==null||o.push(...i)),{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 i=o==="Field"?t.binding.field:t.id,s=this.getExpressionRule(i,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,i){const{expression:s,message:a,messageType:d}=e,c={id:`${t}_${o}`,type:o,value:s};return(o==="validate"||o==="dataPicking"||o==="required")&&(c.message=a),o==="dataPicking"&&(c.messageType=d),o==="validate"&&i&&(c.elementId=i),c}getExpressionData(){const{expressions:t}=this.formSchemaService.getFormSchema().module;return t||[]}updateExpression(t,e,o,i){const s=e==="Field"?t.binding.field:t.id,a=this.buildRule(s,o,i,t.type==="form-group"?t.id:"");let c=this.getExpressionData().find(p=>p.targetType===e&&p.target===s);const l=p=>p.value.trim()==="";if(c){const p=c.rules.find(u=>u.id===a.id);if(p)l(a)?c.rules=c.rules.filter(u=>u.id!==a.id):(Object.assign(p,a),i==="validate"&&t.type==="form-group"&&(p.elementId=t.id));else{if(l(a))return null;c.rules=c.rules||[],c.rules.push(a)}}else{if(l(a))return null;c={target:`${s}`,rules:[a],targetType:e}}return c}getExpressionEditorOptions(t,e,o,i){return o.reduce((s,a)=>{var c,l;const d=e==="Field"?(c=t==null?void 0:t.binding)==null?void 0:c.field:t.id;return s[a]={hide:e==="Field"?!!((l=t==null?void 0:t.binding)!=null&&l.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:p=>{const u=this.updateExpression(t,e,p,a);if(i){const g=this.buildRule(d,p,a);i(g)}return u}}},s},{})}getExpressionInfo(t,e,o){const i=e==="Field"?t.binding.field:t.id,s=this.getExpressionRule(i,o),a={value:s&&s.value,targetId:i,targetType:e,expressionType:o};return s&&s.message&&(a.message=s.message),a}getExpressionConfig(t,e,o=["compute","dependency","validate"],i){return{description:"表达式",title:"表达式",hide:!t.binding,properties:{...this.getExpressionEditorOptions(t,e,o,i)}}}getExpressionOptions(t,e,o){const i=this.getExpressionInfo(t,e,o);return{dialogTitle:`${this.expressionNames[o]}编辑器`,singleExpand:!1,showMessage:o==="required",beforeOpen:()=>this.onBeforeOpenExpression(t,o,e),expressionInfo:i}}}class Gn{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 i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.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:P[t.type]&&P[t.type].name}]}}}}}getAppearanceConfig(t=null,e={},o){const i={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{...i,properties:{...s},setPropertyRelates(a,d){if(a){switch(a&&a.propertyID){case"class":case"style":{ft.value++;break}}o&&o(a,t,d)}}}}getPropertyEditorParams(t,e=[],o="visible",i={},s={}){const{getVariables:a,getControlName:d,getStateMachines:c}=Wn(this.designerHostService),l=this.getRealTargetType(t),p=e&&e.length>0?e:["Const","Variable","StateMachine","Expression"],u={type:"property-editor",propertyTypes:p};return p.map(g=>{switch(g){case"Const":Object.assign(u,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},i);break;case"Expression":u.expressionConfig=this.getExpressionOptions(t,l,o);break;case"StateMachine":u.stateMachines=c();break;case"Variable":Object.assign(u,{controlName:d(t),newVariablePrefix:"is",newVariableType:"Boolean",variables:a(this.viewModelId),onBeforeOpenVariables:f=>{f.value=a(this.viewModelId)}},s);break}}),u}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={},i){const s={title:"行为",description:""},a=this.getVisibleProperty(t,e);for(const c in o)a[c]=Object.assign(a[c]||{},o[c]);const d=this;return{...s,properties:{...a},setPropertyRelates(c,l){if(c){switch(c.propertyID){case"disabled":case"readonly":case"visible":d.afterMutilEditorChanged(t,c);break}i&&i(c,l)}}}}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 i=o.contents.findIndex(a=>a.id===t),s=ie.cloneDeep(o.contents[i]);o.contents.splice(i,1),o.contents.splice(i,0,s),_n()}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:c,expressionType:l,value:p,message:u}=a,g=this.formSchemaUtils.getModule();g.expressions=g.expressions||[];const{expressions:f}=g;let m=f.find(x=>x.target===d);m||(m={target:d,rules:[],targetType:c},f.push(m));const h=m.rules.find(x=>x.type===l);if(h)h.value=p,h.message=u;else{const x={id:s,type:l,value:p,message:u};m.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,c=a.find(l=>l.target===d);!c||!c.rules||(c.rules=c.rules.filter(l=>l.type!==s))}getExpressionOptions(t,e,o){return new nn(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 i;((i=o.controller)==null?void 0:i.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(o)}}},e}}const Xe=class Xe{static getEditorTypesByMDataType(t,e=!1,o=""){if(e)return[{key:P["language-textbox"].type,value:P["language-textbox"].name}];let i=Xe.fieldControlTypeMapping[t];if(o==="data-grid-column"&&(i!=null&&i.length)){const s=[P["check-group"].type,P["radio-group"].type];i=i.filter(a=>!s.includes(a.key))}return i}static getAllInputTypes(){const t=[];for(const e in Xe.fieldControlTypeMapping)Xe.fieldControlTypeMapping[e].forEach(o=>{t.find(i=>i.key===o.key&&i.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,i=[];return(t.type===P["data-grid-column"].type||t.type===P["tree-grid-column"].type)&&e&&e.categoryId&&e.categoryId.indexOf("gridFieldEditor")<0&&i.push({domField:"title",schemaField:"name"}),i.push({domField:"label",schemaField:"name"}),i.push({domField:"editor.required",schemaField:"require"}),i.push({domField:"editor.readonly",schemaField:"readonly"}),(o===P["input-group"].type||o===P.textarea.type||o===P["number-spinner"].type)&&i.push({domField:"editor.maxLength",schemaField:"type.length"}),o===P["number-spinner"].type&&i.push({domField:"editor.precision",schemaField:"type.precision"}),(t.type===P["data-grid-column"].type||t.type===P["tree-grid-column"].type)&&i.push({domField:"formatter.precision",schemaField:"type.precision"}),(o===P["combo-list"].type||o===P["radio-group"].type)&&i.push({domField:"editor.data",schemaField:"type.enumValues"}),(t.type===P["data-grid-column"].type||t.type===P["tree-grid-column"].type)&&i.push({domField:"formatter.data",schemaField:"type.enumValues"}),o===P["date-picker"].type&&(i.push({domField:"editor.displayFormat",schemaField:"editor.format"}),i.push({domField:"editor.fieldType",schemaField:"type.name"})),o===P["number-spinner"].type&&(i.push({domField:"editor.max",schemaField:"editor.maxValue"}),i.push({domField:"editor.min",schemaField:"editor.minValue"})),o===P.lookup.type&&(i.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),i.push({domField:"editor.valueField",schemaField:"editor.valueField"}),i.push({domField:"editor.textField",schemaField:"editor.textField"}),i.push({domField:"editor.displayType",schemaField:"editor.displayType"}),i.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),i.push({domField:"editor.helpId",schemaField:"editor.helpId"})),i.push({domField:"path",schemaField:"bindingPath"}),i.push({domField:"binding.path",schemaField:"bindingField"}),i.push({domField:"binding.fullPath",schemaField:"path"}),(t.type===P["data-grid-column"].type||t.type===P["tree-grid-column"].type)&&i.push({domField:"field",schemaField:"bindingPath"}),i}};W(Xe,"fieldControlTypeMapping",{String:[{key:P["input-group"].type,value:P["input-group"].name},{key:P.lookup.type,value:P.lookup.name},{key:P["date-picker"].type,value:P["date-picker"].name},{key:P.switch.type,value:P.switch.name},{key:P["check-box"].type,value:P["check-box"].name},{key:P["check-group"].type,value:P["check-group"].name},{key:P["radio-group"].type,value:P["radio-group"].name},{key:P["combo-list"].type,value:P["combo-list"].name},{key:P.textarea.type,value:P.textarea.name},{key:P["time-picker"].type,value:P["time-picker"].name}],Text:[{key:P.textarea.type,value:P.textarea.