UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

1 lines 173 kB
(function(D,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("vue"),require("lodash-es"),require("../common/index.umd.js"),require("vue-i18n"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/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("../locale/index.umd.js"),require("@vueuse/core"),require("../data-view/index.umd.js"),require("../notify/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../common/index.umd.js","vue-i18n","../dynamic-resolver/index.umd.js","../designer-canvas/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","../locale/index.umd.js","@vueuse/core","../data-view/index.umd.js","../notify/index.umd.js"],o):(D=typeof globalThis<"u"?globalThis:D||self,o(D["dynamic-form"]={},D.Vue,D.LodashES,D.common,D.vueI18n,D.dynamicResolver,D.designerCanvas,D.propertyPanel,D.FAccordion,D.FAvatar,D.FButtonEdit,D.FButtonGroup,D.FCalendar,D.FCapsule,D.FCheckbox,D.FCheckboxGroup,D.FComboList,D.FComboTree,D.FComponent,D.FColorPicker,D.FContentContainer,D.FDatePicker,D.FDataGrid,D.FDropdown,D.FDynamicForm,D.FEventsEditor,D.FFilterBar,D.FFieldSelector,D.FBindingSelector,D.FImageCropper,D.FInputGroup,D.FLayout,D.FListNav,D.FListView,D.FLookup,D.FMappingEditor,D.FNav,D.FNumberRange,D.FNumberSpinner,D.FOrder,D.FPageHeader,D.FPageFooter,D.FPagination,D.FProgress,D.FQuerySolution,D.FRadioGroup,D.FRate,D.FResponseToolbar,D.FResponseLayout,D.FResponseLayoutEditorSetting,D.FSearchBox,D.FSection,D.FSmokeDetector,D.FSplitter,D.FStep,D.FSwitch,D.FTabs,D.FTags,D.FText,D.FTimePicker,D.FTransfer,D.FTreeview,D.FUploader,D.FVerifyDetail,D.FVideo,D.FTextArea,D.FSchemaSelector,D.FTreeGrid$1,D.FEventParameter,D.FFilterConditionEditor,D.FFieldset,D.FSortConditionEditor,D.FMenuLookup,D.FDrawer,D.FJsonEditor,D.FPropertyEditor,D.FExpressionEditor,D.FCodeEditor,D.FHtmlTemplate,D.FCollectionPropertyEditor,D.FModal$1,D.FExternalContainer,D.FLanguageTextbox,D.locale,D.VueUseCore,D.dataView))})(this,function(D,o,fe,Fe,pt,Qe,Ue,Pe,Vn,Mn,Nn,En,Bn,kn,Gt,Wt,rt,In,jn,Pn,On,Dn,Ln,$n,Rn,qn,An,Un,zn,Gn,Wn,_n,Hn,Xn,Yn,Zn,Jn,Qn,Kn,eo,to,no,oo,ro,io,ao,so,lo,co,uo,fo,po,mo,ho,go,yo,vo,bo,Co,wo,xo,Fo,To,So,Vo,Mo,No,Eo,Bo,ko,Io,jo,Po,Oo,Do,Lo,$o,Ro,qo,Ao,Uo,zo,Go,mt,Wo,ie){"use strict";var ra=Object.defineProperty;var ia=(D,o,fe)=>o in D?ra(D,o,{enumerable:!0,configurable:!0,writable:!0,value:fe}):D[o]=fe;var ee=(D,o,fe)=>ia(D,typeof o!="symbol"?o+"":o,fe);function _t(t,e){let n;function r(l){const{properties:p,title:m,ignore:h}=l,g=h&&Array.isArray(h),C=Object.keys(p).reduce((F,w)=>((!g||!h.find(L=>L===w))&&(F[w]=p[w].type==="object"&&p[w].properties?r(p[w]):fe.cloneDeep(p[w].default)),F),{});if(m&&(!g||!h.find(F=>F==="id"))){const F=m.toLowerCase().replace(/-/g,"_");C.id=`${F}_${Math.random().toString().slice(2,6)}`}return C}function i(l){const{properties:p,title:m,required:h}=l;if(h&&Array.isArray(h)){const g=h.reduce((C,F)=>(C[F]=p[F].type==="object"&&p[F].properties?r(p[F]):fe.cloneDeep(p[F].default),C),{});if(m&&h.find(C=>C==="id")){const C=m.toLowerCase().replace(/-/g,"_");g.id=`${C}_${Math.random().toString().slice(2,6)}`}return g}return{type:m}}function s(l,p={},m){const h=t[l];if(h){let g=i(h);const C=e[l];return g=C?C({getSchemaByType:s},g,p,m):g,n!=null&&n.appendIdentifyForNewControl&&n.appendIdentifyForNewControl(g),g}return null}function a(l,p){const m=r(p);return Object.keys(m).reduce((h,g)=>(Object.prototype.hasOwnProperty.call(l,g)&&(h[g]&&fe.isPlainObject(h[g])&&fe.isPlainObject(l[g]||!l[g])?Object.assign(h[g],l[g]||{}):h[g]=l[g]),h),m),m}function d(l,p){return Object.keys(l).filter(h=>l[h]!=null).reduce((h,g)=>{if(p.has(g)){const C=p.get(g);if(typeof C=="string")h[C]=l[g];else{const F=C(g,l[g],l);Object.assign(h,F)}}else h[g]=l[g];return h},{})}function c(l,p,m=new Map){const h=a(l,p);return d(h,m)}function u(l){var m;const p=l.type;if(p){const h=t[p];if(!h)return l;const g=a(l,h),C=((m=l.editor)==null?void 0:m.type)||"";if(C){const F=t[C],w=a(l.editor,F);g.editor=w}return g}return l}function f(l){n=l}return{getSchemaByType:s,resolveSchemaWithDefaultValue:u,resolveSchemaToProps:c,mappingSchemaToProps:d,setDesignerContext:f}}const Ht={},Xt={},{getSchemaByType:aa,resolveSchemaWithDefaultValue:_o,resolveSchemaToProps:Ho,mappingSchemaToProps:Xo,setDesignerContext:sa}=_t(Ht,Xt);function Yo(t={}){function e(u,f,l,p){if(typeof l=="number")return p[u].length===l;if(typeof l=="object"){const m=Object.keys(l)[0],h=l[m];if(m==="not")return Number(p[u].length)!==Number(h);if(m==="moreThan")return Number(p[u].length)>=Number(h);if(m==="lessThan")return Number(p[u].length)<=Number(h)}return!1}function n(u,f,l,p){return p[u]&&p[u].propertyValue&&String(p[u].propertyValue.value)===String(l)}const r=new Map([["length",e],["getProperty",n]]);Object.keys(t).reduce((u,f)=>(u.set(f,t[f]),u),r);function i(u,f){const l=u;return typeof f=="number"?[{target:l,operator:"length",param:null,value:Number(f)}]:typeof f=="boolean"?[{target:l,operator:"getProperty",param:u,value:!!f}]:typeof f=="object"?Object.keys(f).map(p=>{if(p==="length")return{target:l,operator:"length",param:null,value:f[p]};const m=p,h=f[p];return{target:l,operator:"getProperty",param:m,value:h}}):[]}function s(u){return Object.keys(u).reduce((l,p)=>{const m=i(p,u[p]);return l.push(...m),l},[])}function a(u,f){if(r.has(u.operator)){const l=r.get(u.operator);return l&&l(u.target,u.param,u.value,f)||!1}return!1}function d(u,f){return s(u).reduce((m,h)=>m&&a(h,f),!0)}function c(u,f){const l=Object.keys(u),p=l.includes("allOf"),m=l.includes("anyOf"),h=p||m,F=(h?u[h?p?"allOf":"anyOf":"allOf"]:[u]).map(L=>d(L,f));return p?!F.includes(!1):F.includes(!0)}return{parseValueSchema:c}}const Zo={convertTo:(t,e,n,r)=>{t.appearance||(t.appearance={}),t.appearance[e]=n},convertFrom:(t,e,n)=>t.appearance?t.appearance[e]:t[e]},Jo={convertFrom:(t,e,n)=>t.buttons&&t.buttons.length?`共 ${t.buttons.length} 项`:"无"},Qo={convertTo:(t,e,n,r)=>{t.editor&&(t.editor[e]=n)},convertFrom:(t,e,n)=>t.editor&&Object.prototype.hasOwnProperty.call(t.editor,e)?t.editor[e]:t[e]},q={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:"多语输入框"}},Ko={convertFrom:(t,e,n)=>{var i;const r=t.editor&&t.editor[e]?t.editor[e]:t[e];return((i=q[r])==null?void 0:i.name)||r}},er={convertTo:(t,e,n,r)=>{t[e]=t[e]},convertFrom:(t,e,n)=>t.editor?n.getRealEditorType(t.editor.type):""},tr={convertTo:(t,e,n,r)=>{(t.type==="data-grid-column"||t.type==="tree-grid-column")&&(t.formatter?t.formatter[e]=n:t.formatter={[e]:n})},convertFrom:(t,e,n)=>{if(t.formatter){if(e==="trueText")return t.formatter.trueText;if(e==="falseText")return t.formatter.falseText;if(e==="prefix")return t.formatter.prefix;if(e==="suffix")return t.formatter.suffix;if(e==="precision")return t.formatter.precision;if(e==="decimal")return t.formatter.decimal;if(e==="thousand")return t.formatter.thousand;if(e==="tempDateFormat")return t.formatter.dateFormat==="yyyy年MM月dd日"?"yearMonthDay":t.formatter.dateFormat==="yyyy-MM-dd HH:mm:ss"?"yyyy-MM-ddTHH:mm:ss":t.formatter.dateFormat==="yyyy/MM/dd HH:mm:ss"?"yyyy/MM/ddTHH:mm:ss":t.formatter.dateFormat==="yyyy年MM月dd日 HH时mm分ss秒"?"yearMonthDayHourMinuteSecond":t.formatter.tempDateFormat||t.formatter.dateFormat||"yyyy-MM-dd";if(e==="customFormat")return t.formatter.customFormat;if(e==="type")return t.formatter.type||"none"}return"none"}},nr={convertTo:(t,e,n,r)=>{t.command?t.command[e]=n:t.command={[e]:n},e==="enable"&&n&&(t.command.commands||(t.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]))},convertFrom:(t,e,n)=>t.command&&e==="enable"?t.command.enable:""},or={convertTo:(t,e,n,r)=>{t.column?t.column[e]=n:t.column={[e]:n},e==="fitColumns"&&n&&(t.column.fitMode||(t.column.fitMode="average"))},convertFrom:(t,e,n)=>{if(t.column){if(e==="fitColumns")return t.column.fitColumns;if(e==="fitMode")return t.column.fitMode}return""}},rr={convertTo:(t,e,n,r)=>{t.summary?t.summary[e]=n:t.summary={[e]:n},e==="enable"&&n&&(t.summary?t.summary.groupFields||(t.summary.groupFields=[]):t.summary={enable:n,groupFields:[]})},convertFrom:(t,e,n)=>t.summary&&e==="enable"?t.summary.enable:t.type==="data-grid-column"?t.enableSummary===void 0?!1:t.enableSummary:""},ir={convertTo:(t,e,n,r)=>{t.group?t.group[e]=n:t.group={[e]:n},e==="enable"&&n&&(t.group?t.group.groupFields||(t.group.groupFields=[]):t.group={enable:n,groupFields:[],showSummary:!1})},convertFrom:(t,e,n)=>{if(t.group){if(e==="enable")return t.group.enable;if(e==="showSummary")return t.group.showSummary}}},ar={convertFrom:(t,e)=>t.binding?t.binding.path:"",convertTo:(t,e,n)=>{if(n&&n.length>0){const r=n[0];t.binding||(t.binding={}),t.binding.type="Form",t.binding.path=r.bindingField,t.binding.field=r.id,t.binding.fullPath=r.path,t.path=r.bindingPath}}},sr={convertTo:(t,e,n,r)=>{t.pagination||(t.pagination={}),t.pagination[e]=n},convertFrom:(t,e,n)=>t.pagination?t.pagination[e]:t[e]},lr={convertTo:(t,e,n,r)=>{t.rowNumber||(t.rowNumber={}),t.rowNumber[e]=n},convertFrom:(t,e,n)=>t.rowNumber?t.rowNumber[e]:t[e]},cr={convertTo:(t,e,n,r)=>{t.selection||(t.selection={}),t.selection[e]=n},convertFrom:(t,e,n)=>t.selection?t.selection[e]:t[e]},ur={convertFrom:(t,e,n)=>t[e]&&t[e].length?`共 ${t[e].length} 项`:""},dr={convertFrom:(t,e)=>t[e]||"",convertTo:(t,e,n)=>{t[e]=n}},fr={convertTo:(t,e,n,r)=>{t.size||(t.size={}),t.size[e]=n},convertFrom:(t,e,n)=>t.size?t.size[e]:t[e]},pr={convertFrom:(t,e,n)=>{var r,i;return(r=t.formatter)!=null&&r.data&&e==="formatterEnumData"&&!t.formatterEnumData?(i=t.formatter)==null?void 0:i.data:t.formatterEnumData}},mr={convertTo:(t,e,n,r)=>{t.sort||(t.sort={}),t.sort[e]=n},convertFrom:(t,e,n)=>{var r,i;if(e==="mode")return((r=t.sort)==null?void 0:r.mode)||"client";if(e==="multiSort")return!!((i=t.sort)!=null&&i.multiSort)}},hr={convertTo:(t,e,n,r)=>{t.filter||(t.filter={}),t.filter[e]=n},convertFrom:(t,e,n)=>{var r;if(e==="mode")return((r=t.filter)==null?void 0:r.mode)||"client"}},gr={convertTo:(t,e,n,r)=>{t.rowOption?t.rowOption[e]=n:t.rowOption={[e]:n}},convertFrom:(t,e,n)=>{if(t.rowOption){if(e==="customRowStyle")return t.rowOption.customRowStyle;if(e==="customCellStyle")return t.rowOption.customCellStyle}return""}};function Yt(t,e,n){const r=new Map([["/converter/appearance.converter",Zo],["/converter/buttons.converter",Jo],["/converter/property-editor.converter",Qo],["/converter/items-count.converter",ur],["/converter/type.converter",Ko],["/converter/change-editor.converter",er],["/converter/change-formatter.converter",tr],["/converter/column-command.converter",nr],["/converter/column-option.converter",or],["/converter/summary.converter",rr],["/converter/group.converter",ir],["/converter/form-group-label.converter",dr],["/converter/field-selector.converter",ar],["/converter/pagination.converter",sr],["/converter/row-number.converter",lr],["/converter/grid-selection.converter",cr],["/converter/size.converter",fr],["/converter/change-formatter-enum.converter",pr],["/converter/grid-sort.converter",mr],["/converter/grid-filter.converter",hr],["/converter/row-option.converter",gr]]),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=Yo();function a(h,g){return()=>s.parseValueSchema(h,g)}function d(h,g,C){return h.includes("visible")&&g.visible!==void 0?typeof g.visible=="boolean"?()=>!!g.visible:g.visible===void 0?!0:a(g.visible,C):()=>!0}function c(h,g,C){return h.includes("readonly")&&g.readonly!==void 0?typeof g.readonly=="boolean"?()=>!!g.readonly:a(g.readonly,C):()=>!1}function u(h,g){const C=h.$converter||g;return typeof C=="string"&&C&&r.has(C)?r.get(C)||null:C||null}function f(h,g,C,F,w,L="",T=""){return Object.keys(h).map(v=>{const M=o.ref(1),E=v,S=h[v],j=Object.keys(S),V=S.title,I=S.type,$=i.get(I)||{type:"input-group",enableClear:!1},y=S.editor?Object.assign({},$,S.editor):Object.assign({},$),x=d(j,S,g),P=c(j,S,g);y.readonly=y.readonly===void 0?P():y.readonly;const Z=S.type==="cascade"?f(S.properties,g,C,F,w,L,T):[],k=!0;let B=u(S,T);const A=o.computed({get(){if(M.value){if(["class","style"].find(ue=>ue===E)&&!B&&(B=r.get("/converter/appearance.converter")||null),B&&B.convertFrom)return B.convertFrom(C,v,w,L);const le=C[v];return Object.prototype.hasOwnProperty.call(S,"defaultValue")&&(le===void 0||typeof le=="string"&&le==="")?S.type==="boolean"?S.defaultValue:S.defaultValue||"":le}return null},set(le){M.value+=1,B&&B.convertTo?(B.convertTo(F,v,le,w,L),B.convertTo(C,v,le,w,L)):(F[v]=le,C[v]=le)}}),{refreshPanelAfterChanged:O,description:U,isExpand:ne,parentPropertyID:re}=S,K={propertyID:E,propertyName:V,propertyType:I,propertyValue:A,editor:y,visible:x,readonly:P,cascadeConfig:Z,hideCascadeTitle:k,refreshPanelAfterChanged:O,description:U,isExpand:ne,parentPropertyID:re};return g[E]=K,K})}function l(h,g,C={}){const F={},w=t[h];return w&&w.categories?Object.keys(w.categories).map(T=>{const b=w.categories[T],v=b==null?void 0:b.title,M=f(b.properties||{},F,{},C,g);return{categoryId:T,categoryName:v,properties:M}}):[]}function p(h,g,C,F,w=""){const L=g.$ref.schema,T=g.$ref.converter,b=C[L],v=b.type,M=n(b),E={},S=t[v];if(S&&S.categories){const j=S.categories[h],V=j==null?void 0:j.title;T&&Object.keys(j.properties).forEach(y=>{j.properties[y].$converter=T});const I=(j==null?void 0:j.properties)||{},$=f(I,E,M,b,F,w);return{categoryId:h,categoryName:V,properties:$}}return{categoryId:h,categoryName:"",properties:[]}}function m(h,g,C,F,w){const L=h.type,T=n(h),b={};let v=w||t[L];if(v&&Object.keys(v).length===0&&C&&C.getPropConfig&&(v=C.getPropConfig(F)),v&&v.categories){const M=[];return Object.keys(v.categories).map(E=>{const S=v.categories[E];if(S.$ref){M.push(p(E,S,h,g,F));return}const j=S==null?void 0:S.title,V=S==null?void 0:S.tabId,I=S==null?void 0:S.tabName,$=S==null?void 0:S.hide,y=S==null?void 0:S.hideTitle,x=f(S.properties||{},b,T,h,g,F,S.$converter),{setPropertyRelates:P}=S,Z=S==null?void 0:S.parentPropertyID;M.push({categoryId:E,categoryName:j,tabId:V,tabName:I,hide:$,properties:x,hideTitle:y,setPropertyRelates:P,parentPropertyID:Z})}),M}return[]}return{getPropertyConfigBySchema:m,getPropertyConfigByType:l,propertyConverterMap:r}}const Zt={},Jt={};Yt(Zt,Jt,_o);const Qt={},Kt={},{getSchemaByType:la,resolveSchemaWithDefaultValue:yr,resolveSchemaToProps:ca,mappingSchemaToProps:ua,setDesignerContext:da}=_t(Qt,Kt),en={},tn={};Yt(en,tn,yr);function ht(t,e,n=new Map,r=(a,d,c,u)=>d,i={},s=a=>a){return Ht[e.title]=e,Xt[e.title]=r,Zt[e.title]=i,Jt[e.title]=s,Qt[e.title]=e,Kt[e.title]=r,en[e.title]=i,tn[e.title]=s,(a={},d=!0)=>{if(!d)return Xo(a,n);const c=Ho(a,e,n),u=Object.keys(t).reduce((f,l)=>(f[l]=t[l].default,f),{});return Object.assign(u,c)}}function nn(t,e){return{customClass:e.class,customStyle:e.style}}function vr(){function t(e){return e.editor}return{resolve:t}}const Ft=new Map([["appearance",nn]]),br=new Map([]),Cr="root-viewmodel";class wr{constructor(e,n){ee(this,"formSchemaUtils");ee(this,"controlCreatorUtils");ee(this,"designViewModelUtils");this.resolver=e,this.designerHostService=n,this.formSchemaUtils=this.designerHostService.formSchemaUtils,this.controlCreatorUtils=this.designerHostService.controlCreatorUtils,this.designViewModelUtils=this.designerHostService.designViewModelUtils}createComponent(e){const n=this.createComponentRefNode(e),r=this.createComponentNode(e),i=this.createViewModeNode(e),s=this.formSchemaUtils.getFormSchema();return s.module.viewmodels.push(i),s.module.components.push(r),this.designViewModelUtils.assembleDesignViewModel(),n}createComponentRefNode(e){const n=this.resolver.getSchemaByType("component-ref");return Object.assign(n,{id:`${e.componentId}-component-ref`,component:`${e.componentId}-component`}),n}createComponentNode(e){const n=this.resolver.getSchemaByType("component"),r=this.createFormComponentContents(e);return Object.assign(n,{id:`${e.componentId}-component`,viewModel:`${e.componentId}-component-viewmodel`,componentType:e.componentType,appearance:{class:this.getFormComponentClass()},formColumns:e.formColumns,contents:r}),n}getFormComponentClass(){const{templateId:e}=this.formSchemaUtils.getFormSchema().module;return e==="double-list-in-tab-template"?"f-struct-wrapper f-utils-fill-flex-column":"f-struct-wrapper"}createFormComponentContents(e){const n=this.resolver.getSchemaByType("section");Object.assign(n,{id:e.componentId+"-form-section",appearance:{class:"f-section-form f-section-in-mainsubcard"},mainTitle:e.componentName});const r=this.resolver.getSchemaByType("response-form"),i=[];Object.assign(r,{id:e.componentId+"-form",appearance:{class:"f-form-layout farris-form farris-form-controls-inline"},contents:i}),n.contents=[r];const{selectedFields:s}=e;s==null||s.forEach(d=>{if(d.$type===Fe.FormSchemaEntityField$Type.SimpleField){const c=fe.cloneDeep(d),u=this.resolveControlClassByFormColumns(e),f=this.controlCreatorUtils.setFormFieldProperty(c,"",u);f&&i.push(f)}});const{templateId:a}=this.formSchemaUtils.getFormSchema().module;return a==="double-list-in-tab-template"&&(n.appearance.class="f-section-grid f-section-in-main px-0 pt-0",n.fill=!0),[n]}resolveControlClassByFormColumns(e){let n="";switch(e.formColumns){case 1:{n="col-12";break}case 2:{n="col-12 col-md-6 col-xl-6 col-el-6";break}case 3:{n="col-12 col-md-6 col-xl-4 col-el-4";break}case 4:{n="col-12 col-md-6 col-xl-3 col-el-2";break}}return n}createViewModeNode(e){return{id:`${e.componentId}-component-viewmodel`,code:`${e.componentId}-component-viewmodel`,name:e.componentName,bindTo:e.bindTo,parent:Cr,fields:this.assembleViewModelFields(e),commands:[],states:[],enableValidation:!0}}assembleViewModelFields(e){const n=[],{selectedFields:r}=e;return r==null||r.forEach(i=>{if(i.$type===Fe.FormSchemaEntityField$Type.SimpleField){let s="blur";const a=i.type.name;(a===Fe.FormSchemaEntityFieldTypeName.Enum||a===Fe.FormSchemaEntityFieldTypeName.Boolean)&&(s="change"),n.push({type:"Form",id:i.id,fieldName:i.bindingField,groupId:null,groupName:null,updateOn:s,fieldSchema:{}})}}),n}}function xr(t,e,n,r){var s,a,d,c,u,f;const i=n.parentComponentInstance;if(i&&r){const l=(s=i.schema)==null?void 0:s.type,m={componentId:`form-${Math.random().toString(36).slice(2,6)}`,componentName:((a=n.bindingSourceContext)==null?void 0:a.entityTitle)||((c=(d=n.bindingSourceContext)==null?void 0:d.bindingEntity)==null?void 0:c.name)||"标题",componentType:"form",formColumns:l==="splitter-pane"?1:4,parentContainerId:i.schema.id,bindTo:((u=n.bindingSourceContext)==null?void 0:u.bindTo)||"/",selectedFields:(f=n.bindingSourceContext)==null?void 0:f.bindingEntityFields};return new wr(t,r).createComponent(m)}else return e}function Fr(t,e,n){return e}const Tr={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/response-form.schema.json",title:"response-form",description:"A Farris Data Collection Component",type:"object",properties:{id:{description:"The unique identifier for a form group",type:"string"},type:{description:"The type string of form group component",type:"string",default:"response-form"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},contents:{description:"",type:"array",default:[]},visible:{description:"",type:"boolean",default:!0},labelAutoOverflow:{description:"",type:"boolean",default:!1},adaptForLanguage:{description:"",type:"boolean",default:!0}},required:["id","type","contents"]},Tt={customClass:{type:String,default:""},customStyle:{type:String,defaut:""},visible:{type:Boolean,default:!0},adaptForLanguage:{type:Boolean,default:!0}},St=ht(Tt,Tr,Ft,xr),gt=o.defineComponent({name:"FResponseForm",props:Tt,emits:[],setup(t,e){const n=o.ref(),{locale:r}=pt.useI18n(),i=o.computed(()=>{const s=t.customClass.split(" "),a={"drag-container":!0};return s.reduce((d,c)=>(d[c]=!0,d),a),t.adaptForLanguage&&r.value&&(a["farris-form-controls-inline"]=r.value!=="en"),a});return()=>t.visible&&o.withDirectives(o.createVNode("div",{ref:n,class:i.value,style:t.customStyle},[e.slots.default&&e.slots.default()]),[[o.resolveDirective("area-response")]])}}),on={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/form-group.schema.json",title:"form-group",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a form group",type:"string"},type:{description:"The type string of form group component",type:"string",default:"form-group"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},enableLinkLabel:{description:"",type:"boolean",default:!1},editor:{description:"",type:"obejct",default:null},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},binding:{description:"",type:"object",default:{}},visible:{description:"",type:"boolean",default:!0},required:{description:"",type:"boolean",default:!1},errors:{description:"",type:"object",default:null},name:{description:"The name string of form group component",type:"string",default:"form group"},showLabelType:{description:"",type:"string",default:"visible"}},required:["id","type","editor"]},Ke={id:{type:String,default:""},customClass:{type:String,default:""},customStyle:{type:String,default:""},editor:{type:Object,default:{}},label:{type:String,default:""},modelValue:{type:Object},visible:{type:Boolean,default:!0},required:{type:Boolean,default:!1},showLabel:{type:Boolean,default:!0},showLabelType:{type:String,default:"visible"},type:{type:String,default:"input-group"},componentId:{type:String,default:""},errors:{type:Object,default:null}},Vt=ht(Ke,on,Ft,void 0),rn=vr();function Mt(t,e,n){var V;const r=n&&n.getStyles&&n.getStyles()||"",i=n&&n.getDesignerClass&&n.getDesignerClass()||"",s=o.ref();let a;function d(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanMoveComponent?n.checkCanMoveComponent():!0}function c(){return!1}function u(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanDeleteComponent?n.checkCanDeleteComponent():!0}function f(){return(e==null?void 0:e.schema.componentType)==="frame"?!0:n&&n.hideNestedPaddingInDesginerView?n.hideNestedPaddingInDesginerView():!1}function l(I){if(!I||!I.value)return null;if(I.value.schema&&I.value.schema.type==="component")return I.value;const $=o.ref(I==null?void 0:I.value.parent),y=l($);return y||null}function p(I=e){var P;if(n!=null&&n.getDraggableDesignItemElement)return n.getDraggableDesignItemElement(I);const{componentInstance:$,designerItemElementRef:y}=I;if(!$||!$.value)return null;const{getCustomButtons:x}=$.value;return $.value.canMove||x&&((P=x())!=null&&P.length)?y:p(I.parent)}function m(I){return!!n&&n.canAccepts(I)}function h(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function g(){}function C(I,$){var y;!I||!$||(n!=null&&n.onAcceptMovedChildElement&&n.onAcceptMovedChildElement(I,$),(y=e==null?void 0:e.setupContext)==null||y.emit("dragEnd"))}function F(I,$){const{componentType:y}=I;let x=Qe.getSchemaByTypeForDesigner(y,I,$);n&&n.onResolveNewComponentSchema&&(x=n.onResolveNewComponentSchema(I,x));const P=y.toLowerCase().replace(/-/g,"_");return x&&!x.id&&x.type===y&&(x.id=`${P}_${Math.random().toString().slice(2,6)}`),x}function w(I){I&&n!=null&&n.onChildElementMovedOut&&n.onChildElementMovedOut(I)}function L(...I){if(n&&n.getPropsConfig)return n.getPropsConfig(...I)}function T(I){if(!I)return;const $=e==null?void 0:e.schema,{formSchemaUtils:y}=I;if($&&y.getExpressions().length){const x=y.getExpressions().findIndex(P=>P.target===$.id);x>-1&&y.getExpressions().splice(x,1)}}function b(I){if(!I||!(e!=null&&e.schema))return;const $=e.schema,{formSchemaUtils:y}=I;y.removeCommunicationInComponent($)}function v(I){n&&n.onRemoveComponent&&n.onRemoveComponent(),T(I),b(I),e!=null&&e.schema.contents&&e.schema.contents.map($=>{let y=$.id;$.type==="component-ref"&&(y=$.component);const x=t.value.querySelectorAll(`#${y}-design-item`);x!=null&&x.length&&Array.from(x).map(P=>{var Z;(Z=P==null?void 0:P.componentInstance)!=null&&Z.value.onRemoveComponent&&P.componentInstance.value.onRemoveComponent(I)})})}function M(){if(n&&n.getCustomButtons)return n.getCustomButtons()}function E(I){var y,x;if(!((y=e==null?void 0:e.schema)!=null&&y.id))return;if(!a&&I&&(a=I.formSchemaUtils),n!=null&&n.setComponentBasicInfoMap){n.setComponentBasicInfoMap();return}let $="";if(n!=null&&n.getComponentTitle)$=n.getComponentTitle();else{const{text:P,title:Z,label:k,mainTitle:B,name:A,type:O}=e.schema;$=P||Z||k||B||A||((x=q[O])==null?void 0:x.name)}$&&a.getControlBasicInfoMap().set(e.schema.id,{componentTitle:$,parentPathName:$})}function S(I){var P;const{changeObject:$}=I,{propertyID:y,propertyValue:x}=$;if(["text","title","label","name","mainTitle"].includes((P=I==null?void 0:I.changeObject)==null?void 0:P.propertyID)&&y&&x&&(E(),a)){const Z=a.getControlBasicInfoMap(),k=Z.keys().toArray().filter(B=>{var A,O;return((A=Z.get(B))==null?void 0:A.reliedComponentId)===((O=e==null?void 0:e.schema)==null?void 0:O.id)});k!=null&&k.length&&k.forEach(B=>{const A=Z.get(B).parentPathName.split(" > ");A[0]=x,Z.get(B).parentPathName=A.join(" > ")})}}function j(I){if(S(I),n&&n.onPropertyChanged)return n.onPropertyChanged(I)}return s.value={canMove:d(),canSelectParent:c(),canDelete:u(),canNested:!f(),contents:e==null?void 0:e.schema.contents,elementRef:t,parent:(V=e==null?void 0:e.parent)==null?void 0:V.componentInstance,schema:e==null?void 0:e.schema,styles:r,designerClass:i,canAccepts:m,getBelongedComponentInstance:l,getDraggableDesignItemElement:p,getDraggingDisplayText:h,getPropConfig:L,getDragScopeElement:g,onAcceptMovedChildElement:C,onChildElementMovedOut:w,addNewChildComponentSchema:F,triggerBelongedComponentToMoveWhenMoved:!!n&&n.triggerBelongedComponentToMoveWhenMoved||o.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!n&&n.triggerBelongedComponentToDeleteWhenDeleted||o.ref(!1),onRemoveComponent:v,getCustomButtons:M,onPropertyChanged:j,setComponentBasicInfoMap:E,updateContextSchema:e==null?void 0:e.updateContextSchema},s}function Sr(){function t(e,n){var a;if(!e)return!1;const r=((a=e.targetContainer)==null?void 0:a.componentInstance)&&e.targetContainer.componentInstance.value;if(!r)return!1;const i=r.schema.type,s=n==null?void 0:n.formSchemaUtils.getComponentById(r.belongedComponentId);return!((e.componentCategory==="input"||e.componentType==="form-group")&&![q["response-layout-item"].type,q["response-form"].type,q.fieldset.type].includes(i)||(e.componentType===q.tabs.type||e.componentType===q.section.type)&&((s==null?void 0:s.componentType)!=="frame"||![q["content-container"].type,q["splitter-pane"].type,q["response-layout-item"].type].includes(i))||[q["query-solution"].type,q["filter-bar"].type].includes(e.componentType)||e.componentType===q.fieldset.type&&i!==q["response-form"].type)}return{basalDragulaRuleForContainer:t}}class Vr{getTemplateRule(e,n){const r=n==null?void 0:n.formSchemaUtils,i=r==null?void 0:r.getFormTemplateRule(),s={canAccept:!0,canDelete:!0,canMove:!0};if(!i)return s;const a=this.getComponentContext(e),{componentClassList:d}=a;return d.forEach(c=>{if(!c||!i[c])return;const{canMove:u,canDelete:f,canAccept:l}=i[c];s.canMove=s.canMove&&this.resolveRuleValue(u,a),s.canDelete=s.canDelete&&this.resolveRuleValue(f,a),s.canAccept=s.canAccept&&this.resolveRuleValue(l,a)}),s}resolveRuleValue(e,n){return typeof e=="boolean"?e:this.parseRuleValueSchema(e,n)}parseRuleValueSchema(e,n){const r=e.invalidContext||[];let i=!0;for(const s of r){const{firstLevelChild:a,secondLevelChild:d,parent:c,...u}=s;if(u&&n.component){let f=!0;for(const l of Object.keys(u))if(u[l]!==n.component[l]){f=!1;break}if(!f){i=!1;continue}}if(s.firstLevelChild){if(s.firstLevelChild.class){const{firstLevelChildClassList:f}=n;if(f&&!f.includes(s.firstLevelChild.class)){i=!1;continue}}if(s.firstLevelChild.type){const{firstLevelChildSchema:f}=n;if(!f||f.type!==s.firstLevelChild.type){i=!1;continue}}}if(s.secondLevelChild){if(s.secondLevelChild.class){const{secondLevelChildClassList:f}=n;if(f&&!f.includes(s.secondLevelChild.class)){i=!1;continue}}if(s.secondLevelChild.type){const{secondLevelChildSchema:f}=n;if(!f||f.type!==s.secondLevelChild.type){i=!1;continue}}}if(s.parent){if(s.parent.class){const{parentClassList:f}=n;if(f&&!f.includes(s.parent.class)){i=!1;continue}}if(s.parent.type){const{parentSchema:f}=n;if(f&&f.type!==s.parent.type){i=!1;continue}}}i=!0;break}return!i}getComponentContext(e){var g,C,F,w;const n=e.schema,r=n.appearance&&n.appearance.class||"",i=r.split(" ")||[],s=n.contents||[],a=s.length?s[0]:null,d=a&&a.appearance?a.appearance.class:"",c=d?d.split(" "):[],u=(g=a==null?void 0:a.contents)!=null&&g.length?a==null?void 0:a.contents[0]:null,f=u&&u.appearance?u.appearance.class:"",l=f?f.split(" "):[],p=n.type==="component"?(F=(C=e.parent)==null?void 0:C.parent)==null?void 0:F.schema:(w=e.parent)==null?void 0:w.schema,m=p&&p.appearance&&p.appearance.class||"",h=m?m.split(" "):[];return{componentClass:r,componentClassList:i,childContents:s,firstLevelChildSchema:a,firstLevelChildClass:d,firstLevelChildClassList:c,secondLevelChildSchema:u,secondLevelChildClass:f,secondLevelChildClassList:l,parentSchema:p,parentClass:m,parentClassList:h,component:n}}}const Mr=o.ref(0);function an(){Mr.value++}const Nr=o.ref(0);function Er(t){const{formSchemaUtils:e,formStateMachineUtils:n}=t;function r(c,u=""){return{path:u+c.code,field:c.id,fullPath:c.code}}function i(c,u=""){return e.getViewModelById(c).states.map(l=>r(l,u))}function s(c){const u=e.getRootViewModelId(),f=i(c);if(c===u)return f;const l=i(u,"root-component.");return[...f,...l]}function a(c){return c.binding&&c.binding.path||c.id||""}function d(){return n&&n.getRenderStates()||[]}return{getVariables:s,getControlName:a,getStateMachines:d}}class Br{constructor(e){ee(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'"}]);ee(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});ee(this,"getExpressionConverter",(e,n)=>({convertFrom:(r,i,s,a)=>{const d=s.getExpressionRuleValue(e,n||i);return d&&d.value||""},convertTo:(r,i,s,a,d)=>{var c;if(i==="dataPicking"&&(s!=null&&s.target)){const u=`${s.target}_dataPicking`;((c=s.rules)==null?void 0:c.some(l=>l.id===u&&l.value))?r.dictPickingExpressionId=u:delete r.dictPickingExpressionId}a.updateExpression(s)}}));this.formSchemaService=e}getExpressionRule(e,n){const r=this.formSchemaService.getExpressions();if(!r)return"";const i=r.find(a=>a.target===e);if(!i)return"";const s=i.rules.find(a=>a.type===n);return s||""}getContextFormVariables(){const{module:e}=this.formSchemaService.getFormSchema();if(!e.viewmodels||e.viewmodels.length===0)return[];const n=this.formSchemaService.getRootViewModelId(),r=this.formSchemaService.getViewModelById(n);if(!r||!r.states||r.states.length===0)return[];const i=[];return r.states.forEach(s=>{i.push({key:s.code,name:s.name,description:s.name,category:s.category})}),i}createTreeNode(e,n,r="label"){return{id:e.id,name:e.name,bindingPath:e[r],parents:n,type:"field"}}buildEntityFieldsTreeData(e=null,n){const r=[];return e==null||e.forEach(i=>{var d;const s=this.createTreeNode(i,n);let a=[];(d=i.type)!=null&&d.fields&&(a=this.buildEntityFieldsTreeData(i.type.fields,[...n,i.label])),r.push({data:s,children:a,expanded:!0})}),r}buildChildEntityTreeData(e=null,n){const r=[];return e==null||e.forEach(i=>{var c,u;const s=this.createTreeNode(i,n);s.type="entity";const a=this.buildEntityFieldsTreeData((c=i.type)==null?void 0:c.fields,[...n,i.label]),d=this.buildChildEntityTreeData((u=i.type)==null?void 0:u.entities,[...n,i.label]);d!=null&&d.length&&(a==null||a.push(...d)),r.push({data:s,children:a||[],expanded:!0})}),r}getEntitiesTreeData(){const e=this.formSchemaService.getSchemaEntities();if(!(e!=null&&e.length))return[];const n=e[0];if(!(n!=null&&n.type))return[];const r=this.buildEntityFieldsTreeData(n.type.fields,[n.code]),i=this.buildChildEntityTreeData(n.type.entities,[n.code]);return i!=null&&i.length&&(r==null||r.push(...i)),{entityCode:n.code,fields:[{data:this.createTreeNode(n,[],"code"),children:r||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(e,n,r){const i=r==="Field"?e.binding.field:e.id,s=this.getExpressionRule(i,n),a=this.getEntitiesAndVariables(),d={message:["validate","required","dataPicking"].includes(n)&&s?s.message:"",...a};return s.messageType!=null&&(d.messageType=s.messageType),d}buildRule(e,n,r,i){const{expression:s,message:a,messageType:d}=n,c={id:`${e}_${r}`,type:r,value:s};return(r==="validate"||r==="dataPicking"||r==="required")&&(c.message=a),r==="dataPicking"&&(c.messageType=d),r==="validate"&&i&&(c.elementId=i),c}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,n,r,i){const s=n==="Field"?e.binding.field:e.id,a=this.buildRule(s,r,i,e.type==="form-group"?e.id:"");let c=this.getExpressionData().find(f=>f.targetType===n&&f.target===s);const u=f=>f.value.trim()==="";if(c){const f=c.rules.find(l=>l.id===a.id);if(f)u(a)?c.rules=c.rules.filter(l=>l.id!==a.id):(Object.assign(f,a),i==="validate"&&e.type==="form-group"&&(f.elementId=e.id));else{if(u(a))return null;c.rules=c.rules||[],c.rules.push(a)}}else{if(u(a))return null;c={target:`${s}`,rules:[a],targetType:n}}return c}getExpressionEditorOptions(e,n,r,i){return r.reduce((s,a)=>{var c,u;const d=n==="Field"?(c=e==null?void 0:e.binding)==null?void 0:c.field:e.id;return s[a]={hide:n==="Field"?!!((u=e==null?void 0:e.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(e,a,n),onSubmitModal:f=>{const l=this.updateExpression(e,n,f,a);if(i){const p=this.buildRule(d,f,a);i(p)}return l}}},s},{})}getExpressionInfo(e,n,r){const i=n==="Field"?e.binding.field:e.id,s=this.getExpressionRule(i,r),a={value:s&&s.value,targetId:i,targetType:n,expressionType:r};return s&&s.message&&(a.message=s.message),a}getExpressionConfig(e,n,r=["compute","dependency","validate"],i){return{description:"表达式",title:"表达式",hide:!e.binding,properties:{...this.getExpressionEditorOptions(e,n,r,i)}}}getExpressionOptions(e,n,r){const i=this.getExpressionInfo(e,n,r);return{dialogTitle:`${this.expressionNames[r]}编辑器`,singleExpand:!1,showMessage:r==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,r,n),expressionInfo:i}}}class kr{constructor(e,n){ee(this,"componentId");ee(this,"viewModelId");ee(this,"eventsEditorUtils");ee(this,"formSchemaUtils");ee(this,"formMetadataConverter");ee(this,"designViewModelUtils");ee(this,"designViewModelField");ee(this,"controlCreatorUtils");ee(this,"designerHostService");ee(this,"designerContext");ee(this,"schemaService",null);ee(this,"metadataService",null);ee(this,"propertyConfig",{type:"object",categories:{}});var r;this.componentId=e,this.designerHostService=n,this.eventsEditorUtils=n.eventsEditorUtils,this.formSchemaUtils=n.formSchemaUtils,this.formMetadataConverter=n.formMetadataConverter,this.viewModelId=((r=this.formSchemaUtils)==null?void 0:r.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=n.designViewModelUtils,this.controlCreatorUtils=n.controlCreatorUtils,this.metadataService=n.metadataService,this.schemaService=n.schemaService,this.designerContext=n.designerContext}getFormDesignerInstance(){var e,n;return(n=(e=this.designerContext)==null?void 0:e.instances)==null?void 0:n.formDesigner.value}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){var r;const n=e.binding&&e.binding.type==="Form"&&e.binding.field;if(n){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(s=>s.id===n)}e.updateOn=(r=this.designViewModelField)==null?void 0:r.updateOn}}getBasicPropConfig(e){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:e.type,name:q[e.type]&&q[e.type].name}]}}}}}getAppearanceConfig(e=null,n={},r){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 n)s[a]=Object.assign(s[a]||{},n[a]);return{...i,properties:{...s},setPropertyRelates(a,d){if(a){switch(a&&a.propertyID){case"class":case"style":{Nr.value++;break}}r&&r(a,e,d)}}}}getPropertyEditorParams(e,n=[],r="visible",i={},s={}){const{getVariables:a,getControlName:d,getStateMachines:c}=Er(this.designerHostService),u=this.getRealTargetType(e),f=n&&n.length>0?n:["Const","Variable","StateMachine","Expression"],l={type:"property-editor",propertyTypes:f};return f.map(p=>{switch(p){case"Const":Object.assign(l,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},i);break;case"Expression":l.expressionConfig=this.getExpressionOptions(e,u,r);break;case"StateMachine":l.stateMachines=c();break;case"Variable":Object.assign(l,{controlName:d(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:a(this.viewModelId),onBeforeOpenVariables:m=>{m.value=a(this.viewModelId)}},s);break}}),l}getVisibleProperty(e,n=""){var s;let r=["Const","Variable","StateMachine","Expression"];return n==="gridFieldEditor"?r=["Const","Expression"]:n==="form-group"&&!((s=e.binding)!=null&&s.field)&&(r=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,r,"visible")}}}getBehaviorConfig(e,n="",r={},i){const s={title:"行为",description:""},a=this.getVisibleProperty(e,n);for(const c in r)a[c]=Object.assign(a[c]||{},r[c]);const d=this;return{...s,properties:{...a},setPropertyRelates(c,u){if(c){switch(c.propertyID){case"disabled":case"readonly":case"visible":d.afterMutilEditorChanged(e,c);break}i&&i(c,u)}}}}afterMutilEditorChanged(e,n){this.addNewVariableToViewModel(n,this.viewModelId),this.updateExpressionValue(n),this.clearExpression(n,e)}updateElementByParentContainer(e,n){const r=n&&n.parent&&n.parent.schema;if(!r)return;const i=r.contents.findIndex(a=>a.id===e),s=fe.cloneDeep(r.contents[i]);r.contents.splice(i,1),r.contents.splice(i,0,s),an()}addNewVariableToViewModel(e,n){const r=e.propertyValue;if(!(r&&typeof r=="object")||!(r.type==="Variable"&&r.isNewVariable))return;const a={id:r.field,category:"locale",code:r.fullPath,name:r.fullPath,type:r.newVariableType||"String"};delete r.newVariableType,delete r.isNewVariable,this.formSchemaUtils.getVariableByCode(a.code)||this.formSchemaUtils.getViewModelById(n).states.push(a)}updateExpressionValue(e){const n=e.propertyValue;if(!((n&&n.type)==="Expression"&&n.expressionInfo))return;const{expressionId:s,expressionInfo:a}=n,{targetId:d,targetType:c,expressionType:u,value:f,message:l}=a,p=this.formSchemaUtils.getModule();p.expressions=p.expressions||[];const{expressions:m}=p;let h=m.find(C=>C.target===d);h||(h={target:d,rules:[],targetType:c},m.push(h));const g=h.rules.find(C=>C.type===u);if(g)g.value=f,g.message=l;else{const C={id:s,type:u,value:f,message:l};h.rules.push(C)}delete n.expressionInfo}clearExpression(e,n){const r=e.propertyValue;if(r&&r.type==="Expression")return;const s=e.propertyID,a=this.formSchemaUtils.getExpressions(),d=n.binding?n.binding.field:n.id,c=a.find(u=>u.target===d);!c||!c.rules||(c.rules=c.rules.filter(u=>u.type!==s))}getExpressionOptions(e,n,r){return new Br(this.formSchemaUtils).getExpressionOptions(e,n,r)}getRealTargetType(e){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item"].indexOf(e.type)>-1?"Button":e.binding&&e.binding.field?"Field":"Container"}createBaseEventProperty(e){const n={};return n[this.viewModelId]={type:"events-editor",editor:{initialData:e,viewSourceHandle:r=>{var i;((i=r.controller)==null?void 0:i.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(r)}}},n}}class Ir{constructor(){ee(this,"label","");ee(this,"id","");ee(this,"columnInSM",12);ee(this,"columnInMD",6);ee(this,"columnInLG",3);ee(this,"columnInEL",2);ee(this,"displayWidthInSM",1);ee(this,"displayWidthInMD",1);ee(this,"displayWidthInLG",1);ee(this,"displayWidthInEL",1);ee(this,"displayColumnCountAtBreakPoint","md");ee(this,"tagRow",0);ee(this,"showTopBorder",0);ee(this,"group",1);ee(this,"isSupportedClass",!0);ee(this,"fieldSetId","")}}function jr(t){let e,n;const r=new Map;let i=[];function s(f,l){const m=f.split(" ").filter(w=>w.startsWith("col-"));if(m.length===0){l.isSupportedClass=!1;return}let h=m.find(w=>/^col-([1-9]|10|11|12)$/.test(w)),g=m.find(w=>/^col-md-([1-9]|10|11|12)$/.test(w)),C=m.find(w=>/^col-xl-([1-9]|10|11|12)$/.test(w)),F=m.find(w=>/^col-el-([1-9]|10|11|12)$/.test(w));h=h||"col-12",l.columnInSM=parseInt(h.replace("col-",""),10),l.displayWidthInSM=l.columnInSM/12,l.displayWidthInSM!==1&&(l.isSupportedClass=!1),g=g||"col-md-"+l.columnInSM,l.columnInMD=parseInt(g.replace("col-md-",""),10),l