@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
6 lines • 92.2 kB
JavaScript
(function(O,o){typeof exports=="object"&&typeof module<"u"?o(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/"],o):(O=typeof globalThis<"u"?globalThis:O||self,o(O["filter-bar"]={},O.Vue,O.dynamicResolver,O.designerCanvas,O.common,O.condition,O.querySolution,O.notify,O.locale,O.LodashES,O.dynamicForm,O.radioGroup,O.comboList,O._))})(this,function(O,o,q,y,j,G,ie,Ie,ne,_,re,Ve,oe,Se){"use strict";var Mt=Object.defineProperty;var kt=(O,o,q)=>o in O?Mt(O,o,{enumerable:!0,configurable:!0,writable:!0,value:q}):O[o]=q;var V=(O,o,q)=>kt(O,typeof o!="symbol"?o+"":o,q);const le=new Map([["appearance",q.resolveAppearance]]);function Ee(t,i){const e=i==null?void 0:i.formSchemaUtils,n=i==null?void 0:i.messagerService,r=t.parentComponentInstance,l="54bddc89-5f7e-4b91-9c45-80dd6606cfe9";function a(){const s=q.getSchemaByType(y.DgControl["content-container"].type),f=q.getSchemaByType(y.DgControl["filter-bar"].type);if(!s||!f)return;const b=Math.random().toString(36).substr(2,4);Object.assign(s,{id:"filter-container-"+b,appearance:{class:"f-filter-container"},contents:[f]}),Object.assign(f,{id:"filter-"+b,fields:[]});const d=r.belongedComponentId,c=e.getViewModelIdByComponentId(d),p=e.getViewModelById(c);return p!=null&&p.states&&(p.states.find(C=>C.code==="originalFilterConditionList")||p.states.push({id:j.useGuid().guid(),category:"locale",code:"originalFilterConditionList",name:"筛选条过滤条件",type:"String"})),{filterBar:f,filterBarContainer:s}}function h(s){const f=e.getViewModelIdByComponentId(r.belongedComponentId),b=e.getViewModelById(f);let d;if(b&&b.commands){if(d=b.commands.find(p=>p.handlerName==="Filter"&&p.cmpId===l),!d)d={id:j.useGuid().guid(),code:`${b.id.replace(/-/g,"").replace("component","").replace("viewmodel","")}Filter1`,name:"过滤并加载数据1",params:[{name:"filter",shownName:"过滤条件",value:`{UISTATE~/#{${r.belongedComponentId}}/originalFilterConditionList}`,defaultValue:null},{name:"sort",shownName:"排序条件",value:"",defaultValue:null}],handlerName:"Filter",cmpId:l},b.commands.push(d);else if(d.params&&d.params.length){const p=d.params.find(C=>C.name==="filter");p&&(p.value=`{UISTATE~/#{${r.belongedComponentId}}/originalFilterConditionList}`)}}const c=e.getCommands();if(c){let p=c.find(C=>C.id===l);p||(p={id:l,path:"igix/Web/WebCmp/bo-webcmp/metadata/webcmd/data-commands",name:"LoadCommands.webcmd",refedHandlers:[]},e.getCommands().push(p)),d&&!p.refedHandlers.find(C=>C.host===d.id)&&p.refedHandlers.push({host:d.id,handler:"Filter"})}s&&d&&(s.onQuery=d.code)}function u(s,f){const b=e.getViewModelById(f.viewModel),d="8fe977a1-2b32-4f0f-a6b3-2657c4d03574",c=[];let p=b.commands.find(v=>v.handlerName==="loadFullTree"&&v.cmpId===d);if(p)p.params&&p.params.length&&p.params.map(v=>{v.name==="fullTreeType"&&(v.value="0"),v.name==="loadType"&&(v.value="1"),v.name==="filters"&&(v.value=`{UISTATE~/#{${r.belongedComponentId}}/originalFilterConditionList}`)});else{const v=j.useGuid().guid();p={id:v,code:"treegridLoadFullTree1",name:"以完整树形结构加载数据1",params:[{name:"fullTreeType",shownName:"是否是完整树加载",value:"0"},{name:"loadType",shownName:"是否分级加载",value:"1"},{name:"filters",shownName:"过滤条件",value:`{UISTATE~/#{${r.belongedComponentId}}/originalFilterConditionList}`,defaultValue:null}],handlerName:"loadFullTree",cmpId:d},b.commands.push(p),c.push({host:v,handler:"loadFullTree"})}if(!b.commands.find(v=>v.handlerName==="LoadFullTreeChildren"&&v.cmpId===d)){const v=j.useGuid().guid();b.commands.push({id:v,code:"treegridLoadFullTreeChildren1",name:"以完整树形结构加载下级数据1",params:[{name:"commandName",shownName:"数据加载的命令编号",value:p.code},{name:"frameId",shownName:"目标组件",value:f?`#{${f.id}}`:""}],handlerName:"LoadFullTreeChildren",cmpId:d}),c.push({host:v,handler:"LoadFullTreeChildren"})}if(!b.commands.find(v=>v.handlerName==="LoadFullTreeInit"&&v.cmpId===d)){const v=j.useGuid().guid();b.commands.push({id:v,code:"treegridLoadFullTreeInit1",name:"加载完整树初始化1",params:[{name:"fullTreeType",shownName:"完整树类型",value:"0",defaultValue:null},{name:"loadType",shownName:"分级加载方式",value:"1",defaultValue:null}],handlerName:"LoadFullTreeInit",cmpId:d}),c.push({host:v,handler:"LoadFullTreeInit"})}s.onQuery=p.code;const C=e.getFormSchema().module.webcmds;if(C){let v=C.find(k=>k.id===d);v||(v={id:d,path:"/projects/packages/Inspur.GS.Gsp.Web.WebCmp/webcmd",name:"TreeCardController.webcmd",refedHandlers:[]},e.getFormSchema().module.webcmds.push(v)),c.map(k=>{v.refedHandlers.find(N=>N.host===k.host)||v.refedHandlers.push(k)})}}function m(s){const f=r.belongedComponentId,b=e.getComponentById(f);if(!b)return;const d=e.selectNode(b,p=>p.type==="data-grid"),c=e.selectNode(b,p=>p.type==="tree-grid");if(d)return h(s),{gridType:"data-grid"};if(c)return u(s,b),{gridType:"tree-grid"}}function g(){const{filterBar:s,filterBarContainer:f}=a(),b=m(s),d=i==null?void 0:i.useFormCommand;if(d&&d.checkCommands(),(b==null?void 0:b.gridType)==="tree-grid"&&n){let c="启用成功!请参考XXX配置筛选条查询方法以及视图模型动作。";c=c.replace("XXX",'<a href="https://open.inspures.com/doc/#/doc/md/iGIX%2FiGIX_2506%2Freference-guide%2Ffarris-next%2Fformdev%2Ftreegrid-filter.md" target="_blank">在线文档</a>'),n.success(c)}return f}return{createFilterBar:g}}function se(t,i,e,n){if(e.parentComponentInstance&&n){const a=Ee(e,n).createFilterBar();if(a)return a}return i}const ae={$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",default:"清空筛选"},filterText:{description:"",type:"string",default:"筛选"},filterType:{description:"",type:"string",default:"light"},tileShowType:{description:"",type:"string",default:"multiline"},liveSearch:{description:"",type:"boolean",default:!0},allInOneAlign:{description:"",type:"string",default:"left"},lineLabelWidth:{description:"",type:"string",default:"fixed"},itemClass:{description:"",type:"string"}},required:["id","type"],events:{onQuery:"查询事件",onReset:"清空条件",onConditionChange:"搜索变化事件"}},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:"清空筛选"},filterText:{type:String,default:"筛选"},customClass:{type:String,default:""},customStyle:{type:String,default:""},filterType:{type:String,default:"light"},tileShowType:{type:String,default:"multiline"},liveSearch:{type:Boolean,default:!0},allInOneAlign:{type:String,default:"left"},lineLabelWidth:{type:String,default:"fixed"},itemClass:{type:String,default:""}},de=q.createPropsResolver(H,ae,le,se);function K(){const{getLocaleValue:t}=ne.LocaleService;return{confirm:t("filterBar.confirm"),cancel:t("filterBar.cancel"),advancedFilter:t("filterBar.advancedFilter"),clearAll:t("filterBar.clearAll"),expand:t("filterBar.expand"),fold:t("filterBar.fold"),require:t("filterBar.require")}}function Me(t){return ne.LocaleService.getRealPropertyValue(t,"清空筛选","filterBar.reset")}function ke(t){return ne.LocaleService.getRealPropertyValue(t,"筛选","filterBar.filter")}function Pe(t,i,e,n){const r=o.ref([]),l=o.ref([]),a=o.ref([]),h=o.ref("");o.ref(t.mode);const u=new Map,{createConditionValue:m}=G.useConditionValue(),{convertToControls:g}=G.useConditionUtils("filter-bar"),s=ie.useCondition(t,i),{getFilterConditions:f}=s,{fieldToCondition:b,judgeLoadNewValue:d}=ie.useSolutionUtils(),c=new Ie.FNotifyService,p=K();let C="[]";function v(x){return!t.disabled&&!x.value.isEmpty()}function k(x){l.value=g(x),l.value.reduce((E,F)=>(E.set(F.labelCode,F),E),u)}function N(x){const E=Array.isArray(x)?x:[];a.value=l.value.map(F=>{const P=E.find(I=>I.id===F.id||I.labelCode===F.labelCode);if(P){const I=b(F,P.value);return d(I,F)&&I.value.clear(),I}return b(F)})}function L(x){a.value=a.value.filter(E=>E.id!==x.id),r.value=r.value.filter(E=>E.fieldCode!==x.fieldCode),l.value=l.value.filter(E=>E.id!==x.id),i.emit("remove",x.fieldCode)}function T(){var x;t.disabled?e.value=!1:t.filterType==="tile"?e.value=!t.disabled:e.value=((x=a.value)==null?void 0:x.findIndex(E=>{var F;return E.value&&!((F=E.value)!=null&&F.isEmpty())}))>-1}function R(){var E;const x=(E=a.value)==null?void 0:E.filter(F=>{var P;return F.value&&!((P=F.value)!=null&&P.isEmpty())});return f(x,l.value)}function D(x=!0){const E=R(),F=JSON.stringify(E||[]);F!==C&&(x&&i.emit("conditionChange",E),C=F)}function S(){const x=[];if((a.value||[]).map(E=>{E.required&&(!E.value||E.value.isEmpty())&&x.push(E.fieldName||"")}),x.length>0){c.warning({message:p.require.replace("[fields]",x.join(",")),position:"top-center"});return}i.emit("query",R())}function w(x,E,F=!0){k(x),N(E),T(),F&&(D(),S())}function U(x){x.value.clear(),r.value=r.value.filter(E=>E.fieldCode!==x.fieldCode),i.emit("clear",x.fieldCode),T(),D(),t.liveSearch&&S()}function B(){a.value.forEach(x=>x.value.clear())}function A(){a.value.forEach(x=>{x.value.clear()}),i.emit("reset"),T(),D(),t.liveSearch&&S(),n.resizeFilerBar()}return{clearAll:B,clearFilterItem:U,currentFilterId:h,filterFields:l,filterItems:a,fieldMap:u,loadFilterItems:w,removeFilterItem:L,reset:A,shouldShowClearButtonInFilterItem:v,handleQuery:S,updateResetButtonState:T,handleConditionChange:D}}function Ne(t,i,e,n){const r=o.ref([]),l=K(),a=o.ref(l.advancedFilter),h=o.ref(Me(t.resetText)),u=o.ref(!1),{clearAll:m,reset:g,filterItems:s}=e;function f(){r.value=s.value.filter(p=>p.isExtend)}f();const b=o.computed(()=>r.value&&r.value.length>0);function d(p){u.value=!0}function c(p){t.disabled||(t.mode==="display-only"?m():g())}return()=>o.createVNode("div",{class:"f-filter-toolbars",style:"flex-shrink:0;"},[t.filterType==="light"&&b.value&&o.createVNode("button",{class:"btn btn-link",onClick:p=>d()},[a.value]),t.filterType==="light"&&n.value&&o.createVNode("button",{class:"btn btn-link",onClick:p=>c()},[h.value]),t.filterType==="tile"&&b.value&&o.createVNode("button",{class:"btn btn-secondary filter-search-btn-reset",onClick:p=>d()},[o.createVNode("span",{class:"f-icon f-icon-filtrate"},null)]),t.filterType==="tile"&&!t.liveSearch&&o.createVNode("button",{class:"btn btn-secondary filter-search-btn-reset",disabled:t.disabled,onClick:p=>c()},[o.createVNode("span",{class:"f-icon f-icon-remove"},null)])])}const Be={filterItem:{type:Object,default:null},position:{type:Object,default:null},reference:{type:Object}},Le=Object.assign({},Ve.radioGroupProps),Oe=o.defineComponent({name:"FFilterRadioGroup",props:Le,emits:["update:modelValue","change"],setup(t,i){const e=o.ref(),{dataSource:n,displayText:r,modelValue:l}=oe.useDataSource(t,i);function a(h){r.value=h.map(m=>m[t.textField]).join(t.separator);let u="";h.length===1?u=h[0][t.valueField]:u=h.map(m=>m[t.valueField]).join(t.separator),l.value!==u&&(l.value=u,i.emit("update:modelValue",l.value),i.emit("change",l.value))}return()=>o.createVNode(oe.FComboListContainer,{style:"margin: -2px -15px;padding: 0;",ref:e,idField:t.valueField,valueField:t.valueField,textField:t.textField,titleField:t.titleField,dataSource:n.value,selectedValues:l.value,multiSelect:!1,enableSearch:!1,onSelectionChange:h=>{a(h)}},null)}}),Re=o.defineComponent({name:"FFilterBarItemCondition",props:Be,emits:["cancel","confirm","clearFilter"],setup(t,i){const e=o.ref(_.cloneDeep(t.filterItem)),n=o.ref(),r=K(),l=o.ref("0px"),a=o.ref("0px"),h=o.ref("0px"),u=o.ref("auto"),m=o.computed(()=>({left:u.value==="auto"?"26px":"auto",right:u.value})),g=o.computed(()=>({left:l.value,top:a.value})),s=o.computed(()=>({width:h.value==="0px"?null:h.value,maxWidth:h.value==="0px"?null:h.value})),f=o.ref(),{useFilterItemsComposition:b,resolveEditorProps:d}=o.inject("useFilterItemsComposition"),{fieldMap:c}=b,{renderFieldConditionEditor:p,conditionChangeHandler:C}=G.useConditionUtils("filter-bar"),v=o.ref("");let k=!1,N={};const L=o.ref(!0);function T(){var $,X;if(!t.reference||!f.value)return;const F=($=t.reference)==null?void 0:$.getBoundingClientRect();let P=(X=f.value)==null?void 0:X.getBoundingClientRect().width;const I=document.body.clientWidth-F.x-30,M=document.body.clientWidth-F.y-30;P>I&&P>M&&(P=Math.max(I,M)),F.left>document.body.clientWidth-P-20?(l.value=F.left+F.width-P+"px",a.value=F.top+F.height+"px",u.value="26px"):(l.value=F.left+"px",a.value=F.top+F.height+"px",u.value="auto"),h.value=P+"px"}function R(F,P,I,M){k=!0,N={value:P,editor:I,option:M}}function D(){if(!n.value)return!1;const F=n.value.parentElement,P=Array.from(F.children);return P?!!P.find(M=>!M||!M.classList?!1:M.classList.contains("popover")&&M.style.visibility==="visible"):!1}function S(F,P,I,M){C(F,P,I,M),i.emit("confirm",e.value)}function w(){const{id:F,editor:P,needEmitChange:I}=p(c,e.value,R);if(v.value="filter-panel--"+P.type,P.type==="radio-group"){const M=d(P.type,P);return L.value=!1,o.createVNode(Oe,o.mergeProps(M,{modelValue:e.value.value.value,"onUpdate:modelValue":$=>e.value.value.value=$,onChange:$=>{S(e.value,$,P)}}),{default:()=>[o.createTextVNode(" ")]})}return o.createVNode(re.FDynamicFormGroup,{showLabelType:"force-none",id:F,key:F,editor:P,modelValue:e.value.value.value,"onUpdate:modelValue":M=>e.value.value.value=M,onChange:(M,$)=>{I&&R(e.value,M,P,$)}},null)}o.onMounted(()=>{T()});function U(F){const P=v.value.replace("filter-panel--","");["input","radio-group","switch"].findIndex(I=>I===P)>-1?i.emit("cancel"):D()||i.emit("cancel")}function B(F){F.stopPropagation(),k&&C(e.value,N.value,N.editor,N.option),i.emit("confirm",e.value)}function A(F){e.value.value.clear(),F.stopPropagation(),i.emit("confirm",e.value)}function x(){const F=j.getMaxZIndex();return{zIndex:Math.max(F,1050)}}const E=x();return()=>o.createVNode("div",{class:"f-filter-panel-wrapper can-close",ref:n,onClick:U,style:{zIndex:E}},[o.createVNode("div",{class:"f-filter-panel "+v.value,ref:f,style:g.value},[o.createVNode("div",{class:"f-filter-panel-inner",style:s.value,onClick:F=>F.stopPropagation()},[o.createVNode("div",{class:"f-filter-panel-arrow",style:m.value},null),w(),L.value&&o.createVNode("div",{class:"f-filter-panel-footer"},[o.createVNode("div",{class:"filter-panel-clear"},[o.createVNode("button",{class:"btn btn-link",onClick:A,style:"padding-left:0;"},[r.clearAll])]),o.createVNode("div",{class:"filter-panel-btns"},[o.createVNode("button",{class:"btn btn-secondary can-close",onClick:U},[r.cancel]),o.createVNode("button",{class:"filter-panel-submit btn btn-primary",onClick:B},[r.confirm])])])])])])}}),ce={filterItem:{type:Object,default:null},disabled:{type:Boolean,default:!1},customClass:{type:String,default:""}};function De(){const t=o.ref(!1);return o.onMounted(()=>{t.value=!0}),t}const Ae=o.defineComponent({name:"FFilterBarItem",props:ce,emits:["confirm"],setup(t,i){const e=o.ref(t.filterItem),{useFilterItemsComposition:n}=o.inject("useFilterItemsComposition"),{clearFilterItem:r,currentFilterId:l,removeFilterItem:a,shouldShowClearButtonInFilterItem:h}=n,u=o.ref(!1),m=o.ref(!1),g=o.ref(),s=o.ref(""),f=o.ref(),b=De(),d=function(){const T={"f-filter-item":!0,"f-state-disabled":t.disabled,"f-filter-item-actived":!e.value.value.isEmpty(),"f-filter-item-edit":e.value.id===l.value||u.value};return j.getCustomClass(T,t.customClass)};o.computed(()=>!t.disabled&&t.mode==="editable");function c(T){t.disabled||(t.mode==="display-only"?a(e.value):r(e.value))}function p(T){t.disabled||(u.value=!0)}function C(){u.value=!1}function v(){f.value&&f.value.scrollWidth>f.value.clientWidth?s.value=f.value.innerHTML:s.value=""}function k(T){u.value=!1,e.value.value=T.value,i.emit("confirm",T),o.nextTick(()=>{v()})}function N(){m.value=t.disabled?!1:h(e.value)}function L(){m.value=!1}return o.onMounted(()=>{v()}),()=>o.createVNode("div",{key:e.value.id,id:e.value.id,class:d(),onMouseenter:()=>N(),onMouseleave:()=>L()},[o.createVNode("div",{class:"f-filter-item-inner",ref:g,onClick:T=>p()},[e.value.required&&o.createVNode("span",{class:"f-filter-item-required text-danger"},[o.createTextVNode("*")]),o.createVNode("span",{class:"f-filter-item-text"},[e.value.fieldName]),!e.value.value.isEmpty()&&o.createVNode(o.Fragment,null,[o.createVNode("span",{class:"f-filter-item-tip"},[o.createTextVNode(":")]),o.createVNode("span",{class:"f-filter-item-content",ref:f,title:s.value},[e.value.value.getDisplayText()])]),!t.disabled&&o.createVNode("span",{class:"f-filter-item-arrow f-icon f-icon-arrow-chevron-down"},null)]),m.value&&o.createVNode("span",{class:"mr-3 f-filter-item-clear",onClick:T=>c()},[o.createVNode("span",{class:"f-icon f-icon-close-circle"},null)]),b.value&&u.value&&o.createVNode(o.Teleport,{to:"body"},{default:()=>[o.createVNode(Re,{filterItem:e.value,reference:g.value,onConfirm:k,onCancel:C},null)]})])}});function ue(t,i){const e=o.ref(null),n=15;let r=0;function l(u=-1,m=-1){var d;if(!t.value)return;const g=(d=t.value)==null?void 0:d.querySelector(".f-filter-list");if(!g)return;const s=g.children;if(!s||s.length===0||(u<0&&(u=t.value.clientWidth),r=m<0?r:m,Math.abs(u-r)<n))return;Array.from(s).forEach(c=>{c.style.display="flex"}),i.value=g.clientWidth<g.scrollWidth;let f=!1,b=0;for(let c=0;c<s.length;c++){const p=s[c],C=Math.ceil(p.offsetWidth+(parseFloat(getComputedStyle(p).marginRight)||0)+parseFloat(getComputedStyle(p).marginLeft));!f&&b+C<=u?b+=C:(p.style.display="none",f=!0)}r=u}function a(){var m,g;if(!t.value)return;(m=e.value)==null||m.unobserve(t.value);const u=((g=t.value.querySelector(".f-filter-list"))==null?void 0:g.children)||[];Array.from(u).forEach(s=>{s.style.display="flex"}),r=0}function h(){if(!t.value)return;const u=new ResizeObserver(m=>{const g=m[0].contentRect.width;l(g)});return u.observe(t.value),e.value=u,u}return{setupWidthObserver:h,cancelWidthObserver:a,handleVisibleChildren:l}}const z=o.defineComponent({name:"FFilterBar",props:H,emits:["clear","remove","reset","conditionChange","change","query"],setup(t,i){const e=o.ref(!1),n=o.ref(!1),r=o.ref(null),l=o.ref(!1),a=o.ref(ke(t.filterText)),h=o.ref(0),u=ue(r,n),{cancelWidthObserver:m,setupWidthObserver:g,handleVisibleChildren:s}=u,f={resizeFilerBar:()=>{e.value||o.nextTick(()=>{s(-1,0)})}},b=Pe(t,i,l,f),{filterFields:d,filterItems:c,loadFilterItems:p,handleQuery:C,updateResetButtonState:v,handleConditionChange:k}=b,{resolveEditorProps:N}=re.useTypeResolver();o.provide("useFilterItemsComposition",{useFilterItemsComposition:b,resolveEditorProps:N});const L=K(),T=o.computed(()=>{const I={display:t.filterType==="tile"||d.value&&d.value.length?"":"none"};return j.getCustomStyle(I,t==null?void 0:t.customStyle)}),R=o.ref();p(t.fields,t.defaultValues,!!(t.defaultValues&&t.defaultValues.length>0)),o.watch([()=>t.defaultValues,()=>t.fields],([I,M])=>{p(M,I),h.value++,f.resizeFilerBar()}),o.onMounted(()=>{if(g(),t.filterType==="tile"&&t.tileShowType==="all-in-one"){const I=R.value.querySelector(".condition-div");I.scrollWidth>I.clientWidth&&(R.value.className=R.value.className+" all-in-one--item-fill")}}),o.onUnmounted(()=>{m()});const D=o.computed(()=>({"f-filter-list":!0,"f-filter-list-extend":e.value})),S=o.computed(()=>({"extend-btn-arrow":!0,"f-icon":!0,"f-icon-arrow-chevron-up":e.value,"f-icon-arrow-chevron-down":!e.value})),w=o.computed(()=>!e.value&&n.value);function U(){e.value=!e.value,e.value?m():g()}const B=Ne(t,i,b,l);function A(I,M=!0){i.emit("change",I),M&&v(),k(),t.liveSearch&&C(),M&&f.resizeFilerBar()}function x(){return o.createVNode("div",{class:D.value,key:t.id+"-main-"+h.value},[c.value.map((I,M)=>!I.isExtend&&o.createVNode(Ae,{filterItem:I,onConfirm:A,disabled:t.disabled||I.disabled},null)),e.value&&B()])}function E(){return w.value&&o.createVNode("div",{class:"f-filter-list-ellipsis",onClick:I=>U()},[o.createTextVNode("...")])}function F(){t.disabled||(k(),C())}function P(){let I="",M;t.tileShowType!=="all-in-one"&&(I=t.lineLabelWidth==="auto"?" filter-item-wrap":"",M=t.tileShowType==="aline"?"col-12"+I:I?"col-12 col-md-6 col-xl-3 col-el-2"+I:void 0);const $=t.tileShowType==="multiline",X=t.disabled?c.value.map(Z=>({...Z,disabled:!0})):c.value;return o.createVNode("div",{class:"f-list-filter d-flex list-filter--"+t.tileShowType+t.customClass,style:T.value},[t.tileShowType!=="all-in-one"&&o.createVNode("div",{class:"flex-fill"},[o.createVNode(G.FConditionFields,{fields:d.value,conditions:X,itemClass:M,autoResponse:$,onValueChange:(Z,J)=>A(J)},null),o.createTextVNode(" ")]),t.tileShowType==="all-in-one"&&o.createVNode("div",{class:"filter-inputs-main-basis-wrapper filter-input--all-in-one"+t.customClass,ref:R,style:T.value},[o.createVNode(G.FConditionFields,{style:"flex-wrap:nowrap!important;overflow-x:auto;",fields:d.value,customClass:t.allInOneAlign==="right"?"justify-content-end":"",conditions:X,itemClass:t.lineLabelWidth==="auto"?"filter-input-list filter-item-wrap":"filter-input-list",autoResponse:!1,onValueChange:(Z,J)=>A(J)},null)]),!t.liveSearch&&o.createVNode("div",{class:"filter-search-btn filter-search-btn--filter",onClick:F},[o.createVNode("button",{class:"btn btn-primary",disabled:t.disabled},[a.value])]),B()])}return()=>t.filterType==="light"?o.createVNode("div",{class:"f-filter-wrapper "+t.customClass,style:T.value},[o.createVNode("div",{class:"f-filter-wrapper-inner f-utils-fill"},[o.createVNode("div",{class:"f-filter-main f-utils-fill"},[o.createVNode("div",{class:"f-filter-list-wrapper flex-fill",ref:r},[x()]),E(),!e.value&&B()]),!t.liveSearch&&o.createVNode("div",{class:"filter-search-btn filter-search-btn--filter",style:"margin:0 8px 0 0;",onClick:F},[o.createVNode("button",{class:"btn btn-primary",disabled:t.disabled},[a.value])]),n.value&&o.createVNode("div",{class:"f-filter-extend-btn"},[o.createVNode("button",{class:"btn btn-link",onClick:U},[o.createVNode("span",{class:"extend-btn-text"},[e.value?L.fold:L.expand]),o.createVNode("span",{class:S.value},null)])])])]):P()}});function je(t,i){o.ref([]);const e=o.ref([]),n=o.ref([]),r=o.ref("");o.ref(!1),o.ref(t.mode);const l=new Map,{convertToControls:a}=G.useConditionUtils("filter-bar"),{fieldToCondition:h}=ie.useSolutionUtils();function u(f){return!f.value.isEmpty()}function m(f){e.value=_.cloneDeep(f),e.value.reduce((b,d)=>(b.set(d.labelCode,d),b),l)}function g(f){n.value=e.value.map(b=>h(b))}function s(f,b){m(f),g()}return s(t.fields),{currentFilterId:r,filterFields:e,filterItems:n,fieldMap:l,loadFilterItems:s,shouldShowClearButtonInFilterItem:u}}function Ue(t,i,e){const n=o.ref([]),r=o.ref("更多筛选"),{filterItems:l}=e;function a(){n.value=l.value.filter(u=>u.isExtend)}a();const h=o.computed(()=>n.value&&n.value.length>0);return()=>o.createVNode("div",{class:"f-filter-toolbars"},[t.filterType==="light"&&h.value&&h.value&&o.createVNode("button",{class:"btn btn-link"},[r.value]),t.filterType==="tile"&&!t.liveSearch&&o.createVNode("button",{class:"btn btn-secondary filter-search-btn-reset"},[o.createVNode("span",{class:"f-icon f-icon-remove"},null)])])}const $e=o.defineComponent({name:"FFilterBarItemDesign",props:ce,emits:["confirm"],setup(t,i){const e=o.ref(t.filterItem),{useFilterItemsComposition:n}=o.inject("useFilterItemsComposition"),{currentFilterId:r,shouldShowClearButtonInFilterItem:l}=n,a=o.ref(t.disabled),h=function(){return{"f-filter-item":!0,"f-filter-item-actived":!e.value.value.isEmpty(),"f-filter-item-edit":e.value.id===r.value}};return()=>o.createVNode("div",{key:e.value.id,id:e.value.id,class:h()},[o.createVNode("div",{class:"f-filter-item-inner"},[e.value.required&&o.createVNode("span",{class:"f-filter-item-required text-danger"},[o.createTextVNode("*")]),o.createVNode("span",{class:"f-filter-item-text"},[e.value.fieldName]),e.value.value.getDisplayText()&&o.createVNode(o.Fragment,null,[o.createVNode("span",{class:"f-filter-item-tip"},[o.createTextVNode(":")]),o.createVNode("span",{class:"f-filter-item-content"},[e.value.value.getDisplayText()])]),!a.value&&o.createVNode("span",{class:"f-filter-item-arrow f-icon f-icon-arrow-chevron-down"},null)]),l(e.value)&&o.createVNode("span",{class:"mr-3 f-filter-item-clear"},[o.createVNode("span",{class:"f-icon f-icon-close-circle"},null)])])}});function qe(t){const{formSchemaUtils:i,formStateMachineUtils:e}=t;function n(u,m=""){return{path:m+u.code,field:u.id,fullPath:u.code}}function r(u,m=""){const g=i.getViewModelById(u);return g?g.states.map(s=>n(s,m)):[]}function l(u){const m=i.getRootViewModelId(),g=r(u);if(u===m)return g;const s=r(m,"root-component.");return[...g,...s]}function a(u){return u.binding&&u.binding.path||u.id||""}function h(){return e&&e.getRenderStates()||[]}return{getVariables:l,getControlName:a,getStateMachines:h}}class We{constructor(i){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",(i,e)=>({convertFrom:(n,r,l,a)=>{const h=l.getExpressionRuleValue(i,e||r);return h&&h.value||""},convertTo:(n,r,l,a,h)=>{var u;if(r==="dataPicking"&&(l!=null&&l.target)){const m=`${l.target}_dataPicking`;((u=l.rules)==null?void 0:u.some(s=>s.id===m&&s.value))?n.dictPickingExpressionId=m:delete n.dictPickingExpressionId}a.updateExpression(l)}}));this.formSchemaService=i}getExpressionRule(i,e){const n=this.getExpressionData();if(!n)return"";const r=n.find(a=>a.target===i);if(!r)return"";const l=r.rules.find(a=>a.type===e);return l||""}getContextFormVariables(){const{module:i}=this.formSchemaService.getFormSchema();if(!i.viewmodels||i.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(i,e,n="label"){return{id:i.id,name:i.name,bindingPath:i[n],parents:e,type:"field"}}buildEntityFieldsTreeData(i=null,e){const n=[];return i==null||i.forEach(r=>{var h;const l=this.createTreeNode(r,e);let a=[];(h=r.type)!=null&&h.fields&&(a=this.buildEntityFieldsTreeData(r.type.fields,[...e,r.label])),n.push({data:l,children:a,expanded:!0})}),n}buildChildEntityTreeData(i=null,e){const n=[];return i==null||i.forEach(r=>{var u,m;const l=this.createTreeNode(r,e);l.type="entity";const a=this.buildEntityFieldsTreeData((u=r.type)==null?void 0:u.fields,[...e,r.label]),h=this.buildChildEntityTreeData((m=r.type)==null?void 0:m.entities,[...e,r.label]);h!=null&&h.length&&(a==null||a.push(...h)),n.push({data:l,children:a||[],expanded:!0})}),n}getEntitiesTreeData(){const i=this.formSchemaService.getSchemaEntities();if(!(i!=null&&i.length))return[];const e=i[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(i,e,n){const r=n==="Field"?i.binding.field:i.id,l=this.getExpressionRule(r,e),a=this.getEntitiesAndVariables(),h={message:["validate","required","dataPicking"].includes(e)&&l?l.message:"",...a};return l.messageType!=null&&(h.messageType=l.messageType),h}buildRule(i,e,n,r){const{expression:l,message:a,messageType:h}=e,u={id:`${i}_${n}`,type:n,value:l};return(n==="validate"||n==="dataPicking"||n==="required")&&(u.message=a),n==="dataPicking"&&(u.messageType=h),n==="validate"&&r&&(u.elementId=r),u}getExpressionData(){const{expressions:i}=this.formSchemaService.getFormSchema().module;return i||[]}updateExpression(i,e,n,r){const l=e==="Field"?i.binding.field:i.id,a=this.buildRule(l,n,r,i.type==="form-group"?i.id:"");let u=this.getExpressionData().find(g=>g.targetType===e&&g.target===l);const m=g=>g.value.trim()==="";if(u){const g=u.rules.find(s=>s.id===a.id);if(g)m(a)?u.rules=u.rules.filter(s=>s.id!==a.id):(Object.assign(g,a),r==="validate"&&i.type==="form-group"&&(g.elementId=i.id));else{if(m(a))return null;u.rules=u.rules||[],u.rules.push(a)}}else{if(m(a))return null;u={target:`${l}`,rules:[a],targetType:e}}return u}getExpressionEditorOptions(i,e,n,r){return n.reduce((l,a)=>{var u,m;const h=e==="Field"?(u=i==null?void 0:i.binding)==null?void 0:u.field:i.id;return l[a]={hide:e==="Field"?!!((m=i==null?void 0:i.binding)!=null&&m.field):!1,description:"",title:this.expressionNames[a],type:"string",$converter:this.getExpressionConverter(h),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(i,a,e),onSubmitModal:g=>{const s=this.updateExpression(i,e,g,a);if(r){const f=this.buildRule(h,g,a);r(f)}return s}}},l},{})}getExpressionInfo(i,e,n){const r=e==="Field"?i.binding.field:i.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(i,e,n=["compute","dependency","validate"],r){var l;return{description:"表达式",title:"表达式",hide:!(i.binding&&((l=i.binding)==null?void 0:l.type)==="Form"),properties:{...this.getExpressionEditorOptions(i,e,n,r)}}}getExpressionOptions(i,e,n){const r=this.getExpressionInfo(i,e,n);return{dialogTitle:`${this.expressionNames[n]||"表达式"}编辑器`,singleExpand:!1,showMessage:n==="required",beforeOpen:()=>this.onBeforeOpenExpression(i,n,e),expressionInfo:r}}}class Ge{constructor(i,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,"modalService",null);V(this,"formRule",null);V(this,"schemaService",null);V(this,"metadataService",null);V(this,"propertyConfig",{type:"object",categories:{}});V(this,"expressionProperty");var n;this.componentId=i,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(i))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService,this.designerContext=e.designerContext,this.modalService=e.modalService,this.expressionProperty=new We(this.formSchemaUtils)}inResponsiveForm(){var i;return!!((i=this.designerContext)!=null&&i.responsiveForm)}getFormDesignerInstance(){var i,e;return(e=(i=this.designerContext)==null?void 0:i.instances)==null?void 0:e.formDesigner.value}getTableInfo(){var i;return(i=this.schemaService)==null?void 0:i.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(i){var n;const e=i.binding&&i.binding.type==="Form"&&i.binding.field;if(e){if(!this.designViewModelField){const r=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=r.fields.find(l=>l.id===e)}i.updateOn=(n=this.designViewModelField)==null?void 0:n.updateOn}}getBasicPropConfig(i){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:i.type,name:y.DgControl[i.type]&&y.DgControl[i.type].name}]}}}}}getAppearanceConfig(i=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,h){if(a){switch(a&&a.propertyID){case"class":case"style":{y.canvasChanged.value++;break}}n&&n(a,i,h)}}}}getPropertyEditorParams(i,e=[],n="visible",r={},l={},a=""){const{getVariables:h,getControlName:u,getStateMachines:m}=qe(this.designerHostService),g=this.getRealTargetType(i),s=e&&e.length>0?e:["Const","Variable","StateMachine","Expression"],f={type:"property-editor",propertyTypes:s};return s.map(b=>{switch(b){case"Const":Object.assign(f,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},r);break;case"Expression":f.expressionConfig=this.getExpressionOptions(i,g,a||n);break;case"StateMachine":f.stateMachines=m();break;case"Variable":Object.assign(f,{controlName:u(i),newVariablePrefix:"is",newVariableType:"Boolean",variables:h(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:d=>{d.value=h(this.viewModelId)}},l),this.designerContext.designerMode==="PC_RTC"&&(f.newVariablePrefix="ext_"+f.newVariablePrefix);break}}),f}getVisibleProperty(i,e=""){var l;let n=["Const","Variable","StateMachine","Expression"];return e==="gridFieldEditor"?n=["Const","Expression"]:e==="form-group"&&!((l=i.binding)!=null&&l.field)?n=["Const","Variable","StateMachine","Custom"]:e==="dataGrid"||e==="treeGrid"||e==="wizard"?n=["Const","Variable","Expression"]:(i.type.indexOf("toolbar-item")>-1||e==="form-group")&&(n=["Const","Variable","StateMachine","Custom","Expression"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(i,n,"visible")}}}getBehaviorConfig(i,e="",n={},r){const l={title:"行为",description:""},a=this.getVisibleProperty(i,e);for(const u in n)a[u]=Object.assign(a[u]||{},n[u]);const h=this;return{...l,properties:{...a},setPropertyRelates(u,m){if(u){switch(u.propertyID){case"disabled":case"readonly":case"visible":h.afterMutilEditorChanged(i,u);break}r&&r(u,m)}}}}afterMutilEditorChanged(i,e){this.addNewVariableToViewModel(e,this.viewModelId),this.updateExpressionValue(e,i),this.clearExpression(e,i)}updateElementByParentContainer(i,e){const n=e&&e.parent&&e.parent.schema;if(!n)return;const r=n.contents.findIndex(a=>a.id===i),l=_.cloneDeep(n.contents[r]);n.contents.splice(r,1),n.contents.splice(r,0,l),y.refreshCanvas()}addNewVariableToViewModel(i,e){const n=i.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)}getExpressions(){let i=[];return this.formRule?(this.formRule.expressions=this.formRule.expressions||[],i=this.formRule.expressions||[]):i=this.formSchemaUtils.getExpressions(),i}updateExpressionValue(i,e){const n=i.propertyValue;if(!((n&&n.type)==="Expression"&&n.expressionInfo))return;const{expressionId:a,expressionInfo:h}=n,{targetId:u,targetType:m,expressionType:g,value:s,message:f}=h,b=this.getExpressions();let d=b.find(p=>p.target===u);d||(d={target:u,rules:[],targetType:m},b.push(d));const c=d.rules.find(p=>p.type===g);if(c)c.id=a,c.value=s,c.message=f,(g==="minDate"||g==="maxDate"||g==="defaultTime")&&(c.elementId=e.id);else{const p={id:a,type:g,value:s,message:f,elementId:e.id};d.rules.push(p)}delete n.expressionInfo}clearExpression(i,e){const n=i.propertyValue;if(n&&n.type==="Expression")return;const l=i.propertyID,a=this.getExpressions(),h=e.binding?e.binding.field:e.id,u=a.find(m=>m.target===h);!u||!u.rules||(u.rules=u.rules.filter(m=>m.type!==l))}getExpressionOptions(i,e,n){return this.expressionProperty.getExpressionOptions(i,e,n)}getRealTargetType(i){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(i.type)>-1?"Button":i.binding&&i.binding.field?"Field":"Container"}createBaseEventProperty(i){const e={};return e[this.viewModelId]={type:"events-editor",editor:{initialData:i,viewSourceHandle:n=>{var r;((r=n.controller)==null?void 0:r.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(n)}}},e}}const Q=class Q{static getEditorTypesByMDataType(i,e=!1,n=""){if(e)return[{key:y.DgControl["language-textbox"].type,value:y.DgControl["language-textbox"].name}];let r=Q.fieldControlTypeMapping[i];if(n==="data-grid-column"&&(r!=null&&r.length)){const l=[y.DgControl["check-group"].type,y.DgControl["radio-group"].type,y.DgControl.image.type,y.DgControl["rich-text-editor"].type,y.DgControl.avatar.type];r=r.filter(a=>!l.includes(a.key))}if(n==="tree-grid-column"&&(r!=null&&r.length)){const l=[y.DgControl["check-group"].type,y.DgControl["radio-group"].type,y.DgControl.image.type,y.DgControl["rich-text-editor"].type,y.DgControl.avatar.type,y.DgControl.switch.type];r=r.filter(a=>!l.includes(a.key))}return r}static getAllInputTypes(){const i=[];for(const e in Q.fieldControlTypeMapping)Q.fieldControlTypeMapping[e].forEach(n=>{i.find(r=>r.key===n.key&&r.value===n.value)||i.push({key:n.key,value:n.value})});return i}static mappingDomPropAndSchemaProp(i,e){var l;const n=(l=i.editor)==null?void 0:l.type,r=[];return(i.type===y.DgControl["data-grid-column"].type||i.type===y.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===y.DgControl["input-group"].type||n===y.DgControl.textarea.type||n===y.DgControl["number-spinner"].type)&&r.push({domField:"editor.maxLength",schemaField:"type.length"}),n===y.DgControl["number-spinner"].type&&r.push({domField:"editor.precision",schemaField:"type.precision"}),(i.type===y.DgControl["data-grid-column"].type||i.type===y.DgControl["tree-grid-column"].type)&&r.push({domField:"formatter.precision",schemaField:"type.precision"}),(n===y.DgControl["combo-list"].type||n===y.DgControl["radio-group"].type)&&r.push({domField:"editor.data",schemaField:"type.enumValues"}),(i.type===y.DgControl["data-grid-column"].type||i.type===y.DgControl["tree-grid-column"].type)&&r.push({domField:"formatter.data",schemaField:"type.enumValues"}),n===y.DgControl["date-picker"].type&&(r.push({domField:"editor.displayFormat",schemaField:"editor.format"}),r.push({domField:"editor.fieldType",schemaField:"type.name"})),n===y.DgControl["number-spinner"].type&&(r.push({domField:"editor.max",schemaField:"editor.maxValue"}),r.push({domField:"editor.min",schemaField:"editor.minValue"})),n===y.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"}),(i.type===y.DgControl["data-grid-column"].type||i.type===y.DgControl["tree-grid-column"].type)&&r.push({domField:"field",schemaField:"bindingPath"}),r}};V(Q,"fieldControlTypeMapping",{String:[{key:y.DgControl["input-group"].type,value:y.DgControl["input-group"].name},{key:y.DgControl.lookup.type,value:y.DgControl.lookup.name},{key:y.DgControl.image.type,value:y.DgControl.image.name},{key:y.DgControl["date-picker"].type,value:y.DgControl["date-picker"].name},{key:y.DgControl.switch.type,value:y.DgControl.switch.name},{key:y.DgControl["check-box"].type,value:y.DgControl["check-box"].name},{key:y.DgControl["check-group"].type,value:y.DgControl["check-group"].name},{key:y.DgControl["radio-group"].type,value:y.DgControl["radio-group"].name},{key:y.DgControl["combo-list"].type,value:y.DgControl["combo-list"].name},{key:y.DgControl.textarea.type,value:y.DgControl.textarea.name},{key:y.DgControl["time-picker"].type,value:y.DgControl["time-picker"].name},{key:y.DgControl["rich-text-editor"].type,value:y.DgControl["rich-text-editor"].name}],Text:[{key:y.DgControl.textarea.type,value:y.DgControl.textarea.name},{key:y.DgControl.lookup.type,value:y.DgControl.lookup.name},{key:y.DgControl.image.type,value:y.DgControl.image.name},{key:y.DgControl.avatar.type,value:y.DgControl.avatar.name},{key:y.DgControl["rich-text-editor"].type,value:y.DgControl["rich-text-editor"].name}],Decimal:[{key:y.DgControl["number-spinner"].type,value:y.DgControl["number-spinner"].name}],Integer:[{key:y.DgControl["number-spinner"].type,value:y.DgControl["number-spinner"].name}],Number:[{key:y.DgControl["number-spinner"].type,value:y.DgControl["number-spinner"].name},{key:y.DgControl.switch.type,value:y.DgControl.switch.name},{key:y.DgControl["check-box"].type,value:y.DgControl["check-box"].name}],BigNumber:[{key:y.DgControl["number-spinner"].type,value:y.DgControl["number-spinner"].name}],Date:[{key:y.DgControl["date-picker"].type,value:y.DgControl["date-picker"].name}],DateTime:[{key:y.DgControl["date-picker"].type,value:y.DgControl["date-picker"].name}],Boolean:[{key:y.DgControl.switch.type,value:y.DgControl.switch.name},{key:y.DgControl["check-box"].type,value:y.DgControl["check-box"].name}],Enum:[{key:y.DgControl["combo-list"].type,value:y.DgControl["combo-list"].name},{key:y.DgControl["radio-group"].type,value:y.DgControl["radio-group"].name}],Object:[{key:y.DgControl.lookup.type,value:y.DgControl.lookup.name},{key:y.DgControl["combo-list"].type,value:y.DgControl["combo-list"].name}]});let ee=Q;var Y=(t=>(t.Form="Form",t.Variable="Variable",t))(Y||{});class fe{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 ze(t){let i,e;const n=new Map;let r=[];function l(g,s){const b=(g||"").split(" ").filter(v=>v.startsWith("col-"));if(b.length===0){s.isSupportedClass=!1;return}let d=b.find(v=>/^col-([1-9]|10|11|12)$/.test(v)),c=b.find(v=>/^col-md-([1-9]|10|11|12)$/.test(v)),p=b.find(v=>/^col-xl-([1-9]|10|11|12)$/.test(v)),C=b.find(v=>/^col-el-([1-9]|10|11|12)$/.test(v));d=d||"col-12",s.columnInSM=parseInt(d.replace("col-",""),10),s.displayWidthInSM=s.columnInSM/12,s.displayWidthInSM!==1&&(s.isSupportedClass=!1),c=c||"col-md-"+s.columnInSM,s.columnInMD=parseInt(c.replace("col-md-",""),10),s.displayWidthInMD=s.columnInMD/6,[1,2].includes(s.displayWidthInMD)||(s.isSupportedClass=!1),p=p||"col-xl-"+s.columnInMD,s.columnInLG=parseInt(p.replace("col-xl-",""),10),s.displayWidthInLG=s.columnInLG/3,[1,2,3,4].includes(s.displayWidthInLG)||(s.isSupportedClass=!1),C=C||"col-el-"+s.columnInLG,s.columnInEL=parseInt(C.replace("col-el-",""),10),s.displayWidthInEL=s.columnInEL/2,[1,2,3,4,5,6].includes(s.displayWidthInEL)||(s.isSupportedClass=!1)}function a(g,s,f,b=!1){let d=!1;if(!g.contents||g.contents.length===0){const c=new fe;l(g.layout,c),s.push(c);return}g.contents.forEach(c=>{if(c.type==="fieldset"){f+=1,a(c,s,f,!0),d=!0;return}if(c.type==="dynamic-form")return;d&&(f+=1,d=!1);const p=c.appearance&&c.appearance.class,C=new fe;p?l(p,C):C.isSupportedClass=!1,C.label=c.label||c.id,C.id=c.id,C.group=f,b&&(C.fieldSetId=g.id),e===c.id&&(i=f),n.set(c.id,c),s.push(C)})}function h(g){const s=t.getComponentById(g);if(!s||!s.componentType||!s.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const f=t.selectNode(s,b=>b.type===y.DgControl["response-form"].type);return!f||!f.contents||f.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:f}}function u(g,s){s=s||g.id;const{result:f,message:b,formNode:d}=h(s);if(!f)return{result:f,message:b};e=g.id,r=[],n.clear();const c=d.contents[0].type===y.DgControl.fieldset.type?0:1;a(d,r,c);const p=r.find(v=>!v.isSupportedClass);return{defaultState:{defaultGroupNumber:i||1,model:p?"customize":"standard"},importData:r}}function m(g,s){s=s;const{result:f,formNode:b}=h(s);if(!f)return"";const d=[];return g.forEach(c=>{var v;const p=n.get(c.id),C=p.appearance&&p.appearance.class;if(C){const N=C.split(" ").filter(w=>!w.startsWith("col-")),L="col-"+c.columnInSM,T="col-md-"+c.columnInMD,R="col-xl-"+c.columnInLG,D="col-el-"+c.columnInEL,S=[L,T,R,D].concat(N);p.appearance.class=S.join(" ")}if(c.fieldSetId){const k=b.contents.find(L=>L.id===c.fieldSetId),N=d.find(L=>L.id===c.fieldSetId);N?(v=N.contents)==null||v.push(p):(d.push(k),k.contents=[p])}else d.push(p)}),b.contents=d,b.id}return{checkCanFindFormNode:h,checkCanOpenLayoutEditor:u,changeFormControlsByResponseLayoutConfig:m,getResonseFormLayoutConfig:a}}const _e=t=>o.createVNode(o.Fragment,null,[o.createVNode("h5",null,[o.createTextVNode("代码示例")]),o.createVNode("pre",{style:"background-color: #f5f5f5; padding: 10px; border-radius: 5px;"},[o.createVNode("code",null,[`
<h3>Tips:</h3>
<span style="color: blue;">
自定义提示内容
</span>
`])])]);class Xe extends Ge{constructor(e,n){super(e,n);V(this,"responseLayoutEditorFunction");V(this,"bindingVarible");V(this,"formGroupEvents",[{label:"fieldValueChanging",name:"绑定字段值变化前事件"},{label:"fieldValueChanged",name:"绑定字段值变化后事件"},{label:"onClickLabel",name:"标签点击事件"}]);V(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});V(this,"showCustomValue",e=>{var r;const n=this.designViewModelField!=null&&((r=this.designViewModelField)==null?void 0:r.type.name)!=="Boolean";return this.formRule?e.dataType!=="boolean":n});this.responseLayoutEditorFunction=ze(this.formSchemaUtils)}getCommonPropertyConfig(e,n,r="Card"){if(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"),r==="Card"){const l=this.getTipsConfig(e);this.propertyConfig.categories.behavior.properties={...this.propertyConfig.categories.behavior.properties,...l},["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","language-textbox"].includes(e.editor.type)&&(this.propertyConfig.categories.expansion=this.getExpandProperties(e,r))}}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 s;const l=this;this.setDesignViewModelField(e);const{canChangeControlType:a,editorTypeList:h}=this.getAvailableEditorType(e),u=this.getPropertyEditorParams(e,["Variable"],"label",{},{newVariablePrefix:"",newVariableType:"String"});let m=h;this.formRule&&(m=h.filter(f=>f.key!=="image"&&f.key!=="rich-text-editor"&&f.key!=="avatar"));const g={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:m,readonly:!a}},titleSourceType:{description:"标签来源类型",title:"标签类型",type:"string",refreshPanelAfterChanged:!0,editor:{type:"combo-list",textField:"name",valueField:"id",idField:"id",editable:!