UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

1 lines 195 kB
(function(Z,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("vue"),require("lodash-es"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js"),require("../condition/index.umd.js"),require("../query-solution/index.umd.js"),require("../drawer/index.umd.js"),require("../dynamic-form/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("../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("../../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"),require("../popover/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js","../condition/index.umd.js","../query-solution/index.umd.js","../drawer/index.umd.js","../dynamic-form/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","../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","../../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","../popover/index.umd.js"],o):(Z=typeof globalThis<"u"?globalThis:Z||self,o(Z["filter-bar"]={},Z.Vue,Z.LodashES,Z.dynamicResolver,Z.designerCanvas,Z.common$1,Z.condition,Z.FQuerySolution,Z.drawer,Z.FDynamicForm,Z.vueI18n,Z.locale,Z.VueUseCore,Z.dataView,Z.propertyPanel,null,null,null,null,null,null,null,null,null,null,null,null,null,Z.FDatePicker,null,null,null,null,null,null,null,null,null,null,null,Z.FLookup,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,Z.FTags,null,null,Z.FTransfer,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,Z.FPopover))})(this,function(Z,o,K,Ye,et,he,Dt,gn,hn,yn,Ct,ct,vn,Q,bn,Yi,Qi,Ji,Zi,Ki,er,tr,nr,or,ir,rr,ar,lr,Cn,sr,cr,ur,dr,fr,pr,mr,gr,hr,yr,vr,wt,br,Cr,wr,xr,Fr,Sr,Tr,kr,Mr,Br,Vr,Er,Nr,Ir,jr,Pr,Or,$r,Rr,Lr,qr,wn,Dr,Ar,xn,Hr,Ur,zr,Wr,Gr,_r,Xr,Yr,Qr,Jr,Zr,Kr,ea,ta,na,oa,ia,ra,aa,la,sa,ca,ua,Fn){"use strict";var _i=Object.defineProperty;var Xi=(Z,o,K)=>o in Z?_i(Z,o,{enumerable:!0,configurable:!0,writable:!0,value:K}):Z[o]=K;var G=(Z,o,K)=>Xi(Z,typeof o!="symbol"?o+"":o,K);function At(t,e){let n;function i(d){const{properties:m,title:s,ignore:f}=d,h=f&&Array.isArray(f),C=Object.keys(m).reduce((S,k)=>((!h||!f.find(j=>j===k))&&(S[k]=m[k].type==="object"&&m[k].properties?i(m[k]):K.cloneDeep(m[k].default)),S),{});if(s&&(!h||!f.find(S=>S==="id"))){const S=s.toLowerCase().replace(/-/g,"_");C.id=`${S}_${Math.random().toString().slice(2,6)}`}return C}function r(d){const{properties:m,title:s,required:f}=d;if(f&&Array.isArray(f)){const h=f.reduce((C,S)=>(C[S]=m[S].type==="object"&&m[S].properties?i(m[S]):K.cloneDeep(m[S].default),C),{});if(s&&f.find(C=>C==="id")){const C=s.toLowerCase().replace(/-/g,"_");h.id=`${C}_${Math.random().toString().slice(2,6)}`}return h}return{type:s}}function a(d,m={},s){const f=t[d];if(f){let h=r(f);const C=e[d];return h=C?C({getSchemaByType:a},h,m,s):h,n!=null&&n.appendIdentifyForNewControl&&n.appendIdentifyForNewControl(h),h}return null}function l(d,m){const s=i(m);return Object.keys(s).reduce((f,h)=>(Object.prototype.hasOwnProperty.call(d,h)&&(f[h]&&K.isPlainObject(f[h])&&K.isPlainObject(d[h]||!d[h])?Object.assign(f[h],d[h]||{}):f[h]=d[h]),f),s),s}function p(d,m){return Object.keys(d).filter(f=>d[f]!=null).reduce((f,h)=>{if(m.has(h)){const C=m.get(h);if(typeof C=="string")f[C]=d[h];else{const S=C(h,d[h],d);Object.assign(f,S)}}else f[h]=d[h];return f},{})}function c(d,m,s=new Map){const f=l(d,m);return p(f,s)}function u(d){var s;const m=d.type;if(m){const f=t[m];if(!f)return d;const h=l(d,f),C=((s=d.editor)==null?void 0:s.type)||"";if(C){const S=t[C],k=l(d.editor,S);h.editor=k}return h}return d}function g(d){n=d}return{getSchemaByType:a,resolveSchemaWithDefaultValue:u,resolveSchemaToProps:c,mappingSchemaToProps:p,setDesignerContext:g}}const Ht={},Ut={},{getSchemaByType:da,resolveSchemaWithDefaultValue:Sn,resolveSchemaToProps:Tn,mappingSchemaToProps:kn,setDesignerContext:fa}=At(Ht,Ut);function Mn(t={}){function e(u,g,d,m){if(typeof d=="number")return m[u].length===d;if(typeof d=="object"){const s=Object.keys(d)[0],f=d[s];if(s==="not")return Number(m[u].length)!==Number(f);if(s==="moreThan")return Number(m[u].length)>=Number(f);if(s==="lessThan")return Number(m[u].length)<=Number(f)}return!1}function n(u,g,d,m){return m[u]&&m[u].propertyValue&&String(m[u].propertyValue.value)===String(d)}const i=new Map([["length",e],["getProperty",n]]);Object.keys(t).reduce((u,g)=>(u.set(g,t[g]),u),i);function r(u,g){const d=u;return typeof g=="number"?[{target:d,operator:"length",param:null,value:Number(g)}]:typeof g=="boolean"?[{target:d,operator:"getProperty",param:u,value:!!g}]:typeof g=="object"?Object.keys(g).map(m=>{if(m==="length")return{target:d,operator:"length",param:null,value:g[m]};const s=m,f=g[m];return{target:d,operator:"getProperty",param:s,value:f}}):[]}function a(u){return Object.keys(u).reduce((d,m)=>{const s=r(m,u[m]);return d.push(...s),d},[])}function l(u,g){if(i.has(u.operator)){const d=i.get(u.operator);return d&&d(u.target,u.param,u.value,g)||!1}return!1}function p(u,g){return a(u).reduce((s,f)=>s&&l(f,g),!0)}function c(u,g){const d=Object.keys(u),m=d.includes("allOf"),s=d.includes("anyOf"),f=m||s,S=(f?u[f?m?"allOf":"anyOf":"allOf"]:[u]).map(j=>p(j,g));return m?!S.includes(!1):S.includes(!0)}return{parseValueSchema:c}}const Bn={convertTo:(t,e,n,i)=>{t.appearance||(t.appearance={}),t.appearance[e]=n},convertFrom:(t,e,n)=>t.appearance?t.appearance[e]:t[e]},Vn={convertFrom:(t,e,n)=>t.buttons&&t.buttons.length?`共 ${t.buttons.length} 项`:"无"},En={convertTo:(t,e,n,i)=>{t.editor&&(t.editor[e]=n)},convertFrom:(t,e,n)=>t.editor&&Object.prototype.hasOwnProperty.call(t.editor,e)?t.editor[e]:t[e]},R={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:"多语输入框"}},Nn={convertFrom:(t,e,n)=>{var r;const i=t.editor&&t.editor[e]?t.editor[e]:t[e];return((r=R[i])==null?void 0:r.name)||i}},In={convertTo:(t,e,n,i)=>{t[e]=t[e]},convertFrom:(t,e,n)=>t.editor?n.getRealEditorType(t.editor.type):""},jn={convertTo:(t,e,n,i)=>{(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"}},Pn={convertTo:(t,e,n,i)=>{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:""},On={convertTo:(t,e,n,i)=>{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""}},$n={convertTo:(t,e,n,i)=>{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:""},Rn={convertTo:(t,e,n,i)=>{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}}},Ln={convertFrom:(t,e)=>t.binding?t.binding.path:"",convertTo:(t,e,n)=>{if(n&&n.length>0){const i=n[0];t.binding||(t.binding={}),t.binding.type="Form",t.binding.path=i.bindingField,t.binding.field=i.id,t.binding.fullPath=i.path,t.path=i.bindingPath}}},qn={convertTo:(t,e,n,i)=>{t.pagination||(t.pagination={}),t.pagination[e]=n},convertFrom:(t,e,n)=>t.pagination?t.pagination[e]:t[e]},Dn={convertTo:(t,e,n,i)=>{t.rowNumber||(t.rowNumber={}),t.rowNumber[e]=n},convertFrom:(t,e,n)=>t.rowNumber?t.rowNumber[e]:t[e]},An={convertTo:(t,e,n,i)=>{t.selection||(t.selection={}),t.selection[e]=n},convertFrom:(t,e,n)=>t.selection?t.selection[e]:t[e]},Hn={convertFrom:(t,e,n)=>t[e]&&t[e].length?`共 ${t[e].length} 项`:""},Un={convertFrom:(t,e)=>t[e]||"",convertTo:(t,e,n)=>{t[e]=n}},zn={convertTo:(t,e,n,i)=>{t.size||(t.size={}),t.size[e]=n},convertFrom:(t,e,n)=>t.size?t.size[e]:t[e]},Wn={convertFrom:(t,e,n)=>{var i,r;return(i=t.formatter)!=null&&i.data&&e==="formatterEnumData"&&!t.formatterEnumData?(r=t.formatter)==null?void 0:r.data:t.formatterEnumData}},Gn={convertTo:(t,e,n,i)=>{t.sort||(t.sort={}),t.sort[e]=n},convertFrom:(t,e,n)=>{var i,r;if(e==="mode")return((i=t.sort)==null?void 0:i.mode)||"client";if(e==="multiSort")return!!((r=t.sort)!=null&&r.multiSort)}},_n={convertTo:(t,e,n,i)=>{t.filter||(t.filter={}),t.filter[e]=n},convertFrom:(t,e,n)=>{var i;if(e==="mode")return((i=t.filter)==null?void 0:i.mode)||"client"}},Xn={convertTo:(t,e,n,i)=>{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 zt(t,e,n){const i=new Map([["/converter/appearance.converter",Bn],["/converter/buttons.converter",Vn],["/converter/property-editor.converter",En],["/converter/items-count.converter",Hn],["/converter/type.converter",Nn],["/converter/change-editor.converter",In],["/converter/change-formatter.converter",jn],["/converter/column-command.converter",Pn],["/converter/column-option.converter",On],["/converter/summary.converter",$n],["/converter/group.converter",Rn],["/converter/form-group-label.converter",Un],["/converter/field-selector.converter",Ln],["/converter/pagination.converter",qn],["/converter/row-number.converter",Dn],["/converter/grid-selection.converter",An],["/converter/size.converter",zn],["/converter/change-formatter-enum.converter",Wn],["/converter/grid-sort.converter",Gn],["/converter/grid-filter.converter",_n],["/converter/row-option.converter",Xn]]),r=new Map([["string",{type:"input-group",enableClear:!1}],["boolean",{type:"combo-list",textField:"name",valueField:"value",idField:"value",enableClear:!1,editable:!1,data:[{value:!0,name:"是"},{value:!1,name:"否"}]}],["enum",{type:"combo-list",maxHeight:128,enableClear:!1,editable:!1}],["array",{type:"button-edit"}],["number",{type:"number-spinner",placeholder:""}],["events-editor",{type:"events-editor",hide:!0}]]),a=Mn();function l(f,h){return()=>a.parseValueSchema(f,h)}function p(f,h,C){return f.includes("visible")&&h.visible!==void 0?typeof h.visible=="boolean"?()=>!!h.visible:h.visible===void 0?!0:l(h.visible,C):()=>!0}function c(f,h,C){return f.includes("readonly")&&h.readonly!==void 0?typeof h.readonly=="boolean"?()=>!!h.readonly:l(h.readonly,C):()=>!1}function u(f,h){const C=f.$converter||h;return typeof C=="string"&&C&&i.has(C)?i.get(C)||null:C||null}function g(f,h,C,S,k,j="",y=""){return Object.keys(f).map(b=>{const w=o.ref(1),T=b,F=f[b],M=Object.keys(F),x=F.title,B=F.type,N=r.get(B)||{type:"input-group",enableClear:!1},E=F.editor?Object.assign({},N,F.editor):Object.assign({},N),$=p(M,F,h),H=c(M,F,h);E.readonly=E.readonly===void 0?H():E.readonly;const X=F.type==="cascade"?g(F.properties,h,C,S,k,j,y):[],O=!0;let P=u(F,y);const W=o.computed({get(){if(w.value){if(["class","style"].find(ce=>ce===T)&&!P&&(P=i.get("/converter/appearance.converter")||null),P&&P.convertFrom)return P.convertFrom(C,b,k,j);const re=C[b];return Object.prototype.hasOwnProperty.call(F,"defaultValue")&&(re===void 0||typeof re=="string"&&re==="")?F.type==="boolean"?F.defaultValue:F.defaultValue||"":re}return null},set(re){w.value+=1,P&&P.convertTo?(P.convertTo(S,b,re,k,j),P.convertTo(C,b,re,k,j)):(S[b]=re,C[b]=re)}}),{refreshPanelAfterChanged:D,description:ne,isExpand:ye,parentPropertyID:ve}=F,Y={propertyID:T,propertyName:x,propertyType:B,propertyValue:W,editor:E,visible:$,readonly:H,cascadeConfig:X,hideCascadeTitle:O,refreshPanelAfterChanged:D,description:ne,isExpand:ye,parentPropertyID:ve};return h[T]=Y,Y})}function d(f,h,C={}){const S={},k=t[f];return k&&k.categories?Object.keys(k.categories).map(y=>{const v=k.categories[y],b=v==null?void 0:v.title,w=g(v.properties||{},S,{},C,h);return{categoryId:y,categoryName:b,properties:w}}):[]}function m(f,h,C,S,k=""){const j=h.$ref.schema,y=h.$ref.converter,v=C[j],b=v.type,w=n(v),T={},F=t[b];if(F&&F.categories){const M=F.categories[f],x=M==null?void 0:M.title;y&&Object.keys(M.properties).forEach(E=>{M.properties[E].$converter=y});const B=(M==null?void 0:M.properties)||{},N=g(B,T,w,v,S,k);return{categoryId:f,categoryName:x,properties:N}}return{categoryId:f,categoryName:"",properties:[]}}function s(f,h,C,S,k){const j=f.type,y=n(f),v={};let b=k||t[j];if(b&&Object.keys(b).length===0&&C&&C.getPropConfig&&(b=C.getPropConfig(S)),b&&b.categories){const w=[];return Object.keys(b.categories).map(T=>{const F=b.categories[T];if(F.$ref){w.push(m(T,F,f,h,S));return}const M=F==null?void 0:F.title,x=F==null?void 0:F.tabId,B=F==null?void 0:F.tabName,N=F==null?void 0:F.hide,E=F==null?void 0:F.hideTitle,$=g(F.properties||{},v,y,f,h,S,F.$converter),{setPropertyRelates:H}=F,X=F==null?void 0:F.parentPropertyID;w.push({categoryId:T,categoryName:M,tabId:x,tabName:B,hide:N,properties:$,hideTitle:E,setPropertyRelates:H,parentPropertyID:X})}),w}return[]}return{getPropertyConfigBySchema:s,getPropertyConfigByType:d,propertyConverterMap:i}}const Wt={},Gt={};zt(Wt,Gt,Sn);const _t={},Xt={},{getSchemaByType:pa,resolveSchemaWithDefaultValue:Yn,resolveSchemaToProps:ma,mappingSchemaToProps:ga,setDesignerContext:ha}=At(_t,Xt),Yt={},Qt={};zt(Yt,Qt,Yn);function Le(t,e,n=new Map,i=(l,p,c,u)=>p,r={},a=l=>l){return Ht[e.title]=e,Ut[e.title]=i,Wt[e.title]=r,Gt[e.title]=a,_t[e.title]=e,Xt[e.title]=i,Yt[e.title]=r,Qt[e.title]=a,(l={},p=!0)=>{if(!p)return kn(l,n);const c=Tn(l,e,n),u=Object.keys(t).reduce((g,d)=>(g[d]=t[d].default,g),{});return Object.assign(u,c)}}function tt(t,e){return{customClass:e.class,customStyle:e.style}}const Qn=new Map([["appearance",tt]]);function Jn(t,e){const n=e==null?void 0:e.formSchemaUtils,i=t.parentComponentInstance,r="54bddc89-5f7e-4b91-9c45-80dd6606cfe9",a="70b4abd4-9f2c-4b7c-90e9-6ac6f4b74c72";function l(){const g=Ye.getSchemaByType(et.DgControl["content-container"].type),d=Ye.getSchemaByType(et.DgControl["filter-bar"].type);if(!g||!d)return;const m=Math.random().toString(36).substr(2,4);return Object.assign(g,{id:"filter-container-"+m,appearance:{class:"f-filter-container"},contents:[d]}),Object.assign(d,{id:"filter-"+m,fields:[]}),{filterBar:d,filterBarContainer:g}}function p(){const g=n.getViewModelById("root-viewmodel");let d;if(g&&g.commands){const h=g.commands.find(C=>C.handlerName==="Filter"&&C.cmpId===r);if(h){if(d=h,h.params&&h.params.length){const C=h.params.find(S=>S.name==="filter");C&&(C.value="")}}else d={id:he.useGuid().guid(),code:`${g.id.replace(/-/g,"").replace("component","").replace("viewmodel","")}Filter1`,name:"过滤并加载数据1",params:[{name:"filter",shownName:"过滤条件",value:"",defaultValue:null},{name:"sort",shownName:"排序条件",value:"",defaultValue:null}],handlerName:"Filter",cmpId:r},g.commands.push(d)}const m=n.getViewModelIdByComponentId(i.belongedComponentId),s=n.getViewModelById(m);let f;if(s&&s.commands){const h=s.commands.find(C=>C.handlerName==="Filter"&&C.cmpId===a);if(h){if(f=h,h.params&&h.params.length&&d){const C=h.params.find(k=>k.name==="commandName");C&&(C.value=d.code);const S=h.params.find(k=>k.name==="frameId");S&&(S.value="#{root-component}")}}else f={id:he.useGuid().guid(),code:`${s.id.replace(/-/g,"").replace("component","").replace("viewmodel","")}Filter1`,name:"过滤列表数据1",params:[{name:"commandName",shownName:"过滤回调方法",value:d.code},{name:"frameId",shownName:"目标组件",value:"#{root-component}"}],handlerName:"Filter",cmpId:a},s.commands.push(f)}return{filterInGridViewModel:f,filterInRootViewModel:d}}function c(g,d){const m=n.getCommands();if(!m)return;let s=m.find(h=>h.id===a);s||(s={id:a,path:"Gsp/Web/webcmp/bo-webcmp/metadata/webcmd",name:"ListController.webcmd",refedHandlers:[]},n.getCommands().push(s)),d&&!s.refedHandlers.find(h=>h.host===d.id)&&s.refedHandlers.push({host:d.id,handler:"Filter"});let f=m.find(h=>h.id===r);f||(f={id:r,path:"Gsp/Web/WebCmp/bo-webcmp/metadata/webcmd/data-commands",name:"LoadCommands.webcmd",refedHandlers:[]},n.getCommands().push(f)),g&&!f.refedHandlers.find(h=>h.host===g.id)&&f.refedHandlers.push({host:g.id,handler:"Filter"})}function u(){const{filterBar:g,filterBarContainer:d}=l(),{filterInRootViewModel:m,filterInGridViewModel:s}=p();g&&s&&(g.onQuery=s.code),c(m,s);const f=e==null?void 0:e.useFormCommand;return f&&f.checkCommands(),d}return{createFilterBar:u}}function Zn(t,e,n,i){if(n.parentComponentInstance&&i){const l=Jn(n,i).createFilterBar();if(l)return l}return e}const Kn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/filter-bar.schema.json",title:"filter-bar",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for filter-bar",type:"string"},type:{description:"The type string of filter-bar",type:"string",default:"filter-bar"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},defaultValues:{description:"",type:"array"},disable:{type:"string",default:!1},visible:{description:"",type:"boolean",default:!0},fields:{description:"",type:"array"}},required:["id","type"]},ut={data:{type:Array,default:[]},fields:{type:Array,default:[]},mode:{type:String,default:"editable"},visible:{type:Boolean,default:!0},disable:{type:Boolean,default:!1},resetText:{type:String,default:"清空"},showReset:{type:Boolean,default:!1}},xt=Le(ut,Kn,Qn,Zn);function Jt(t,e){const n=o.ref([]),i=o.ref([]),r=o.ref([]),a=o.ref("");o.ref(!1),o.ref(t.mode);const l=new Map,{createConditionValue:p}=Dt.useConditionValue(),c=gn.useCondition(t,e),{getFilterConditions:u}=c;function g(y){return!y.value.isEmpty()&&!!y.value.getDisplayText()}function d(y){const v={id:y.id,fieldCode:y.labelCode,fieldName:y.name,required:y.editor.required,editor:y.editor,value:p(y.controlType||"text")};return y.controlType==="lookup"?(v.value.valueField=y.editor.valueField,v.value.helpId=y.editor.helpId):y.controlType==="date-picker"?(v.value.displayFormat=y.editor.displayFormat||"yyyy-MM-dd",v.value.valueFormat=y.editor.valueFormat||"yyyy-MM-dd"):y.controlType==="datetime-picker"&&(v.value.displayFormat=y.editor.displayFormat||"yyyy-MM-dd HH:mm:ss",v.value.valueFormat=y.editor.valueFormat||"yyyy-MM-dd HH:mm:ss"),v}function m(y){i.value=t.fields.map(v=>{const b=K.cloneDeep(v);return b.editor.type||(b.editor.type=v.controlType),b.editor.type==="number-spinner"||b.editor.type==="number-range"?(b.editor.showZero=!0,b.editor.nullable=!0):b.editor.type==="combo-list"?b.editor.enableClear=!0:b.editor.type==="datetime-picker"&&(b.editor.type="date-picker",b.editor.showTime=!0),b}),i.value.reduce((v,b)=>v,l)}function s(y){r.value=i.value.map(v=>d(v))}function f(y,v){m(t.fields),s(t.data)}function h(y){r.value=r.value.filter(v=>v.id!==y.id),n.value=n.value.filter(v=>v.fieldCode!==y.fieldCode),i.value=i.value.filter(v=>v.id!==y.id),e.emit("remove",y.fieldCode)}function C(y){y.value.clear(),n.value=n.value.filter(v=>v.fieldCode!==y.fieldCode),e.emit("clear",y.fieldCode)}function S(){r.value.forEach(y=>y.value.clear())}function k(){r.value.forEach(y=>{y.value.clear()}),e.emit("reset")}f(t.fields,t.data);function j(){var b;const y=(b=r.value)==null?void 0:b.filter(w=>{var T;return!((T=w.value)!=null&&T.isEmpty())});return u(y,i.value)}return{clearAll:S,clearFilterItem:C,currentFilterId:a,filterFields:i,filterItems:r,loadFilterItems:f,removeFilterItem:h,reset:k,shouldShowClearButtonInFilterItem:g,handleQuery:j}}function eo(t,e){function n(){}return()=>o.createVNode("div",{class:"f-filter-list-ellipsis",onClick:i=>void 0},[o.createTextVNode("...")])}function to(t,e,n,i,r){const{filterFields:a,handleQuery:l}=r,p=o.ref(K.cloneDeep(i.value)),c=o.ref("更多筛选");function u(){n.value=!1,p.value=K.cloneDeep(i.value)}function g(){n.value=!1,i.value.forEach(s=>{const f=p.value.find(h=>h.id===s.id);f!=null&&f.value&&(s.value=f.value)});const m=l();e.emit("conditionChange",m)}function d(){return o.createVNode("div",null,[o.createVNode(Dt.FConditionFields,{fields:a.value,conditions:p.value},null),o.createVNode("div",null,[o.createVNode("button",{class:"btn btn-secondary",onClick:u},[o.createTextVNode("取消")]),o.createVNode("button",{class:"btn btn-primary",onClick:g},[o.createTextVNode("确定")])])])}return()=>o.createVNode(hn.FDrawer,{modelValue:n.value,"onUpdate:modelValue":m=>n.value=m,showClose:!1,width:480,closeByMask:!1,title:c.value},{content:d})}function Zt(t,e,n){const i=o.ref([]),r=o.ref("更多"),a=o.ref(t.resetText),l=o.ref(t.showReset),p=o.ref(!1),{clearAll:c,reset:u,filterItems:g,filterFields:d}=n;function m(){i.value=g.value.filter(k=>k.editor.isExtend)}m();const s=o.computed(()=>i.value&&i.value.length>0),f=o.computed(()=>l.value);function h(k){p.value=!0}function C(k){t.mode==="display-only"?c():u()}const S=to(t,e,p,i,n);return()=>o.createVNode("div",{class:"f-filter-toolbars"},[s.value&&o.createVNode("button",{class:"btn btn-link",onClick:k=>h()},[r.value]),f.value&&o.createVNode("button",{class:"btn btn-link",onClick:k=>C()},[a.value]),S()])}const no={filterItem:{type:Object,default:null},position:{type:Object,default:null}},oo=o.defineComponent({name:"FFilterBarItem",props:no,emits:["cancel","confirm"],setup(t,e){const n=o.ref(K.cloneDeep(t.filterItem)),i=o.ref(t.position),r={left:i.value.left,top:i.value.top};function a(u,g,d){u.value.editorType==="combo-list"&&d.newValue?u.value.valueList=d.newValue.map(m=>({name:m[u.editor.textField||"name"],value:m[u.editor.valueField||"value"]})):u.value.editorType==="radio-group"&&(u.value.valueList=[u.editor.data.find(m=>m.value===g)])}function l(){var d,m,s;const{editor:u}=n.value,g=n.value;return((d=g.value)==null?void 0:d.editorType)==="lookup"&&u?(u.idValue=(m=g.value.mapFields)==null?void 0:m.map(f=>f.id).join(","),u.onClear=()=>{g.value.mapFields=[],a(g,"")},u["onUpdate:dataMapping"]=f=>{g.value.mapFields=f.items,a(g,g.value.getValue())}):((s=g.value)==null?void 0:s.editorType)==="number-range"&&u&&(u.beginValue=g.value.begin,u.onBeginValueChange=f=>{g.value.begin=f,a(g,f)},u.endValue=g.value.end,u.onEndValueChange=f=>{g.value.end=f,a(g,f)}),o.createVNode(yn.FDynamicFormGroup,{label:"",editor:u,required:u==null?void 0:u.required,modelValue:g.value.value,"onUpdate:modelValue":f=>g.value.value=f,onChange:(f,h)=>a(g,f,h)},null)}function p(u){e.emit("cancel")}function c(u){u.stopPropagation(),e.emit("confirm",n.value)}return()=>o.createVNode("div",{class:"f-filter-panel-wrapper can-close",onClick:p},[o.createVNode("div",{class:"f-filter-panel",style:r},[o.createVNode("div",{class:"f-filter-panel-inner",onClick:u=>u.stopPropagation()},[o.createVNode("div",{class:"f-filter-panel-arrow",style:{left:i.value.arrowLeft,right:i.value.arrowRight}},null),l(),o.createVNode("div",{class:"f-filter-panel-footer ng-star-inserted"},[o.createVNode("div",{class:"filer-panel-clear"},[o.createVNode("button",{class:"btn btn-link",disabled:""},[o.createTextVNode("清空筛选")])]),o.createVNode("div",{class:"filter-panel-btns"},[o.createVNode("button",{class:"btn btn-secondary can-close",onClick:p},[o.createTextVNode("取消")]),o.createVNode("button",{class:"filter-panel-submit btn btn-primary",onClick:c},[o.createTextVNode("确定")])])])])])])}}),io={filterItem:{type:Object,default:null},useFilterItemsComposition:{type:Object,default:null},disabled:{type:Boolean,default:!1}},Kt=o.defineComponent({name:"FFilterBarItem",props:io,emits:["confirm"],setup(t,e){const n=o.ref(t.filterItem),{clearFilterItem:i,currentFilterId:r,removeFilterItem:a,shouldShowClearButtonInFilterItem:l}=t.useFilterItemsComposition,p=o.ref(t.disabled),c=o.ref(),u=o.ref(!1),g=function(){return{"f-filter-item":!0,"f-filter-item-actived":!n.value.value.isEmpty(),"f-filter-item-edit":n.value.id===r.value}};o.computed(()=>!p.value&&t.mode==="editable");function d(h){t.mode==="display-only"?a(n.value):i(n.value)}function m(h){var k;const C=(k=h.currentTarget)==null?void 0:k.getBoundingClientRect(),S=380;C.left>document.body.clientWidth-S-20?c.value={left:C.left+C.width-S+"px",top:C.top+C.height+"px",arrowLeft:"auto",arrowRight:"26px"}:c.value={left:C.left+"px",top:C.top+C.height+"px",arrowLeft:"26px",arrowRight:"auto"},u.value=!0}function s(){u.value=!1}function f(h){u.value=!1,n.value.value=h.value,e.emit("confirm",h)}return()=>o.createVNode("div",{key:n.value.id,id:n.value.id,class:g()},[o.createVNode("div",{class:"f-filter-item-inner",onClick:h=>m(h)},[n.value.editor.required&&o.createVNode("span",{class:"f-filter-item-required text-danger"},[o.createTextVNode("*")]),o.createVNode("span",{class:"f-filter-item-text"},[n.value.fieldName]),n.value.value.getDisplayText()&&o.createVNode(o.Fragment,null,[o.createVNode("span",{class:"f-filter-item-tip"},[o.createTextVNode(":")]),o.createVNode("span",{class:"f-filter-item-content"},[n.value.value.getDisplayText()])]),!p.value&&o.createVNode("span",{class:"f-filter-item-arrow f-icon f-icon-arrow-chevron-down"},null)]),l(n.value)&&o.createVNode("span",{class:"mr-3 f-filter-item-clear",onClick:h=>d()},[o.createVNode("span",{class:"f-icon f-icon-close-circle"},null)]),u.value&&o.createVNode(oo,{position:c.value,filterItem:n.value,onConfirm:f,onCancel:s},null)])}});function ro(t,e,n){const i=o.ref(null);function r(){var s,f;let p=!1;const c=(s=e.value)==null?void 0:s.children;if(!e.value||!t.value||!c||c.length===0)return;const u=(f=t.value.children[1])==null?void 0:f.clientWidth,g=t.value.clientWidth;let d=0,m=0;Array.from(c).forEach(h=>{h.style.display="block"});for(let h=0;h<c.length;h++){const C=c[h],S=C.offsetWidth;d+S<=g-30-u?(d+=S,m++):(C.style.display="none",p=!0)}return n.value=p,m}function a(){var c;if(!t.value||!e.value)return;(c=i.value)==null||c.unobserve(t.value);const p=e.value.children;Array.from(p).forEach(u=>{u.style.display="block"})}function l(){if(!e.value||!t.value)return;const p=new ResizeObserver(c=>{r()});return p.observe(t.value),i.value=p,p}return{setupWidthObserver:l,cancelWidthObserver:a}}const Ee=o.defineComponent({name:"FFilterBar",props:ut,emits:["clear","remove","reset","conditionChange","change"],setup(t,e){const n=o.ref(!0),i=o.ref(!1),r=o.ref(!1),a=o.ref(!1),l=o.ref(null),p=o.ref(null),c=Jt(t,e),u=ro(p,l,a),{cancelWidthObserver:g,setupWidthObserver:d}=u,{filterFields:m,filterItems:s,loadFilterItems:f,handleQuery:h}=c,C=o.computed(()=>({display:m.value&&m.value.length?"":"none"}));o.watch([()=>t.data,()=>t.fields],([F,M])=>{f(M,F)}),o.onMounted(()=>{d()});const S=o.computed(()=>i.value&&n.value),k=o.computed(()=>({"f-filter-list":!0,"f-filter-list-extend":S.value})),j=o.computed(()=>({'"extend-btn-arrow':!0,"f-icon":!0,"f-icon-arrow-chevron-up":i.value,"f-icon-arrow-chevron-down":!i.value})),y=o.computed(()=>s.value.length>0);o.computed(()=>r.value&&!i.value&&a.value);const v=Zt(t,e,c);function b(F){e.emit("change",F);const M=h();e.emit("conditionChange",M)}function w(){return o.createVNode("div",{class:k.value,ref:l},[s.value.map((F,M)=>!F.editor.isExtend&&o.createVNode(Kt,{filterItem:F,useFilterItemsComposition:c,onConfirm:b},null)),i.value&&v()])}function T(){i.value=!i.value,i.value?g():d()}return()=>o.createVNode("div",{class:"f-filter-wrapper",style:C.value},[o.createVNode("div",{class:"f-filter-wrapper-inner f-utils-fill"},[o.createVNode("div",{class:"f-filter-main f-utils-fill",ref:p},[o.createVNode("div",{class:"f-filter-list-wrapper d-flex w-100"},[y.value&&w()]),!i.value&&v()]),a.value&&o.createVNode("div",{class:"f-filter-extend-btn"},[o.createVNode("button",{class:"btn btn-link",onClick:T},[o.createVNode("span",{class:"extend-btn-text"},[i.value?"收折":"展开"]),o.createVNode("span",{class:j.value},null)])])])])}}),ao=o.ref(0);function lo(){ao.value++}const dt=o.ref(0);function so(t){const{formSchemaUtils:e,formStateMachineUtils:n}=t;function i(c,u=""){return{path:u+c.code,field:c.id,fullPath:c.code}}function r(c,u=""){return e.getViewModelById(c).states.map(d=>i(d,u))}function a(c){const u=e.getRootViewModelId(),g=r(c);if(c===u)return g;const d=r(u,"root-component.");return[...g,...d]}function l(c){return c.binding&&c.binding.path||c.id||""}function p(){return n&&n.getRenderStates()||[]}return{getVariables:a,getControlName:l,getStateMachines:p}}class en{constructor(e){G(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'"}]);G(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});G(this,"getExpressionConverter",(e,n)=>({convertFrom:(i,r,a,l)=>{const p=a.getExpressionRuleValue(e,n||r);return p&&p.value||""},convertTo:(i,r,a,l,p)=>{var c;if(r==="dataPicking"&&(a!=null&&a.target)){const u=`${a.target}_dataPicking`;((c=a.rules)==null?void 0:c.some(d=>d.id===u&&d.value))?i.dictPickingExpressionId=u:delete i.dictPickingExpressionId}l.updateExpression(a)}}));this.formSchemaService=e}getExpressionRule(e,n){const i=this.formSchemaService.getExpressions();if(!i)return"";const r=i.find(l=>l.target===e);if(!r)return"";const a=r.rules.find(l=>l.type===n);return a||""}getContextFormVariables(){const{module:e}=this.formSchemaService.getFormSchema();if(!e.viewmodels||e.viewmodels.length===0)return[];const n=this.formSchemaService.getRootViewModelId(),i=this.formSchemaService.getViewModelById(n);if(!i||!i.states||i.states.length===0)return[];const r=[];return i.states.forEach(a=>{r.push({key:a.code,name:a.name,description:a.name,category:a.category})}),r}createTreeNode(e,n,i="label"){return{id:e.id,name:e.name,bindingPath:e[i],parents:n,type:"field"}}buildEntityFieldsTreeData(e=null,n){const i=[];return e==null||e.forEach(r=>{var p;const a=this.createTreeNode(r,n);let l=[];(p=r.type)!=null&&p.fields&&(l=this.buildEntityFieldsTreeData(r.type.fields,[...n,r.label])),i.push({data:a,children:l,expanded:!0})}),i}buildChildEntityTreeData(e=null,n){const i=[];return e==null||e.forEach(r=>{var c,u;const a=this.createTreeNode(r,n);a.type="entity";const l=this.buildEntityFieldsTreeData((c=r.type)==null?void 0:c.fields,[...n,r.label]),p=this.buildChildEntityTreeData((u=r.type)==null?void 0:u.entities,[...n,r.label]);p!=null&&p.length&&(l==null||l.push(...p)),i.push({data:a,children:l||[],expanded:!0})}),i}getEntitiesTreeData(){const e=this.formSchemaService.getSchemaEntities();if(!(e!=null&&e.length))return[];const n=e[0];if(!(n!=null&&n.type))return[];const i=this.buildEntityFieldsTreeData(n.type.fields,[n.code]),r=this.buildChildEntityTreeData(n.type.entities,[n.code]);return r!=null&&r.length&&(i==null||i.push(...r)),{entityCode:n.code,fields:[{data:this.createTreeNode(n,[],"code"),children:i||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(e,n,i){const r=i==="Field"?e.binding.field:e.id,a=this.getExpressionRule(r,n),l=this.getEntitiesAndVariables(),p={message:["validate","required","dataPicking"].includes(n)&&a?a.message:"",...l};return a.messageType!=null&&(p.messageType=a.messageType),p}buildRule(e,n,i,r){const{expression:a,message:l,messageType:p}=n,c={id:`${e}_${i}`,type:i,value:a};return(i==="validate"||i==="dataPicking"||i==="required")&&(c.message=l),i==="dataPicking"&&(c.messageType=p),i==="validate"&&r&&(c.elementId=r),c}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,n,i,r){const a=n==="Field"?e.binding.field:e.id,l=this.buildRule(a,i,r,e.type==="form-group"?e.id:"");let c=this.getExpressionData().find(g=>g.targetType===n&&g.target===a);const u=g=>g.value.trim()==="";if(c){const g=c.rules.find(d=>d.id===l.id);if(g)u(l)?c.rules=c.rules.filter(d=>d.id!==l.id):(Object.assign(g,l),r==="validate"&&e.type==="form-group"&&(g.elementId=e.id));else{if(u(l))return null;c.rules=c.rules||[],c.rules.push(l)}}else{if(u(l))return null;c={target:`${a}`,rules:[l],targetType:n}}return c}getExpressionEditorOptions(e,n,i,r){return i.reduce((a,l)=>{var c,u;const p=n==="Field"?(c=e==null?void 0:e.binding)==null?void 0:c.field:e.id;return a[l]={hide:n==="Field"?!!((u=e==null?void 0:e.binding)!=null&&u.field):!1,description:"",title:this.expressionNames[l],type:"string",$converter:this.getExpressionConverter(p),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[l]}编辑器`,showMessage:l==="validate"||l==="dataPicking"||l==="required",showMessageType:l==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(e,l,n),onSubmitModal:g=>{const d=this.updateExpression(e,n,g,l);if(r){const m=this.buildRule(p,g,l);r(m)}return d}}},a},{})}getExpressionInfo(e,n,i){const r=n==="Field"?e.binding.field:e.id,a=this.getExpressionRule(r,i),l={value:a&&a.value,targetId:r,targetType:n,expressionType:i};return a&&a.message&&(l.message=a.message),l}getExpressionConfig(e,n,i=["compute","dependency","validate"],r){return{description:"表达式",title:"表达式",hide:!e.binding,properties:{...this.getExpressionEditorOptions(e,n,i,r)}}}getExpressionOptions(e,n,i){const r=this.getExpressionInfo(e,n,i);return{dialogTitle:`${this.expressionNames[i]}编辑器`,singleExpand:!1,showMessage:i==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,i,n),expressionInfo:r}}}class co{constructor(e,n){G(this,"componentId");G(this,"viewModelId");G(this,"eventsEditorUtils");G(this,"formSchemaUtils");G(this,"formMetadataConverter");G(this,"designViewModelUtils");G(this,"designViewModelField");G(this,"controlCreatorUtils");G(this,"designerHostService");G(this,"designerContext");G(this,"schemaService",null);G(this,"metadataService",null);G(this,"propertyConfig",{type:"object",categories:{}});var i;this.componentId=e,this.designerHostService=n,this.eventsEditorUtils=n.eventsEditorUtils,this.formSchemaUtils=n.formSchemaUtils,this.formMetadataConverter=n.formMetadataConverter,this.viewModelId=((i=this.formSchemaUtils)==null?void 0:i.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 i;const n=e.binding&&e.binding.type==="Form"&&e.binding.field;if(n){if(!this.designViewModelField){const r=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=r.fields.find(a=>a.id===n)}e.updateOn=(i=this.designViewModelField)==null?void 0:i.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:R[e.type]&&R[e.type].name}]}}}}}getAppearanceConfig(e=null,n={},i){const r={title:"外观",description:"Appearance"},a={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"}};for(const l in n)a[l]=Object.assign(a[l]||{},n[l]);return{...r,properties:{...a},setPropertyRelates(l,p){if(l){switch(l&&l.propertyID){case"class":case"style":{dt.value++;break}}i&&i(l,e,p)}}}}getPropertyEditorParams(e,n=[],i="visible",r={},a={}){const{getVariables:l,getControlName:p,getStateMachines:c}=so(this.designerHostService),u=this.getRealTargetType(e),g=n&&n.length>0?n:["Const","Variable","StateMachine","Expression"],d={type:"property-editor",propertyTypes:g};return g.map(m=>{switch(m){case"Const":Object.assign(d,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},r);break;case"Expression":d.expressionConfig=this.getExpressionOptions(e,u,i);break;case"StateMachine":d.stateMachines=c();break;case"Variable":Object.assign(d,{controlName:p(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:l(this.viewModelId),onBeforeOpenVariables:s=>{s.value=l(this.viewModelId)}},a);break}}),d}getVisibleProperty(e,n=""){var a;let i=["Const","Variable","StateMachine","Expression"];return n==="gridFieldEditor"?i=["Const","Expression"]:n==="form-group"&&!((a=e.binding)!=null&&a.field)&&(i=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,i,"visible")}}}getBehaviorConfig(e,n="",i={},r){const a={title:"行为",description:""},l=this.getVisibleProperty(e,n);for(const c in i)l[c]=Object.assign(l[c]||{},i[c]);const p=this;return{...a,properties:{...l},setPropertyRelates(c,u){if(c){switch(c.propertyID){case"disabled":case"readonly":case"visible":p.afterMutilEditorChanged(e,c);break}r&&r(c,u)}}}}afterMutilEditorChanged(e,n){this.addNewVariableToViewModel(n,this.viewModelId),this.updateExpressionValue(n),this.clearExpression(n,e)}updateElementByParentContainer(e,n){const i=n&&n.parent&&n.parent.schema;if(!i)return;const r=i.contents.findIndex(l=>l.id===e),a=K.cloneDeep(i.contents[r]);i.contents.splice(r,1),i.contents.splice(r,0,a),lo()}addNewVariableToViewModel(e,n){const i=e.propertyValue;if(!(i&&typeof i=="object")||!(i.type==="Variable"&&i.isNewVariable))return;const l={id:i.field,category:"locale",code:i.fullPath,name:i.fullPath,type:i.newVariableType||"String"};delete i.newVariableType,delete i.isNewVariable,this.formSchemaUtils.getVariableByCode(l.code)||this.formSchemaUtils.getViewModelById(n).states.push(l)}updateExpressionValue(e){const n=e.propertyValue;if(!((n&&n.type)==="Expression"&&n.expressionInfo))return;const{expressionId:a,expressionInfo:l}=n,{targetId:p,targetType:c,expressionType:u,value:g,message:d}=l,m=this.formSchemaUtils.getModule();m.expressions=m.expressions||[];const{expressions:s}=m;let f=s.find(C=>C.target===p);f||(f={target:p,rules:[],targetType:c},s.push(f));const h=f.rules.find(C=>C.type===u);if(h)h.value=g,h.message=d;else{const C={id:a,type:u,value:g,message:d};f.rules.push(C)}delete n.expressionInfo}clearExpression(e,n){const i=e.propertyValue;if(i&&i.type==="Expression")return;const a=e.propertyID,l=this.formSchemaUtils.getExpressions(),p=n.binding?n.binding.field:n.id,c=l.find(u=>u.target===p);!c||!c.rules||(c.rules=c.rules.filter(u=>u.type!==a))}getExpressionOptions(e,n,i){return new en(this.formSchemaUtils).getExpressionOptions(e,n,i)}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:i=>{var r;((r=i.controller)==null?void 0:r.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(i)}}},n}}const Je=class Je{static getEditorTypesByMDataType(e,n=!1,i=""){if(n)return[{key:R["language-textbox"].type,value:R["language-textbox"].name}];let r=Je.fieldControlTypeMapping[e];if(i==="data-grid-column"&&(r!=null&&r.length)){const a=[R["check-group"].type,R["radio-group"].type];r=r.filter(l=>!a.includes(l.key))}return r}static getAllInputTypes(){const e=[];for(const n in Je.fieldControlTypeMapping)Je.fieldControlTypeMapping[n].forEach(i=>{e.find(r=>r.key===i.key&&r.value===i.value)||e.push({key:i.key,value:i.value})});return e}static mappingDomPropAndSchemaProp(e,n){var a;const i=(a=e.editor)==null?void 0:a.type,r=[];return(e.type===R["data-grid-column"].type||e.type===R["tree-grid-column"].type)&&n&&n.categoryId&&n.categoryId.indexOf("gridFieldEditor")<0&&r.push({domField:"title",schemaField:"name"}),r.push({domField:"label",schemaField:"name"}),r.push({domField:"editor.required",schemaField:"require"}),r.push({domField:"editor.readonly",schemaField:"readonly"}),(i===R["input-group"].type||i===R.textarea.type||i===R["number-spinner"].type)&&r.push({domField:"editor.maxLength",schemaField:"type.length"}),i===R["number-spinner"].type&&r.push({domField:"editor.precision",schemaField:"type.precision"}),(e.type===R["data-grid-column"].type||e.type===R["tree-grid-column"].type)&&r.push({domField:"formatter.precision",schemaField:"type.precision"}),(i===R["combo-list"].type||i===R["radio-group"].type)&&r.push({domField:"editor.data",schemaField:"type.enumValues"}),(e.type===R["data-grid-column"].type||e.type===R["tree-grid-column"].type)&&r.push({domField:"formatter.data",schemaField:"type.enumValues"}),i===R["date-picker"].type&&(r.push({domField:"editor.displayFormat",schemaField:"editor.format"}),r.push({domField:"editor.fieldType",schemaField:"type.name"})),i===R["number-spinner"].type&&(r.push({domField:"editor.max",schemaField:"editor.maxValue"}),r.push({domField:"editor.min",schemaField:"editor.minValue"})),i===R.lookup.type&&(r.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),r.push({domField:"editor.valueField",schemaField:"editor.valueField"}),r.push({domField:"editor