@farris/ui-vue 1.7.4 → 1.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/components/avatar/index.esm.js +2 -2
  2. package/components/avatar/index.umd.cjs +1 -1
  3. package/components/component/index.esm.js +102 -102
  4. package/components/component/index.umd.cjs +1 -1
  5. package/components/data-grid/index.esm.js +4 -2
  6. package/components/data-grid/index.umd.cjs +1 -1
  7. package/components/data-view/index.esm.js +393 -392
  8. package/components/data-view/index.umd.cjs +1 -1
  9. package/components/designer-canvas/index.esm.js +102 -102
  10. package/components/designer-canvas/index.umd.cjs +1 -1
  11. package/components/filter-bar/index.esm.js +2 -2
  12. package/components/filter-bar/index.umd.cjs +1 -1
  13. package/components/image/index.esm.js +2 -2
  14. package/components/image/index.umd.cjs +1 -1
  15. package/components/mapping-editor/index.esm.js +4 -2
  16. package/components/mapping-editor/index.umd.cjs +1 -1
  17. package/components/number-range/index.esm.js +156 -156
  18. package/components/number-range/index.umd.cjs +1 -1
  19. package/components/property-panel/index.esm.js +2 -2
  20. package/components/property-panel/index.umd.cjs +1 -1
  21. package/components/response-layout-editor/index.esm.js +1 -1
  22. package/components/response-layout-editor/index.umd.cjs +1 -1
  23. package/components/tree-grid/index.esm.js +1 -1
  24. package/components/tree-grid/index.umd.cjs +1 -1
  25. package/designer/data-grid/index.esm.js +62 -61
  26. package/designer/data-grid/index.umd.cjs +2 -2
  27. package/designer/farris-designer.all.esm.js +351 -349
  28. package/designer/farris-designer.all.umd.cjs +4 -4
  29. package/designer/radio-group/index.esm.js +2 -2
  30. package/designer/radio-group/index.umd.cjs +1 -1
  31. package/designer/response-layout-editor/index.esm.js +1 -1
  32. package/designer/response-layout-editor/index.umd.cjs +1 -1
  33. package/designer/tabs/index.esm.js +142 -142
  34. package/designer/tabs/index.umd.cjs +1 -1
  35. package/designer/time-picker/index.esm.js +2 -2
  36. package/designer/time-picker/index.umd.cjs +1 -1
  37. package/designer/tree-grid/index.esm.js +1 -1
  38. package/designer/tree-grid/index.umd.cjs +1 -1
  39. package/farris.all.esm.js +2821 -2819
  40. package/farris.all.umd.cjs +25 -25
  41. package/package.json +1 -1
  42. package/types/combo-list/src/property-config/combo-list.property-config.d.ts +2 -14
  43. package/types/data-view/composition/types.d.ts +1 -1
@@ -1710,7 +1710,7 @@ class Mt extends Et {
1710
1710
  * 获取可选的编辑器类型
1711
1711
  */
1712
1712
  getAvailableEditorType(e) {
1713
- var s;
1713
+ var s, l;
1714
1714
  const n = this.checkCanChangeControlType(e, this.viewModelId);
1715
1715
  if (!n)
1716
1716
  return {
@@ -1721,7 +1721,7 @@ class Mt extends Et {
1721
1721
  }]
1722
1722
  };
1723
1723
  let r = [];
1724
- return this.designViewModelField && this.designViewModelField.$type === le.SimpleField ? r = Y.getEditorTypesByMDataType(this.designViewModelField.type.name, this.designViewModelField.multiLanguage) : this.bindingVarible && (r = Y.getEditorTypesByMDataType(this.bindingVarible.type, this.designViewModelField.multiLanguage)), { canChangeControlType: n, editorTypeList: r };
1724
+ return this.designViewModelField && this.designViewModelField.$type === le.SimpleField ? r = Y.getEditorTypesByMDataType(this.designViewModelField.type.name, this.designViewModelField.multiLanguage) : this.bindingVarible && (r = Y.getEditorTypesByMDataType(this.bindingVarible.type, !!((l = this.designViewModelField) != null && l.multiLanguage))), { canChangeControlType: n, editorTypeList: r };
1725
1725
  }
1726
1726
  changeBindingField(e, n, r) {
1727
1727
  n.needRefreshEntityTree = !0;
@@ -1,4 +1,4 @@
1
- (function(P,s){typeof exports=="object"&&typeof module<"u"?s(exports,require("vue"),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("../notify/index.umd.js"),require("../locale/index.umd.js"),require("lodash-es"),require("../dynamic-form/index.umd.js"),require("../radio-group/index.umd.js"),require("../combo-list/index.umd.js"),require("../designer-canvas/index.umd.js/")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js","../condition/index.umd.js","../query-solution/index.umd.js","../notify/index.umd.js","../locale/index.umd.js","lodash-es","../dynamic-form/index.umd.js","../radio-group/index.umd.js","../combo-list/index.umd.js","../designer-canvas/index.umd.js/"],s):(P=typeof globalThis<"u"?globalThis:P||self,s(P["filter-bar"]={},P.Vue,P.dynamicResolver,P.designerCanvas,P.common,P.condition,P.querySolution,P.notify,P.locale,P.LodashES,P.dynamicForm,P.radioGroup,P.comboList,P._))})(this,function(P,s,$,h,W,Q,K,we,te,z,ee,Ie,ie,xe){"use strict";var Vt=Object.defineProperty;var Et=(P,s,$)=>s in P?Vt(P,s,{enumerable:!0,configurable:!0,writable:!0,value:$}):P[s]=$;var V=(P,s,$)=>Et(P,typeof s!="symbol"?s+"":s,$);const ne=new Map([["appearance",$.resolveAppearance]]);function Ve(i,t){const e=t==null?void 0:t.formSchemaUtils,n=i.parentComponentInstance,r="54bddc89-5f7e-4b91-9c45-80dd6606cfe9";function l(){const f=$.getSchemaByType(h.DgControl["content-container"].type),u=$.getSchemaByType(h.DgControl["filter-bar"].type);if(!f||!u)return;const o=Math.random().toString(36).substr(2,4);Object.assign(f,{id:"filter-container-"+o,appearance:{class:"f-filter-container"},contents:[u]}),Object.assign(u,{id:"filter-"+o,fields:[]});const c=n.belongedComponentId,y=e.getViewModelIdByComponentId(c),p=e.getViewModelById(y);return p!=null&&p.states&&(p.states.find(m=>m.code==="originalFilterConditionList")||p.states.push({id:W.useGuid().guid(),category:"locale",code:"originalFilterConditionList",name:"筛选条过滤条件",type:"String"})),{filterBar:u,filterBarContainer:f}}function a(){const f=e.getViewModelIdByComponentId(n.belongedComponentId),u=e.getViewModelById(f);let o;if(u&&u.commands){if(o=u.commands.find(c=>c.handlerName==="Filter"&&c.cmpId===r),!o)o={id:W.useGuid().guid(),code:`${u.id.replace(/-/g,"").replace("component","").replace("viewmodel","")}Filter1`,name:"过滤并加载数据1",params:[{name:"filter",shownName:"过滤条件",value:`{UISTATE~/#{${n.belongedComponentId}}/originalFilterConditionList}`,defaultValue:null},{name:"sort",shownName:"排序条件",value:"",defaultValue:null}],handlerName:"Filter",cmpId:r},u.commands.push(o);else if(o.params&&o.params.length){const c=o.params.find(y=>y.name==="filter");c&&(c.value=`{UISTATE~/#{${n.belongedComponentId}}/originalFilterConditionList}`)}}return{filterInGridViewModel:o}}function g(f){const u=e.getCommands();if(!u)return;let o=u.find(c=>c.id===r);o||(o={id:r,path:"igix/Web/WebCmp/bo-webcmp/metadata/webcmd/data-commands",name:"LoadCommands.webcmd",refedHandlers:[]},e.getCommands().push(o)),f&&!o.refedHandlers.find(c=>c.host===f.id)&&o.refedHandlers.push({host:f.id,handler:"Filter"})}function d(){const{filterBar:f,filterBarContainer:u}=l(),{filterInGridViewModel:o}=a();f&&o&&(f.onQuery=o.code),g(o);const c=t==null?void 0:t.useFormCommand;return c&&c.checkCommands(),u}return{createFilterBar:d}}function re(i,t,e,n){if(e.parentComponentInstance&&n){const a=Ve(e,n).createFilterBar();if(a)return a}return t}const oe={$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"},disabled:{type:"boolean",default:!1},visible:{description:"",type:"boolean",default:!0},fields:{description:"",type:"array"},resetText:{description:"",type:"string"}},required:["id","type"],events:{onQuery:"查询事件"}},H={defaultValues:{type:Array,default:[]},fields:{type:Array,default:[]},mode:{type:String,default:"editable"},visible:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},resetText:{type:String,default:"清空筛选"},customClass:{type:String,default:""},customStyle:{type:String,default:""}},le=$.createPropsResolver(H,oe,ne,re);function X(){const{getLocaleValue:i}=te.LocaleService;return{confirm:i("filterBar.confirm"),cancel:i("filterBar.cancel"),advancedFilter:i("filterBar.advancedFilter"),clearAll:i("filterBar.clearAll"),expand:i("filterBar.expand"),fold:i("filterBar.fold"),require:i("filterBar.require")}}function Ee(i){return te.LocaleService.getRealPropertyValue(i,"清空筛选","filterBar.reset")}function Se(i,t,e,n){const r=s.ref([]),l=s.ref([]),a=s.ref([]),g=s.ref("");s.ref(i.mode);const d=new Map,{createConditionValue:f}=Q.useConditionValue(),{convertToControls:u}=Q.useConditionUtils("filter-bar"),o=K.useCondition(i,t),{getFilterConditions:c}=o,{fieldToCondition:y,judgeLoadNewValue:p}=K.useSolutionUtils(),m=new we.FNotifyService,b=X();let v="[]";function C(w){return!i.disabled&&!w.value.isEmpty()}function k(w){l.value=u(w),l.value.reduce((T,L)=>(T.set(L.labelCode,L),T),d)}function N(w){const T=Array.isArray(w)?w:[];a.value=l.value.map(L=>{const x=T.find(I=>I.id===L.id);if(x){const I=y(L,x.value);return p(I,L)&&I.value.clear(),I}return y(L)})}function E(w){a.value=a.value.filter(T=>T.id!==w.id),r.value=r.value.filter(T=>T.fieldCode!==w.fieldCode),l.value=l.value.filter(T=>T.id!==w.id),t.emit("remove",w.fieldCode)}function M(){var w;i.disabled?e.value=!1:e.value=((w=a.value)==null?void 0:w.findIndex(T=>{var L;return T.value&&!((L=T.value)!=null&&L.isEmpty())}))>-1}function j(w,T=[]){const L=JSON.stringify(w||[]);L!==v&&(t.emit("conditionChange",w),v=L,T.length===0&&t.emit("query",w))}function D(){var x;M();const w=[];(a.value||[]).map(I=>{I.required&&(!I.value||I.value.isEmpty())&&w.push(I.fieldName||"")});const T=(x=a.value)==null?void 0:x.filter(I=>{var U;return I.value&&!((U=I.value)!=null&&U.isEmpty())});if(w.length>0){m.warning({message:b.require.replace("[fields]",w.join(",")),position:"top-center"});return}const L=c(T,l.value);j(L,w)}function S(w,T,L=!0){k(w),N(T),L&&D()}function F(w){w.value.clear(),r.value=r.value.filter(T=>T.fieldCode!==w.fieldCode),t.emit("clear",w.fieldCode),D()}function A(){a.value.forEach(w=>w.value.clear())}function O(){a.value.forEach(w=>{w.value.clear()}),t.emit("reset"),D(),n.resizeFilerBar()}return{clearAll:A,clearFilterItem:F,currentFilterId:g,filterFields:l,filterItems:a,fieldMap:d,loadFilterItems:S,removeFilterItem:E,reset:O,shouldShowClearButtonInFilterItem:C,handleQuery:D}}function Te(i,t,e,n){const r=s.ref([]),l=X(),a=s.ref(l.advancedFilter),g=s.ref(Ee(i.resetText)),d=s.ref(!1),{clearAll:f,reset:u,filterItems:o}=e;function c(){r.value=o.value.filter(b=>b.isExtend)}c();const y=s.computed(()=>r.value&&r.value.length>0);function p(b){d.value=!0}function m(b){i.mode==="display-only"?f():u()}return()=>s.createVNode("div",{class:"f-filter-toolbars"},[y.value&&s.createVNode("button",{class:"btn btn-link",onClick:b=>p()},[a.value]),n.value&&s.createVNode("button",{class:"btn btn-link",onClick:b=>m()},[g.value])])}const Me={filterItem:{type:Object,default:null},position:{type:Object,default:null},reference:{type:Object}},Pe=Object.assign({},Ie.radioGroupProps),ke=s.defineComponent({name:"FFilterRadioGroup",props:Pe,emits:["update:modelValue","change"],setup(i,t){const e=s.ref(),{dataSource:n,displayText:r,modelValue:l}=ie.useDataSource(i,t);function a(g){r.value=g.map(f=>f[i.textField]).join(i.separator);let d="";g.length===1?d=g[0][i.valueField]:d=g.map(f=>f[i.valueField]).join(i.separator),l.value!==d&&(l.value=d,t.emit("update:modelValue",l.value),t.emit("change",l.value))}return()=>s.createVNode(ie.FComboListContainer,{style:"margin: -2px -15px;padding: 0;",ref:e,idField:i.valueField,valueField:i.valueField,textField:i.textField,titleField:i.titleField,dataSource:n.value,selectedValues:l.value,multiSelect:!1,enableSearch:!1,onSelectionChange:g=>{a(g)}},null)}}),Ne=s.defineComponent({name:"FFilterBarItemCondition",props:Me,emits:["cancel","confirm","clearFilter"],setup(i,t){const e=s.ref(z.cloneDeep(i.filterItem)),n=s.ref(),r=X(),l=s.ref("0px"),a=s.ref("0px"),g=s.ref("0px"),d=s.ref("auto"),f=s.computed(()=>({left:d.value==="auto"?"26px":"auto",right:d.value})),u=s.computed(()=>({left:l.value,top:a.value})),o=s.computed(()=>({width:g.value==="0px"?null:g.value,maxWidth:g.value==="0px"?null:g.value})),c=s.ref(),{useFilterItemsComposition:y,resolveEditorProps:p}=s.inject("useFilterItemsComposition"),{fieldMap:m}=y,{renderFieldConditionEditor:b,conditionChangeHandler:v}=Q.useConditionUtils("filter-bar"),C=s.ref("");let k=!1,N={};const E=s.ref(!0);function M(){var R,Y;if(!i.reference||!c.value)return;const x=(R=i.reference)==null?void 0:R.getBoundingClientRect();let I=(Y=c.value)==null?void 0:Y.getBoundingClientRect().width;const U=document.body.clientWidth-x.x-30,B=document.body.clientWidth-x.y-30;I>U&&I>B&&(I=Math.max(U,B)),x.left>document.body.clientWidth-I-20?(l.value=x.left+x.width-I+"px",a.value=x.top+x.height+"px",d.value="26px"):(l.value=x.left+"px",a.value=x.top+x.height+"px",d.value="auto"),g.value=I+"px"}function j(x,I,U,B){k=!0,N={value:I,editor:U,option:B}}function D(){if(!n.value)return!1;const x=n.value.parentElement,I=Array.from(x.children);return I?!!I.find(B=>!B||!B.classList?!1:B.classList.contains("popover")&&B.style.visibility==="visible"):!1}function S(x,I,U,B){v(x,I,U,B),t.emit("confirm",e.value)}function F(){const{id:x,editor:I,needEmitChange:U}=b(m,e.value,j);if(C.value="filter-panel--"+I.type,I.type==="radio-group"){const B=p(I.type,I);return E.value=!1,s.createVNode(ke,s.mergeProps(B,{modelValue:e.value.value.value,"onUpdate:modelValue":R=>e.value.value.value=R,onChange:R=>{S(e.value,R,I)}}),{default:()=>[s.createTextVNode(" ")]})}return s.createVNode(ee.FDynamicFormGroup,{showLabelType:"force-none",id:x,key:x,editor:I,modelValue:e.value.value.value,"onUpdate:modelValue":B=>e.value.value.value=B,onChange:(B,R)=>{U&&j(e.value,B,I,R)}},null)}s.onMounted(()=>{M()});function A(x){const I=C.value.replace("filter-panel--","");["input","radio-group","switch"].findIndex(U=>U===I)>-1?t.emit("cancel"):D()||t.emit("cancel")}function O(x){x.stopPropagation(),k&&v(e.value,N.value,N.editor,N.option),t.emit("confirm",e.value)}function w(x){e.value.value.clear(),x.stopPropagation(),t.emit("confirm",e.value)}function T(){const x=W.getMaxZIndex();return{zIndex:Math.max(x,1050)}}const L=T();return()=>s.createVNode("div",{class:"f-filter-panel-wrapper can-close",ref:n,onClick:A,style:{zIndex:L}},[s.createVNode("div",{class:"f-filter-panel "+C.value,ref:c,style:u.value},[s.createVNode("div",{class:"f-filter-panel-inner",style:o.value,onClick:x=>x.stopPropagation()},[s.createVNode("div",{class:"f-filter-panel-arrow",style:f.value},null),F(),E.value&&s.createVNode("div",{class:"f-filter-panel-footer"},[s.createVNode("div",{class:"filter-panel-clear"},[s.createVNode("button",{class:"btn btn-link",onClick:w,style:"padding-left:0;"},[r.clearAll])]),s.createVNode("div",{class:"filter-panel-btns"},[s.createVNode("button",{class:"btn btn-secondary can-close",onClick:A},[r.cancel]),s.createVNode("button",{class:"filter-panel-submit btn btn-primary",onClick:O},[r.confirm])])])])])])}}),se={filterItem:{type:Object,default:null},disabled:{type:Boolean,default:!1}},Be=s.defineComponent({name:"FFilterBarItem",props:se,emits:["confirm"],setup(i,t){const e=s.ref(i.filterItem),{useFilterItemsComposition:n}=s.inject("useFilterItemsComposition"),{clearFilterItem:r,currentFilterId:l,removeFilterItem:a,shouldShowClearButtonInFilterItem:g}=n,d=s.ref(!1),f=s.ref(!1),u=s.ref(),o=s.ref(""),c=s.ref(),y=function(){return{"f-filter-item":!0,"f-state-disabled":i.disabled,"f-filter-item-actived":!e.value.value.isEmpty(),"f-filter-item-edit":e.value.id===l.value||d.value}};s.computed(()=>!i.disabled&&i.mode==="editable");function p(E){i.disabled||(i.mode==="display-only"?a(e.value):r(e.value))}function m(E){i.disabled||(d.value=!0)}function b(){d.value=!1}function v(){c.value&&c.value.scrollWidth>c.value.clientWidth?o.value=c.value.innerHTML:o.value=""}function C(E){d.value=!1,e.value.value=E.value,t.emit("confirm",E),s.nextTick(()=>{v()})}function k(){f.value=i.disabled?!1:g(e.value)}function N(){f.value=!1}return s.onMounted(()=>{v()}),()=>s.createVNode("div",{key:e.value.id,id:e.value.id,class:y(),onMouseenter:()=>k(),onMouseleave:()=>N()},[s.createVNode("div",{class:"f-filter-item-inner",ref:u,onClick:E=>m()},[e.value.required&&s.createVNode("span",{class:"f-filter-item-required text-danger"},[s.createTextVNode("*")]),s.createVNode("span",{class:"f-filter-item-text"},[e.value.fieldName]),!e.value.value.isEmpty()&&s.createVNode(s.Fragment,null,[s.createVNode("span",{class:"f-filter-item-tip"},[s.createTextVNode(":")]),s.createVNode("span",{class:"f-filter-item-content",ref:c,title:o.value},[e.value.value.getDisplayText()])]),!i.disabled&&s.createVNode("span",{class:"f-filter-item-arrow f-icon f-icon-arrow-chevron-down"},null)]),f.value&&s.createVNode("span",{class:"mr-3 f-filter-item-clear",onClick:E=>p()},[s.createVNode("span",{class:"f-icon f-icon-close-circle"},null)]),d.value&&s.createVNode(s.Teleport,{to:"body"},{default:()=>[s.createVNode(Ne,{filterItem:e.value,reference:u.value,onConfirm:C,onCancel:b},null)]})])}});function ae(i,t){const e=s.ref(null),n=15;let r=0;function l(d=-1,f=-1){var p;if(!i.value)return;const u=(p=i.value)==null?void 0:p.querySelector(".f-filter-list");if(!u)return;const o=u.children;if(!o||o.length===0||(d<0&&(d=i.value.clientWidth),r=f<0?r:f,Math.abs(d-r)<n))return;Array.from(o).forEach(m=>{m.style.display="flex"}),t.value=u.clientWidth<u.scrollWidth;let c=!1,y=0;for(let m=0;m<o.length;m++){const b=o[m],v=Math.ceil(b.offsetWidth+(parseFloat(getComputedStyle(b).marginRight)||0)+parseFloat(getComputedStyle(b).marginLeft));!c&&y+v<=d?y+=v:(b.style.display="none",c=!0)}r=d}function a(){var f,u;if(!i.value)return;(f=e.value)==null||f.unobserve(i.value);const d=((u=i.value.querySelector(".f-filter-list"))==null?void 0:u.children)||[];Array.from(d).forEach(o=>{o.style.display="flex"}),r=0}function g(){if(!i.value)return;const d=new ResizeObserver(f=>{const u=f[0].contentRect.width;l(u)});return d.observe(i.value),e.value=d,d}return{setupWidthObserver:g,cancelWidthObserver:a,handleVisibleChildren:l}}const G=s.defineComponent({name:"FFilterBar",props:H,emits:["clear","remove","reset","conditionChange","change","query"],setup(i,t){const e=s.ref(!1),n=s.ref(!1),r=s.ref(null),l=s.ref(!1),a=s.ref(0),g=ae(r,n),{cancelWidthObserver:d,setupWidthObserver:f,handleVisibleChildren:u}=g,o={resizeFilerBar:()=>{e.value||s.nextTick(()=>{u(-1,0)})}},c=Se(i,t,l,o),{filterFields:y,filterItems:p,loadFilterItems:m,handleQuery:b}=c,{resolveEditorProps:v}=ee.useTypeResolver();s.provide("useFilterItemsComposition",{useFilterItemsComposition:c,resolveEditorProps:v});const C=X(),k=s.computed(()=>{const O={display:y.value&&y.value.length?"":"none"};return W.getCustomStyle(O,i==null?void 0:i.customStyle)});m(i.fields,i.defaultValues,!!(i.defaultValues&&i.defaultValues.length>0)),s.watch([()=>i.defaultValues,()=>i.fields],([O,w])=>{m(w,O),a.value++,o.resizeFilerBar()}),s.onMounted(()=>{f()}),s.onUnmounted(()=>{d()});const N=s.computed(()=>({"f-filter-list":!0,"f-filter-list-extend":e.value})),E=s.computed(()=>({"extend-btn-arrow":!0,"f-icon":!0,"f-icon-arrow-chevron-up":e.value,"f-icon-arrow-chevron-down":!e.value})),M=s.computed(()=>!e.value&&n.value);function j(){e.value=!e.value,e.value?d():f()}const D=Te(i,t,c,l);function S(O){t.emit("change",O),b(),o.resizeFilerBar()}function F(){return s.createVNode("div",{class:N.value,key:i.id+"-main-"+a.value},[p.value.map((O,w)=>!O.isExtend&&s.createVNode(Be,{filterItem:O,onConfirm:S,disabled:i.disabled||O.disabled},null)),e.value&&D()])}function A(){return M.value&&s.createVNode("div",{class:"f-filter-list-ellipsis",onClick:O=>j()},[s.createTextVNode("...")])}return()=>s.createVNode("div",{class:"f-filter-wrapper "+i.customClass,style:k.value},[s.createVNode("div",{class:"f-filter-wrapper-inner f-utils-fill"},[s.createVNode("div",{class:"f-filter-main f-utils-fill"},[s.createVNode("div",{class:"f-filter-list-wrapper flex-fill",ref:r},[F()]),A(),!e.value&&D()]),n.value&&s.createVNode("div",{class:"f-filter-extend-btn"},[s.createVNode("button",{class:"btn btn-link",onClick:j},[s.createVNode("span",{class:"extend-btn-text"},[e.value?C.fold:C.expand]),s.createVNode("span",{class:E.value},null)])])])])}});function De(i,t){s.ref([]);const e=s.ref([]),n=s.ref([]),r=s.ref("");s.ref(!1),s.ref(i.mode);const l=new Map,{convertToControls:a}=Q.useConditionUtils("filter-bar"),{fieldToCondition:g}=K.useSolutionUtils();function d(c){return!c.value.isEmpty()}function f(c){e.value=z.cloneDeep(c),e.value.reduce((y,p)=>(y.set(p.labelCode,p),y),l)}function u(c){n.value=e.value.map(y=>g(y))}function o(c,y){f(c),u()}return o(i.fields),{currentFilterId:r,filterFields:e,filterItems:n,fieldMap:l,loadFilterItems:o,shouldShowClearButtonInFilterItem:d}}function Oe(i,t,e){const n=s.ref([]),r=s.ref("更多筛选"),{filterItems:l}=e;function a(){n.value=l.value.filter(d=>d.isExtend)}a();const g=s.computed(()=>n.value&&n.value.length>0);return()=>s.createVNode("div",{class:"f-filter-toolbars"},[g.value&&s.createVNode("button",{class:"btn btn-link"},[r.value])])}const Le=s.defineComponent({name:"FFilterBarItemDesign",props:se,emits:["confirm"],setup(i,t){const e=s.ref(i.filterItem),{useFilterItemsComposition:n}=s.inject("useFilterItemsComposition"),{currentFilterId:r,shouldShowClearButtonInFilterItem:l}=n,a=s.ref(i.disabled),g=function(){return{"f-filter-item":!0,"f-filter-item-actived":!e.value.value.isEmpty(),"f-filter-item-edit":e.value.id===r.value}};return()=>s.createVNode("div",{key:e.value.id,id:e.value.id,class:g()},[s.createVNode("div",{class:"f-filter-item-inner"},[e.value.required&&s.createVNode("span",{class:"f-filter-item-required text-danger"},[s.createTextVNode("*")]),s.createVNode("span",{class:"f-filter-item-text"},[e.value.fieldName]),e.value.value.getDisplayText()&&s.createVNode(s.Fragment,null,[s.createVNode("span",{class:"f-filter-item-tip"},[s.createTextVNode(":")]),s.createVNode("span",{class:"f-filter-item-content"},[e.value.value.getDisplayText()])]),!a.value&&s.createVNode("span",{class:"f-filter-item-arrow f-icon f-icon-arrow-chevron-down"},null)]),l(e.value)&&s.createVNode("span",{class:"mr-3 f-filter-item-clear"},[s.createVNode("span",{class:"f-icon f-icon-close-circle"},null)])])}});function je(i){const{formSchemaUtils:t,formStateMachineUtils:e}=i;function n(d,f=""){return{path:f+d.code,field:d.id,fullPath:d.code}}function r(d,f=""){const u=t.getViewModelById(d);return u?u.states.map(o=>n(o,f)):[]}function l(d){const f=t.getRootViewModelId(),u=r(d);if(d===f)return u;const o=r(f,"root-component.");return[...u,...o]}function a(d){return d.binding&&d.binding.path||d.id||""}function g(){return e&&e.getRenderStates()||[]}return{getVariables:l,getControlName:a,getStateMachines:g}}class de{constructor(t){V(this,"sessionVariables",[{key:"CurrentSysOrgName",name:"当前组织Name",description:"当前组织Name"},{key:"CurrentSysOrgId",name:"当前组织Id",description:"当前组织Id"},{key:"CurrentUserName",name:"当前用户Name",description:"当前用户Name"},{key:"CurrentUserCode",name:"当前用户Code",description:"当前用户Code"},{key:"CurrentUserId",name:"当前用户Id",description:"当前用户Id"},{key:"CurrentLanguage",name:"当前语言编号",description:"当前登录的语言编号,例如简体中文返回'zh-CHS',英文返回'en',繁体中文'zh-CHT'"}]);V(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});V(this,"getExpressionConverter",(t,e)=>({convertFrom:(n,r,l,a)=>{const g=l.getExpressionRuleValue(t,e||r);return g&&g.value||""},convertTo:(n,r,l,a,g)=>{var d;if(r==="dataPicking"&&(l!=null&&l.target)){const f=`${l.target}_dataPicking`;((d=l.rules)==null?void 0:d.some(o=>o.id===f&&o.value))?n.dictPickingExpressionId=f:delete n.dictPickingExpressionId}a.updateExpression(l)}}));this.formSchemaService=t}getExpressionRule(t,e){const n=this.formSchemaService.getExpressions();if(!n)return"";const r=n.find(a=>a.target===t);if(!r)return"";const l=r.rules.find(a=>a.type===e);return l||""}getContextFormVariables(){const{module:t}=this.formSchemaService.getFormSchema();if(!t.viewmodels||t.viewmodels.length===0)return[];const e=this.formSchemaService.getRootViewModelId(),n=this.formSchemaService.getViewModelById(e);if(!n||!n.states||n.states.length===0)return[];const r=[];return n.states.filter(l=>l.category==="remote").forEach(l=>{r.push({key:l.code,name:l.name,description:l.name,category:l.category})}),r}createTreeNode(t,e,n="label"){return{id:t.id,name:t.name,bindingPath:t[n],parents:e,type:"field"}}buildEntityFieldsTreeData(t=null,e){const n=[];return t==null||t.forEach(r=>{var g;const l=this.createTreeNode(r,e);let a=[];(g=r.type)!=null&&g.fields&&(a=this.buildEntityFieldsTreeData(r.type.fields,[...e,r.label])),n.push({data:l,children:a,expanded:!0})}),n}buildChildEntityTreeData(t=null,e){const n=[];return t==null||t.forEach(r=>{var d,f;const l=this.createTreeNode(r,e);l.type="entity";const a=this.buildEntityFieldsTreeData((d=r.type)==null?void 0:d.fields,[...e,r.label]),g=this.buildChildEntityTreeData((f=r.type)==null?void 0:f.entities,[...e,r.label]);g!=null&&g.length&&(a==null||a.push(...g)),n.push({data:l,children:a||[],expanded:!0})}),n}getEntitiesTreeData(){const t=this.formSchemaService.getSchemaEntities();if(!(t!=null&&t.length))return[];const e=t[0];if(!(e!=null&&e.type))return[];const n=this.buildEntityFieldsTreeData(e.type.fields,[e.code]),r=this.buildChildEntityTreeData(e.type.entities,[e.code]);return r!=null&&r.length&&(n==null||n.push(...r)),{entityCode:e.code,fields:[{data:this.createTreeNode(e,[],"code"),children:n||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(t,e,n){const r=n==="Field"?t.binding.field:t.id,l=this.getExpressionRule(r,e),a=this.getEntitiesAndVariables(),g={message:["validate","required","dataPicking"].includes(e)&&l?l.message:"",...a};return l.messageType!=null&&(g.messageType=l.messageType),g}buildRule(t,e,n,r){const{expression:l,message:a,messageType:g}=e,d={id:`${t}_${n}`,type:n,value:l};return(n==="validate"||n==="dataPicking"||n==="required")&&(d.message=a),n==="dataPicking"&&(d.messageType=g),n==="validate"&&r&&(d.elementId=r),d}getExpressionData(){const{expressions:t}=this.formSchemaService.getFormSchema().module;return t||[]}updateExpression(t,e,n,r){const l=e==="Field"?t.binding.field:t.id,a=this.buildRule(l,n,r,t.type==="form-group"?t.id:"");let d=this.getExpressionData().find(u=>u.targetType===e&&u.target===l);const f=u=>u.value.trim()==="";if(d){const u=d.rules.find(o=>o.id===a.id);if(u)f(a)?d.rules=d.rules.filter(o=>o.id!==a.id):(Object.assign(u,a),r==="validate"&&t.type==="form-group"&&(u.elementId=t.id));else{if(f(a))return null;d.rules=d.rules||[],d.rules.push(a)}}else{if(f(a))return null;d={target:`${l}`,rules:[a],targetType:e}}return d}getExpressionEditorOptions(t,e,n,r){return n.reduce((l,a)=>{var d,f;const g=e==="Field"?(d=t==null?void 0:t.binding)==null?void 0:d.field:t.id;return l[a]={hide:e==="Field"?!!((f=t==null?void 0:t.binding)!=null&&f.field):!1,description:"",title:this.expressionNames[a],type:"string",$converter:this.getExpressionConverter(g),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[a]}编辑器`,showMessage:a==="validate"||a==="dataPicking"||a==="required",showMessageType:a==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(t,a,e),onSubmitModal:u=>{const o=this.updateExpression(t,e,u,a);if(r){const c=this.buildRule(g,u,a);r(c)}return o}}},l},{})}getExpressionInfo(t,e,n){const r=e==="Field"?t.binding.field:t.id,l=this.getExpressionRule(r,n),a={value:l&&l.value,targetId:r,targetType:e,expressionType:n};return l&&l.message&&(a.message=l.message),a}getExpressionConfig(t,e,n=["compute","dependency","validate"],r){return{description:"表达式",title:"表达式",hide:!t.binding,properties:{...this.getExpressionEditorOptions(t,e,n,r)}}}getExpressionOptions(t,e,n){const r=this.getExpressionInfo(t,e,n);return{dialogTitle:`${this.expressionNames[n]}编辑器`,singleExpand:!1,showMessage:n==="required",beforeOpen:()=>this.onBeforeOpenExpression(t,n,e),expressionInfo:r}}}class Ue{constructor(t,e){V(this,"componentId");V(this,"viewModelId");V(this,"eventsEditorUtils");V(this,"formSchemaUtils");V(this,"formMetadataConverter");V(this,"designViewModelUtils");V(this,"designViewModelField");V(this,"controlCreatorUtils");V(this,"designerHostService");V(this,"designerContext");V(this,"schemaService",null);V(this,"metadataService",null);V(this,"propertyConfig",{type:"object",categories:{}});var n;this.componentId=t,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((n=this.formSchemaUtils)==null?void 0:n.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService,this.designerContext=e.designerContext}getFormDesignerInstance(){var t,e;return(e=(t=this.designerContext)==null?void 0:t.instances)==null?void 0:e.formDesigner.value}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){var n;const e=t.binding&&t.binding.type==="Form"&&t.binding.field;if(e){if(!this.designViewModelField){const r=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=r.fields.find(l=>l.id===e)}t.updateOn=(n=this.designViewModelField)==null?void 0:n.updateOn}}getBasicPropConfig(t){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",idField:"value",editable:!1,data:[{value:t.type,name:h.DgControl[t.type]&&h.DgControl[t.type].name}]}}}}}getAppearanceConfig(t=null,e={},n){const r={title:"外观",description:"Appearance"},l={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"}};for(const a in e)l[a]=Object.assign(l[a]||{},e[a]);return{...r,properties:{...l},setPropertyRelates(a,g){if(a){switch(a&&a.propertyID){case"class":case"style":{h.canvasChanged.value++;break}}n&&n(a,t,g)}}}}getPropertyEditorParams(t,e=[],n="visible",r={},l={},a=""){const{getVariables:g,getControlName:d,getStateMachines:f}=je(this.designerHostService),u=this.getRealTargetType(t),o=e&&e.length>0?e:["Const","Variable","StateMachine","Expression"],c={type:"property-editor",propertyTypes:o};return o.map(y=>{switch(y){case"Const":Object.assign(c,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},r);break;case"Expression":c.expressionConfig=this.getExpressionOptions(t,u,a||n);break;case"StateMachine":c.stateMachines=f();break;case"Variable":Object.assign(c,{controlName:d(t),newVariablePrefix:"is",newVariableType:"Boolean",variables:g(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:p=>{p.value=g(this.viewModelId)}},l),this.designerContext.designerMode==="PC_RTC"&&(c.newVariablePrefix="ext_"+c.newVariablePrefix);break}}),c}getVisibleProperty(t,e=""){var l;let n=["Const","Variable","StateMachine","Expression"];return e==="gridFieldEditor"?n=["Const","Expression"]:e==="form-group"&&!((l=t.binding)!=null&&l.field)&&(n=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(t,n,"visible")}}}getBehaviorConfig(t,e="",n={},r){const l={title:"行为",description:""},a=this.getVisibleProperty(t,e);for(const d in n)a[d]=Object.assign(a[d]||{},n[d]);const g=this;return{...l,properties:{...a},setPropertyRelates(d,f){if(d){switch(d.propertyID){case"disabled":case"readonly":case"visible":g.afterMutilEditorChanged(t,d);break}r&&r(d,f)}}}}afterMutilEditorChanged(t,e){this.addNewVariableToViewModel(e,this.viewModelId),this.updateExpressionValue(e),this.clearExpression(e,t)}updateElementByParentContainer(t,e){const n=e&&e.parent&&e.parent.schema;if(!n)return;const r=n.contents.findIndex(a=>a.id===t),l=z.cloneDeep(n.contents[r]);n.contents.splice(r,1),n.contents.splice(r,0,l),h.refreshCanvas()}addNewVariableToViewModel(t,e){const n=t.propertyValue;if(!(n&&typeof n=="object")||!(n.type==="Variable"&&n.isNewVariable))return;const a={id:n.field,category:"locale",code:n.fullPath,name:n.fullPath,type:n.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete n.newVariableType,delete n.isNewVariable,this.formSchemaUtils.getVariableByCode(a.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(a)}updateExpressionValue(t){const e=t.propertyValue;if(!((e&&e.type)==="Expression"&&e.expressionInfo))return;const{expressionId:l,expressionInfo:a}=e,{targetId:g,targetType:d,expressionType:f,value:u,message:o}=a,c=this.formSchemaUtils.getModule();c.expressions=c.expressions||[];const{expressions:y}=c;let p=y.find(b=>b.target===g);p||(p={target:g,rules:[],targetType:d},y.push(p));const m=p.rules.find(b=>b.type===f);if(m)m.value=u,m.message=o;else{const b={id:l,type:f,value:u,message:o};p.rules.push(b)}delete e.expressionInfo}clearExpression(t,e){const n=t.propertyValue;if(n&&n.type==="Expression")return;const l=t.propertyID,a=this.formSchemaUtils.getExpressions(),g=e.binding?e.binding.field:e.id,d=a.find(f=>f.target===g);!d||!d.rules||(d.rules=d.rules.filter(f=>f.type!==l))}getExpressionOptions(t,e,n){return new de(this.formSchemaUtils).getExpressionOptions(t,e,n)}getRealTargetType(t){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(t.type)>-1?"Button":t.binding&&t.binding.field?"Field":"Container"}createBaseEventProperty(t){const e={};return e[this.viewModelId]={type:"events-editor",editor:{initialData:t,viewSourceHandle:n=>{var r;((r=n.controller)==null?void 0:r.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(n)}}},e}}const _=class _{static getEditorTypesByMDataType(t,e=!1,n=""){if(e)return[{key:h.DgControl["language-textbox"].type,value:h.DgControl["language-textbox"].name}];let r=_.fieldControlTypeMapping[t];if(n==="data-grid-column"&&(r!=null&&r.length)){const l=[h.DgControl["check-group"].type,h.DgControl["radio-group"].type,h.DgControl.image.type,h.DgControl["rich-text-editor"].type];r=r.filter(a=>!l.includes(a.key))}return r}static getAllInputTypes(){const t=[];for(const e in _.fieldControlTypeMapping)_.fieldControlTypeMapping[e].forEach(n=>{t.find(r=>r.key===n.key&&r.value===n.value)||t.push({key:n.key,value:n.value})});return t}static mappingDomPropAndSchemaProp(t,e){var l;const n=(l=t.editor)==null?void 0:l.type,r=[];return(t.type===h.DgControl["data-grid-column"].type||t.type===h.DgControl["tree-grid-column"].type)&&e&&e.categoryId&&e.categoryId.indexOf("gridFieldEditor")<0&&r.push({domField:"title",schemaField:"name"}),r.push({domField:"label",schemaField:"name"}),r.push({domField:"editor.required",schemaField:"require"}),r.push({domField:"editor.readonly",schemaField:"readonly"}),(n===h.DgControl["input-group"].type||n===h.DgControl.textarea.type||n===h.DgControl["number-spinner"].type)&&r.push({domField:"editor.maxLength",schemaField:"type.length"}),n===h.DgControl["number-spinner"].type&&r.push({domField:"editor.precision",schemaField:"type.precision"}),(t.type===h.DgControl["data-grid-column"].type||t.type===h.DgControl["tree-grid-column"].type)&&r.push({domField:"formatter.precision",schemaField:"type.precision"}),(n===h.DgControl["combo-list"].type||n===h.DgControl["radio-group"].type)&&r.push({domField:"editor.data",schemaField:"type.enumValues"}),(t.type===h.DgControl["data-grid-column"].type||t.type===h.DgControl["tree-grid-column"].type)&&r.push({domField:"formatter.data",schemaField:"type.enumValues"}),n===h.DgControl["date-picker"].type&&(r.push({domField:"editor.displayFormat",schemaField:"editor.format"}),r.push({domField:"editor.fieldType",schemaField:"type.name"})),n===h.DgControl["number-spinner"].type&&(r.push({domField:"editor.max",schemaField:"editor.maxValue"}),r.push({domField:"editor.min",schemaField:"editor.minValue"})),n===h.DgControl.lookup.type&&(r.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),r.push({domField:"editor.valueField",schemaField:"editor.valueField"}),r.push({domField:"editor.textField",schemaField:"editor.textField"}),r.push({domField:"editor.displayType",schemaField:"editor.displayType"}),r.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),r.push({domField:"editor.helpId",schemaField:"editor.helpId"})),r.push({domField:"path",schemaField:"bindingPath"}),r.push({domField:"binding.path",schemaField:"bindingField"}),r.push({domField:"binding.fullPath",schemaField:"path"}),(t.type===h.DgControl["data-grid-column"].type||t.type===h.DgControl["tree-grid-column"].type)&&r.push({domField:"field",schemaField:"bindingPath"}),r}};V(_,"fieldControlTypeMapping",{String:[{key:h.DgControl["input-group"].type,value:h.DgControl["input-group"].name},{key:h.DgControl.lookup.type,value:h.DgControl.lookup.name},{key:h.DgControl.image.type,value:h.DgControl.image.name},{key:h.DgControl["date-picker"].type,value:h.DgControl["date-picker"].name},{key:h.DgControl.switch.type,value:h.DgControl.switch.name},{key:h.DgControl["check-box"].type,value:h.DgControl["check-box"].name},{key:h.DgControl["check-group"].type,value:h.DgControl["check-group"].name},{key:h.DgControl["radio-group"].type,value:h.DgControl["radio-group"].name},{key:h.DgControl["combo-list"].type,value:h.DgControl["combo-list"].name},{key:h.DgControl.textarea.type,value:h.DgControl.textarea.name},{key:h.DgControl["time-picker"].type,value:h.DgControl["time-picker"].name}],Text:[{key:h.DgControl.textarea.type,value:h.DgControl.textarea.name},{key:h.DgControl.lookup.type,value:h.DgControl.lookup.name},{key:h.DgControl.image.type,value:h.DgControl.image.name},{key:h.DgControl["rich-text-editor"].type,value:h.DgControl["rich-text-editor"].name}],Decimal:[{key:h.DgControl["number-spinner"].type,value:h.DgControl["number-spinner"].name}],Integer:[{key:h.DgControl["number-spinner"].type,value:h.DgControl["number-spinner"].name}],Number:[{key:h.DgControl["number-spinner"].type,value:h.DgControl["number-spinner"].name},{key:h.DgControl.switch.type,value:h.DgControl.switch.name},{key:h.DgControl["check-box"].type,value:h.DgControl["check-box"].name}],BigNumber:[{key:h.DgControl["number-spinner"].type,value:h.DgControl["number-spinner"].name}],Date:[{key:h.DgControl["date-picker"].type,value:h.DgControl["date-picker"].name}],DateTime:[{key:h.DgControl["date-picker"].type,value:h.DgControl["date-picker"].name}],Boolean:[{key:h.DgControl.switch.type,value:h.DgControl.switch.name},{key:h.DgControl["check-box"].type,value:h.DgControl["check-box"].name}],Enum:[{key:h.DgControl["combo-list"].type,value:h.DgControl["combo-list"].name},{key:h.DgControl["radio-group"].type,value:h.DgControl["radio-group"].name}],Object:[{key:h.DgControl.lookup.type,value:h.DgControl.lookup.name},{key:h.DgControl["combo-list"].type,value:h.DgControl["combo-list"].name},{key:h.DgControl["radio-group"].type,value:h.DgControl["radio-group"].name}]});let Z=_;var J=(i=>(i.Form="Form",i.Variable="Variable",i))(J||{});class Ae{constructor(){V(this,"label","");V(this,"id","");V(this,"columnInSM",12);V(this,"columnInMD",6);V(this,"columnInLG",3);V(this,"columnInEL",2);V(this,"displayWidthInSM",1);V(this,"displayWidthInMD",1);V(this,"displayWidthInLG",1);V(this,"displayWidthInEL",1);V(this,"displayColumnCountAtBreakPoint","md");V(this,"tagRow",0);V(this,"showTopBorder",0);V(this,"group",1);V(this,"isSupportedClass",!0);V(this,"fieldSetId","")}}function Re(i){let t,e;const n=new Map;let r=[];function l(u,o){const y=u.split(" ").filter(C=>C.startsWith("col-"));if(y.length===0){o.isSupportedClass=!1;return}let p=y.find(C=>/^col-([1-9]|10|11|12)$/.test(C)),m=y.find(C=>/^col-md-([1-9]|10|11|12)$/.test(C)),b=y.find(C=>/^col-xl-([1-9]|10|11|12)$/.test(C)),v=y.find(C=>/^col-el-([1-9]|10|11|12)$/.test(C));p=p||"col-12",o.columnInSM=parseInt(p.replace("col-",""),10),o.displayWidthInSM=o.columnInSM/12,o.displayWidthInSM!==1&&(o.isSupportedClass=!1),m=m||"col-md-"+o.columnInSM,o.columnInMD=parseInt(m.replace("col-md-",""),10),o.displayWidthInMD=o.columnInMD/6,[1,2].includes(o.displayWidthInMD)||(o.isSupportedClass=!1),b=b||"col-xl-"+o.columnInMD,o.columnInLG=parseInt(b.replace("col-xl-",""),10),o.displayWidthInLG=o.columnInLG/3,[1,2,3,4].includes(o.displayWidthInLG)||(o.isSupportedClass=!1),v=v||"col-el-"+o.columnInLG,o.columnInEL=parseInt(v.replace("col-el-",""),10),o.displayWidthInEL=o.columnInEL/2,[1,2,3,4,5,6].includes(o.displayWidthInEL)||(o.isSupportedClass=!1)}function a(u,o,c,y=!1){let p=!1;u.contents.forEach(m=>{if(m.type==="fieldset"){c+=1,a(m,o,c,!0),p=!0;return}p&&(c+=1,p=!1);const b=m.appearance&&m.appearance.class,v=new Ae;b?l(b,v):v.isSupportedClass=!1,v.label=m.label||m.id,v.id=m.id,v.group=c,y&&(v.fieldSetId=u.id),e===m.id&&(t=c),n.set(m.id,m),o.push(v)})}function g(u){const o=i.getComponentById(u);if(!o||!o.componentType||!o.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const c=i.selectNode(o,y=>y.type===h.DgControl["response-form"].type);return!c||!c.contents||c.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:c}}function d(u,o){o=o||u.id;const{result:c,message:y,formNode:p}=g(o);if(!c)return{result:c,message:y};e=u.id,r=[],n.clear();const m=p.contents[0].type===h.DgControl.fieldset.type?0:1;a(p,r,m);const b=r.find(C=>!C.isSupportedClass);return{defaultState:{defaultGroupNumber:t||1,model:b?"customize":"standard"},importData:r}}function f(u,o){o=o;const{result:c,formNode:y}=g(o);if(!c)return"";const p=[];return u.forEach(m=>{var C;const b=n.get(m.id),v=b.appearance&&b.appearance.class;if(v){const N=v.split(" ").filter(F=>!F.startsWith("col-")),E="col-"+m.columnInSM,M="col-md-"+m.columnInMD,j="col-xl-"+m.columnInLG,D="col-el-"+m.columnInEL,S=[E,M,j,D].concat(N);b.appearance.class=S.join(" ")}if(m.fieldSetId){const k=y.contents.find(E=>E.id===m.fieldSetId),N=p.find(E=>E.id===m.fieldSetId);N?(C=N.contents)==null||C.push(b):(p.push(k),k.contents=[b])}else p.push(b)}),y.contents=p,y.id}return{checkCanFindFormNode:g,checkCanOpenLayoutEditor:d,changeFormControlsByResponseLayoutConfig:f,getResonseFormLayoutConfig:a}}class $e extends Ue{constructor(e,n){super(e,n);V(this,"responseLayoutEditorFunction");V(this,"bindingVarible");V(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});this.responseLayoutEditorFunction=Re(this.formSchemaUtils)}getCommonPropertyConfig(e,n,r="Card"){this.propertyConfig.categories.basic=this.getBasicProperties(e,n,r),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,n),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e,"form-group")}getPropertyConfig(e,n){return this.getCommonPropertyConfig(e,n,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressions=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(e),this.propertyConfig}getGridFieldEdtiorPropConfig(e,n){return this.propertyConfig.categories={},this.getCommonPropertyConfig(e,n,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(e):this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressons=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories}getBasicProperties(e,n,r="Card"){var f;const l=this;this.setDesignViewModelField(e);const{canChangeControlType:a,editorTypeList:g}=this.getAvailableEditorType(e),d={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",editable:!1,data:g,readonly:!a}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},showLabelType:{description:"标签显示方式:1、显示:显示标签 2、占位:保留标签空间,但不显示文本 3、不显示:不显示标签",title:"标签显示",type:"enum",editor:{data:[{id:"visible",name:"显示"},{id:"reserve-space",name:"占位"},{id:"none",name:"不显示"}]},defaultValue:((f=e.editor)==null?void 0:f.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:e,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!e.isRtcControl}},setPropertyRelates(u,o,c){if(u)switch(u&&u.propertyID){case"type":{l.changeControlType(e,u,n);break}case"label":{u.needRefreshControlTree=!0;break}case"binding":{l.changeBindingField(e,u,c);break}}}};return r.toLocaleLowerCase()!=="card"&&delete d.properties.showLabelType,d}checkCanChangeControlType(e,n){if(!e.binding)return!1;if(e.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(e.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==W.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(e){var l;const n=this.checkCanChangeControlType(e,this.viewModelId);if(!n)return{canChangeControlType:!1,editorTypeList:[{key:e.editor.type,value:((l=h.DgControl[e.editor.type])==null?void 0:l.name)||e.editor.type}]};let r=[];return this.designViewModelField&&this.designViewModelField.$type===W.FormSchemaEntityField$Type.SimpleField?r=Z.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(r=Z.getEditorTypesByMDataType(this.bindingVarible.type,this.designViewModelField.multiLanguage)),{canChangeControlType:n,editorTypeList:r}}changeBindingField(e,n,r){n.needRefreshEntityTree=!0}getAppearanceProperties(e,n){const r=this;return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的内联样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},fill:{title:"填充宽度",description:"启用后,控件占满父容器宽度",type:"boolean",parentPropertyID:"appearance"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",beforeOpen:()=>r.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,r.componentId)}}},setPropertyRelates(l,a){if(l)switch(l&&l.propertyID){case"responseLayout":r.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(l.propertyValue,r.componentId||e.id),r.updateUnifiedLayoutAfterResponseLayoutChanged(r.componentId),r.updateElementByParentContainer(e.id,n),delete e.responseLayout;break;case"class":r.updateUnifiedLayoutAfterControlChanged(l.propertyValue,e.id,this.componentId),h.canvasChanged.value++;break;case"style":{h.canvasChanged.value++;break}}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,n,r){const l=n.propertyValue,a=r&&r.parent&&r.parent.schema;if(!a)return;const g=a.contents.findIndex(u=>u.id===e.id);if(g===-1)return;const d=a.contents[g];let f;if(this.designViewModelField){const c=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(p=>p.id===this.designViewModelField.id).fieldSchema||{};c.editor||(c.editor={}),c.editor.$type=l,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,c,!1),f=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,l)}f||(f=this.controlCreatorUtils.createFormGroupWithoutField(l)),Object.assign(f,{id:d.id,appearance:d.appearance,size:d.size,label:d.label,binding:d.binding}),Object.prototype.hasOwnProperty.call(d,"visible")&&Object.assign(f,{visible:d.visible}),d.editor&&["readonly","required","placeholder"].map(u=>{Object.prototype.hasOwnProperty.call(d.editor,u)&&(f.editor[u]=d.editor[u])}),r!=null&&r.updateContextSchema?r.updateContextSchema(f):(r.schema=Object.assign(d,f),Object.assign(e,f)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(u=>u.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(u=>u.classList.remove("dgComponentFocused")),h.canvasChanged.value++,s.nextTick(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}getComponentConfig(e,n={},r={},l){var c,y;const a=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},n),g=(c=e.binding)!=null&&c.field?[]:["Const","Variable","StateMachine"],d=this.getPropertyEditorParams(e,g,"readonly"),f=this.getPropertyEditorParams(e,g,"required"),u={readonly:{description:"",title:"只读",editor:d},required:{description:"",title:"必填",type:"boolean",editor:f,visible:!!((y=e.binding)!=null&&y.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const p in r)u[p]=Object.assign(u[p]||{},r[p]);const o=this;return{...a,properties:{...u},setPropertyRelates(p,m){if(p){switch(p.propertyID){case"readonly":case"required":o.afterMutilEditorChanged(e,p);break}l&&l.bind(o)(p,e,m)}}}}updateUnifiedLayoutAfterControlChanged(e,n,r){const l=e.split(" ");let a=l.find(o=>/^col-([1-9]|10|11|12)$/.test(o)),g=l.find(o=>/^col-md-([1-9]|10|11|12)$/.test(o)),d=l.find(o=>/^col-xl-([1-9]|10|11|12)$/.test(o)),f=l.find(o=>/^col-el-([1-9]|10|11|12)$/.test(o));a=a||"col-12",g=g||"col-md-"+a.replace("col-",""),d=d||"col-xl-"+g.replace("col-md-",""),f=f||"col-el-"+d.replace("col-xl-","");const u={id:n,columnInSM:parseInt(a.replace("col-",""),10),columnInMD:parseInt(g.replace("col-md-",""),10),columnInLG:parseInt(d.replace("col-xl-",""),10),columnInEL:parseInt(f.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(r,u)}updateUnifiedLayoutAfterResponseLayoutChanged(e,n){const{formNode:r}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!r||!r.unifiedLayout)return;const l=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(r,l,1),n){const p=l.find(m=>m.id===n.id);Object.assign(p||{},n)}const a=l.map(p=>p.columnInSM),g=l.map(p=>p.columnInMD),d=l.map(p=>p.columnInLG),f=l.map(p=>p.columnInEL),u=this.checkIsUniqueColumn(a)?a[0]:null,o=this.checkIsUniqueColumn(g)?g[0]:null,c=this.checkIsUniqueColumn(d)?d[0]:null,y=this.checkIsUniqueColumn(f)?f[0]:null;Object.assign(r.unifiedLayout,{uniqueColClassInSM:u,uniqueColClassInMD:o,uniqueColClassInLG:c,uniqueColClassInEL:y})}checkIsUniqueColumn(e){const n=new Set(e);return Array.from(n).length===1}getItemCollectionEditor(e,n,r){return n=n||"value",r=r||"name",{editor:{columns:[{field:n,title:"值",dataType:"string"},{field:r,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:n,nameField:r,requiredFields:[n,r],uniqueFields:[n,r],readonly:this.checkEnumDataReadonly(e)}}}checkEnumDataReadonly(e){return!e.binding||e.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===W.FormSchemaEntityFieldType$Type.EnumType)}appendFieldValueChangeEvents(e,n){e.binding&&e.binding.type===J.Form&&e.binding.field?(n.find(r=>r.label==="fieldValueChanging"),n.find(r=>r.label==="fieldValueChanged"),this.designViewModelField&&(e.fieldValueChanging=this.designViewModelField.valueChanging,e.fieldValueChanged=this.designViewModelField.valueChanged)):n=n.filter(r=>r.label!=="fieldValueChanging"&&r.label!=="fieldValueChanged")}getControlMethodType(e){if(!e.binding)return e.type;switch(e.binding.type){case J.Form:return e.binding.path||e.type;case J.Variable:return e.binding.fullPath||e.type}return e.type}getEventPropertyConfig(e,n="card",r,l){const a=this;let g=[];if(r&&(g=g.concat(r)),g.length===0)return{title:"事件",hideTitle:!0,properties:{},tabId:"commands",tabName:"交互",hide:!0};this.appendFieldValueChangeEvents(e,g);const d=a.eventsEditorUtils.formProperties(e,a.viewModelId,g);return{title:"事件",hideTitle:!0,properties:a.createBaseEventProperty(d),tabId:"commands",tabName:"交互",setPropertyRelates(o,c){const y=o.propertyValue;delete e[a.viewModelId],y&&(y.setPropertyRelates=this.setPropertyRelates,y.controlInfo={type:a.getControlMethodType(e),name:e.title},a.eventsEditorUtils.saveRelatedParameters(e,a.viewModelId,y.events,y)),l&&l(o,c,y);const p=a.designViewModelUtils.getDgViewModel(a.viewModelId);p&&a.designViewModelField&&p.changeField(a.designViewModelField.id,{valueChanging:e.fieldValueChanging,valueChanged:e.fieldValueChanged})}}}getExpressionConfig(e,n,r=["compute","dependency","validate"],l){return new de(this.formSchemaUtils).getExpressionConfig(e,n,r,l)}getBindingDataType(){return this.designViewModelField?this.designViewModelField.type.name==="Number"?"number":this.designViewModelField.type.name==="String"?"string":"boolean":"boolean"}getEditor(){return this.getBindingDataType()==="number"?this.numberEditorOptions:{}}updatePropertyValue(e,n,r){var l;e.editor[n]!==r?e.editor[n]=r:(l=this.getFormDesignerInstance())==null||l.reloadPropertyPanel()}setBooleanValue(e,n,r){let l=r;this.getBindingDataType()==="string"&&(l=(l||"").trim()||(n==="trueValue"?"true":"false"));const g=n==="trueValue"?"falseValue":"trueValue";e.editor[g]===l&&(l=l+1),this.updatePropertyValue(e,n,l)}getBooleanValueConverter(){return{convertFrom:(e,n)=>e.editor[n],convertTo:(e,n,r)=>{this.setBooleanValue(e,n,r)}}}}class qe extends $e{getPropertyConfig(t,e){return this.propertyConfig.categories.basic=this.getBasicPropConfig(t),this.propertyConfig.categories.appearance=this.getAppearanceConfig(),this.getBehaviorConfig(t),this.getFilterBarConfig(t),this.getEventPropConfig(t),this.propertyConfig}getBehaviorConfig(t){this.propertyConfig.categories.apperance={description:"Basic Infomation",title:"行为",properties:{resetText:{description:"选择筛选条件后,按钮“清空筛选”的文本",type:"string",title:"按钮“清空筛选”的文本"}}}}getFilterBarConfig(t){const e=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId),n=this;this.getPropertyEditorParams(t,[],"visible"),this.getPropertyEditorParams(t,[],"disable"),this.propertyConfig.categories.control={description:"Basic Infomation",title:"编辑器",properties:{fields:{description:"筛选条字段设置",title:"筛选条字段",type:"",editor:{type:"query-solution-config",source:"filter-bar",title:"筛选条字段",fieldsConfig:e,formSchemaUtils:this.formSchemaUtils,metadataService:this.metadataService,viewModelId:this.viewModelId,designViewModelUtils:this.designViewModelUtils,eventsEditorUtils:this.eventsEditorUtils,schemaService:this.schemaService}},defaultValues:{description:"默认值绑定字段",type:"object",title:"默认值绑定字段",editor:this.getPropertyEditorParams(t,["Variable"],"",{},{newVariableType:"Object"})}},setPropertyRelates(r,l){if(r)switch(r.propertyID){case"visible":case"disable":n.afterMutilEditorChanged(t,r);break;case"defaultValues":n.addNewVariableToViewModel(r,n.viewModelId);break}}}}getEventPropConfig(t){const e=[{label:"onQuery",name:"查询事件"}],n=this,r=n.eventsEditorUtils.formProperties(t,n.viewModelId,e),l=n.createBaseEventProperty(r);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:l,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,g){const d=a.propertyValue;delete t[n.viewModelId],d&&(d.setPropertyRelates=this.setPropertyRelates,n.eventsEditorUtils.saveRelatedParameters(t,n.viewModelId,d.events,d)),t.remoteSort=!!t.columnSorted}}}}function We(i,t){function e(g,d){const f=i.schema;return new qe(g,t).getPropertyConfig(f,d)}function n(){return!1}function r(){return!1}function l(){return!1}function a(){var g;if(i&&t){const{formSchemaUtils:d}=t,f=d.getControlBasicInfoMap(),{schema:u}=i,o=xe.DgControl["filter-bar"].name;f.set(u.id,{componentTitle:o,parentPathName:o}),(g=u.fields)!=null&&g.length&&u.fields.map(c=>{f.set(c.id,{componentTitle:c.name,parentPathName:`${o} > ${c.name}`})})}}return{getPropsConfig:e,canAccepts:n,checkCanDeleteComponent:r,checkCanMoveComponent:l,setComponentBasicInfoMap:a}}function ce(i,t){let e;function n(o){const{properties:c,title:y,ignore:p}=o,m=p&&Array.isArray(p),b=Object.keys(c).reduce((v,C)=>((!m||!p.find(k=>k===C))&&(v[C]=c[C].type==="object"&&c[C].properties?n(c[C]):z.cloneDeep(c[C].default)),v),{});if(y&&(!m||!p.find(v=>v==="id"))){const v=y.toLowerCase().replace(/-/g,"_");b.id=`${v}_${Math.random().toString().slice(2,6)}`}return b}function r(o){const{properties:c,title:y,required:p}=o;if(p&&Array.isArray(p)){const m=p.reduce((b,v)=>(b[v]=c[v].type==="object"&&c[v].properties?n(c[v]):z.cloneDeep(c[v].default),b),{});if(y&&p.find(b=>b==="id")){const b=y.toLowerCase().replace(/-/g,"_");m.id=`${b}_${Math.random().toString().slice(2,6)}`}return m}return{type:y}}function l(o,c={},y){const p=i[o];if(p){let m=r(p);const b=t[o];return m=b?b({getSchemaByType:l},m,c,y):m,e!=null&&e.appendIdentifyForNewControl&&e.appendIdentifyForNewControl(m),m}return null}function a(o,c){const y=n(c);return Object.keys(y).reduce((p,m)=>(Object.prototype.hasOwnProperty.call(o,m)&&(p[m]&&z.isPlainObject(p[m])&&z.isPlainObject(o[m]||!o[m])?Object.assign(p[m],o[m]||{}):p[m]=o[m]),p),y),y}function g(o,c){return Object.keys(o).filter(p=>o[p]!=null).reduce((p,m)=>{if(c.has(m)){const b=c.get(m);if(typeof b=="string")p[b]=o[m];else{const v=b(m,o[m],o);Object.assign(p,v)}}else p[m]=o[m];return p},{})}function d(o,c,y=new Map){const p=a(o,c);return g(p,y)}function f(o){var y;const c=o.type;if(c){const p=i[c];if(!p)return o;const m=a(o,p),b=((y=o.editor)==null?void 0:y.type)||"";if(b){const v=i[b],C=a(o.editor,v);m.editor=C}return m}return o}function u(o){e=o}return{getSchemaByType:l,resolveSchemaWithDefaultValue:f,resolveSchemaToProps:d,mappingSchemaToProps:g,setDesignerContext:u}}const ue={},fe={},{resolveSchemaWithDefaultValue:Ge,resolveSchemaToProps:ze,mappingSchemaToProps:_e}=ce(ue,fe);function Qe(i={}){function t(f,u,o,c){if(typeof o=="number")return c[f].length===o;if(typeof o=="object"){const y=Object.keys(o)[0],p=o[y];if(y==="not")return Number(c[f].length)!==Number(p);if(y==="moreThan")return Number(c[f].length)>=Number(p);if(y==="lessThan")return Number(c[f].length)<=Number(p)}return!1}function e(f,u,o,c){return c[f]&&c[f].propertyValue&&String(c[f].propertyValue.value)===String(o)}const n=new Map([["length",t],["getProperty",e]]);Object.keys(i).reduce((f,u)=>(f.set(u,i[u]),f),n);function r(f,u){const o=f;return typeof u=="number"?[{target:o,operator:"length",param:null,value:Number(u)}]:typeof u=="boolean"?[{target:o,operator:"getProperty",param:f,value:!!u}]:typeof u=="object"?Object.keys(u).map(c=>{if(c==="length")return{target:o,operator:"length",param:null,value:u[c]};const y=c,p=u[c];return{target:o,operator:"getProperty",param:y,value:p}}):[]}function l(f){return Object.keys(f).reduce((o,c)=>{const y=r(c,f[c]);return o.push(...y),o},[])}function a(f,u){if(n.has(f.operator)){const o=n.get(f.operator);return o&&o(f.target,f.param,f.value,u)||!1}return!1}function g(f,u){return l(f).reduce((y,p)=>y&&a(p,u),!0)}function d(f,u){const o=Object.keys(f),c=o.includes("allOf"),y=o.includes("anyOf"),p=c||y,v=(p?f[p?c?"allOf":"anyOf":"allOf"]:[f]).map(k=>g(k,u));return c?!v.includes(!1):v.includes(!0)}return{parseValueSchema:d}}const He={convertTo:(i,t,e,n)=>{i.appearance||(i.appearance={}),i.appearance[t]=e},convertFrom:(i,t,e)=>i.appearance?i.appearance[t]:i[t]},Xe={convertFrom:(i,t,e)=>i.buttons&&i.buttons.length?`共 ${i.buttons.length} 项`:"无"},Ze={convertTo:(i,t,e,n)=>{i.editor&&(i.editor[t]=e)},convertFrom:(i,t,e)=>i.editor&&Object.prototype.hasOwnProperty.call(i.editor,t)?i.editor[t]:i[t]},Je={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",name:"容器"},"input-group":{type:"input-group",name:"文本"},textarea:{type:"textarea",name:"多行文本"},lookup:{type:"lookup",name:"帮助"},"number-spinner":{type:"number-spinner",name:"数值"},"date-picker":{type:"date-picker",name:"日期"},switch:{type:"switch",name:"开关"},"radio-group":{type:"radio-group",name:"单选组"},"check-box":{type:"check-box",name:"复选框"},"check-group":{type:"check-group",name:"复选框组"},"combo-list":{type:"combo-list",name:"下拉列表"},"response-form":{type:"response-form",name:"卡片面板"},"response-layout":{type:"response-layout",name:"布局容器",icon:"response-layout-3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"response-layout-1"},"tree-grid":{type:"tree-grid",name:"树表格"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块"},component:{type:"component",name:"组件"},tabs:{type:"tabs",name:"标签页"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮"},"drawer-toolbar-item":{type:"drawer-toolbar-item",name:"抽屉工具栏按钮"},"html-template":{type:"html-template",name:"模板容器"},"time-picker":{type:"time-picker",name:"时间选择"},section:{type:"section",name:"分组面板"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传"},"page-header":{type:"page-header",name:"页头"},"page-footer":{type:"page-footer",name:"页脚"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏"},"drawer-toolbar":{type:"drawer-toolbar",name:"抽屉工具栏"},fieldset:{type:"fieldset",name:"分组"},"query-solution":{type:"query-solution",name:"筛选方案"},drawer:{type:"drawer",name:"抽屉"},"external-container":{type:"external-container",name:"外部容器",icon:"content-container"},"list-nav":{type:"list-nav",name:"列表导航"},"list-view":{type:"list-view",name:"列表"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"},image:{type:"image",name:"图像"},"discussion-editor":{type:"discussion-editor",name:"评论编辑区"},"discussion-list":{type:"discussion-list",name:"评论列表"},comment:{type:"comment",name:"评论区"},"rich-text-editor":{type:"rich-text-editor",name:"富文本",icon:"rich-text-box"},calendar:{type:"calendar",name:"日历",icon:"date-picker"}},Ye={convertFrom:(i,t,e)=>{var r;const n=i.editor&&i.editor[t]?i.editor[t]:i[t];return((r=Je[n])==null?void 0:r.name)||n}},Ke={convertTo:(i,t,e,n)=>{i[t]=i[t]},convertFrom:(i,t,e)=>i.editor?e.getRealEditorType(i.editor.type):""},et={convertTo:(i,t,e,n)=>{(i.type==="data-grid-column"||i.type==="tree-grid-column")&&(i.formatter?i.formatter[t]=e:i.formatter={[t]:e})},convertFrom:(i,t,e)=>{if(i.formatter){if(t==="trueText")return i.formatter.trueText;if(t==="falseText")return i.formatter.falseText;if(t==="prefix")return i.formatter.prefix;if(t==="suffix")return i.formatter.suffix;if(t==="precision")return i.formatter.precision;if(t==="decimal")return i.formatter.decimal;if(t==="thousand")return i.formatter.thousand;if(t==="dateFormat")return i.formatter.dateFormat||"yyyy-MM-dd";if(t==="customFormat")return i.formatter.customFormat;if(t==="type")return i.formatter.type||"none"}return"none"}},tt={convertTo:(i,t,e,n)=>{i.command?i.command[t]=e:i.command={[t]:e},t==="enableType"&&e==="default"&&(i.command.enable=!0,i.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),t==="enableType"&&e==="custom"&&(i.command.enable=!0,i.command.commands=[{value:"add",text:{en:"add","zh-CHS":"增加","zh-CHT":"增加"},type:"link"},{value:"edit",text:{en:"edit","zh-CHS":"编辑","zh-CHT":"編輯"},type:"danger"},{value:"remove",text:{en:"remove","zh-CHS":"删除","zh-CHT":"刪除"},type:"remove"}]),t==="enableType"&&e==="unable"&&(i.command.enable=!1)},convertFrom:(i,t,e)=>{var n,r;if(i.command){if(t==="enableType"){const l=(r=(n=i.command)==null?void 0:n.commands)==null?void 0:r.find(a=>a.command==="edit"&&a.type==="primary");return i.command.enable?l?"default":"custom":"unable"}if(t==="commands")return i.command.enableType==="custom"?i.command.commands:[];if(t==="formatter")return i.command.formatter;if(t==="count")return i.command.count}return""}},it={convertTo:(i,t,e,n)=>{i.column?i.column[t]=e:i.column={[t]:e},t==="fitColumns"&&e&&(i.column.fitMode||(i.column.fitMode="average"))},convertFrom:(i,t,e)=>{if(i.column){if(t==="fitColumns")return i.column.fitColumns;if(t==="fitMode")return i.column.fitMode}return""}},nt={convertTo:(i,t,e,n)=>{i.summary?i.summary[t]=e:i.summary={[t]:e},t==="enable"&&e&&(i.summary?i.summary.groupFields||(i.summary.groupFields=[]):i.summary={enable:e,groupFields:[]})},convertFrom:(i,t,e)=>i.summary&&t==="enable"?i.summary.enable:i.type==="data-grid-column"?i.enableSummary===void 0?!1:i.enableSummary:""},rt={convertTo:(i,t,e,n)=>{i.group?i.group[t]=e:i.group={[t]:e},t==="enable"&&e&&(i.group?i.group.groupFields||(i.group.groupFields=[]):i.group={enable:e,groupFields:[],showSummary:!1})},convertFrom:(i,t,e)=>{if(i.group){if(t==="enable")return i.group.enable;if(t==="showSummary")return i.group.showSummary}}},ot={convertFrom:(i,t)=>i.binding?i.binding.path:"",convertTo:(i,t,e)=>{if(e&&e.length>0){const n=e[0];i.binding||(i.binding={}),i.binding.type="Form",i.binding.path=n.bindingField,i.binding.field=n.id,i.binding.fullPath=n.path,i.path=n.bindingPath}}},lt={convertTo:(i,t,e,n)=>{i.pagination||(i.pagination={}),i.pagination[t]=e},convertFrom:(i,t,e)=>i.pagination?i.pagination[t]:i[t]},st={convertTo:(i,t,e,n)=>{i.rowNumber||(i.rowNumber={}),i.rowNumber[t]=e},convertFrom:(i,t,e)=>i.rowNumber?i.rowNumber[t]:i[t]},at={convertTo:(i,t,e,n)=>{i.selection||(i.selection={}),i.selection[t]=e},convertFrom:(i,t,e)=>{var n,r;return t==="showCheckbox"?(n=i.selection)!=null&&n.multiSelect?!0:(r=i.selection)==null?void 0:r.showCheckbox:i.selection?i.selection[t]:i[t]}},dt={convertFrom:(i,t,e)=>i[t]&&i[t].length?`共 ${i[t].length} 项`:""},ct={convertFrom:(i,t)=>i[t]||"",convertTo:(i,t,e)=>{i[t]=e}},ut={convertTo:(i,t,e,n)=>{i.size||(i.size={}),i.size[t]=e},convertFrom:(i,t,e)=>i.size?i.size[t]:i[t]},ft={convertFrom:(i,t,e)=>{var n,r;return(n=i.formatter)!=null&&n.data&&t==="formatterEnumData"&&!i.formatterEnumData?(r=i.formatter)==null?void 0:r.data:i.formatterEnumData}},pt={convertTo:(i,t,e,n)=>{i.sort||(i.sort={}),i.sort[t]=e},convertFrom:(i,t,e)=>{var n,r;if(t==="mode")return((n=i.sort)==null?void 0:n.mode)||"client";if(t==="multiSort")return!!((r=i.sort)!=null&&r.multiSort)}},mt={convertTo:(i,t,e,n)=>{i.filter||(i.filter={}),i.filter[t]=e},convertFrom:(i,t,e)=>{var n;if(t==="mode")return((n=i.filter)==null?void 0:n.mode)||"client"}},gt={convertTo:(i,t,e,n)=>{i.rowOption?i.rowOption[t]=e:i.rowOption={[t]:e}},convertFrom:(i,t,e)=>{if(i.rowOption){if(t==="customRowStyle")return i.rowOption.customRowStyle;if(t==="customCellStyle")return i.rowOption.customCellStyle}return""}},ht={convertTo:(i,t,e,n)=>{(i.type==="data-grid-column"||i.type==="tree-grid-column")&&(i[t]=e,t==="columnTemplateType"&&e==="hyperlink"&&(i.onClickLinkCommand?i.columnTemplate=`
1
+ (function(P,s){typeof exports=="object"&&typeof module<"u"?s(exports,require("vue"),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("../notify/index.umd.js"),require("../locale/index.umd.js"),require("lodash-es"),require("../dynamic-form/index.umd.js"),require("../radio-group/index.umd.js"),require("../combo-list/index.umd.js"),require("../designer-canvas/index.umd.js/")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js","../condition/index.umd.js","../query-solution/index.umd.js","../notify/index.umd.js","../locale/index.umd.js","lodash-es","../dynamic-form/index.umd.js","../radio-group/index.umd.js","../combo-list/index.umd.js","../designer-canvas/index.umd.js/"],s):(P=typeof globalThis<"u"?globalThis:P||self,s(P["filter-bar"]={},P.Vue,P.dynamicResolver,P.designerCanvas,P.common,P.condition,P.querySolution,P.notify,P.locale,P.LodashES,P.dynamicForm,P.radioGroup,P.comboList,P._))})(this,function(P,s,$,h,W,Q,K,we,te,z,ee,Ie,ie,xe){"use strict";var Vt=Object.defineProperty;var Et=(P,s,$)=>s in P?Vt(P,s,{enumerable:!0,configurable:!0,writable:!0,value:$}):P[s]=$;var V=(P,s,$)=>Et(P,typeof s!="symbol"?s+"":s,$);const ne=new Map([["appearance",$.resolveAppearance]]);function Ve(i,t){const e=t==null?void 0:t.formSchemaUtils,n=i.parentComponentInstance,r="54bddc89-5f7e-4b91-9c45-80dd6606cfe9";function l(){const f=$.getSchemaByType(h.DgControl["content-container"].type),u=$.getSchemaByType(h.DgControl["filter-bar"].type);if(!f||!u)return;const o=Math.random().toString(36).substr(2,4);Object.assign(f,{id:"filter-container-"+o,appearance:{class:"f-filter-container"},contents:[u]}),Object.assign(u,{id:"filter-"+o,fields:[]});const c=n.belongedComponentId,y=e.getViewModelIdByComponentId(c),p=e.getViewModelById(y);return p!=null&&p.states&&(p.states.find(m=>m.code==="originalFilterConditionList")||p.states.push({id:W.useGuid().guid(),category:"locale",code:"originalFilterConditionList",name:"筛选条过滤条件",type:"String"})),{filterBar:u,filterBarContainer:f}}function a(){const f=e.getViewModelIdByComponentId(n.belongedComponentId),u=e.getViewModelById(f);let o;if(u&&u.commands){if(o=u.commands.find(c=>c.handlerName==="Filter"&&c.cmpId===r),!o)o={id:W.useGuid().guid(),code:`${u.id.replace(/-/g,"").replace("component","").replace("viewmodel","")}Filter1`,name:"过滤并加载数据1",params:[{name:"filter",shownName:"过滤条件",value:`{UISTATE~/#{${n.belongedComponentId}}/originalFilterConditionList}`,defaultValue:null},{name:"sort",shownName:"排序条件",value:"",defaultValue:null}],handlerName:"Filter",cmpId:r},u.commands.push(o);else if(o.params&&o.params.length){const c=o.params.find(y=>y.name==="filter");c&&(c.value=`{UISTATE~/#{${n.belongedComponentId}}/originalFilterConditionList}`)}}return{filterInGridViewModel:o}}function g(f){const u=e.getCommands();if(!u)return;let o=u.find(c=>c.id===r);o||(o={id:r,path:"igix/Web/WebCmp/bo-webcmp/metadata/webcmd/data-commands",name:"LoadCommands.webcmd",refedHandlers:[]},e.getCommands().push(o)),f&&!o.refedHandlers.find(c=>c.host===f.id)&&o.refedHandlers.push({host:f.id,handler:"Filter"})}function d(){const{filterBar:f,filterBarContainer:u}=l(),{filterInGridViewModel:o}=a();f&&o&&(f.onQuery=o.code),g(o);const c=t==null?void 0:t.useFormCommand;return c&&c.checkCommands(),u}return{createFilterBar:d}}function re(i,t,e,n){if(e.parentComponentInstance&&n){const a=Ve(e,n).createFilterBar();if(a)return a}return t}const oe={$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"},disabled:{type:"boolean",default:!1},visible:{description:"",type:"boolean",default:!0},fields:{description:"",type:"array"},resetText:{description:"",type:"string"}},required:["id","type"],events:{onQuery:"查询事件"}},H={defaultValues:{type:Array,default:[]},fields:{type:Array,default:[]},mode:{type:String,default:"editable"},visible:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},resetText:{type:String,default:"清空筛选"},customClass:{type:String,default:""},customStyle:{type:String,default:""}},le=$.createPropsResolver(H,oe,ne,re);function X(){const{getLocaleValue:i}=te.LocaleService;return{confirm:i("filterBar.confirm"),cancel:i("filterBar.cancel"),advancedFilter:i("filterBar.advancedFilter"),clearAll:i("filterBar.clearAll"),expand:i("filterBar.expand"),fold:i("filterBar.fold"),require:i("filterBar.require")}}function Ee(i){return te.LocaleService.getRealPropertyValue(i,"清空筛选","filterBar.reset")}function Se(i,t,e,n){const r=s.ref([]),l=s.ref([]),a=s.ref([]),g=s.ref("");s.ref(i.mode);const d=new Map,{createConditionValue:f}=Q.useConditionValue(),{convertToControls:u}=Q.useConditionUtils("filter-bar"),o=K.useCondition(i,t),{getFilterConditions:c}=o,{fieldToCondition:y,judgeLoadNewValue:p}=K.useSolutionUtils(),m=new we.FNotifyService,b=X();let v="[]";function C(w){return!i.disabled&&!w.value.isEmpty()}function k(w){l.value=u(w),l.value.reduce((T,L)=>(T.set(L.labelCode,L),T),d)}function N(w){const T=Array.isArray(w)?w:[];a.value=l.value.map(L=>{const x=T.find(I=>I.id===L.id);if(x){const I=y(L,x.value);return p(I,L)&&I.value.clear(),I}return y(L)})}function E(w){a.value=a.value.filter(T=>T.id!==w.id),r.value=r.value.filter(T=>T.fieldCode!==w.fieldCode),l.value=l.value.filter(T=>T.id!==w.id),t.emit("remove",w.fieldCode)}function M(){var w;i.disabled?e.value=!1:e.value=((w=a.value)==null?void 0:w.findIndex(T=>{var L;return T.value&&!((L=T.value)!=null&&L.isEmpty())}))>-1}function j(w,T=[]){const L=JSON.stringify(w||[]);L!==v&&(t.emit("conditionChange",w),v=L,T.length===0&&t.emit("query",w))}function D(){var x;M();const w=[];(a.value||[]).map(I=>{I.required&&(!I.value||I.value.isEmpty())&&w.push(I.fieldName||"")});const T=(x=a.value)==null?void 0:x.filter(I=>{var U;return I.value&&!((U=I.value)!=null&&U.isEmpty())});if(w.length>0){m.warning({message:b.require.replace("[fields]",w.join(",")),position:"top-center"});return}const L=c(T,l.value);j(L,w)}function S(w,T,L=!0){k(w),N(T),L&&D()}function F(w){w.value.clear(),r.value=r.value.filter(T=>T.fieldCode!==w.fieldCode),t.emit("clear",w.fieldCode),D()}function A(){a.value.forEach(w=>w.value.clear())}function O(){a.value.forEach(w=>{w.value.clear()}),t.emit("reset"),D(),n.resizeFilerBar()}return{clearAll:A,clearFilterItem:F,currentFilterId:g,filterFields:l,filterItems:a,fieldMap:d,loadFilterItems:S,removeFilterItem:E,reset:O,shouldShowClearButtonInFilterItem:C,handleQuery:D}}function Te(i,t,e,n){const r=s.ref([]),l=X(),a=s.ref(l.advancedFilter),g=s.ref(Ee(i.resetText)),d=s.ref(!1),{clearAll:f,reset:u,filterItems:o}=e;function c(){r.value=o.value.filter(b=>b.isExtend)}c();const y=s.computed(()=>r.value&&r.value.length>0);function p(b){d.value=!0}function m(b){i.mode==="display-only"?f():u()}return()=>s.createVNode("div",{class:"f-filter-toolbars"},[y.value&&s.createVNode("button",{class:"btn btn-link",onClick:b=>p()},[a.value]),n.value&&s.createVNode("button",{class:"btn btn-link",onClick:b=>m()},[g.value])])}const Me={filterItem:{type:Object,default:null},position:{type:Object,default:null},reference:{type:Object}},Pe=Object.assign({},Ie.radioGroupProps),ke=s.defineComponent({name:"FFilterRadioGroup",props:Pe,emits:["update:modelValue","change"],setup(i,t){const e=s.ref(),{dataSource:n,displayText:r,modelValue:l}=ie.useDataSource(i,t);function a(g){r.value=g.map(f=>f[i.textField]).join(i.separator);let d="";g.length===1?d=g[0][i.valueField]:d=g.map(f=>f[i.valueField]).join(i.separator),l.value!==d&&(l.value=d,t.emit("update:modelValue",l.value),t.emit("change",l.value))}return()=>s.createVNode(ie.FComboListContainer,{style:"margin: -2px -15px;padding: 0;",ref:e,idField:i.valueField,valueField:i.valueField,textField:i.textField,titleField:i.titleField,dataSource:n.value,selectedValues:l.value,multiSelect:!1,enableSearch:!1,onSelectionChange:g=>{a(g)}},null)}}),Ne=s.defineComponent({name:"FFilterBarItemCondition",props:Me,emits:["cancel","confirm","clearFilter"],setup(i,t){const e=s.ref(z.cloneDeep(i.filterItem)),n=s.ref(),r=X(),l=s.ref("0px"),a=s.ref("0px"),g=s.ref("0px"),d=s.ref("auto"),f=s.computed(()=>({left:d.value==="auto"?"26px":"auto",right:d.value})),u=s.computed(()=>({left:l.value,top:a.value})),o=s.computed(()=>({width:g.value==="0px"?null:g.value,maxWidth:g.value==="0px"?null:g.value})),c=s.ref(),{useFilterItemsComposition:y,resolveEditorProps:p}=s.inject("useFilterItemsComposition"),{fieldMap:m}=y,{renderFieldConditionEditor:b,conditionChangeHandler:v}=Q.useConditionUtils("filter-bar"),C=s.ref("");let k=!1,N={};const E=s.ref(!0);function M(){var R,Y;if(!i.reference||!c.value)return;const x=(R=i.reference)==null?void 0:R.getBoundingClientRect();let I=(Y=c.value)==null?void 0:Y.getBoundingClientRect().width;const U=document.body.clientWidth-x.x-30,B=document.body.clientWidth-x.y-30;I>U&&I>B&&(I=Math.max(U,B)),x.left>document.body.clientWidth-I-20?(l.value=x.left+x.width-I+"px",a.value=x.top+x.height+"px",d.value="26px"):(l.value=x.left+"px",a.value=x.top+x.height+"px",d.value="auto"),g.value=I+"px"}function j(x,I,U,B){k=!0,N={value:I,editor:U,option:B}}function D(){if(!n.value)return!1;const x=n.value.parentElement,I=Array.from(x.children);return I?!!I.find(B=>!B||!B.classList?!1:B.classList.contains("popover")&&B.style.visibility==="visible"):!1}function S(x,I,U,B){v(x,I,U,B),t.emit("confirm",e.value)}function F(){const{id:x,editor:I,needEmitChange:U}=b(m,e.value,j);if(C.value="filter-panel--"+I.type,I.type==="radio-group"){const B=p(I.type,I);return E.value=!1,s.createVNode(ke,s.mergeProps(B,{modelValue:e.value.value.value,"onUpdate:modelValue":R=>e.value.value.value=R,onChange:R=>{S(e.value,R,I)}}),{default:()=>[s.createTextVNode(" ")]})}return s.createVNode(ee.FDynamicFormGroup,{showLabelType:"force-none",id:x,key:x,editor:I,modelValue:e.value.value.value,"onUpdate:modelValue":B=>e.value.value.value=B,onChange:(B,R)=>{U&&j(e.value,B,I,R)}},null)}s.onMounted(()=>{M()});function A(x){const I=C.value.replace("filter-panel--","");["input","radio-group","switch"].findIndex(U=>U===I)>-1?t.emit("cancel"):D()||t.emit("cancel")}function O(x){x.stopPropagation(),k&&v(e.value,N.value,N.editor,N.option),t.emit("confirm",e.value)}function w(x){e.value.value.clear(),x.stopPropagation(),t.emit("confirm",e.value)}function T(){const x=W.getMaxZIndex();return{zIndex:Math.max(x,1050)}}const L=T();return()=>s.createVNode("div",{class:"f-filter-panel-wrapper can-close",ref:n,onClick:A,style:{zIndex:L}},[s.createVNode("div",{class:"f-filter-panel "+C.value,ref:c,style:u.value},[s.createVNode("div",{class:"f-filter-panel-inner",style:o.value,onClick:x=>x.stopPropagation()},[s.createVNode("div",{class:"f-filter-panel-arrow",style:f.value},null),F(),E.value&&s.createVNode("div",{class:"f-filter-panel-footer"},[s.createVNode("div",{class:"filter-panel-clear"},[s.createVNode("button",{class:"btn btn-link",onClick:w,style:"padding-left:0;"},[r.clearAll])]),s.createVNode("div",{class:"filter-panel-btns"},[s.createVNode("button",{class:"btn btn-secondary can-close",onClick:A},[r.cancel]),s.createVNode("button",{class:"filter-panel-submit btn btn-primary",onClick:O},[r.confirm])])])])])])}}),se={filterItem:{type:Object,default:null},disabled:{type:Boolean,default:!1}},Be=s.defineComponent({name:"FFilterBarItem",props:se,emits:["confirm"],setup(i,t){const e=s.ref(i.filterItem),{useFilterItemsComposition:n}=s.inject("useFilterItemsComposition"),{clearFilterItem:r,currentFilterId:l,removeFilterItem:a,shouldShowClearButtonInFilterItem:g}=n,d=s.ref(!1),f=s.ref(!1),u=s.ref(),o=s.ref(""),c=s.ref(),y=function(){return{"f-filter-item":!0,"f-state-disabled":i.disabled,"f-filter-item-actived":!e.value.value.isEmpty(),"f-filter-item-edit":e.value.id===l.value||d.value}};s.computed(()=>!i.disabled&&i.mode==="editable");function p(E){i.disabled||(i.mode==="display-only"?a(e.value):r(e.value))}function m(E){i.disabled||(d.value=!0)}function b(){d.value=!1}function v(){c.value&&c.value.scrollWidth>c.value.clientWidth?o.value=c.value.innerHTML:o.value=""}function C(E){d.value=!1,e.value.value=E.value,t.emit("confirm",E),s.nextTick(()=>{v()})}function k(){f.value=i.disabled?!1:g(e.value)}function N(){f.value=!1}return s.onMounted(()=>{v()}),()=>s.createVNode("div",{key:e.value.id,id:e.value.id,class:y(),onMouseenter:()=>k(),onMouseleave:()=>N()},[s.createVNode("div",{class:"f-filter-item-inner",ref:u,onClick:E=>m()},[e.value.required&&s.createVNode("span",{class:"f-filter-item-required text-danger"},[s.createTextVNode("*")]),s.createVNode("span",{class:"f-filter-item-text"},[e.value.fieldName]),!e.value.value.isEmpty()&&s.createVNode(s.Fragment,null,[s.createVNode("span",{class:"f-filter-item-tip"},[s.createTextVNode(":")]),s.createVNode("span",{class:"f-filter-item-content",ref:c,title:o.value},[e.value.value.getDisplayText()])]),!i.disabled&&s.createVNode("span",{class:"f-filter-item-arrow f-icon f-icon-arrow-chevron-down"},null)]),f.value&&s.createVNode("span",{class:"mr-3 f-filter-item-clear",onClick:E=>p()},[s.createVNode("span",{class:"f-icon f-icon-close-circle"},null)]),d.value&&s.createVNode(s.Teleport,{to:"body"},{default:()=>[s.createVNode(Ne,{filterItem:e.value,reference:u.value,onConfirm:C,onCancel:b},null)]})])}});function ae(i,t){const e=s.ref(null),n=15;let r=0;function l(d=-1,f=-1){var p;if(!i.value)return;const u=(p=i.value)==null?void 0:p.querySelector(".f-filter-list");if(!u)return;const o=u.children;if(!o||o.length===0||(d<0&&(d=i.value.clientWidth),r=f<0?r:f,Math.abs(d-r)<n))return;Array.from(o).forEach(m=>{m.style.display="flex"}),t.value=u.clientWidth<u.scrollWidth;let c=!1,y=0;for(let m=0;m<o.length;m++){const b=o[m],v=Math.ceil(b.offsetWidth+(parseFloat(getComputedStyle(b).marginRight)||0)+parseFloat(getComputedStyle(b).marginLeft));!c&&y+v<=d?y+=v:(b.style.display="none",c=!0)}r=d}function a(){var f,u;if(!i.value)return;(f=e.value)==null||f.unobserve(i.value);const d=((u=i.value.querySelector(".f-filter-list"))==null?void 0:u.children)||[];Array.from(d).forEach(o=>{o.style.display="flex"}),r=0}function g(){if(!i.value)return;const d=new ResizeObserver(f=>{const u=f[0].contentRect.width;l(u)});return d.observe(i.value),e.value=d,d}return{setupWidthObserver:g,cancelWidthObserver:a,handleVisibleChildren:l}}const G=s.defineComponent({name:"FFilterBar",props:H,emits:["clear","remove","reset","conditionChange","change","query"],setup(i,t){const e=s.ref(!1),n=s.ref(!1),r=s.ref(null),l=s.ref(!1),a=s.ref(0),g=ae(r,n),{cancelWidthObserver:d,setupWidthObserver:f,handleVisibleChildren:u}=g,o={resizeFilerBar:()=>{e.value||s.nextTick(()=>{u(-1,0)})}},c=Se(i,t,l,o),{filterFields:y,filterItems:p,loadFilterItems:m,handleQuery:b}=c,{resolveEditorProps:v}=ee.useTypeResolver();s.provide("useFilterItemsComposition",{useFilterItemsComposition:c,resolveEditorProps:v});const C=X(),k=s.computed(()=>{const O={display:y.value&&y.value.length?"":"none"};return W.getCustomStyle(O,i==null?void 0:i.customStyle)});m(i.fields,i.defaultValues,!!(i.defaultValues&&i.defaultValues.length>0)),s.watch([()=>i.defaultValues,()=>i.fields],([O,w])=>{m(w,O),a.value++,o.resizeFilerBar()}),s.onMounted(()=>{f()}),s.onUnmounted(()=>{d()});const N=s.computed(()=>({"f-filter-list":!0,"f-filter-list-extend":e.value})),E=s.computed(()=>({"extend-btn-arrow":!0,"f-icon":!0,"f-icon-arrow-chevron-up":e.value,"f-icon-arrow-chevron-down":!e.value})),M=s.computed(()=>!e.value&&n.value);function j(){e.value=!e.value,e.value?d():f()}const D=Te(i,t,c,l);function S(O){t.emit("change",O),b(),o.resizeFilerBar()}function F(){return s.createVNode("div",{class:N.value,key:i.id+"-main-"+a.value},[p.value.map((O,w)=>!O.isExtend&&s.createVNode(Be,{filterItem:O,onConfirm:S,disabled:i.disabled||O.disabled},null)),e.value&&D()])}function A(){return M.value&&s.createVNode("div",{class:"f-filter-list-ellipsis",onClick:O=>j()},[s.createTextVNode("...")])}return()=>s.createVNode("div",{class:"f-filter-wrapper "+i.customClass,style:k.value},[s.createVNode("div",{class:"f-filter-wrapper-inner f-utils-fill"},[s.createVNode("div",{class:"f-filter-main f-utils-fill"},[s.createVNode("div",{class:"f-filter-list-wrapper flex-fill",ref:r},[F()]),A(),!e.value&&D()]),n.value&&s.createVNode("div",{class:"f-filter-extend-btn"},[s.createVNode("button",{class:"btn btn-link",onClick:j},[s.createVNode("span",{class:"extend-btn-text"},[e.value?C.fold:C.expand]),s.createVNode("span",{class:E.value},null)])])])])}});function De(i,t){s.ref([]);const e=s.ref([]),n=s.ref([]),r=s.ref("");s.ref(!1),s.ref(i.mode);const l=new Map,{convertToControls:a}=Q.useConditionUtils("filter-bar"),{fieldToCondition:g}=K.useSolutionUtils();function d(c){return!c.value.isEmpty()}function f(c){e.value=z.cloneDeep(c),e.value.reduce((y,p)=>(y.set(p.labelCode,p),y),l)}function u(c){n.value=e.value.map(y=>g(y))}function o(c,y){f(c),u()}return o(i.fields),{currentFilterId:r,filterFields:e,filterItems:n,fieldMap:l,loadFilterItems:o,shouldShowClearButtonInFilterItem:d}}function Oe(i,t,e){const n=s.ref([]),r=s.ref("更多筛选"),{filterItems:l}=e;function a(){n.value=l.value.filter(d=>d.isExtend)}a();const g=s.computed(()=>n.value&&n.value.length>0);return()=>s.createVNode("div",{class:"f-filter-toolbars"},[g.value&&s.createVNode("button",{class:"btn btn-link"},[r.value])])}const Le=s.defineComponent({name:"FFilterBarItemDesign",props:se,emits:["confirm"],setup(i,t){const e=s.ref(i.filterItem),{useFilterItemsComposition:n}=s.inject("useFilterItemsComposition"),{currentFilterId:r,shouldShowClearButtonInFilterItem:l}=n,a=s.ref(i.disabled),g=function(){return{"f-filter-item":!0,"f-filter-item-actived":!e.value.value.isEmpty(),"f-filter-item-edit":e.value.id===r.value}};return()=>s.createVNode("div",{key:e.value.id,id:e.value.id,class:g()},[s.createVNode("div",{class:"f-filter-item-inner"},[e.value.required&&s.createVNode("span",{class:"f-filter-item-required text-danger"},[s.createTextVNode("*")]),s.createVNode("span",{class:"f-filter-item-text"},[e.value.fieldName]),e.value.value.getDisplayText()&&s.createVNode(s.Fragment,null,[s.createVNode("span",{class:"f-filter-item-tip"},[s.createTextVNode(":")]),s.createVNode("span",{class:"f-filter-item-content"},[e.value.value.getDisplayText()])]),!a.value&&s.createVNode("span",{class:"f-filter-item-arrow f-icon f-icon-arrow-chevron-down"},null)]),l(e.value)&&s.createVNode("span",{class:"mr-3 f-filter-item-clear"},[s.createVNode("span",{class:"f-icon f-icon-close-circle"},null)])])}});function je(i){const{formSchemaUtils:t,formStateMachineUtils:e}=i;function n(d,f=""){return{path:f+d.code,field:d.id,fullPath:d.code}}function r(d,f=""){const u=t.getViewModelById(d);return u?u.states.map(o=>n(o,f)):[]}function l(d){const f=t.getRootViewModelId(),u=r(d);if(d===f)return u;const o=r(f,"root-component.");return[...u,...o]}function a(d){return d.binding&&d.binding.path||d.id||""}function g(){return e&&e.getRenderStates()||[]}return{getVariables:l,getControlName:a,getStateMachines:g}}class de{constructor(t){V(this,"sessionVariables",[{key:"CurrentSysOrgName",name:"当前组织Name",description:"当前组织Name"},{key:"CurrentSysOrgId",name:"当前组织Id",description:"当前组织Id"},{key:"CurrentUserName",name:"当前用户Name",description:"当前用户Name"},{key:"CurrentUserCode",name:"当前用户Code",description:"当前用户Code"},{key:"CurrentUserId",name:"当前用户Id",description:"当前用户Id"},{key:"CurrentLanguage",name:"当前语言编号",description:"当前登录的语言编号,例如简体中文返回'zh-CHS',英文返回'en',繁体中文'zh-CHT'"}]);V(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});V(this,"getExpressionConverter",(t,e)=>({convertFrom:(n,r,l,a)=>{const g=l.getExpressionRuleValue(t,e||r);return g&&g.value||""},convertTo:(n,r,l,a,g)=>{var d;if(r==="dataPicking"&&(l!=null&&l.target)){const f=`${l.target}_dataPicking`;((d=l.rules)==null?void 0:d.some(o=>o.id===f&&o.value))?n.dictPickingExpressionId=f:delete n.dictPickingExpressionId}a.updateExpression(l)}}));this.formSchemaService=t}getExpressionRule(t,e){const n=this.formSchemaService.getExpressions();if(!n)return"";const r=n.find(a=>a.target===t);if(!r)return"";const l=r.rules.find(a=>a.type===e);return l||""}getContextFormVariables(){const{module:t}=this.formSchemaService.getFormSchema();if(!t.viewmodels||t.viewmodels.length===0)return[];const e=this.formSchemaService.getRootViewModelId(),n=this.formSchemaService.getViewModelById(e);if(!n||!n.states||n.states.length===0)return[];const r=[];return n.states.filter(l=>l.category==="remote").forEach(l=>{r.push({key:l.code,name:l.name,description:l.name,category:l.category})}),r}createTreeNode(t,e,n="label"){return{id:t.id,name:t.name,bindingPath:t[n],parents:e,type:"field"}}buildEntityFieldsTreeData(t=null,e){const n=[];return t==null||t.forEach(r=>{var g;const l=this.createTreeNode(r,e);let a=[];(g=r.type)!=null&&g.fields&&(a=this.buildEntityFieldsTreeData(r.type.fields,[...e,r.label])),n.push({data:l,children:a,expanded:!0})}),n}buildChildEntityTreeData(t=null,e){const n=[];return t==null||t.forEach(r=>{var d,f;const l=this.createTreeNode(r,e);l.type="entity";const a=this.buildEntityFieldsTreeData((d=r.type)==null?void 0:d.fields,[...e,r.label]),g=this.buildChildEntityTreeData((f=r.type)==null?void 0:f.entities,[...e,r.label]);g!=null&&g.length&&(a==null||a.push(...g)),n.push({data:l,children:a||[],expanded:!0})}),n}getEntitiesTreeData(){const t=this.formSchemaService.getSchemaEntities();if(!(t!=null&&t.length))return[];const e=t[0];if(!(e!=null&&e.type))return[];const n=this.buildEntityFieldsTreeData(e.type.fields,[e.code]),r=this.buildChildEntityTreeData(e.type.entities,[e.code]);return r!=null&&r.length&&(n==null||n.push(...r)),{entityCode:e.code,fields:[{data:this.createTreeNode(e,[],"code"),children:n||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(t,e,n){const r=n==="Field"?t.binding.field:t.id,l=this.getExpressionRule(r,e),a=this.getEntitiesAndVariables(),g={message:["validate","required","dataPicking"].includes(e)&&l?l.message:"",...a};return l.messageType!=null&&(g.messageType=l.messageType),g}buildRule(t,e,n,r){const{expression:l,message:a,messageType:g}=e,d={id:`${t}_${n}`,type:n,value:l};return(n==="validate"||n==="dataPicking"||n==="required")&&(d.message=a),n==="dataPicking"&&(d.messageType=g),n==="validate"&&r&&(d.elementId=r),d}getExpressionData(){const{expressions:t}=this.formSchemaService.getFormSchema().module;return t||[]}updateExpression(t,e,n,r){const l=e==="Field"?t.binding.field:t.id,a=this.buildRule(l,n,r,t.type==="form-group"?t.id:"");let d=this.getExpressionData().find(u=>u.targetType===e&&u.target===l);const f=u=>u.value.trim()==="";if(d){const u=d.rules.find(o=>o.id===a.id);if(u)f(a)?d.rules=d.rules.filter(o=>o.id!==a.id):(Object.assign(u,a),r==="validate"&&t.type==="form-group"&&(u.elementId=t.id));else{if(f(a))return null;d.rules=d.rules||[],d.rules.push(a)}}else{if(f(a))return null;d={target:`${l}`,rules:[a],targetType:e}}return d}getExpressionEditorOptions(t,e,n,r){return n.reduce((l,a)=>{var d,f;const g=e==="Field"?(d=t==null?void 0:t.binding)==null?void 0:d.field:t.id;return l[a]={hide:e==="Field"?!!((f=t==null?void 0:t.binding)!=null&&f.field):!1,description:"",title:this.expressionNames[a],type:"string",$converter:this.getExpressionConverter(g),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[a]}编辑器`,showMessage:a==="validate"||a==="dataPicking"||a==="required",showMessageType:a==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(t,a,e),onSubmitModal:u=>{const o=this.updateExpression(t,e,u,a);if(r){const c=this.buildRule(g,u,a);r(c)}return o}}},l},{})}getExpressionInfo(t,e,n){const r=e==="Field"?t.binding.field:t.id,l=this.getExpressionRule(r,n),a={value:l&&l.value,targetId:r,targetType:e,expressionType:n};return l&&l.message&&(a.message=l.message),a}getExpressionConfig(t,e,n=["compute","dependency","validate"],r){return{description:"表达式",title:"表达式",hide:!t.binding,properties:{...this.getExpressionEditorOptions(t,e,n,r)}}}getExpressionOptions(t,e,n){const r=this.getExpressionInfo(t,e,n);return{dialogTitle:`${this.expressionNames[n]}编辑器`,singleExpand:!1,showMessage:n==="required",beforeOpen:()=>this.onBeforeOpenExpression(t,n,e),expressionInfo:r}}}class Ue{constructor(t,e){V(this,"componentId");V(this,"viewModelId");V(this,"eventsEditorUtils");V(this,"formSchemaUtils");V(this,"formMetadataConverter");V(this,"designViewModelUtils");V(this,"designViewModelField");V(this,"controlCreatorUtils");V(this,"designerHostService");V(this,"designerContext");V(this,"schemaService",null);V(this,"metadataService",null);V(this,"propertyConfig",{type:"object",categories:{}});var n;this.componentId=t,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((n=this.formSchemaUtils)==null?void 0:n.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService,this.designerContext=e.designerContext}getFormDesignerInstance(){var t,e;return(e=(t=this.designerContext)==null?void 0:t.instances)==null?void 0:e.formDesigner.value}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){var n;const e=t.binding&&t.binding.type==="Form"&&t.binding.field;if(e){if(!this.designViewModelField){const r=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=r.fields.find(l=>l.id===e)}t.updateOn=(n=this.designViewModelField)==null?void 0:n.updateOn}}getBasicPropConfig(t){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",idField:"value",editable:!1,data:[{value:t.type,name:h.DgControl[t.type]&&h.DgControl[t.type].name}]}}}}}getAppearanceConfig(t=null,e={},n){const r={title:"外观",description:"Appearance"},l={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"}};for(const a in e)l[a]=Object.assign(l[a]||{},e[a]);return{...r,properties:{...l},setPropertyRelates(a,g){if(a){switch(a&&a.propertyID){case"class":case"style":{h.canvasChanged.value++;break}}n&&n(a,t,g)}}}}getPropertyEditorParams(t,e=[],n="visible",r={},l={},a=""){const{getVariables:g,getControlName:d,getStateMachines:f}=je(this.designerHostService),u=this.getRealTargetType(t),o=e&&e.length>0?e:["Const","Variable","StateMachine","Expression"],c={type:"property-editor",propertyTypes:o};return o.map(y=>{switch(y){case"Const":Object.assign(c,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},r);break;case"Expression":c.expressionConfig=this.getExpressionOptions(t,u,a||n);break;case"StateMachine":c.stateMachines=f();break;case"Variable":Object.assign(c,{controlName:d(t),newVariablePrefix:"is",newVariableType:"Boolean",variables:g(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:p=>{p.value=g(this.viewModelId)}},l),this.designerContext.designerMode==="PC_RTC"&&(c.newVariablePrefix="ext_"+c.newVariablePrefix);break}}),c}getVisibleProperty(t,e=""){var l;let n=["Const","Variable","StateMachine","Expression"];return e==="gridFieldEditor"?n=["Const","Expression"]:e==="form-group"&&!((l=t.binding)!=null&&l.field)&&(n=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(t,n,"visible")}}}getBehaviorConfig(t,e="",n={},r){const l={title:"行为",description:""},a=this.getVisibleProperty(t,e);for(const d in n)a[d]=Object.assign(a[d]||{},n[d]);const g=this;return{...l,properties:{...a},setPropertyRelates(d,f){if(d){switch(d.propertyID){case"disabled":case"readonly":case"visible":g.afterMutilEditorChanged(t,d);break}r&&r(d,f)}}}}afterMutilEditorChanged(t,e){this.addNewVariableToViewModel(e,this.viewModelId),this.updateExpressionValue(e),this.clearExpression(e,t)}updateElementByParentContainer(t,e){const n=e&&e.parent&&e.parent.schema;if(!n)return;const r=n.contents.findIndex(a=>a.id===t),l=z.cloneDeep(n.contents[r]);n.contents.splice(r,1),n.contents.splice(r,0,l),h.refreshCanvas()}addNewVariableToViewModel(t,e){const n=t.propertyValue;if(!(n&&typeof n=="object")||!(n.type==="Variable"&&n.isNewVariable))return;const a={id:n.field,category:"locale",code:n.fullPath,name:n.fullPath,type:n.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete n.newVariableType,delete n.isNewVariable,this.formSchemaUtils.getVariableByCode(a.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(a)}updateExpressionValue(t){const e=t.propertyValue;if(!((e&&e.type)==="Expression"&&e.expressionInfo))return;const{expressionId:l,expressionInfo:a}=e,{targetId:g,targetType:d,expressionType:f,value:u,message:o}=a,c=this.formSchemaUtils.getModule();c.expressions=c.expressions||[];const{expressions:y}=c;let p=y.find(b=>b.target===g);p||(p={target:g,rules:[],targetType:d},y.push(p));const m=p.rules.find(b=>b.type===f);if(m)m.value=u,m.message=o;else{const b={id:l,type:f,value:u,message:o};p.rules.push(b)}delete e.expressionInfo}clearExpression(t,e){const n=t.propertyValue;if(n&&n.type==="Expression")return;const l=t.propertyID,a=this.formSchemaUtils.getExpressions(),g=e.binding?e.binding.field:e.id,d=a.find(f=>f.target===g);!d||!d.rules||(d.rules=d.rules.filter(f=>f.type!==l))}getExpressionOptions(t,e,n){return new de(this.formSchemaUtils).getExpressionOptions(t,e,n)}getRealTargetType(t){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(t.type)>-1?"Button":t.binding&&t.binding.field?"Field":"Container"}createBaseEventProperty(t){const e={};return e[this.viewModelId]={type:"events-editor",editor:{initialData:t,viewSourceHandle:n=>{var r;((r=n.controller)==null?void 0:r.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(n)}}},e}}const _=class _{static getEditorTypesByMDataType(t,e=!1,n=""){if(e)return[{key:h.DgControl["language-textbox"].type,value:h.DgControl["language-textbox"].name}];let r=_.fieldControlTypeMapping[t];if(n==="data-grid-column"&&(r!=null&&r.length)){const l=[h.DgControl["check-group"].type,h.DgControl["radio-group"].type,h.DgControl.image.type,h.DgControl["rich-text-editor"].type];r=r.filter(a=>!l.includes(a.key))}return r}static getAllInputTypes(){const t=[];for(const e in _.fieldControlTypeMapping)_.fieldControlTypeMapping[e].forEach(n=>{t.find(r=>r.key===n.key&&r.value===n.value)||t.push({key:n.key,value:n.value})});return t}static mappingDomPropAndSchemaProp(t,e){var l;const n=(l=t.editor)==null?void 0:l.type,r=[];return(t.type===h.DgControl["data-grid-column"].type||t.type===h.DgControl["tree-grid-column"].type)&&e&&e.categoryId&&e.categoryId.indexOf("gridFieldEditor")<0&&r.push({domField:"title",schemaField:"name"}),r.push({domField:"label",schemaField:"name"}),r.push({domField:"editor.required",schemaField:"require"}),r.push({domField:"editor.readonly",schemaField:"readonly"}),(n===h.DgControl["input-group"].type||n===h.DgControl.textarea.type||n===h.DgControl["number-spinner"].type)&&r.push({domField:"editor.maxLength",schemaField:"type.length"}),n===h.DgControl["number-spinner"].type&&r.push({domField:"editor.precision",schemaField:"type.precision"}),(t.type===h.DgControl["data-grid-column"].type||t.type===h.DgControl["tree-grid-column"].type)&&r.push({domField:"formatter.precision",schemaField:"type.precision"}),(n===h.DgControl["combo-list"].type||n===h.DgControl["radio-group"].type)&&r.push({domField:"editor.data",schemaField:"type.enumValues"}),(t.type===h.DgControl["data-grid-column"].type||t.type===h.DgControl["tree-grid-column"].type)&&r.push({domField:"formatter.data",schemaField:"type.enumValues"}),n===h.DgControl["date-picker"].type&&(r.push({domField:"editor.displayFormat",schemaField:"editor.format"}),r.push({domField:"editor.fieldType",schemaField:"type.name"})),n===h.DgControl["number-spinner"].type&&(r.push({domField:"editor.max",schemaField:"editor.maxValue"}),r.push({domField:"editor.min",schemaField:"editor.minValue"})),n===h.DgControl.lookup.type&&(r.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),r.push({domField:"editor.valueField",schemaField:"editor.valueField"}),r.push({domField:"editor.textField",schemaField:"editor.textField"}),r.push({domField:"editor.displayType",schemaField:"editor.displayType"}),r.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),r.push({domField:"editor.helpId",schemaField:"editor.helpId"})),r.push({domField:"path",schemaField:"bindingPath"}),r.push({domField:"binding.path",schemaField:"bindingField"}),r.push({domField:"binding.fullPath",schemaField:"path"}),(t.type===h.DgControl["data-grid-column"].type||t.type===h.DgControl["tree-grid-column"].type)&&r.push({domField:"field",schemaField:"bindingPath"}),r}};V(_,"fieldControlTypeMapping",{String:[{key:h.DgControl["input-group"].type,value:h.DgControl["input-group"].name},{key:h.DgControl.lookup.type,value:h.DgControl.lookup.name},{key:h.DgControl.image.type,value:h.DgControl.image.name},{key:h.DgControl["date-picker"].type,value:h.DgControl["date-picker"].name},{key:h.DgControl.switch.type,value:h.DgControl.switch.name},{key:h.DgControl["check-box"].type,value:h.DgControl["check-box"].name},{key:h.DgControl["check-group"].type,value:h.DgControl["check-group"].name},{key:h.DgControl["radio-group"].type,value:h.DgControl["radio-group"].name},{key:h.DgControl["combo-list"].type,value:h.DgControl["combo-list"].name},{key:h.DgControl.textarea.type,value:h.DgControl.textarea.name},{key:h.DgControl["time-picker"].type,value:h.DgControl["time-picker"].name}],Text:[{key:h.DgControl.textarea.type,value:h.DgControl.textarea.name},{key:h.DgControl.lookup.type,value:h.DgControl.lookup.name},{key:h.DgControl.image.type,value:h.DgControl.image.name},{key:h.DgControl["rich-text-editor"].type,value:h.DgControl["rich-text-editor"].name}],Decimal:[{key:h.DgControl["number-spinner"].type,value:h.DgControl["number-spinner"].name}],Integer:[{key:h.DgControl["number-spinner"].type,value:h.DgControl["number-spinner"].name}],Number:[{key:h.DgControl["number-spinner"].type,value:h.DgControl["number-spinner"].name},{key:h.DgControl.switch.type,value:h.DgControl.switch.name},{key:h.DgControl["check-box"].type,value:h.DgControl["check-box"].name}],BigNumber:[{key:h.DgControl["number-spinner"].type,value:h.DgControl["number-spinner"].name}],Date:[{key:h.DgControl["date-picker"].type,value:h.DgControl["date-picker"].name}],DateTime:[{key:h.DgControl["date-picker"].type,value:h.DgControl["date-picker"].name}],Boolean:[{key:h.DgControl.switch.type,value:h.DgControl.switch.name},{key:h.DgControl["check-box"].type,value:h.DgControl["check-box"].name}],Enum:[{key:h.DgControl["combo-list"].type,value:h.DgControl["combo-list"].name},{key:h.DgControl["radio-group"].type,value:h.DgControl["radio-group"].name}],Object:[{key:h.DgControl.lookup.type,value:h.DgControl.lookup.name},{key:h.DgControl["combo-list"].type,value:h.DgControl["combo-list"].name},{key:h.DgControl["radio-group"].type,value:h.DgControl["radio-group"].name}]});let Z=_;var J=(i=>(i.Form="Form",i.Variable="Variable",i))(J||{});class Ae{constructor(){V(this,"label","");V(this,"id","");V(this,"columnInSM",12);V(this,"columnInMD",6);V(this,"columnInLG",3);V(this,"columnInEL",2);V(this,"displayWidthInSM",1);V(this,"displayWidthInMD",1);V(this,"displayWidthInLG",1);V(this,"displayWidthInEL",1);V(this,"displayColumnCountAtBreakPoint","md");V(this,"tagRow",0);V(this,"showTopBorder",0);V(this,"group",1);V(this,"isSupportedClass",!0);V(this,"fieldSetId","")}}function Re(i){let t,e;const n=new Map;let r=[];function l(u,o){const y=u.split(" ").filter(C=>C.startsWith("col-"));if(y.length===0){o.isSupportedClass=!1;return}let p=y.find(C=>/^col-([1-9]|10|11|12)$/.test(C)),m=y.find(C=>/^col-md-([1-9]|10|11|12)$/.test(C)),b=y.find(C=>/^col-xl-([1-9]|10|11|12)$/.test(C)),v=y.find(C=>/^col-el-([1-9]|10|11|12)$/.test(C));p=p||"col-12",o.columnInSM=parseInt(p.replace("col-",""),10),o.displayWidthInSM=o.columnInSM/12,o.displayWidthInSM!==1&&(o.isSupportedClass=!1),m=m||"col-md-"+o.columnInSM,o.columnInMD=parseInt(m.replace("col-md-",""),10),o.displayWidthInMD=o.columnInMD/6,[1,2].includes(o.displayWidthInMD)||(o.isSupportedClass=!1),b=b||"col-xl-"+o.columnInMD,o.columnInLG=parseInt(b.replace("col-xl-",""),10),o.displayWidthInLG=o.columnInLG/3,[1,2,3,4].includes(o.displayWidthInLG)||(o.isSupportedClass=!1),v=v||"col-el-"+o.columnInLG,o.columnInEL=parseInt(v.replace("col-el-",""),10),o.displayWidthInEL=o.columnInEL/2,[1,2,3,4,5,6].includes(o.displayWidthInEL)||(o.isSupportedClass=!1)}function a(u,o,c,y=!1){let p=!1;u.contents.forEach(m=>{if(m.type==="fieldset"){c+=1,a(m,o,c,!0),p=!0;return}p&&(c+=1,p=!1);const b=m.appearance&&m.appearance.class,v=new Ae;b?l(b,v):v.isSupportedClass=!1,v.label=m.label||m.id,v.id=m.id,v.group=c,y&&(v.fieldSetId=u.id),e===m.id&&(t=c),n.set(m.id,m),o.push(v)})}function g(u){const o=i.getComponentById(u);if(!o||!o.componentType||!o.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const c=i.selectNode(o,y=>y.type===h.DgControl["response-form"].type);return!c||!c.contents||c.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:c}}function d(u,o){o=o||u.id;const{result:c,message:y,formNode:p}=g(o);if(!c)return{result:c,message:y};e=u.id,r=[],n.clear();const m=p.contents[0].type===h.DgControl.fieldset.type?0:1;a(p,r,m);const b=r.find(C=>!C.isSupportedClass);return{defaultState:{defaultGroupNumber:t||1,model:b?"customize":"standard"},importData:r}}function f(u,o){o=o;const{result:c,formNode:y}=g(o);if(!c)return"";const p=[];return u.forEach(m=>{var C;const b=n.get(m.id),v=b.appearance&&b.appearance.class;if(v){const N=v.split(" ").filter(F=>!F.startsWith("col-")),E="col-"+m.columnInSM,M="col-md-"+m.columnInMD,j="col-xl-"+m.columnInLG,D="col-el-"+m.columnInEL,S=[E,M,j,D].concat(N);b.appearance.class=S.join(" ")}if(m.fieldSetId){const k=y.contents.find(E=>E.id===m.fieldSetId),N=p.find(E=>E.id===m.fieldSetId);N?(C=N.contents)==null||C.push(b):(p.push(k),k.contents=[b])}else p.push(b)}),y.contents=p,y.id}return{checkCanFindFormNode:g,checkCanOpenLayoutEditor:d,changeFormControlsByResponseLayoutConfig:f,getResonseFormLayoutConfig:a}}class $e extends Ue{constructor(e,n){super(e,n);V(this,"responseLayoutEditorFunction");V(this,"bindingVarible");V(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});this.responseLayoutEditorFunction=Re(this.formSchemaUtils)}getCommonPropertyConfig(e,n,r="Card"){this.propertyConfig.categories.basic=this.getBasicProperties(e,n,r),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,n),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e,"form-group")}getPropertyConfig(e,n){return this.getCommonPropertyConfig(e,n,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressions=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(e),this.propertyConfig}getGridFieldEdtiorPropConfig(e,n){return this.propertyConfig.categories={},this.getCommonPropertyConfig(e,n,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(e):this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressons=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories}getBasicProperties(e,n,r="Card"){var f;const l=this;this.setDesignViewModelField(e);const{canChangeControlType:a,editorTypeList:g}=this.getAvailableEditorType(e),d={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",editable:!1,data:g,readonly:!a}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},showLabelType:{description:"标签显示方式:1、显示:显示标签 2、占位:保留标签空间,但不显示文本 3、不显示:不显示标签",title:"标签显示",type:"enum",editor:{data:[{id:"visible",name:"显示"},{id:"reserve-space",name:"占位"},{id:"none",name:"不显示"}]},defaultValue:((f=e.editor)==null?void 0:f.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:e,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!e.isRtcControl}},setPropertyRelates(u,o,c){if(u)switch(u&&u.propertyID){case"type":{l.changeControlType(e,u,n);break}case"label":{u.needRefreshControlTree=!0;break}case"binding":{l.changeBindingField(e,u,c);break}}}};return r.toLocaleLowerCase()!=="card"&&delete d.properties.showLabelType,d}checkCanChangeControlType(e,n){if(!e.binding)return!1;if(e.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(e.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==W.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(e){var l,a;const n=this.checkCanChangeControlType(e,this.viewModelId);if(!n)return{canChangeControlType:!1,editorTypeList:[{key:e.editor.type,value:((l=h.DgControl[e.editor.type])==null?void 0:l.name)||e.editor.type}]};let r=[];return this.designViewModelField&&this.designViewModelField.$type===W.FormSchemaEntityField$Type.SimpleField?r=Z.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(r=Z.getEditorTypesByMDataType(this.bindingVarible.type,!!((a=this.designViewModelField)!=null&&a.multiLanguage))),{canChangeControlType:n,editorTypeList:r}}changeBindingField(e,n,r){n.needRefreshEntityTree=!0}getAppearanceProperties(e,n){const r=this;return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的内联样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},fill:{title:"填充宽度",description:"启用后,控件占满父容器宽度",type:"boolean",parentPropertyID:"appearance"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",beforeOpen:()=>r.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,r.componentId)}}},setPropertyRelates(l,a){if(l)switch(l&&l.propertyID){case"responseLayout":r.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(l.propertyValue,r.componentId||e.id),r.updateUnifiedLayoutAfterResponseLayoutChanged(r.componentId),r.updateElementByParentContainer(e.id,n),delete e.responseLayout;break;case"class":r.updateUnifiedLayoutAfterControlChanged(l.propertyValue,e.id,this.componentId),h.canvasChanged.value++;break;case"style":{h.canvasChanged.value++;break}}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,n,r){const l=n.propertyValue,a=r&&r.parent&&r.parent.schema;if(!a)return;const g=a.contents.findIndex(u=>u.id===e.id);if(g===-1)return;const d=a.contents[g];let f;if(this.designViewModelField){const c=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(p=>p.id===this.designViewModelField.id).fieldSchema||{};c.editor||(c.editor={}),c.editor.$type=l,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,c,!1),f=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,l)}f||(f=this.controlCreatorUtils.createFormGroupWithoutField(l)),Object.assign(f,{id:d.id,appearance:d.appearance,size:d.size,label:d.label,binding:d.binding}),Object.prototype.hasOwnProperty.call(d,"visible")&&Object.assign(f,{visible:d.visible}),d.editor&&["readonly","required","placeholder"].map(u=>{Object.prototype.hasOwnProperty.call(d.editor,u)&&(f.editor[u]=d.editor[u])}),r!=null&&r.updateContextSchema?r.updateContextSchema(f):(r.schema=Object.assign(d,f),Object.assign(e,f)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(u=>u.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(u=>u.classList.remove("dgComponentFocused")),h.canvasChanged.value++,s.nextTick(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}getComponentConfig(e,n={},r={},l){var c,y;const a=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},n),g=(c=e.binding)!=null&&c.field?[]:["Const","Variable","StateMachine"],d=this.getPropertyEditorParams(e,g,"readonly"),f=this.getPropertyEditorParams(e,g,"required"),u={readonly:{description:"",title:"只读",editor:d},required:{description:"",title:"必填",type:"boolean",editor:f,visible:!!((y=e.binding)!=null&&y.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const p in r)u[p]=Object.assign(u[p]||{},r[p]);const o=this;return{...a,properties:{...u},setPropertyRelates(p,m){if(p){switch(p.propertyID){case"readonly":case"required":o.afterMutilEditorChanged(e,p);break}l&&l.bind(o)(p,e,m)}}}}updateUnifiedLayoutAfterControlChanged(e,n,r){const l=e.split(" ");let a=l.find(o=>/^col-([1-9]|10|11|12)$/.test(o)),g=l.find(o=>/^col-md-([1-9]|10|11|12)$/.test(o)),d=l.find(o=>/^col-xl-([1-9]|10|11|12)$/.test(o)),f=l.find(o=>/^col-el-([1-9]|10|11|12)$/.test(o));a=a||"col-12",g=g||"col-md-"+a.replace("col-",""),d=d||"col-xl-"+g.replace("col-md-",""),f=f||"col-el-"+d.replace("col-xl-","");const u={id:n,columnInSM:parseInt(a.replace("col-",""),10),columnInMD:parseInt(g.replace("col-md-",""),10),columnInLG:parseInt(d.replace("col-xl-",""),10),columnInEL:parseInt(f.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(r,u)}updateUnifiedLayoutAfterResponseLayoutChanged(e,n){const{formNode:r}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!r||!r.unifiedLayout)return;const l=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(r,l,1),n){const p=l.find(m=>m.id===n.id);Object.assign(p||{},n)}const a=l.map(p=>p.columnInSM),g=l.map(p=>p.columnInMD),d=l.map(p=>p.columnInLG),f=l.map(p=>p.columnInEL),u=this.checkIsUniqueColumn(a)?a[0]:null,o=this.checkIsUniqueColumn(g)?g[0]:null,c=this.checkIsUniqueColumn(d)?d[0]:null,y=this.checkIsUniqueColumn(f)?f[0]:null;Object.assign(r.unifiedLayout,{uniqueColClassInSM:u,uniqueColClassInMD:o,uniqueColClassInLG:c,uniqueColClassInEL:y})}checkIsUniqueColumn(e){const n=new Set(e);return Array.from(n).length===1}getItemCollectionEditor(e,n,r){return n=n||"value",r=r||"name",{editor:{columns:[{field:n,title:"值",dataType:"string"},{field:r,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:n,nameField:r,requiredFields:[n,r],uniqueFields:[n,r],readonly:this.checkEnumDataReadonly(e)}}}checkEnumDataReadonly(e){return!e.binding||e.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===W.FormSchemaEntityFieldType$Type.EnumType)}appendFieldValueChangeEvents(e,n){e.binding&&e.binding.type===J.Form&&e.binding.field?(n.find(r=>r.label==="fieldValueChanging"),n.find(r=>r.label==="fieldValueChanged"),this.designViewModelField&&(e.fieldValueChanging=this.designViewModelField.valueChanging,e.fieldValueChanged=this.designViewModelField.valueChanged)):n=n.filter(r=>r.label!=="fieldValueChanging"&&r.label!=="fieldValueChanged")}getControlMethodType(e){if(!e.binding)return e.type;switch(e.binding.type){case J.Form:return e.binding.path||e.type;case J.Variable:return e.binding.fullPath||e.type}return e.type}getEventPropertyConfig(e,n="card",r,l){const a=this;let g=[];if(r&&(g=g.concat(r)),g.length===0)return{title:"事件",hideTitle:!0,properties:{},tabId:"commands",tabName:"交互",hide:!0};this.appendFieldValueChangeEvents(e,g);const d=a.eventsEditorUtils.formProperties(e,a.viewModelId,g);return{title:"事件",hideTitle:!0,properties:a.createBaseEventProperty(d),tabId:"commands",tabName:"交互",setPropertyRelates(o,c){const y=o.propertyValue;delete e[a.viewModelId],y&&(y.setPropertyRelates=this.setPropertyRelates,y.controlInfo={type:a.getControlMethodType(e),name:e.title},a.eventsEditorUtils.saveRelatedParameters(e,a.viewModelId,y.events,y)),l&&l(o,c,y);const p=a.designViewModelUtils.getDgViewModel(a.viewModelId);p&&a.designViewModelField&&p.changeField(a.designViewModelField.id,{valueChanging:e.fieldValueChanging,valueChanged:e.fieldValueChanged})}}}getExpressionConfig(e,n,r=["compute","dependency","validate"],l){return new de(this.formSchemaUtils).getExpressionConfig(e,n,r,l)}getBindingDataType(){return this.designViewModelField?this.designViewModelField.type.name==="Number"?"number":this.designViewModelField.type.name==="String"?"string":"boolean":"boolean"}getEditor(){return this.getBindingDataType()==="number"?this.numberEditorOptions:{}}updatePropertyValue(e,n,r){var l;e.editor[n]!==r?e.editor[n]=r:(l=this.getFormDesignerInstance())==null||l.reloadPropertyPanel()}setBooleanValue(e,n,r){let l=r;this.getBindingDataType()==="string"&&(l=(l||"").trim()||(n==="trueValue"?"true":"false"));const g=n==="trueValue"?"falseValue":"trueValue";e.editor[g]===l&&(l=l+1),this.updatePropertyValue(e,n,l)}getBooleanValueConverter(){return{convertFrom:(e,n)=>e.editor[n],convertTo:(e,n,r)=>{this.setBooleanValue(e,n,r)}}}}class qe extends $e{getPropertyConfig(t,e){return this.propertyConfig.categories.basic=this.getBasicPropConfig(t),this.propertyConfig.categories.appearance=this.getAppearanceConfig(),this.getBehaviorConfig(t),this.getFilterBarConfig(t),this.getEventPropConfig(t),this.propertyConfig}getBehaviorConfig(t){this.propertyConfig.categories.apperance={description:"Basic Infomation",title:"行为",properties:{resetText:{description:"选择筛选条件后,按钮“清空筛选”的文本",type:"string",title:"按钮“清空筛选”的文本"}}}}getFilterBarConfig(t){const e=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId),n=this;this.getPropertyEditorParams(t,[],"visible"),this.getPropertyEditorParams(t,[],"disable"),this.propertyConfig.categories.control={description:"Basic Infomation",title:"编辑器",properties:{fields:{description:"筛选条字段设置",title:"筛选条字段",type:"",editor:{type:"query-solution-config",source:"filter-bar",title:"筛选条字段",fieldsConfig:e,formSchemaUtils:this.formSchemaUtils,metadataService:this.metadataService,viewModelId:this.viewModelId,designViewModelUtils:this.designViewModelUtils,eventsEditorUtils:this.eventsEditorUtils,schemaService:this.schemaService}},defaultValues:{description:"默认值绑定字段",type:"object",title:"默认值绑定字段",editor:this.getPropertyEditorParams(t,["Variable"],"",{},{newVariableType:"Object"})}},setPropertyRelates(r,l){if(r)switch(r.propertyID){case"visible":case"disable":n.afterMutilEditorChanged(t,r);break;case"defaultValues":n.addNewVariableToViewModel(r,n.viewModelId);break}}}}getEventPropConfig(t){const e=[{label:"onQuery",name:"查询事件"}],n=this,r=n.eventsEditorUtils.formProperties(t,n.viewModelId,e),l=n.createBaseEventProperty(r);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:l,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,g){const d=a.propertyValue;delete t[n.viewModelId],d&&(d.setPropertyRelates=this.setPropertyRelates,n.eventsEditorUtils.saveRelatedParameters(t,n.viewModelId,d.events,d)),t.remoteSort=!!t.columnSorted}}}}function We(i,t){function e(g,d){const f=i.schema;return new qe(g,t).getPropertyConfig(f,d)}function n(){return!1}function r(){return!1}function l(){return!1}function a(){var g;if(i&&t){const{formSchemaUtils:d}=t,f=d.getControlBasicInfoMap(),{schema:u}=i,o=xe.DgControl["filter-bar"].name;f.set(u.id,{componentTitle:o,parentPathName:o}),(g=u.fields)!=null&&g.length&&u.fields.map(c=>{f.set(c.id,{componentTitle:c.name,parentPathName:`${o} > ${c.name}`})})}}return{getPropsConfig:e,canAccepts:n,checkCanDeleteComponent:r,checkCanMoveComponent:l,setComponentBasicInfoMap:a}}function ce(i,t){let e;function n(o){const{properties:c,title:y,ignore:p}=o,m=p&&Array.isArray(p),b=Object.keys(c).reduce((v,C)=>((!m||!p.find(k=>k===C))&&(v[C]=c[C].type==="object"&&c[C].properties?n(c[C]):z.cloneDeep(c[C].default)),v),{});if(y&&(!m||!p.find(v=>v==="id"))){const v=y.toLowerCase().replace(/-/g,"_");b.id=`${v}_${Math.random().toString().slice(2,6)}`}return b}function r(o){const{properties:c,title:y,required:p}=o;if(p&&Array.isArray(p)){const m=p.reduce((b,v)=>(b[v]=c[v].type==="object"&&c[v].properties?n(c[v]):z.cloneDeep(c[v].default),b),{});if(y&&p.find(b=>b==="id")){const b=y.toLowerCase().replace(/-/g,"_");m.id=`${b}_${Math.random().toString().slice(2,6)}`}return m}return{type:y}}function l(o,c={},y){const p=i[o];if(p){let m=r(p);const b=t[o];return m=b?b({getSchemaByType:l},m,c,y):m,e!=null&&e.appendIdentifyForNewControl&&e.appendIdentifyForNewControl(m),m}return null}function a(o,c){const y=n(c);return Object.keys(y).reduce((p,m)=>(Object.prototype.hasOwnProperty.call(o,m)&&(p[m]&&z.isPlainObject(p[m])&&z.isPlainObject(o[m]||!o[m])?Object.assign(p[m],o[m]||{}):p[m]=o[m]),p),y),y}function g(o,c){return Object.keys(o).filter(p=>o[p]!=null).reduce((p,m)=>{if(c.has(m)){const b=c.get(m);if(typeof b=="string")p[b]=o[m];else{const v=b(m,o[m],o);Object.assign(p,v)}}else p[m]=o[m];return p},{})}function d(o,c,y=new Map){const p=a(o,c);return g(p,y)}function f(o){var y;const c=o.type;if(c){const p=i[c];if(!p)return o;const m=a(o,p),b=((y=o.editor)==null?void 0:y.type)||"";if(b){const v=i[b],C=a(o.editor,v);m.editor=C}return m}return o}function u(o){e=o}return{getSchemaByType:l,resolveSchemaWithDefaultValue:f,resolveSchemaToProps:d,mappingSchemaToProps:g,setDesignerContext:u}}const ue={},fe={},{resolveSchemaWithDefaultValue:Ge,resolveSchemaToProps:ze,mappingSchemaToProps:_e}=ce(ue,fe);function Qe(i={}){function t(f,u,o,c){if(typeof o=="number")return c[f].length===o;if(typeof o=="object"){const y=Object.keys(o)[0],p=o[y];if(y==="not")return Number(c[f].length)!==Number(p);if(y==="moreThan")return Number(c[f].length)>=Number(p);if(y==="lessThan")return Number(c[f].length)<=Number(p)}return!1}function e(f,u,o,c){return c[f]&&c[f].propertyValue&&String(c[f].propertyValue.value)===String(o)}const n=new Map([["length",t],["getProperty",e]]);Object.keys(i).reduce((f,u)=>(f.set(u,i[u]),f),n);function r(f,u){const o=f;return typeof u=="number"?[{target:o,operator:"length",param:null,value:Number(u)}]:typeof u=="boolean"?[{target:o,operator:"getProperty",param:f,value:!!u}]:typeof u=="object"?Object.keys(u).map(c=>{if(c==="length")return{target:o,operator:"length",param:null,value:u[c]};const y=c,p=u[c];return{target:o,operator:"getProperty",param:y,value:p}}):[]}function l(f){return Object.keys(f).reduce((o,c)=>{const y=r(c,f[c]);return o.push(...y),o},[])}function a(f,u){if(n.has(f.operator)){const o=n.get(f.operator);return o&&o(f.target,f.param,f.value,u)||!1}return!1}function g(f,u){return l(f).reduce((y,p)=>y&&a(p,u),!0)}function d(f,u){const o=Object.keys(f),c=o.includes("allOf"),y=o.includes("anyOf"),p=c||y,v=(p?f[p?c?"allOf":"anyOf":"allOf"]:[f]).map(k=>g(k,u));return c?!v.includes(!1):v.includes(!0)}return{parseValueSchema:d}}const He={convertTo:(i,t,e,n)=>{i.appearance||(i.appearance={}),i.appearance[t]=e},convertFrom:(i,t,e)=>i.appearance?i.appearance[t]:i[t]},Xe={convertFrom:(i,t,e)=>i.buttons&&i.buttons.length?`共 ${i.buttons.length} 项`:"无"},Ze={convertTo:(i,t,e,n)=>{i.editor&&(i.editor[t]=e)},convertFrom:(i,t,e)=>i.editor&&Object.prototype.hasOwnProperty.call(i.editor,t)?i.editor[t]:i[t]},Je={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",name:"容器"},"input-group":{type:"input-group",name:"文本"},textarea:{type:"textarea",name:"多行文本"},lookup:{type:"lookup",name:"帮助"},"number-spinner":{type:"number-spinner",name:"数值"},"date-picker":{type:"date-picker",name:"日期"},switch:{type:"switch",name:"开关"},"radio-group":{type:"radio-group",name:"单选组"},"check-box":{type:"check-box",name:"复选框"},"check-group":{type:"check-group",name:"复选框组"},"combo-list":{type:"combo-list",name:"下拉列表"},"response-form":{type:"response-form",name:"卡片面板"},"response-layout":{type:"response-layout",name:"布局容器",icon:"response-layout-3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"response-layout-1"},"tree-grid":{type:"tree-grid",name:"树表格"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块"},component:{type:"component",name:"组件"},tabs:{type:"tabs",name:"标签页"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮"},"drawer-toolbar-item":{type:"drawer-toolbar-item",name:"抽屉工具栏按钮"},"html-template":{type:"html-template",name:"模板容器"},"time-picker":{type:"time-picker",name:"时间选择"},section:{type:"section",name:"分组面板"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传"},"page-header":{type:"page-header",name:"页头"},"page-footer":{type:"page-footer",name:"页脚"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏"},"drawer-toolbar":{type:"drawer-toolbar",name:"抽屉工具栏"},fieldset:{type:"fieldset",name:"分组"},"query-solution":{type:"query-solution",name:"筛选方案"},drawer:{type:"drawer",name:"抽屉"},"external-container":{type:"external-container",name:"外部容器",icon:"content-container"},"list-nav":{type:"list-nav",name:"列表导航"},"list-view":{type:"list-view",name:"列表"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"},image:{type:"image",name:"图像"},"discussion-editor":{type:"discussion-editor",name:"评论编辑区"},"discussion-list":{type:"discussion-list",name:"评论列表"},comment:{type:"comment",name:"评论区"},"rich-text-editor":{type:"rich-text-editor",name:"富文本",icon:"rich-text-box"},calendar:{type:"calendar",name:"日历",icon:"date-picker"}},Ye={convertFrom:(i,t,e)=>{var r;const n=i.editor&&i.editor[t]?i.editor[t]:i[t];return((r=Je[n])==null?void 0:r.name)||n}},Ke={convertTo:(i,t,e,n)=>{i[t]=i[t]},convertFrom:(i,t,e)=>i.editor?e.getRealEditorType(i.editor.type):""},et={convertTo:(i,t,e,n)=>{(i.type==="data-grid-column"||i.type==="tree-grid-column")&&(i.formatter?i.formatter[t]=e:i.formatter={[t]:e})},convertFrom:(i,t,e)=>{if(i.formatter){if(t==="trueText")return i.formatter.trueText;if(t==="falseText")return i.formatter.falseText;if(t==="prefix")return i.formatter.prefix;if(t==="suffix")return i.formatter.suffix;if(t==="precision")return i.formatter.precision;if(t==="decimal")return i.formatter.decimal;if(t==="thousand")return i.formatter.thousand;if(t==="dateFormat")return i.formatter.dateFormat||"yyyy-MM-dd";if(t==="customFormat")return i.formatter.customFormat;if(t==="type")return i.formatter.type||"none"}return"none"}},tt={convertTo:(i,t,e,n)=>{i.command?i.command[t]=e:i.command={[t]:e},t==="enableType"&&e==="default"&&(i.command.enable=!0,i.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),t==="enableType"&&e==="custom"&&(i.command.enable=!0,i.command.commands=[{value:"add",text:{en:"add","zh-CHS":"增加","zh-CHT":"增加"},type:"link"},{value:"edit",text:{en:"edit","zh-CHS":"编辑","zh-CHT":"編輯"},type:"danger"},{value:"remove",text:{en:"remove","zh-CHS":"删除","zh-CHT":"刪除"},type:"remove"}]),t==="enableType"&&e==="unable"&&(i.command.enable=!1)},convertFrom:(i,t,e)=>{var n,r;if(i.command){if(t==="enableType"){const l=(r=(n=i.command)==null?void 0:n.commands)==null?void 0:r.find(a=>a.command==="edit"&&a.type==="primary");return i.command.enable?l?"default":"custom":"unable"}if(t==="commands")return i.command.enableType==="custom"?i.command.commands:[];if(t==="formatter")return i.command.formatter;if(t==="count")return i.command.count}return""}},it={convertTo:(i,t,e,n)=>{i.column?i.column[t]=e:i.column={[t]:e},t==="fitColumns"&&e&&(i.column.fitMode||(i.column.fitMode="average"))},convertFrom:(i,t,e)=>{if(i.column){if(t==="fitColumns")return i.column.fitColumns;if(t==="fitMode")return i.column.fitMode}return""}},nt={convertTo:(i,t,e,n)=>{i.summary?i.summary[t]=e:i.summary={[t]:e},t==="enable"&&e&&(i.summary?i.summary.groupFields||(i.summary.groupFields=[]):i.summary={enable:e,groupFields:[]})},convertFrom:(i,t,e)=>i.summary&&t==="enable"?i.summary.enable:i.type==="data-grid-column"?i.enableSummary===void 0?!1:i.enableSummary:""},rt={convertTo:(i,t,e,n)=>{i.group?i.group[t]=e:i.group={[t]:e},t==="enable"&&e&&(i.group?i.group.groupFields||(i.group.groupFields=[]):i.group={enable:e,groupFields:[],showSummary:!1})},convertFrom:(i,t,e)=>{if(i.group){if(t==="enable")return i.group.enable;if(t==="showSummary")return i.group.showSummary}}},ot={convertFrom:(i,t)=>i.binding?i.binding.path:"",convertTo:(i,t,e)=>{if(e&&e.length>0){const n=e[0];i.binding||(i.binding={}),i.binding.type="Form",i.binding.path=n.bindingField,i.binding.field=n.id,i.binding.fullPath=n.path,i.path=n.bindingPath}}},lt={convertTo:(i,t,e,n)=>{i.pagination||(i.pagination={}),i.pagination[t]=e},convertFrom:(i,t,e)=>i.pagination?i.pagination[t]:i[t]},st={convertTo:(i,t,e,n)=>{i.rowNumber||(i.rowNumber={}),i.rowNumber[t]=e},convertFrom:(i,t,e)=>i.rowNumber?i.rowNumber[t]:i[t]},at={convertTo:(i,t,e,n)=>{i.selection||(i.selection={}),i.selection[t]=e},convertFrom:(i,t,e)=>{var n,r;return t==="showCheckbox"?(n=i.selection)!=null&&n.multiSelect?!0:(r=i.selection)==null?void 0:r.showCheckbox:i.selection?i.selection[t]:i[t]}},dt={convertFrom:(i,t,e)=>i[t]&&i[t].length?`共 ${i[t].length} 项`:""},ct={convertFrom:(i,t)=>i[t]||"",convertTo:(i,t,e)=>{i[t]=e}},ut={convertTo:(i,t,e,n)=>{i.size||(i.size={}),i.size[t]=e},convertFrom:(i,t,e)=>i.size?i.size[t]:i[t]},ft={convertFrom:(i,t,e)=>{var n,r;return(n=i.formatter)!=null&&n.data&&t==="formatterEnumData"&&!i.formatterEnumData?(r=i.formatter)==null?void 0:r.data:i.formatterEnumData}},pt={convertTo:(i,t,e,n)=>{i.sort||(i.sort={}),i.sort[t]=e},convertFrom:(i,t,e)=>{var n,r;if(t==="mode")return((n=i.sort)==null?void 0:n.mode)||"client";if(t==="multiSort")return!!((r=i.sort)!=null&&r.multiSort)}},mt={convertTo:(i,t,e,n)=>{i.filter||(i.filter={}),i.filter[t]=e},convertFrom:(i,t,e)=>{var n;if(t==="mode")return((n=i.filter)==null?void 0:n.mode)||"client"}},gt={convertTo:(i,t,e,n)=>{i.rowOption?i.rowOption[t]=e:i.rowOption={[t]:e}},convertFrom:(i,t,e)=>{if(i.rowOption){if(t==="customRowStyle")return i.rowOption.customRowStyle;if(t==="customCellStyle")return i.rowOption.customCellStyle}return""}},ht={convertTo:(i,t,e,n)=>{(i.type==="data-grid-column"||i.type==="tree-grid-column")&&(i[t]=e,t==="columnTemplateType"&&e==="hyperlink"&&(i.onClickLinkCommand?i.columnTemplate=`
2
2
  <span class="f-pretend-link f-cursor-pointer"
3
3
  @click="(ctx)=>viewModel.current.${i.onClickLinkCommand||""}({id: rowData.id,context: ctx})">
4
4
  {{rowData.${i.field}}}
@@ -1628,7 +1628,7 @@ class Ct extends yt {
1628
1628
  * 获取可选的编辑器类型
1629
1629
  */
1630
1630
  getAvailableEditorType(e) {
1631
- var s;
1631
+ var s, l;
1632
1632
  const n = this.checkCanChangeControlType(e, this.viewModelId);
1633
1633
  if (!n)
1634
1634
  return {
@@ -1639,7 +1639,7 @@ class Ct extends yt {
1639
1639
  }]
1640
1640
  };
1641
1641
  let r = [];
1642
- return this.designViewModelField && this.designViewModelField.$type === _.SimpleField ? r = W.getEditorTypesByMDataType(this.designViewModelField.type.name, this.designViewModelField.multiLanguage) : this.bindingVarible && (r = W.getEditorTypesByMDataType(this.bindingVarible.type, this.designViewModelField.multiLanguage)), { canChangeControlType: n, editorTypeList: r };
1642
+ return this.designViewModelField && this.designViewModelField.$type === _.SimpleField ? r = W.getEditorTypesByMDataType(this.designViewModelField.type.name, this.designViewModelField.multiLanguage) : this.bindingVarible && (r = W.getEditorTypesByMDataType(this.bindingVarible.type, !!((l = this.designViewModelField) != null && l.multiLanguage))), { canChangeControlType: n, editorTypeList: r };
1643
1643
  }
1644
1644
  changeBindingField(e, n, r) {
1645
1645
  n.needRefreshEntityTree = !0;