@farris/ui-vue 1.7.0 → 1.7.1

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.
@@ -1,4 +1,4 @@
1
- (function(re,X){typeof exports=="object"&&typeof module<"u"?X(exports,require("../../components/common/index.umd.js"),require("../../components/data-grid/index.umd.js"),require("../../components/dynamic-resolver/index.umd.js"),require("vue"),require("@vueuse/core"),require("../../components/checkbox/index.umd.js"),require("../../components/popover/index.umd.js"),require("../../components/locale/index.umd.js"),require("../../components/modal/index.umd.js"),require("lodash-es"),require("../../components/transfer/index.umd.js"),require("../../components/tabs/index.umd.js"),require("../../components/pagination/index.umd.js"),require("../../components/data-view/index.umd.js"),require("../../components/button/index.umd.js"),require("../../components/button-group/index.umd.js"),require("../../components/list-view/index.umd.js"),require("../../components/date-picker/index.umd.js"),require("../../components/number-spinner/index.umd.js"),require("../../components/search-box/index.umd.js"),require("../../components/notify/index.umd.js"),require("../../components/condition/index.umd.js"),require("../../components/dynamic-form/index.umd.js"),require("../../components/designer-canvas/index.umd.js"),require("../data-view/index.umd.js"),require("../../components/property-panel/index.umd.js"),require("../../components/tags/index.umd.js"),require("../../components/tree-view/index.umd.js"),require("../../components/field-selector/index.umd.js"),require("../dynamic-form/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","../../components/common/index.umd.js","../../components/data-grid/index.umd.js","../../components/dynamic-resolver/index.umd.js","vue","@vueuse/core","../../components/checkbox/index.umd.js","../../components/popover/index.umd.js","../../components/locale/index.umd.js","../../components/modal/index.umd.js","lodash-es","../../components/transfer/index.umd.js","../../components/tabs/index.umd.js","../../components/pagination/index.umd.js","../../components/data-view/index.umd.js","../../components/button/index.umd.js","../../components/button-group/index.umd.js","../../components/list-view/index.umd.js","../../components/date-picker/index.umd.js","../../components/number-spinner/index.umd.js","../../components/search-box/index.umd.js","../../components/notify/index.umd.js","../../components/condition/index.umd.js","../../components/dynamic-form/index.umd.js","../../components/designer-canvas/index.umd.js","../data-view/index.umd.js","../../components/property-panel/index.umd.js","../../components/tags/index.umd.js","../../components/tree-view/index.umd.js","../../components/field-selector/index.umd.js","../dynamic-form/index.umd.js"],X):(re=typeof globalThis<"u"?globalThis:re||self,X(re["data-grid"]={},re.common,re.FDataGrid,re.dynamicResolver,re.Vue,re.VueUseCore,re.checkbox,re.FPopover,re.locale,null,re.LodashES,null,null,null,re.dataView,re.FButton,re.FButtonGroup,null,null,null,null,re.notify,re.condition,re.dynamicForm,re.designerCanvas,re.designer$1,re.propertyPanel,re.FTags,re.FTreeView,re.fieldSelector))})(this,function(re,X,Je,Ge,l,mn,bt,pn,Ae,nl,ze,il,ol,ll,ke,Bt,hn,rl,al,sl,dl,Ct,de,gn,j,je,Le,yn,vn,ut){"use strict";var el=Object.defineProperty;var tl=(re,X,Je)=>X in re?el(re,X,{enumerable:!0,configurable:!0,writable:!0,value:Je}):re[X]=Je;var ie=(re,X,Je)=>tl(re,typeof X!="symbol"?X+"":X,Je);const bn={customClass:{type:String,default:""},appendOnEnterAtLastCell:{type:Boolean,default:!1},beforeEditCell:{type:Function,default:n=>!0},beforeEndEditCell:{type:Function,default:()=>!0},columns:{type:Array,default:[]},columnOption:{type:Object},commandOption:{type:Object,default:{enable:!1,commands:[],halign:"center"}},data:{type:Array,default:[]},disabled:{type:Boolean,default:!1},disabledField:{type:String,default:"disabled"},editable:{type:Boolean,default:!1},editOption:{type:Object,default:{selectOnEditing:!1,editMode:"cell"}},enableCommands:{type:Boolean,default:!1},enableFilter:{type:Boolean,default:!1},filter:{type:Object},fit:{type:Boolean,default:!1},focusOnEditingCell:{type:Boolean,default:!0},group:{type:Object},header:{type:Object},height:{type:Number,default:-1},id:{type:String,default:""},idField:{type:String,default:"id",require:!0},loading:{type:Boolean,default:!1},mergeCell:{type:Boolean,default:!1},minHeight:{type:Number,default:300},minWidth:{type:Number,default:400},newDataItem:{type:Function,default:()=>{}},pagination:{type:Object,default:{enable:!1,size:20}},rowNumber:{type:Object,default:{enable:!0,width:36,showEllipsis:!0,heading:"序号"}},rowOption:{type:Object,default:{wrapContent:!1}},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!1,keepSelectingOnClick:!0}},selectionValues:{type:Array,default:[]},selectOnEditingCell:{type:Boolean,default:!1},showBorder:{type:Boolean,default:!1},showFooter:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},showHorizontalLines:{type:Boolean,default:!0},showScrollBar:{type:String,default:"auto"},showSetting:{type:Boolean,default:!1},showStripe:{type:Boolean,default:!0},showVerticallLines:{type:Boolean,default:!1},sort:{type:Object},summary:{type:Object,default:{enable:!1,groupFields:["numericField1","numericField2"]}},virtualized:{type:Boolean,default:!0},width:{type:Number,default:-1},emptyTemplate:{type:Object},beforeUpdate:{type:Function}},Cn=X.excludeProperties(Object.assign({},bn,{disabled:{},editable:{},componentId:{type:String,default:""}}),"columnOption","commandOption");function wn(n,e,t,i,o){const{getGridHeaderCells:r}=o,a=120,s=50,c=l.computed(()=>{var h;return((h=n.rowNumber)==null?void 0:h.enable)||!1}),m=l.computed(()=>{var h,b;return((h=n.selection)==null?void 0:h.multiSelect)||((b=n.selection)==null?void 0:b.showCheckbox)||!1}),u=l.computed(()=>{var h;return 0+(c.value?((h=n.rowNumber)==null?void 0:h.width)||32:0)+(m.value?s:0)}),d=l.computed(()=>{var h;return(h=n.columnOption)==null?void 0:h.fitColumns}),f=l.computed(()=>{var h;return d.value&&((h=n.columnOption)==null?void 0:h.fitMode)||"none"});function g(h,b,M){const B=parseInt(h.width,10)/100;return M*B}function p(h,b,M){return typeof h.width=="string"?g(h,b,M):h.width||a}function y(h,b){const M=[],B=[];let P=0;h.value.primaryColumns.forEach(I=>{typeof I.width=="string"?B.push(I):(I.width=I.width||a,P+=I.width,M.push(I))});const E=b*(M.length/h.value.primaryColumns.length);M.forEach(I=>{const _=E*(I.width/P);I.actualWidth=_,h.value.primaryColumnsWidth+=I.actualWidth});const N=b-E;B.forEach(I=>{const _=g(I,h.value,N);I.actualWidth=_,h.value.primaryColumnsWidth+=I.actualWidth})}function T(h,b){const M=[],B=[],P=new WeakMap;let E=0,N=0;if(h.value.primaryColumns.forEach(_=>{if(typeof _.width=="string"){const x=g(_,h.value,b);P.set(_,x),E+=x,B.push(_)}else _.width=_.width||a,N+=_.width,M.push(_)}),b-E>N){const _=b-E;B.forEach(x=>{x.actualWidth=P.get(x)||a,h.value.primaryColumnsWidth+=x.actualWidth}),M.forEach(x=>{x.actualWidth=_*(x.width/N),h.value.primaryColumnsWidth+=x.actualWidth})}else y(h,b)}function S(h,b){h.value.primaryColumns.forEach(M=>{M.actualWidth=p(M,h.value,b),h.value.primaryColumnsWidth+=M.actualWidth})}const C={expand:T,none:S,percentage:y};function F(h){h.value.leftHeaderColumns=Array.from(r(h.value.leftColumns).values()),h.value.primaryHeaderColumns=Array.from(r(h.value.primaryColumns).values()),h.value.rightHeaderColumns=Array.from(r(h.value.rightColumns).values())}function V(h){h.value.leftColumnsWidth=0,h.value.primaryColumnsWidth=0,h.value.rightColumnsWidth=0,h.value.leftColumns.forEach(b=>{h.value.leftColumnsWidth+=b.actualWidth||0}),h.value.primaryColumns.forEach(b=>{h.value.primaryColumnsWidth+=b.actualWidth||0}),h.value.rightColumns.forEach(b=>{h.value.rightColumnsWidth+=b.actualWidth||0}),h.value=Object.assign({},h.value)}function v(h,b,M){var x;let B=0;const P=h.value.primaryColumns,E=h.value.rightColumns;h.value.rightColumns.forEach(G=>{G.actualWidth=p(G,h.value,b),B+=G.actualWidth});const N=M-B,I=C[f.value];if(I&&I(h,N),h.value.primaryColumnsWidth+B<=M)return h.value.primaryColumns=[...P,...E],h.value.primaryColumnsWidth+=B,h.value.rightColumns=[],h.value.rightColumnsWidth=0,!0;const _=new Map;return _.set("primary",[]),_.set("right",[]),h.value.primaryColumns.reduce((G,k)=>{var $,Y;return k.fixed==="right"?($=G.get("right"))==null||$.push(k):(Y=G.get("primary"))==null||Y.push(k),G},_),(x=_.get("right"))!=null&&x.length&&(h.value.primaryColumns=[..._.get("primary")||[]],h.value.rightColumns=[..._.get("right")||[]]),h.value.primaryColumnsWidth=0,h.value.rightColumnsWidth=0,!1}function w(){if(t.value){e.value.leftColumnsWidth=0,e.value.primaryColumnsWidth=0,e.value.rightColumnsWidth=0;const h=t.value.clientWidth-u.value;e.value.leftColumns.forEach(M=>{M.actualWidth=p(M,e.value,h),e.value.leftColumnsWidth+=M.actualWidth});const b=h-e.value.leftColumnsWidth;if(v(e,h,b))i.value=b;else{e.value.rightColumns.forEach(P=>{P.actualWidth=p(P,e.value,h),e.value.rightColumnsWidth+=P.actualWidth});const M=h-e.value.leftColumnsWidth-e.value.rightColumnsWidth,B=C[f.value];B&&B(e,M),i.value=M}F(e),e.value=Object.assign({},e.value)}}return l.watch(()=>{var h;return(h=n.columnOption)==null?void 0:h.fitColumns},(h,b)=>{h!==b&&h&&w()}),l.watch(f,(h,b)=>{h!==b&&d.value&&w()}),{calculateColumnHeaders:F,calculateColumnsSize:w,calculateColumnsWidth:V}}const Sn="";function Mn(n){const t={defaultColumnWidth:120,headerDepth:1,leftColumns:[],leftColumnsMap:new Map,leftColumnsWidth:0,leftHeaderColumns:[],primaryColumns:[],primaryColumnsMap:new Map,primaryColumnsWidth:0,primaryHeaderColumns:[],rightColumns:[],rightColumnsMap:new Map,rightColumnsWidth:0,rightHeaderColumns:[],summaryColumns:[]},i=l.ref(t);function o(){i.value={defaultColumnWidth:120,headerDepth:1,leftColumns:[],leftColumnsMap:new Map,leftColumnsWidth:0,leftHeaderColumns:[],primaryColumns:[],primaryColumnsMap:new Map,primaryColumnsWidth:0,primaryHeaderColumns:[],rightColumns:[],rightColumnsMap:new Map,rightColumnsWidth:0,rightHeaderColumns:[],summaryColumns:[]}}const r=l.ref(n.summary),a=l.computed(()=>{const v=r.value;return(v==null?void 0:v.groupFields)||[]});function s(){i.value.rightColumns.forEach(h=>{h.showSetting=!1}),i.value.primaryColumns.forEach(h=>{h.showSetting=!1});const v=i.value.rightColumns,w=i.value.primaryColumns;v.length>0?v[v.length-1].showSetting=!0:w.length>0&&(w[w.length-1].showSetting=!0)}function c(v){o();const w=new Map;return a.value&&a.value.reduce((h,b)=>(h.set(b,!0),h),w),v.reduce((h,b)=>(b.filter=b.filter||Sn,b.fixed==="left"?(i.value.leftColumns.push(b),i.value.leftColumnsMap.set(b.field,b),i.value.leftColumnsWidth+=b.actualWidth):b.fixed==="right"?(i.value.rightColumns.push(b),i.value.rightColumnsMap.set(b.field,b),i.value.rightColumnsWidth+=b.actualWidth):(i.value.primaryColumns.push(b),i.value.primaryColumnsMap.set(b.field,b),i.value.primaryColumnsWidth+=b.actualWidth),w.has(b.field)&&i.value.summaryColumns.push(b),h),i),s(),i}c(n.columns);const m=l.computed(()=>i.value.leftColumns.length>0),u=l.computed(()=>i.value.rightColumns.length>0);function d(v,w){return w.sortable&&w.sort&&w.sort!=="none"&&v.push(w),v}function f(v,w){return v.sortOrder=v.sortOrder||0,w.sortOrder=w.sortOrder||0,v.sortOrder===w.sortOrder?0:v.sortOrder<w.sortOrder?-1:1}function g(v,w){return v.sortOrder=v.sortOrder||0,w.sortOrder=w.sortOrder||0,v.sortOrder===w.sortOrder?0:v.sortOrder<w.sortOrder?1:-1}function p(v,w){return w.filterable&&v.push(w),v}function y(){const v=[];return i.value.leftColumns.reduce(p,v),i.value.primaryColumns.reduce(p,v),i.value.rightColumns.reduce(p,v),v}function T(){const v=[];i.value.leftColumns.reduce(d,v),i.value.primaryColumns.reduce(d,v),i.value.rightColumns.reduce(d,v);const w=Math.max(...v.map(h=>h.sortOrder||0));return v.sort(g).map(h=>{const b=h.sortOrder||w+1;return h.sortOrder=b,h}).sort(f).map((h,b)=>{const M=b+1;return h.sortOrder=M,h})}function S(v,w,h){const b=v.map(M=>{const B=h.getSorterByColumn(M),P=M.sort==="asc",E=M.sort==="desc",N=P?B.ascend:E?B.decend:void 0;return{field:M.field,compare:N}});w.setSorters(b)}function C(v,w){const h=T();S(h,v,w)}function F(v){}function V(v){}return{applyColumnSorter:C,collectionFilterableColumns:y,applySortableColumns:S,collectionSortableColumns:T,columnContext:i,hasLeftFixedColumn:m,hasRightFixedColumn:u,updateColumnRenderContext:c,updateColumnSettingIcon:s,sortFromServer:F,createSortConditions:V}}function Fn(n,e,t,i,o,r,a,s){const c=l.ref(i.value-1+o),m=l.ref(0),{renderDataRow:u}=r,d=a?a.renderGroupRow:u,f=s?s.renderSummaryRow:u;function g(T){let S=u;return T.__fv_data_grid_group_row__&&(S=d),T.__fv_data_grid_group_summary__&&(S=f),S}function p(T,S,C,F){const{dataView:V}=t,v=[];if(V.value.length>0){const w=F?Date.now().toString():"";let h=T,b=0;const M=S-T+1;for(;v.length<M&&h<V.value.length;){const B=V.value[h],P=V.value[h-1]||C,E=v[b-1],N=P?(P.__fv_data_position__||0)+(P.__fv_data_height__||0):0,_=g(B)(B,P,E,h,N,e.value,v);_.refreshKey=w,v.push(_),b++,h++}}return m.value=v.length>0?v[0].index:0,c.value=v.length>0?v[v.length-1].index:0,v}function y(T,S,C){const F=S.groupField||"",{groupValue:V,raw:v}=S;t[T](F,V,v.groupParents||[]);const{dataView:w}=t,h=C[0].index,b=Math.min(h+i.value+o+1,w.value.length-1);return p(h,b)}return{getVisualData:p,maxVisibleRowIndex:c,minVisibleRowIndex:m,toggleGroupRow:y}}var Ne=(n=>(n[n.readonly=0]="readonly",n[n.editable=1]="editable",n[n.editing=2]="editing",n))(Ne||{}),Ue=(n=>(n[n.initial=0]="initial",n[n.editing=1]="editing",n))(Ue||{}),et=(n=>(n[n.data=0]="data",n[n.group=1]="group",n[n.summary=2]="summary",n))(et||{}),Oe=(n=>(n[n.none=0]="none",n[n.filterable=1]="filterable",n[n.sortable=2]="sortable",n[n.filtered=4]="filtered",n[n.sorted=8]="sorted",n[n.ascending=16]="ascending",n[n.descending=32]="descending",n))(Oe||{}),De=(n=>(n.DATE="date",n.DATE_TIME="datetime",n.NUMBER="number",n.ENUM="enum",n.IMAGE="image",n.BOOLEAN="boolean",n.BOOLEAN2="boolean2",n.TIMEAGO="timeago",n.NONE="none",n.CUSTOM="custom",n.MULTI_LINGUAL="multilingual",n))(De||{});const Tn="__setting__",Ot="__command__",_n=150,xn="right",Rt="commands";function Vn(n,e,t){const{horizontalScrollThumbStyle:i,onMouseDownScrollThumb:o,shouldShowHorizontalScrollbar:r}=t;function a(){return r.value&&l.createVNode("div",{class:"fv-grid-horizontal-scroll"},[l.createVNode("div",{class:"fv-grid-horizontal-scroll-thumb",style:i.value,onMousedown:s=>o(s,e,"horizontal")},null)])}return{renderHorizontalScrollbar:a}}function In(n){function e(s,c){switch(s.command){case"edit":case"remove":return c.status===Ue.initial;case"accept":case"cancel":return c.status===Ue.editing;default:return!s.hidden}}function t(s,c,m,u){var d,f,g,p,y;switch((d=s.onClick)==null||d.call(s,c,m.dataIndex,m),s.command){case"edit":m.status,Ue.editing,(g=(f=n.commandOption)==null?void 0:f.onClickEditCommand)==null||g.call(f,u,m,s,c);break;case"accept":case"cancel":m.status,Ue.initial;break;case"remove":(y=(p=n.commandOption)==null?void 0:p.onClickDeleteCommand)==null||y.call(p,u,m,s,c);break}}function i(s){return s==="编辑"?Ae.LocaleService.getLocaleValue("datagrid.commandColumn.edit"):s==="确定"?Ae.LocaleService.getLocaleValue("datagrid.commandColumn.accept"):s==="取消"?Ae.LocaleService.getLocaleValue("datagrid.commandColumn.cancel"):s==="删除"?Ae.LocaleService.getLocaleValue("datagrid.commandColumn.remove"):s}function o(s,c){const{column:m}=s;return m.commands&&m.commands.map((u,d)=>d?e(u,c)&&l.createVNode(Bt,{class:"ml-1",type:u.type,size:u.size||"small",onClick:f=>t(u,f,c,s),style:{"margin-bottom":"3px"}},{default:()=>[l.createTextVNode(" "),i(u.text),l.createTextVNode(" ")]}):e(u,c)&&l.createVNode(Bt,{type:u.type,size:u.size||"small",onClick:f=>t(u,f,c,s),style:{"margin-bottom":"3px"}},{default:()=>[l.createTextVNode(" "),i(u.text),l.createTextVNode(" ")]}))}function r(s,c,m,u){var d,f,g;(d=c.onClick)==null||d.call(c,s,m.dataIndex,m),(g=(f=n.commandOption)==null?void 0:f.onHandleAction)==null||g.call(f,u,m,c,s)}function a(s,c){var d,f,g;const{column:m}=s;return((d=m==null?void 0:m.commands)==null?void 0:d.find(p=>p.command))?o(s,c):l.createVNode(hn,{data:m.commands,count:typeof((f=n.commandOption)==null?void 0:f.count)!="number"?2:(g=n.commandOption)==null?void 0:g.count,size:"small",placement:"auto",onClick:p=>{r(p.payload,p.button,c,s)}},null)}return{renderCommandColumn:a}}function kn(n){const e=l.ref(n.minHeight),t=l.ref(n.minWidth),i=l.ref(n.height),o=l.ref(n.width),r=l.computed(()=>i.value<=0?0:Math.max(i.value,e.value)),a=l.computed(()=>o.value<=0?0:Math.max(o.value,t.value));return l.watch([()=>n.height,()=>n.width,()=>n.minHeight,()=>n.minWidth],([c,m,u,d])=>{e.value=Number(u),t.value=Number(d),i.value=Number(c),o.value=Number(m)}),{containerStyleObject:l.computed(()=>({height:r.value>0?`${r.value}px`:n.fit?"100%":"",width:a.value>0?`${a.value}px`:n.fit?"100%":"",flex:"1 1 0"}))}}function En(n){var r,a;const e=l.ref(((r=n.commandOption)==null?void 0:r.enable)||!1),t=l.ref(((a=n.commandOption)==null?void 0:a.commands)||[]),i=l.computed(()=>Ae.LocaleService.getLocaleValue("datagrid.commandColumn.title"));function o(s){var c;if(e.value&&!(s.value.findIndex(u=>u.dataType===Rt)>-1)){const u={field:Ot,title:i.value,width:_n,fixed:xn,dataType:Rt,commands:t.value,resizable:!1,halign:((c=n.commandOption)==null?void 0:c.halign)||"left",visible:!0,formatter:n.commandOption.formatter&&typeof n.commandOption.formatter?(d,f)=>n.commandOption.formatter(d,f):null};n.commandOption.formatter&&typeof n.commandOption.formatter!="function"&&(u.formatter=(d,f)=>n.commandOption.formatter(d,f)),s.value.push(u)}}return{applyCommands:o}}function Pn(n,e){var m;const t=l.ref((m=n.columnOption)==null?void 0:m.groups);function i(u,d,f,g,p){const y={actualWidth:0,children:[],depth:1,field:u.field,layer:1,left:0,parent:f,resizable:!0,title:u.title||"",status:Oe.none,popoverRef:l.ref(),showPopover:!1,column:null,sortType:"none"},T=g||y;if(u.group){let S=1;u.group.reduce((C,F)=>{if(typeof F=="string"){const V=d.get(F);V&&(p.fieldToRootMap.set(F,T),C.actualWidth+=V.actualWidth,C.children.push(V))}else{const V=i(F,d,C,T,p);S=Math.max(S,V.depth),C.actualWidth+=V.actualWidth,C.children.push(V)}return C},y),y.depth+=S}return e.value.headerDepth=Math.max(e.value.headerDepth,y.depth),y}function o(u){const d={groupedCells:new Map,fieldToRootMap:new Map};return t.value&&t.value.reduce((f,g)=>{const p=i(g,u,null,null,d);return f.groupedCells.set(g.field,p),f},d),d}function r(u){if(!u||u.length===0)return 0;const d=u[0];return d.children&&d.children.length>0&&(d.left=r(d.children)),d.left}function a(u,d){const f=e.value.headerDepth;u.forEach(g=>{g.layer=d?d.layer+1:1;const p=g.children&&g.children.length===0;g.depth=p?f-(g.layer-1):1,g.left=p?g.left:r(g.children),g.children&&a(g.children,g)})}function s(u,d){const f=new Map;return u.forEach(g=>{const p=d.fieldToRootMap.get(g.field),y=p!=null;y&&!f.has(p.field)&&f.set(p.field,p),y||f.set(g.field,g)}),a(Array.from(f.values())),f}function c(u){let d=new Map,f=0;if(u.reduce((g,p)=>{let y=Oe.none;y=p.sortable?y|Oe.sortable:y,y=p.filterable?y|Oe.filterable:y,y=p.sort&&p.sort!=="none"?y|Oe.sorted|(p.sort==="asc"?Oe.ascending:Oe.descending):y;const T=p.field;return g.set(T,{actualWidth:p.actualWidth||0,children:[],depth:1,layer:1,left:f,field:T,parent:null,resizable:p.resizable===void 0?!0:p.resizable,title:p.title,status:y,popoverRef:l.ref(),showPopover:!1,column:p,filterValue:null,sortType:p.sort||"none",showSetting:p.showSetting,draggable:p.draggable}),f+=p.actualWidth||0,g},d),t.value){const g=o(d);d=s(d,g)}return d}return{getGridHeaderCells:c}}function Nn(n,e){var v;const{sum:t,toFixed:i}=X.useNumberFormat(),{uuid:o}=X.useGuid(),{idField:r}=e,a=l.ref(n.summary),s=l.ref(n.group),c=l.ref(((v=n.group)==null?void 0:v.groupFields)||[]),m=l.computed(()=>{var w;return(w=n.group)==null?void 0:w.enable}),u=l.computed(()=>{var w;return(w=n.group)==null?void 0:w.showGroupPanel}),d=l.computed(()=>{const w=a.value;return(w==null?void 0:w.groupFields)||[]}),f=l.computed(()=>{const w=s.value;return w&&w.showSummary}),g=l.ref(0),p=new Map;let y=[];function T(w,h,b,M,B){const P=M[b];P&&(h.reduce((E,N,I)=>{var G;const _=N[P];let x=E.get(_);if(!x){const k=d.value.reduce(($,Y)=>($.set(Y,0),$),new Map);x={field:P,title:((G=B.get(P))==null?void 0:G.title)||P,value:_,layer:b,details:[],groupSummaries:k},E.set(_,x)}return d.value&&d.value.forEach(k=>{if(x){const $=x.groupSummaries.get(k)||0;x.groupSummaries.set(k,t([$,X.resolveField(N,k)]))}}),d.value&&d.value.forEach(k=>{if(x){const $=x.groupSummaries.get(k)||0;x.groupSummaries.set(k,i($,2))}}),x.details.push(N),E},w),b<M.length-1&&w.forEach((E,N)=>{E.nestGroup=new Map,T(E.nestGroup,E.details,b+1,M,B),E.details=[]}))}function S(w,h){return n.group&&n.group.formatter?n.group.formatter(w.value,{...w,total:h}):`${w.title}:${w.value} (${h})`}function C(w,h){const b=[];return w.forEach(M=>{const B={[r.value]:`group_of_${h?h[r.value]+"_":""}${M.field}_${M.value}`,__fv_data_grid_group_collapse__:!1,__fv_data_grid_group_field__:M.field,__fv_data_grid_group_layer__:M.layer,__fv_data_grid_group_row__:!0,__fv_data_grid_group_value__:M.value,groupParents:[]};h&&(B.groupParents=[...h.groupParents,h]);let P=0;if(b.push(B),M.nestGroup){const E=C(M.nestGroup,B);b.push(...E),P+=E.length}if(M.details&&M.details.length&&(b.push(...M.details),P+=M.details.length),f.value){const E={__fv_data_grid_group_field__:M.field,__fv_data_grid_group_layer__:M.layer,__fv_data_grid_group_summary__:!0};E[r.value]=`summary_of_${M.field}_${M.value}`,E[M.field]=Array.from(M.groupSummaries.entries()).reduce((N,[I,_])=>`${N} ${I} total:${_} `,""),b.push(E)}M.groupSummaries&&M.groupSummaries.size&&M.groupSummaries.forEach((E,N)=>{B[N]=E}),B[M.field]=S(M,P),B.value=M.value}),b.forEach((M,B)=>{M.__fv_data_index__=B}),b}function F(w,h,b){return!w||w.length===0||!h.length?h:(w.join(","),p.clear(),y=[],h=h.filter(M=>!M.__fv_data_grid_group_row__),T(p,h,0,w,b),y=C(p),y)}function V(w){return{"f-icon":!0,"f-icon-arrow-chevron-down":!0,"fv-grid-group-row-icon-collapse":w.collapse}}return{collpaseGroupIconClass:V,generateGroupData:F,groupFields:c,shouldGroupingData:m,showGroupPanel:u,groupRowSize:g}}function Ht(n){const e="parent",t="layer",i="hasChildren",o=(a,s=1,c=[],m=null)=>(a=a||[],a.reduce((u,d)=>(d.id=d.id||d.data[n.idField],d[e]=m,d[t]=s,d[i]=d[i]===void 0?!1:d[i],d.data&&Object.keys(d.data).forEach(f=>{Object.keys(d).includes(f)||(d[f]=d.data[f])}),c.push(d),d.children&&d.children.length&&(d[i]=!0,o(d.children,s+1,c,d.id)),u),c),c);return{flatTreeData:o,isNestedTree:a=>a.some(s=>Array.isArray(s.children))}}function Bn(n,e,t,i){const o=l.ref(0),r=l.ref(!!n.hierarchy),{idField:a}=i,{collapseField:s,hasChildrenField:c,parentIdField:m}=t,u=new Map,d=new Map,f=new Map,{flatTreeData:g,isNestedTree:p}=Ht(n);function y(O,R){d.clear(),O.reduce((W,U)=>{const ee=U[m.value]!==void 0?U[m.value]:"";if(ee&&R.has(ee)){const ce=R.get(ee),fe=isNaN(Number(ce.__fv_layer__))?1:Number(ce.__fv_layer__);U.__fv_layer__=fe+1,U.__fv_parent_index__=ce.__fv_index__,ce.__fv_hasChildren__=!0}else U.__fv_layer__=1;const se=W.has(ee)?W.get(ee):[];return se.push(U),W.set(ee,se),W},d)}function T(O){f.clear(),O.reduce((R,W)=>{const U=W[a.value];return R.set(U,W),R},f)}function S(O){O.forEach(R=>{const W=R[a.value];R.__fv_children_index__.map(ee=>O[ee]).forEach(ee=>{ee.__fv_parents__=new Map([...R.__fv_parents__.entries(),[W,!0]])})})}function C(O){O.forEach(R=>{const W=new Set(R.__fv_children_index__);R.__fv_children_index__=[...W].sort((U,ee)=>U-ee)})}function F(O){O.forEach(R=>{const W=R.__fv_parents__;Array.from(W.keys()).map(U=>f.get(U)).forEach(U=>{U.__fv_children_index__.push(R.__fv_index__)})}),C(O)}function V(O){O.forEach(R=>{R.__fv_child_with_lines__=[],R.__fv_child_length__=R.__fv_descendant_index__.length,R.__fv_descendant_index__.map(W=>O[W]).reduce((W,U)=>(W.__fv_child_length__+=U.__fv_children_index__.length,W.__fv_child_with_lines__.push(...U.__fv_children_index__,U.__fv_index__),W),R)})}function v(O,R){return{id:O,index:R,parentId:"",parentIndex:-1,parents:new Map,children:new Map,descendant:new Map,collapsed:!1,visibleInHierarchy:!0}}function w(O,R,W){Array.from(R.keys()).forEach(U=>{R.get(U).reduce((se,ce)=>{const fe=ce[a.value],pe=O.get(ce[a.value]),me=O.get(U),Pe=W.get(U);return me&&Pe&&(me.children.set(fe,pe),me.children.set(fe,pe),pe.parentId=U,pe.parentIndex=me.index,pe.parents.set(U,me)),se},O)})}function h(O){O.children.forEach(W=>{W.parents=new Map([...O.parents.entries(),[O.id,O]]),h(W)})}function b(O,R){O.filter(W=>W[m.value]===void 0||W[m.value]==="").forEach(W=>{const U=W[a.value],ee=R.get(U);h(ee)})}function M(O){Array.from(O.values()).forEach(R=>{Array.from(R.parents.values()).forEach(W=>{W.descendant.set(R.id,R)})})}function B(O){u.clear(),O.forEach((R,W)=>{const U=R[a.value];u.set(U,v(U,W))}),T(O),y(O,f),w(u,d,f),b(O,u),M(u)}function P(O){const R=O[a.value],W=u.get(R);return W&&W.children.size>0}function E(O){return O[c.value]&&!P(O)}function N(O){const R=O[a.value],W=u.get(R);return W&&W.visibleInHierarchy}function I(){o.value=Date.now()}function _(O,R){R.forEach(W=>{const U=u.get(W[a.value]),ee=u.get(O),se=f.get(O);ee&&se&&(U.visibleInHierarchy=!se[s.value]&&ee.visibleInHierarchy)}),I()}function x(O){if(d.has(O)){const W=d.get(O);_(O,W),W.map(U=>U[a.value]).forEach(U=>x(U))}}function G(O){const R=O[a.value];x(R)}function k(O,R,W=0){O.forEach(U=>{const ee=E(U),se=U.__fv_layer__<=W,ce=R==="ToCollapse"?U.__fv_layer__<=W:!(U.__fv_layer__<=W),fe=se?ce:U[s.value];U[s.value]=ee||fe});for(const[U,ee]of d.entries())_(U,ee);return O}function $(O,R){k(O,"ToCollapse",R)}function Y(O,R){k(O,"ToExpand",R)}function Q(O){O.forEach((R,W)=>{var ce;const U=R[a.value],ee=d.has(U)?(ce=d.get(U))==null?void 0:ce.map(fe=>fe.__fv_index__):[],se=v(U,W);R.__fv_graph_node__=se,R.__fv_children_index__=ee,R.__fv_descendant_index__=[...ee],R.__fv_parents__=new Map,E(R)&&(R[s.value]=!0)})}function oe(O){var U,ee;B(e.value),Q(O),S(O),F(O),n.showLines&&V(O);const W=((U=n.hierarchy)==null?void 0:U.collapseTo)!==void 0?Number((ee=n.hierarchy)==null?void 0:ee.collapseTo):0;return k(O,"ToCollapse",W),O}function Ve(O,R,W){const ee=W.value[O][a.value],se=u.get(ee);if(se){const ce=u.get(se.parentId);let fe=W.value.length-1;if(ce){const pe=Array.from(ce.children.keys()).indexOf(se.id);if(pe===ce.children.size-1){const Pe=Array.from(ce.descendant.values())[ce.descendant.size-1];fe=W.value.findIndex(Ce=>Ce[a.value]===Pe.id)+1}else{const Pe=Array.from(ce.children.values())[pe+1];fe=W.value.findIndex(Ce=>Ce[a.value]===Pe.id)}R[c.value]=!1,R[m.value]=ce.id,W.value.splice(fe,0,R)}}}function Se(O,R,W){const U=W.value[O],ee=U[a.value];if(u.get(ee)){const fe=W.value.findIndex(pe=>pe[a.value]===ee)+1;U[c.value]=!0,U[s.value]=!1,R[c.value]=!1,R[m.value]=ee,W.value.splice(fe,0,R)}}function xe(O,R,W){const ee=W.value[O][a.value];if(u.get(ee)){const fe=W.value.findIndex(me=>me[a.value]===ee)+1;let pe=R;p(R)&&(pe=g(R)),pe.forEach(me=>{me[m.value]=ee}),W.value.splice(fe,0,...pe)}}function H(O,R){const W=O[a.value],U=u.get(W),ee=Array.from(U.descendant.keys());ee.unshift(W);const se=u.get(U.parentId);if(se&&(se.children.delete(W),se.children.size===0)){const fe=R.find(pe=>pe[a.value]===U.parentId);fe[c.value]=!1,fe[s.value]=!1}return R.filter(fe=>ee.indexOf(fe.id)===-1)}return{checkVisibleInHierarchy:o,collapseTo:$,expandTo:Y,generateHierarchyData:oe,hasRealChildren:P,insertSibling:Ve,insertChild:Se,insertChildren:xe,isVisibleInTree:N,shouldStratifyData:r,toggleChildrenVisibiltyByCollapseStatus:G,trimmedOriginalData:H}}function On(n,e,t,i,o){const{toNumber:r,sum:a,toFixed:s}=X.useNumberFormat(),c=new Map,m=new Map,u=new Map,d=new Map,f=new Map,g=l.ref([]),p=l.ref([]),y=Nn(n,o),{generateGroupData:T,groupFields:S,shouldGroupingData:C}=y,F=l.ref(n.data||[]),V=Bn(n,F,i,o),{collapseTo:v,expandTo:w,generateHierarchyData:h,hasRealChildren:b,insertSibling:M,insertChild:B,insertChildren:P,isVisibleInTree:E,shouldStratifyData:N,toggleChildrenVisibiltyByCollapseStatus:I,trimmedOriginalData:_,checkVisibleInHierarchy:x}=V,{idField:G,reviseIdentifyField:k}=o,$=l.ref(n.newDataItem),Y=l.ref(n.data||[]),Q=l.ref(n.data),{flatTreeData:oe,isNestedTree:Ve}=Ht(n);if(n.hierarchy&&Ve(n.data)){const L=oe(n.data);F.value=L,Y.value=L,Q.value=L}const Se=l.ref(n.summary),xe=l.computed(()=>{const L=Se.value;return(L==null?void 0:L.groupFields)||[]});let H=new Map;const O=l.ref(Y.value.length),R=l.ref(n.pagination);function W(){return R.value&&R.value.enable&&R.value.size>0?R.value.size:Y.value.length}const U=l.ref(1),ee=l.computed(()=>R.value&&R.value.enable&&R.value.mode!=="server"),se=l.computed(()=>R.value&&R.value.enable&&R.value.mode==="server"),ce=new Ct.FNotifyService;function fe(L,Z){const te=Math.ceil(L.length/Z);let ae=0;const Fe=[],Be=[],Ye=[];for(;ae<te;){const He=L.slice(ae*Z,(ae+1)*Z),Xe=T(S.value,He,e);Be[ae]=Xe.filter(ge=>ge.__fv_data_grid_group_row__).length,Fe.push(...Xe),ae++}return Be.reduce((He,Xe,ge)=>(He=He+Xe,Ye.push(He),He),0),{groupData:Fe,groupRowSizeList:Be,accumulateGroupRowSize:Ye}}function pe(){var Xe;Y.value=F.value,ee.value&&(O.value=Y.value.length),C.value&&!ee.value&&(Y.value=T(S.value,F.value,e)),H=xe.value.reduce((ge,Te)=>(ge.set(Te,0),ge),H);const L=0,Z=W(),te=(U.value-1)*Z;let Fe=te>Y.value.length-1||se.value?L:te,Be=se.value?Y.value.length:Math.min(Fe+Z,Y.value.length);if(C.value&&ee.value){const{accumulateGroupRowSize:ge,groupData:Te,groupRowSizeList:Ie}=fe(F.value,Z);Y.value=Te;const $e=Ie[U.value-1];Fe+=U.value-2<0?0:ge[U.value-2],Be=Fe+Z+$e}let Ye=0;const He=[];if(Y.value.length){k(Y.value);const ge=G.value!==n.idField;for(let Te=Fe;Te<Be;Te++){const Ie=Y.value[Te];Ie.__fv_data_grid_group_row__?(Ye=0,Ie.__fv_data_index__=""):Ie.__fv_data_grid_group_summary__?Ie.__fv_data_index__="":(Ye++,Ie.__fv_data_index__=Ye+(U.value-1)*Z),Ie.__fv_index__=Te,Ie.__fv_visible_index__=Te,n.rowOption&&n.rowOption.disabledField&&(Ie.__fv_disabled__=Ie[(Xe=n.rowOption)==null?void 0:Xe.disabledField]),ge&&(Ie[G.value]=Te),xe.value.forEach($e=>{const Pt=H.get($e)||0;H.set($e,a([Pt,X.resolveField(Ie,$e)||0]))}),He.push(Ie)}}return N.value&&h(He),xe.value.forEach(ge=>{const Te=H.get(ge)||0;H.set(ge,s(Te,2))}),Q.value=[...He],He}const me=l.ref(pe()),Pe=l.computed(()=>(x.value,me.value.filter(L=>N.value?L.__fv_visible__!==!1&&E(L):L.__fv_visible__!==!1)));function We(){Pe.value.forEach((Z,te)=>(Z.__fv_visible_index__=te,Z))}function Ce(L,Z,te=!1){var Xe;const ae=te?pe():[...Q.value];let Fe=ae;((Xe=n.filter)==null?void 0:Xe.mode)!=="server"&&(Fe=ae.filter(ge=>t.apply(ge)));const Be=L&&L.length?Fe.filter(ge=>L.reduce((Te,Ie)=>Te&&Ie.filter(ge),!0)):Fe,Ye=Z&&Z.length?Be.sort((ge,Te)=>{const Ie=[...Z],$e=Ie.shift(),Pt=X.resolveField(ge,$e.field)===void 0||X.resolveField(ge,$e.field)===null?"":X.resolveField(ge,$e.field),Jo=X.resolveField(Te,$e.field)===void 0||X.resolveField(Te,$e.field)===null?"":X.resolveField(Te,$e.field);let Nt=$e.compare(Pt,Jo);for(;Nt===0&&Ie.length!==0;){const Ke=Ie.shift();if(Ke){const Qo=X.resolveField(ge,Ke.field)===void 0||X.resolveField(ge,Ke.field)===null?"":X.resolveField(ge,Ke.field),Ko=X.resolveField(Te,Ke.field)===void 0||X.resolveField(Te,Ke.field)===null?"":X.resolveField(Te,Ke.field);Nt=Ke.compare(Qo,Ko)}}return Nt}):Be,He=W();return me.value=Ye.map((ge,Te)=>{if(ge.__fv_data_grid_group_row__){const Ie=`group_of_${ge.__fv_data_grid_group_field__}_${ge.__fv_data_grid_group_value__}`;ge.__fv_data_grid_group_collapse__=!!c.get(Ie)}return ge.__fv_index__=Te,ge.__fv_visible_index__=Te,ge.__fv_data_index__=Te+1+(U.value-1)*He,ge}),me.value}function A(L){return f.clear(),p.value=L,p.value.reduce((Z,te)=>(Z.set(te.field,te),Z),f),Ce([],p.value)}function J(L,Z){return f.set(L,Z),p.value=Array.from(f.values()),Ce([],p.value)}function D(L){return f.delete(L),p.value=Array.from(f.values()),Ce([],p.value)}function ye(L,Z){return m.set(L,Z),g.value=Array.from(m.values()),Ce([],Array.from(f.values()))}function be(L){return m.delete(L),g.value=Array.from(m.values()),Ce([],Array.from(f.values()),!0)}function Re(){return m.clear(),g.value=[],Ce([],Array.from(f.values()),!0)}function Ze(L,Z,te){const ae=`group_of_${L}_${Z}`;c.set(ae,!0);const Fe=Be=>Be[L]!==Z;return u.set(`collapse_${L}_${Z}`,{field:L,fieldName:L,fieldType:"string",filterValue:Z,filter:Fe}),Ce(Array.from(u.values()),Array.from(f.values()))}function at(L){v(me.value,L)}function st(L){w(me.value,L)}function z(L,Z,te){const ae=`group_of_${L}_${Z}`;return c.set(ae,!1),u.delete(`collapse_${L}_${Z}`),Ce(Array.from(u.values()),Array.from(f.values()),!0)}function le(L){const Z=L.raw[G.value],te=ae=>!ae.__fv_parents__.has(Z);d.set(`fold_${Z}`,{field:"id",fieldName:"id",fieldType:"string",filterValue:String(Z),filter:te}),Ce(Array.from(d.values()),Array.from(f.values())),h(me.value)}function he(L){const Z=L[G.value];d.delete(`fold_${Z}`)}function Me(L){he(L.raw),Ce(Array.from(d.values()),Array.from(f.values()),!0),h(me.value)}function _e(){const L=pe();me.value=L,Ce(Array.from(d.values()),Array.from(f.values())),n.hierarchy&&h(me.value)}function Tt(L){const te=n.hierarchy&&Ve(L)?oe(L):L;F.value=te,_e()}function _t(L,Z,te){return(L&&L.length?me.value.filter((Fe,Be)=>L.reduce((Ye,He)=>Ye&&He.filter(Fe),!0)):me.value).slice(Z,te)}function xt(L){const Z=W(),te=Math.ceil(O.value/Z);0<=L&&L<=te&&(U.value=L,_e())}function gt(L){F.value.push(ze.cloneDeep(L)),me.value=pe()}function yt(L=0){if(!(L>-1))return!1;const te=$.value();n.hierarchy?M(L,te,F):F.value.splice(L,0,te),_e()}function Vt(L=0){if(!(L>-1&&n.hierarchy))return!1;const te=$.value(),ae=F.value[L];he(ae),B(L,te,F),_e()}function dt(L,Z=0){if(!(Z>-1&&n.hierarchy))return!1;const ae=F.value[Z];he(ae),P(Z,L,F),_e()}function It(L){const Z=L?L-1:0;F.value.splice(Z,1),_e()}function vt(L){const Z=F.value.findIndex(te=>te[G.value]===L);Z!==-1&&(F.value.splice(Z,1),_e())}function kt(L){const Z=L>-1?F.value[L]:null;if(!(Z&&Z.deletable!==!1))return!1;F.value=_(Z,F.value),_e()}function Et(){const L=u.size>0?Array.from(u.values()):[];return Ce(L,Array.from(f.values()))}function ct(L){R.value.size=L}function q(L){R.value&&(ct(L),_e())}function K(L,Z){const te=F.value[Number(L)-1];te.editable!==!1?(te.name=Z,_e()):ce.show({showCloseButton:!1,timeout:3e3,animate:"fadeIn",toasts:[{type:"string",title:"提示",msg:"当前节点禁止编辑"}]})}function ne(L){return L.map(te=>{const ae=Q.value.findIndex(Fe=>""+Fe[G.value]==""+te);return ae>-1?Q.value[ae]:null}).filter(te=>te!=null)}function ue(){const L=n.summary.groupFields;H=L.reduce((Z,te)=>(Z.set(te,0),Z),H);for(const Z of Y.value)L.forEach(te=>{const ae=H.get(te)||0;H.set(te,a([ae,X.resolveField(Z,te)||0]))});L.forEach(Z=>{const te=H.get(Z)||0;H.set(Z,s(te,2))})}function we(L){const Z=n.summary.groupFields;H=Z.reduce((te,ae)=>(te.set(ae,0),te),H);for(const te of L)Z.forEach(ae=>{const Fe=H.get(ae)||0;H.set(ae,a([Fe,X.resolveField(te.raw,ae)||0]))});Z.forEach(te=>{const ae=H.get(te)||0;H.set(te,s(ae,2))})}return{addFilter:ye,addNewDataItem:gt,addSorter:J,updatePageSize:ct,changePageSizeTo:q,collapse:Ze,collapseTo:at,dataView:me,editDataItem:K,expand:z,expandTo:st,filters:g,fold:le,getRange:_t,getSelectionItems:ne,hasRealChildren:b,insertNewChildDataItem:Vt,insertNewChildDataItems:dt,insertNewDataItem:yt,isVisibleInTree:E,load:Tt,navigatePageTo:xt,pageIndex:U,rawView:Q,refresh:Et,removeAllFilter:Re,removeDataItem:It,removeDataItemById:vt,removeFilter:be,removeHierarchyDataItem:kt,removeSorter:D,reOrderVisibleIndex:We,setSorters:A,sorters:p,summaries:H,updateSummary:ue,toggleChildrenVisibiltyByCollapseStatus:I,totalItems:O,unFold:Me,updateDataView:_e,visibleDataItems:Pe,shouldGroupingData:C,pagination:R,updateVisibleDataSummary:we}}const Rn=["equal","notEqual","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","contain","startWidth","endWidth","in","notIn"],Hn={equal:(n,e,t)=>n&&n[e]===t,notEqual:(n,e,t)=>n&&n[e]!==t,contain:(n,e,t)=>n?(n[e]||"").indexOf(t)>-1:!1,startWidth:(n,e,t)=>n?(n[e]||"").startsWith(t):!1,endWidth:(n,e,t)=>n?(n[e]||"").endsWith(t):!1},An={equal:(n,e,t)=>n&&n[e]===t,in:(n,e,t)=>{if(n){const i=n[e];return t.indexOf(i)>-1}return!1},notEqual:(n,e,t)=>n&&n[e]!==t},Ln={equal:(n,e,t)=>{if(n){const i=new Date(t).getTime();return new Date(n[e]).getTime()===i}return!1},notEqual:(n,e,t)=>{if(n){const i=new Date(t).getTime();return new Date(n[e]).getTime()!==i}return!1},greaterThan:(n,e,t)=>{if(n){const i=new Date(new Date(t).toLocaleDateString()).valueOf();return new Date(new Date(n[e]).toLocaleDateString()).valueOf()>i}return!1},greaterThanOrEqual:(n,e,t)=>{if(n){const i=new Date(new Date(t).toLocaleDateString()).valueOf();return new Date(new Date(n[e]).toLocaleDateString()).valueOf()>=i}return!1},lessThan:(n,e,t)=>{if(n){const i=new Date(new Date(t).toLocaleDateString()).valueOf();return new Date(new Date(n[e]).toLocaleDateString()).valueOf()<i}return!1},lessThanOrEqual:(n,e,t)=>{if(n){const i=new Date(new Date(t).toLocaleDateString()).valueOf();return new Date(new Date(n[e]).toLocaleDateString()).valueOf()<=i}return!1}},$n={equal:(n,e,t)=>n?String(t).split(",").includes(String(n[e])):!1,in:(n,e,t)=>{if(n){const i=n[e];return t.indexOf(i)>-1}return!1},notEqual:(n,e,t)=>n?String(t).split(",").findIndex(o=>o===String(n[e]))===-1:!1},jn={equal:(n,e,t)=>{if(n){const i=Number.parseFloat(String(t)),o=Number.parseFloat(String(n[e]));return isNaN(i)?isNaN(o):i===o}return!1},notEqual:(n,e,t)=>{if(n){const i=Number.parseFloat(String(t)),o=Number.parseFloat(String(n[e]));return isNaN(i)?!0:i!==o}return!1},greaterThan:(n,e,t)=>{if(n){const i=Number.parseFloat(String(t)),o=Number.parseFloat(String(n[e]));return isNaN(i)?isNaN(o):o>i}return!1},greaterThanOrEqual:(n,e,t)=>{if(n){const i=Number.parseFloat(String(t)),o=Number.parseFloat(String(n[e]));return isNaN(i)?isNaN(o):o>=i}return!1},lessThan:(n,e,t)=>{if(n){const i=Number.parseFloat(String(t)),o=Number.parseFloat(String(n[e]));return isNaN(i)?isNaN(o):o<i}return!1},lessThanOrEqual:(n,e,t)=>{if(n){const i=Number.parseFloat(String(t)),o=Number.parseFloat(String(n[e]));return isNaN(i)?isNaN(o):o<=i}return!1}},Wn=new Map([["boolean",An],["datetime",Ln],["enum",$n],["number",jn],["text",Hn]]);function zn(n,e){const t=l.ref([]),i=new Map,{loadConditionGroup:o}=de.useCondition();function r(V,v){switch(V){case"check-box":return new de.CheckBoxValue({value:v});case"combo-list":return new de.ComboListValue({value:v});case"combo-lookup":return new de.ComboLookupValue({value:v});case"input-group":return new de.TextValue({value:v});case"date-picker":return new de.DatePickerValue({value:v});case"date-range":return new de.DateRangeValue({value:v});case"datetime-picker":return new de.DateTimePickerValue({value:v});case"datetime-range":return new de.DateRangeValue({value:v});case"lookup":return new de.TextValue({value:v});case"month-picker":return new de.MonthPickerValue({value:v});case"month-range":return new de.MonthRangeValue({value:v});case"number-range":return new de.NumberRangeValue({value:v});case"number-spinner":return new de.NumberSpinnerValue({value:v});case"radio-group":return new de.RadioGroupValue({value:v});default:return new de.TextValue({value:v})}}const a=new Map([["boolean","check-box"],["date","date-picker"],["datetime","datetime-picker"],["number","number-spinner"],["string","text"],["text","text"],["enum","combo-list"],["reference","lookup"]]),s=new Map([["boolean",de.CompareType.Equal],["date",de.CompareType.Equal],["datetime",de.CompareType.Equal],["number",de.CompareType.Equal],["string",de.CompareType.Equal],["text",de.CompareType.Equal],["enum",de.CompareType.In],["reference",de.CompareType.Equal]]);function c(){t.value.forEach((v,w)=>{w===t.value.length-1?v.relation=0:v.relation=1});const V=[];return t.value.forEach(v=>{const{valueType:w}=v.value,h=v.value.value;if(w==="boolean"){const b=[];h.length===1&&b.push({filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:de.CompareType.Like,value:v.value.value[0],relation:t.value.length>1?v.relation||v.relation===0?v.relation:1:0,expresstype:de.ValueType.Value,lbracket:v.lBracket||null,rbracket:v.rBracket||null}),h.length>1&&b.push({filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:de.CompareType.Like,value:v.value.value[0],relation:2,expresstype:de.ValueType.Value,lbracket:v.lBracket?v.lBracket+"(":"(",rbracket:v.rBracket||null},{filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:de.CompareType.Like,value:v.value.value[1],relation:t.value.length>1?v.relation||v.relation===0?v.relation:1:0,expresstype:de.ValueType.Value,lbracket:v.lBracket||null,rbracket:v.rBracket?v.rBracket+")":")"}),V.push(...b)}else V.push({filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:de.CompareType.Like,value:v.value.value,relation:t.value.length>1?v.relation||v.relation===0?v.relation:1:0,expresstype:de.ValueType.Value,lbracket:v.lBracket||null,rbracket:v.rBracket||null})}),V}function m(V){var w;const v=V.dataType||"string";return((w=V.editor)==null?void 0:w.type)||a.get(v)||"text"}function u(V){var I,_,x,G,k;const v=`field_filter_${V.field}`,w=Date.now(),h=V.field,b=((I=V.column)==null?void 0:I.title)||"",M=((_=V.column)==null?void 0:_.dataType)||"string",B=s.get(M)||de.CompareType.Equal,P=((G=(x=V.column)==null?void 0:x.editor)==null?void 0:G.type)||a.get(M)||"text",E=r(P,(k=V.column)==null?void 0:k.filter),N=P==="lookup"||P==="combo-lookup"?de.ValueType.SmartHelp:P==="combo-list"?de.ValueType.Enum:de.ValueType.Value;i.set(v,{id:v,fieldCode:h,fieldName:b,compareType:B,valueType:N,value:E,conditionId:w,relation:1}),t.value=Array.from(i.values())}function d(V){const v=`field_filter_${V.field}`;i.delete(v),t.value=Array.from(i.values())}function f(V){i.delete(V),t.value=Array.from(i.values())}function g(){i.clear(),t.value=[]}function p(V){const{valueType:v}=V.value,w=V.compareType||"0",h=Rn[Number(w)];return Wn.get(v)[h]}function y(V){const v=V.relation===2?0:1,w=V.items.map(b=>{const M=p(b);return P=>M(P,b.fieldCode,b.value.getValue())}),h=V.children&&V.children.length?V.children.map(b=>y(b)):[];return{relation:v,filterFunctions:w,children:h}}function T(){const V=o(t.value);return y(V)}function S(V,v){const w=v.filterFunctions.map(b=>b(V)),h=v.children.map(b=>S(V,b));return v.relation===1?w.every(b=>b)&&h.every(b=>b):w.includes(!0)||h.includes(!0)}function C(V){const v=T();return S(V,v)}function F(V){e.emit("filterChanged",V)}return{addColumnFilter:u,apply:C,clearCondition:g,conditions:t,getFilterEditorType:m,removeColumnFilter:d,removeCondition:f,filterFromServer:F,createFilterConditions:c}}function Gn(n){l.ref(n.selection.showCheckbox||!1);const e=l.computed(()=>{var a;return((a=n.hierarchy)==null?void 0:a.collapseField)||"__fv_collapse__"}),t=l.computed(()=>{var a;return((a=n.hierarchy)==null?void 0:a.hasChildrenField)||"__fv_hasChildren__"}),i=l.computed(()=>{var a;return((a=n.hierarchy)==null?void 0:a.parentIdField)||"parent"}),o=l.computed(()=>n.hierarchy&&n.selection.showCheckbox),r=l.computed(()=>(n.treeNodeIconsData.fold||n.iconField)&&n.showTreeNodeIcons);return{collapseField:e,hasChildrenField:t,parentIdField:i,shouldShowCheckBox:o,shouldShowIcon:r}}function Un(n,e,t,i,o,r,a,s,c){var ct;const{dataView:m,visibleDataItems:u}=e,{getVisualData:d,maxVisibleRowIndex:f,minVisibleRowIndex:g}=o,p=l.computed(()=>i.value.primaryColumnsWidth),y=l.computed(()=>i.value.leftColumnsWidth),T=l.computed(()=>i.value.rightColumnsWidth),S=((ct=n.rowOption)==null?void 0:ct.height)||28,C=l.ref(0),F=l.ref(0);let V=0,v=r.value-1;const w=l.ref(0),h=l.ref(0),b=l.ref(0),M=l.ref(n.virtualized),B=24,P=1.5;let E=null,N=null,I=null;function _(){const q=u.value;if(q.length<=0)return 0;const K=f.value<q.length?q[f.value]:q[q.length-1];return K.__fv_data_position__>q.length*S?q.length*S:(K.__fv_data_position__||0)+(K.__fv_data_height__||0)+Math.max(q.length-1-f.value,0)*S}const x=l.computed(()=>{const q=_();let K=h.value/Math.max(q,h.value),ne=Math.floor(K*h.value);for(;h.value>0&&ne<B;)K*=P,ne=Math.floor(K*h.value);return ne}),G=l.computed(()=>Math.floor(b.value/Math.max(p.value,b.value)*w.value)),k=0,$=0,Y=l.computed(()=>w.value-(y.value+p.value+T.value+s.value));function Q(q){const ne=Math.floor(q/S)+1,ue=u.value;return ue.length>ne?ue[ne].__fv_visible_index__-1:0}function oe(q,K,ne){let ue=q,we=K;const L=K-q+1;if(L<a+r.value+a){const Z=a+r.value+a-L,te=K+Z<=ne,ae=0+Z<=q;if(te)we+=Z,v=we;else if(ae)ue-=Z,V=ue;else{const Fe=ne-K,Be=Z-Fe;we=Math.min(K+Fe,ne),ue=Math.max(q-Be,0)}}return{actualStart:ue,actualEnd:we}}function Ve(q){var Fe,Be;const K=u.value;if(!K.length){t.value=[];return}const ne=(Fe=n.pagination)!=null&&Fe.enable?0:Math.max(V-a,0),ue=K[K.length-1].__fv_visible_index__,we=(Be=n.pagination)!=null&&Be.enable?K.length-1:Math.min(v+a,ue),{actualStart:L,actualEnd:Z}=oe(ne,we,ue),te=K[L-1],ae=d(L,Z,te,q);ae.length&&(t.value=[...ae])}const Se=l.computed(()=>_()>h.value),xe=l.computed(()=>Math.floor(p.value)>b.value);function H(q,K){let ne=q;const ue=ne>k,we=Se.value;we&&ne<h.value-K&&(ne=h.value-K),(!we||ue)&&(ne=k),C.value!==ne&&(C.value=ne)}function O(){M.value&&(V=Q(Math.abs(C.value)),v=V+r.value-1,(V<g.value||v>f.value-a/2)&&Ve())}function R(q){let K=C.value+q;K>k&&(K=k);const ne=_();H(K,ne),O()}function W(q){if(!xe.value){F.value=0;return}let K=F.value+q;K>$&&(K=$),K<Y.value&&(K=Y.value),F.value!==K&&(F.value=K)}function U(){Math.abs(F.value)+b.value>p.value&&(F.value=Math.min(b.value-p.value,0))}function ee(){C.value=0,V=0,v=r.value-1,Ve()}function se(){const q=_();H(C.value,q)}l.watch([b,p],()=>{W(0)}),l.watch(h,(q,K)=>{q!==K&&q>=m.value.length*S&&R(0)});function ce(q){let{deltaX:K}=q,ne=-1*q.deltaY;return typeof K>"u"&&(K=-1*q.wheelDeltaX/6),typeof ne>"u"&&(ne=q.wheelDeltaY/6),q.deltaMode&&q.deltaMode===1&&(K*=10,ne*=10),q.shiftKey?{deltaY:-ne,deltaX:-K}:{deltaX:K,deltaY:ne}}function fe(q){if(n.disabled||!Se.value||q.target.tagName==="TEXTAREA")return;q.preventDefault(),q.stopPropagation();const{deltaX:K,deltaY:ne}=ce(q);R(ne),W(K)}const pe=l.computed(()=>({height:`${m.value.length*S}px`,width:`${y.value}px`,transform:`translateY(${C.value}px)`})),me=l.computed(()=>({transform:`translateY(${C.value}px)`})),Pe=l.computed(()=>({height:`${(n.autoHeight?u.value:m.value).length*S}px`,width:`${p.value}px`,transform:`translate(${F.value}px, ${C.value}px)`})),We=l.computed(()=>({transform:`translate(${F.value}px, ${C.value}px)`})),Ce=l.computed(()=>({height:`${m.value.length*S}px`,width:`${T.value}px`,transform:`translateY(${C.value}px)`})),A=l.computed(()=>({transform:`translateY(${C.value}px)`})),J=l.computed(()=>({height:`${m.value.length*S}px`,width:`${s.value}px`,transform:`translateY(${C.value}px)`})),D=l.computed(()=>({width:`${y.value}px`})),ye=l.computed(()=>({transform:`translateX(${F.value}px)`})),be=l.computed(()=>({width:`${T.value}px`})),Re=l.computed(()=>{const q=_();return H(C.value,q),C.value/(h.value-q)*(h.value-x.value)}),Ze=l.computed(()=>({width:"8px",height:`${x.value}px`,top:`${Re.value}px`,backgroundColor:"#cccccc !important"})),at=l.computed(()=>F.value/Y.value*(w.value-G.value)),st=l.computed(()=>({height:"8px",width:`${G.value}px`,left:`${at.value}px`,backgroundColor:"#cccccc !important"})),z=l.ref(!1),le=l.ref(-1),he=l.ref(-1),Me=l.ref();function _e(q){if(q instanceof MouseEvent?q.pageX:q.touches[0].pageX,z.value&&he.value!==-1){const K=he.value-q.pageX,ne=w.value-G.value;if(Math.abs(K)<=ne){const ue=K/(b.value-G.value)*(p.value-b.value);W(ue),he.value=q.pageX}}}function Tt(q){if(z.value&&le.value!==-1){const K=le.value-q.pageY,ne=_(),ue=ne-x.value;if(Math.abs(K)<=ue){const we=K/(h.value-x.value)*(ne-h.value);R(we),le.value=q.pageY}}}function _t(q){const{pageX:K,pageY:ne}=q.touches[0];if(z.value&&he.value!==-1){const ue=he.value-K,we=w.value-G.value;if(Math.abs(ue)<=we){const L=ue/(b.value-G.value)*(p.value-b.value);W(L),he.value=K}}}function xt(q){const{pageX:K,pageY:ne}=q.touches[0];if(z.value&&le.value!==-1){const ue=le.value-ne,we=_(),L=we-x.value;if(Math.abs(ue)<=L){const Z=ue/(h.value-x.value)*(we-h.value);R(Z),le.value=ne}}}function gt(q){z.value=!1,le.value=-1,he.value=-1,document.removeEventListener("mouseup",gt),E&&(document.removeEventListener("mousemove",E),E=null),document.body.style.userSelect="",Me.value&&(Me.value.style.opacity=null)}function yt(q){z.value=!1,le.value=-1,he.value=-1,document.removeEventListener("touchend",yt),N&&(document.removeEventListener("touchmove",N),N=null),I&&(document.removeEventListener("touchmove",I),N=null),document.body.style.userSelect="",Me.value&&(Me.value.style.opacity=null)}function Vt(q,K,ne){var te;z.value=!0;const ue=(te=q.target)==null?void 0:te.parentElement;ue&&(ue.style.opacity="1",Me.value=ue);const we=ne==="horizontal"?_e:ze.throttle(Tt,50);E||(E=we);const{pageX:L}=q,{pageY:Z}=q;ne==="vertical"&&(le.value=q.pageY),ne==="horizontal"&&(he.value=q.pageX),K.value&&(K.value,document.addEventListener("mousemove",E),document.addEventListener("mouseup",gt),document.body.style.userSelect="none")}function dt(q){const{pageX:K,pageY:ne}=q.touches[0],ue=Math.abs(K-he.value),we=Math.abs(ne-le.value);we>ue&&we>5?(I||(I=ze.throttle(xt,50)),document.addEventListener("touchmove",I),document.removeEventListener("touchmove",dt)):ue>we&&ue>5&&(N||(N=_t),document.addEventListener("touchmove",N),document.removeEventListener("touchmove",dt)),he.value=K,le.value=ne}function It(q,K){var L;z.value=!0;const ne=(L=q.target)==null?void 0:L.parentElement;ne&&(ne.style.opacity="1",Me.value=ne);const{pageX:ue,pageY:we}=q.touches[0];he.value=ue,le.value=we,K.value&&(K.value,document.addEventListener("touchmove",dt),document.addEventListener("touchend",yt),document.body.style.userSelect="none")}function vt(q){const K=m.value.length*S-h.value;let ne=q*S;ne>=K&&(ne=K),R(-ne-C.value)}function kt(){vt(m.value.length)}function Et(q){R(q-C.value)}return{dataGridWidth:w,fitHorizontalScroll:U,gridDataStyle:Pe,gridHeaderColumnsStyle:ye,gridMergedDataStyle:We,gridSideStyle:J,horizontalScrollThumbStyle:st,leftFixedGridDataStyle:pe,leftFixedGridHeaderColumnsStyle:D,leftFixedGridMergedDataStyle:me,offsetX:F,offsetY:C,onMouseDownScrollThumb:Vt,onWheel:fe,reCalculateVisualDataRows:Ve,resetScroll:ee,rightFixedGridDataStyle:Ce,rightFixedGridHeaderColumnsStyle:be,rightFixedGridMergedDataStyle:A,shouldShowHorizontalScrollbar:xe,shouldShowVirticalScrollbar:Se,updateVirticalScroll:se,updateVisibleRowsOnLatestVisibleScope:O,verticalScrollThumbStyle:Ze,viewPortWidth:b,viewPortHeight:h,scrollToBottom:kt,scrollToRowByIndex:vt,scrollTo:Et,onTouchstartScrollThumb:It}}function Dn(n){var r;const{isUndefined:e}=X.useCommonUtils(),t=((r=n.rowOption)==null?void 0:r.height)||28;function i(a,s){const c=a.pre;if(c){let m=c.__fv_data_position__,u=c.__fv_data_height__;(e(m)||n.virtualized&&n.hierarchy&&c.__fv_visible_index__*t!==m)&&(m=c.__fv_visible_index__*t),e(u)&&(u=t);const d=a.visible?m+u:c.__fv_data_position__;a.top=d,s.__fv_data_position__=d}else a.top=0,s.__fv_data_position__=0}function o(a,s,c){if(a&&!s.ref){s.ref=a;const m=s.parent;s.cellHeight!==a.offsetHeight&&(s.cellHeight=a.offsetHeight),s.cellHeight&&s.cellHeight>(m.height||0)&&(m.height=s.cellHeight,c.__fv_data_height__=m.height),i(m,c)}!a&&s.ref&&(s.ref=a)}return{updateRowPosition:i,updateVisualInfomation:o}}function qn(){function n(e,t){var a,s;if(!t.data||!t.data.length)return"";const i=Object.prototype.hasOwnProperty.call(t,"valueField")&&t.valueField||"value",o=Object.prototype.hasOwnProperty.call(t,"textField")&&t.textField||"name";if(e!=null&&e.includes(",")){const c=e.split(",");if(!t.data.filter(f=>c.includes(f[i])).length)return"";const u=(a=t.data)==null?void 0:a.reduce((f,g)=>(f[g[i]]=g,f),{});return c.map(f=>{var g;return(g=u[f])==null?void 0:g[o]}).join(",")||e}const r=(s=t.data)==null?void 0:s.find(c=>c[i]===e);return(r==null?void 0:r[o])||e||""}return{renderEnumColumn:n}}function Yn(){function n(e,t){return e?t==null?void 0:t.trueText:t==null?void 0:t.falseText}return{renderText:n}}function Xn(){const{formatTo:n}=X.useDateFormat();function e(i,o){if(i){let r="yyyy-MM-dd";if(typeof o=="string"?r=o:typeof o=="object"&&(r=o.format||"yyyy-MM-dd"),r=r.replace("YYYY","yyyy").replace("-DD","-dd"),typeof o=="object"&&o.dateRange){const a=o.dateRangeDatesDelimiter||"~";let[s,c]=i.split(a);return s=n(s,r),c=n(c,r),s+a+c}return n(i,r)}return i}function t(i,o){const r=o.dateFormat||"yyyy-MM-dd";return n(i,r)}return{renderDateColumn:t,renderDateTimeColumn:e}}function Zn(){const{formatTo:n}=X.useNumberFormat();function e(t,i){const o={precision:i.precision,prefix:i.prefix||"",suffix:i.suffix||"",decimalSeparator:i.decimal||".",groupSeparator:i.thousand||""};return n(t,o)||t}return{renderNumberColumn:e}}function Jn(){function n(e,t){if(e){const i={};return t!=null&&t.width&&(i.width=`${t.width}px`),t!=null&&t.height&&(i.height=`${t.height}px`),l.createVNode("img",{src:e,style:i},null)}return e}return{renderImageColumn:n}}function Qn(){function n(e,t){const i=Ae.LocaleService.getLocale();return(e==null?void 0:e[i||"zh-CHS"])||""}return{renderMultilingualColumn:n}}function Kn(){const{renderText:n}=Yn(),{renderEnumColumn:e}=qn(),{renderNumberColumn:t}=Zn(),{renderDateColumn:i,renderDateTimeColumn:o}=Xn(),{renderImageColumn:r}=Jn(),{renderMultilingualColumn:a}=Qn();function s(u){return typeof u=="boolean"?u.toString():u}function c(u,d,f){return d.customFormat?d.customFormat(u,f.raw):s(u)}function m(u,d,f){const{column:g}=u,p=X.resolveField(d.raw,g.field),y=f.options||f;return f.type===De.NONE?s(p):f.type===De.CUSTOM?c(p,f,d):f.type===De.ENUM?e(p,y):f.type===De.NUMBER?t(p,y):f.type===De.BOOLEAN?n(p,y):f.type===De.DATE?i(p,y):f.type===De.DATE_TIME?o(p,f):f.type===De.IMAGE?r(p,y):f.type===De.MULTI_LINGUAL?a(p,y):s(p)}return{renderFormatColumn:m}}function ei(n,e,t){var S;const{isUndefined:i}=X.useCommonUtils(),o=l.ref(n.mergeCell);(S=l.ref(n.rowOption).value)!=null&&S.wrapContent;const{updateVisualInfomation:a}=t,{renderCommandColumn:s}=In(n),{renderFormatColumn:c}=Kn();function m(C,F,V,v,w,h=1){const b={colSpan:h,rowSpan:1,index:V,field:C,data:X.resolveField(v,C),editingData:X.resolveField(v,C),parent:w,mode:F,align:"left",valign:"start",showEllipsis:!0,getEditor:M=>M.data,setRef:M=>a(M,b,v),update:()=>{},accept:()=>{},cancel:()=>{},updateData:()=>{}};return b}function u(C,F,V){return C.getEditor=v=>e.getEditor(v,F,v.parent),C.setRef=v=>a(v,C,V),C.update=v=>{v!==void 0&&(C.editingData=v)},C.accept=()=>{X.setFieldValue(C.editingData,V,F.field),C.data=X.resolveField(V,F.field)},C.cancel=()=>{C.editingData=C.data},C.updateData=v=>{X.setFieldValue(X.resolveField(v,F.field),V,F.field),C.data=X.resolveField(V,F.field),C.editingData=X.resolveField(V,F.field)},C}function d(C,F){F.dataType==="commands"?C.formatter=(V,v)=>F.formatter?F.formatter(C,v):s(C,v):F.formatter&&(C.formatter=(V,v)=>typeof F.formatter=="function"?F.formatter(V,v):c(C,v,F.formatter))}function f(C,F,V){const v=F&&F.data[V];if(v&&v.data===C.data){const h=v&&v.spannedBy||v;h.rowSpan++,h.spanned=h.spanned||[],h.spanned.push(C),C.colSpan=0,C.rowSpan=0,C.spannedBy=h}}function g(C,F,V){o.value&&f(C,F,V.field)}function p(C,F){F.showEllipsis!==void 0&&(C.showEllipsis=F.showEllipsis),C.showTips=i(F.showTips)?!0:F.showTips,C.column=F,C.align=F.align||"left",C.valign=F.valign||"middle",C.mode=n.editable?Ne.editable:Ne.readonly}function y(C,F,V,v){p(C,F),u(C,F,v),d(C,F),g(C,V,F)}function T(C,F,V,v,w){const h=n.editable?Ne.editable:Ne.readonly,b=m(C.field,h,F,V,v);return y(b,C,w,V),b}return{createCellByColumn:T,createCellByField:m,updateCellByColumn:y}}function ti(n,e,t,i,o,r,a){var F,V;const s=l.ref(n.rowOption),c=((F=s.value)==null?void 0:F.height)||28,m=((V=s.value)==null?void 0:V.wrapContent)||!1,{idField:u}=o,{collapseField:d}=i,{updateRowPosition:f}=r,{createCellByColumn:g}=a,p=(v,w,h,b)=>{X.setFieldValue(X.resolveField(v,b),w,b),h.data[b].data=X.resolveField(w,b),h.data[b].editingData=X.resolveField(w,b)};function y(v,w,h,b,M,B){var Ve,Se,xe;const{__fv_data_grid_group_field__:P,__fv_data_grid_group_value__:E,__fv_data_index__:N}=h,I=h.__fv_data_grid_group_layer__||(h.__fv_parents__?(Ve=h.__fv_parents__)==null?void 0:Ve.size:0)||0,_=typeof h.parent=="number"?Number(h.parent):-1,x=h.__fv_data_grid_group_collapse__||h[d.value],G=h.__fv_visible__===void 0?!0:h.__fv_visible__,k=h.__fv_checked__,$=h.__fv_indeterminate__,Y=h.__fv_disabled__||h[((Se=n.rowOption)==null?void 0:Se.disabledField)||"disabled"],Q=n.hierarchy&&e.isVisibleInTree(h),oe={collapse:x,data:{},dataIndex:N,groupField:P,groupValue:E,layer:I,index:w,parentIndex:_,pre:b,top:B,type:v,raw:h,checked:k,disabled:Y,indeterminate:$,setRef:H=>{oe.ref=H},visible:G&&Q||G&&!n.hierarchy,status:Ue.initial,updateCell:(H,O)=>{p(H,h,oe,O),e.updateSummary()},updateCells:(H,O)=>{O.forEach(R=>{p(H,h,oe,R)})}};return b||(h.__fv_data_position__=0),m||(oe.height=c,h.__fv_data_height__=oe.height,f(oe,h)),(xe=s.value)!=null&&xe.customRowStatus&&(s.value.customRowStatus(oe),h.__fv_disabled__=oe.disabled),oe}function T(v,w,h,b,M,B){const P=y(et.data,M,w,h,b,B);return v.forEach((E,N)=>{P.data[E.field]=g(E,N,w,P,b)}),P}function S(v,w,h,b,M){return Object.assign(v,{index:w,dataIndex:h,top:b,pre:M})}function C(v,w,h,b,M,B){const P=v.__fv_data_index__,E=v[u.value],N=t.getEditingSnapshot(E);return N===null?T(B,v,w,h,b,M):S(N,b,P,M,w)}return{createEmptyRow:y,createNewRowFromDataItem:T,renderDataRow:C}}function ni(n,e,t,i){const o=l.ref(n.summary),{idField:r}=e,{createCellByField:a}=t,{createEmptyRow:s}=i,c=l.computed(()=>{const f=o.value;return(f==null?void 0:f.groupFields)||[]}),m=l.computed(()=>{const f=o.value;return f&&f.enable&&f.groupFields&&f.groupFields.length>0});function u(f,g,p,y){if(m.value){const T=f.data[g];let S=T.colSpan;const C=c.value.reduce((F,V)=>(F.set(V,!0),F),new Map);y.reduce((F,V,v)=>{if(C.has(V.field)){const w=a(V.field,Ne.readonly,v,p,f);f.data[V.field]=w,S-1>v&&(S=v)}return F},f),T.colSpan=S}}function d(f,g,p,y,T,S,C){const F=f.__fv_data_grid_group_field__,V=s(et.group,y,f,g,p,T);return V.data[r.value]=a(r.value,Ne.readonly,-1,f,V,0),V.data[F]=a(F,Ne.readonly,1,f,V,S.length),u(V,F,f,S),V}return{renderGroupRow:d}}function ii(n,e,t,i){const{idField:o}=e,{createCellByField:r}=t,{createEmptyRow:a}=i;function s(c,m,u,d,f,g,p){const y=c.__fv_data_grid_group_field__,T=a(et.summary,d,c,m,u,f);return T.data[o.value]=r(o.value,Ne.readonly,-1,c,T),T.data[y]=r(y,Ne.readonly,1,c,T,g.length),T}return{renderSummaryRow:s}}function oi(n,e,t,i,o){var xe;const{isMobilePhone:r}=ke.useMobile(),a=l.ref(!1),{idField:s}=t,c=l.ref(n.editable),m=l.ref(n.editOption),u=l.ref(((xe=n.rowOption)==null?void 0:xe.wrapContent)||!1),{onClickRow:d,onClickRowExcludeDblclick:f}=i,g=new Map([["boolean","check-box"],["datetime","date-picker"],["enum","combo-list"],["number","number-spinner"],["string","input-group"],["text","text"],["commands","commands-editor"]]);let p,y,T,S,C;function F(H){return y&&y.raw[s.value]===H?y:null}const V=l.reactive({});function v(H){return(H==null?void 0:H.field)!==Ot&&(H==null?void 0:H.field)!==Tn}function w(H,O,R={}){H.mode=Ne.editing,p=H,y=O,T=X.resolveField(O==null?void 0:O.raw,H.field),S=R;for(const W in V)delete V[W]}function h(H){H.accept(),H.mode=Ne.editable,p=null}function b(H){h(H);const O={};y&&(Object.keys(y).forEach(R=>{O[R]=y==null?void 0:y[R]}),y=null),e.emit("endEditCell",{cell:H,row:O,newValue:X.resolveField(O==null?void 0:O.raw,H.field),oldValue:T,column:S,editor:V})}function M(H){const O=Promise.resolve(!0);return H?O.then(()=>ze.isUndefined(n.beforeEndEditCell)?!0:typeof n.beforeEndEditCell=="function"?n.beforeEndEditCell({cell:H,row:y,newValue:H.editingData,oldValue:T}):()=>!0).then(R=>(R&&(b(H),y&&(y=null)),R)):O}function B(H){if(C&&C!==H.target){C=null;return}if(document.body.classList.contains("lookup-modal-open"))return;const R=H.target;if(!(R!=null&&R.closest(".popover"))){if(H instanceof MouseEvent||H.key!=="Enter"){const W=R.closest(".fv-grid-cell");if(p&&p.ref&&p.ref===W)return}M(p).then(W=>{W&&document.body.removeEventListener("click",B,!0)})}}function P(){window.closeModal||(window.closeModal=()=>{a.value=!1,window.closeModal&&delete window.closeModal})}function E(H,O,R){return Promise.resolve().then(()=>{var U;const W=(U=R.editor)==null?void 0:U.readonly;return!ze.isUndefined(n.beforeEditCell)&&typeof n.beforeEditCell=="function"?n.beforeEditCell({row:H,cell:O,rawData:H.raw,column:R}):!W}).then(W=>{W&&(r()?(a.value=!0,P()):w(O,H,R),document.body.removeEventListener("click",B,!0),document.body.addEventListener("click",B,!0))})}function N(H,O,R,W={}){H.stopPropagation(),f(H,R),v(O.column)&&c.value&&m.value.editMode==="cell"&&O.mode===Ne.editable&&M(p).then(()=>{p||E(R,O,W)})}function I(H,O,R,W={}){r()||H.stopPropagation(),d(H,R),v(O.column)&&c.value&&m.value.editMode==="cell"&&O.mode===Ne.editable&&M(p).then(()=>{p||E(R,O,W)})}function _(H){H.stopPropagation(),C=H.target}function x(H){H.stopPropagation(),C&&(C=null)}function G(H){Object.values(H.data).filter(O=>O.mode===Ne.editable&&v(O.column)).forEach(O=>{O.mode=Ne.editing}),H.status=Ue.editing,y=H}function k(H,O){Object.values(H.data).filter(R=>R.mode===Ne.editing).forEach(R=>{O?R.accept():R.cancel(),R.mode=Ne.editable}),H.status=Ue.initial,y===H&&(y=null)}function $(H){c.value&&m.value.editMode==="row"&&y!==H&&(y&&k(y,!1),G(H))}function Y(H){k(H,!0),H.status=Ue.initial}function Q(H){k(H,!1),H.status=Ue.initial}function oe(H,O,R){const W=O.dataType,U=O.editor||{type:g.get(W)||"input-group"};return!u.value&&U.type==="text"&&(U.type="input-group"),U&&v(H.column)?(U.type==="input-group"&&(U.textAlign=O.align!=="center"&&O.align!=="right"?"left":O.align,U.updateOn="change"),U.type==="number-spinner"&&(U.updateOn="change"),U.type==="textarea"&&(U.lineBreak="alt enter"),U.context={rowData:R.raw,column:O,cell:H,editor:V},U.readonly=!1,l.createVNode(gn.FDynamicFormInput,{focusOnCreated:n.focusOnEditingCell,selectOnCreated:n.selectOnEditingCell,editor:U,modelValue:H.editingData,"onUpdate:modelValue":ee=>H.editingData=ee,id:O.id,onMousedown:ee=>_(ee),onMouseup:ee=>x(ee)},null)):H.data}function Ve(){M(p)}l.watch(()=>n.editable,()=>{c.value=n.editable}),l.watch(()=>{var H;return(H=n.editOption)==null?void 0:H.editMode},H=>{m.value.editMode=H});function Se(){p=null,y=null,S=null,C=null,document.body.removeEventListener("click",B,!0)}return{clear:Se,onClickOutOfCell:B,onClickCell:I,onClickCellByKeyboard:N,onEditingRow:$,acceptEditingRow:Y,cancelEditingRow:Q,getEditingSnapshot:F,getEditor:oe,endEditCell:Ve,onMousedownCell:_,onMouseupCell:x,showRowEditPanel:a,endEditByCell:h}}function li(n){const e=l.ref(n.idField);function t(i){if(i&&i.length){const o=i[0];Object.keys(o).includes(e.value)||(e.value="__fv_indetify__")}}return{idField:e,reviseIdentifyField:t}}function ri(n,e,t,i){const{idField:o}=i,{currentSelectedDataId:r,multiSelectOnClickRow:a,multiSelectOnClickRowWithShift:s,selectItem:c,toggleSelectItem:m,updateSelectAllStatus:u,isSingleSelect:d}=t,f=l.ref(0),g=l.ref(-1);function p(E){r.value=E}function y(E){return E.raw[o.value]===r.value}function T(E,N){var x;const I=N??E.dataIndex,_={"fv-grid-row":E.type===et.data,"fv-grid-group-row":E.type===et.group,"fv-grid-summary-row":E.type===et.summary,"fv-grid-row-hover":I===g.value,"fv-grid-row-selected":y(E),"fv-grid-row-odd":I%2>0,"fv-grid-row-even":I%2===0,"fv-grid-disabled":E.disabled};if((x=n.rowOption)!=null&&x.customRowStyle){const G=n.rowOption.customRowStyle(E.raw)||{};return Object.assign({},_,G.class||{})}return _}function S(E,N){var _;const I={"fv-grid-cell":!0};if((_=n.rowOption)!=null&&_.customCellStyle){const x=n.rowOption.customCellStyle(E,N)||{};return Object.assign({},I,x.class||{})}return I}function C(E,N){var _;const I={"fv-grid-hierarchy-cell":!0};if((_=n.rowOption)!=null&&_.customCellStyle){const x=n.rowOption.customCellStyle(E,N)||{};return Object.assign({},I,x.class||{})}return I}function F(E){const N=r.value,I=E.raw[o.value];p(I),N!==I&&e.emit("selectionChange",[E.raw],{id:I,data:E.raw})}function V(E,N){var x,G;if(s.value&&!(N!=null&&N.shiftKey)||d.value){(x=n.selection)!=null&&x.keepSelectingOnClick?c(E):m(E,(G=n.selection)==null?void 0:G.keepSelectingOnClick),u();return}if(s.value&&(N==null?void 0:N.shiftKey)||a.value){m(E),u();return}}function v(E,N){N.disabled||(e.emit("clickRow",N.index,N.raw),F(N),V(N,E))}function w(E){f.value+=1,setTimeout(()=>{f.value===1&&e.emit("clickRow",E.index,E.raw),f.value=0},250),f.value>1&&(e.emit("doubleClickRow",E.index,E.raw),f.value=0)}function h(E,N){N.disabled||(w(N),F(N),V(N,E))}function b(E){E.disabled||w(E)}function M(E,N){}function B(E,N){}function P(E,N){var x;const I=N??E.dataIndex,_={"fv-grid-sidebar-row":!0,"fv-grid-sidebar-row-hover":I===g.value,"fv-grid-sidebar-row-selected":y(E),"fv-grid-sidebar-row-odd":I%2>0,"fv-grid-sidebar-row-even":I%2===0,"d-flex":!0,"align-items-center":!0};if((x=n.rowOption)!=null&&x.customRowStyle){const G=n.rowOption.customRowStyle(E.raw)||{};return Object.assign({},_,G.class||{})}return _}return{activeRowById:p,clickRowItem:b,selectRow:V,changeRow:F,gridCellClass:S,gridHierarchyCellClass:C,gridRowClass:T,onClickRow:h,onClickRowExcludeDblclick:v,onMouseoverRow:M,sidebarRowClass:P,onMouseoutRow:B}}function ai(n,e,t,i,o){const{idField:r}=t,{dataView:a,getSelectionItems:s}=e,c=l.ref(""),m=l.computed(()=>n.selection.enableSelectRow),u=l.ref(n.selection.multiSelect??!1),d=l.ref(n.selection.multiSelectMode||"DependOnCheck"),f=l.ref(n.selection.showCheckbox),g=l.computed(()=>{var A;return!!((A=n.selection)!=null&&A.showSelectAll)}),p=l.ref(n.selectionValues||[]),y=l.computed(()=>n.selection.showSelection),T=l.computed(()=>{var A;return((A=n.selection)==null?void 0:A.keepSelectingOnPaging)===void 0?!0:n.selection.keepSelectingOnPaging}),S=l.ref(!!p.value.length&&i.value.length===p.value.length),C=l.ref(!!p.value.length&&i.value.length!==p.value.length),F=l.computed(()=>m.value&&u.value),V=l.computed(()=>m.value&&!u.value&&!f.value),v=l.computed(()=>!!n.hierarchy),w=l.computed(()=>{const A=f.value&&d.value==="DependOnCheck";return F.value&&A}),h=l.computed(()=>F.value&&!f.value),b=l.computed(()=>F.value&&f.value&&d.value==="OnCheckAndClick");function M(){if(!T.value){const A=a.value.map(J=>J[r.value]);p.value=p.value.filter(J=>A.includes(J))}}function B(){const A=a.value.every(D=>p.value.includes(D[r.value])),J=a.value.every(D=>!p.value.includes(D[r.value]));A&&(S.value=!0,C.value=!1),J&&(S.value=!1,C.value=!1),!A&&!J&&(S.value=!1,C.value=!0)}function P(){return s(p.value)}function E(){const A=i.value.reduce((D,ye)=>(D.set(ye.raw[r.value],ye),D),new Map);return p.value.map(D=>A.get(D)).filter(D=>!!D)}function N(A){var D;const J=A.raw.__fv_children_index__;if(J&&J.length){const ye=J.map(be=>a.value[be]);(D=p.value)!=null&&D.length&&ye.some(Re=>!p.value.includes(Re[r.value]))&&(A.indeterminate=!0,A.raw.__fv_indeterminate__=!0)}}function I(){const A=s(p.value);o.emit("selectionUpdate",A,p.value)}function _(A){o.emit("unSelectItem",A)}function x(A){o.emit("selectItem",A)}function G(){const A=i.value.filter(D=>D.indeterminate).map(D=>D.raw[r.value]);i.value.forEach(D=>{D.checked=!1,D.indeterminate=!1,D.raw.__fv_checked__=!1,D.raw.__fv_indeterminate__=!1}),E().forEach(D=>{D.checked=!0,D.raw.__fv_checked__=!0}),A.forEach(D=>{const ye=i.value.find(be=>be.raw[r.value]===D);N(ye)})}l.watch(()=>i.value,()=>{G()}),l.watch(()=>n.selectionValues,A=>{p.value=A,G()},{immediate:!0}),l.watch(()=>n.selection,A=>{u.value=!!A.multiSelect,d.value=A.multiSelectMode||"DependOnCheck",f.value=!!A.showCheckbox});const k=l.computed(()=>!u.value);function $(A){return A.raw[r.value]}function Y(A){return p.value.findIndex(D=>D===$(A))}function Q(){E().forEach(D=>{D.checked=!1}),s(p.value).forEach(D=>{D.__fv_checked__=!1}),p.value=[],B()}function oe(A){const J=A;J.__fv_checked__=!0,J.__fv_indeterminate__=!1;const D=new Set(p.value);D.add(J[r.value]),p.value=Array.from(D.values()),M()}function Ve(A){const J=A;J.__fv_checked__=!1,J.__fv_indeterminate__=!1,p.value=p.value.filter(D=>D!==J[r.value]),M()}function Se(A){const J=A.raw;J.__fv_checked__=!0,J.__fv_indeterminate__=!1;const D=new Set(p.value);D.add(J[r.value]),p.value=Array.from(D.values()),M(),A.checked=!0,A.indeterminate=!1,I(),x(A)}function xe(A){const J=A.raw;J.__fv_checked__=!1,J.__fv_indeterminate__=!1,p.value=p.value.filter(D=>D!==J[r.value]),M(),A.checked=!1,A.indeterminate=!1,I(),_(A)}function H(A){A.disabled||Se(A)}function O(A){A.disabled||xe(A)}function R(A){A.__fv_checked__=!1,A.__fv_indeterminate__=!0,p.value=p.value.filter(J=>J!==A[r.value]),M()}function W(A){const J=A.raw;J.__fv_checked__=!1,J.__fv_indeterminate__=!0,p.value=p.value.filter(D=>D!==J[r.value]),M(),A.checked=!1,A.indeterminate=!0}function U(A){k.value&&Q(),A.checked?xe(A):Se(A)}function ee(A,J=!0){const D=A.checked;k.value&&Q(),J?A.checked?O(A):H(A):D?O(A):H(A)}function se(A){Q(),H(A)}function ce(A){const J=i.value.find(D=>D.raw[r.value]===A);if(J)se(J);else{const D=a.value.find(ye=>ye[r.value]===A);D&&oe(D)}}function fe(A){const J=i.value.filter(be=>A.includes(be.raw[r.value])),D=J.map(be=>be.raw[r.value]),ye=a.value.filter(be=>{const Re=be[r.value];return!D.includes(Re)&&A.includes(Re)});J.length||ye.length,J.forEach(be=>{H(be)}),ye.forEach(be=>{oe(be)})}function pe(A){for(const J of A){if(!p.value.includes(J))continue;const D=i.value.find(ye=>ye.raw[r.value]===J);if(D)O(D);else{const ye=a.value.find(be=>be[r.value]===J);ye&&Ve(ye)}}p.value=p.value.filter(J=>!A.includes(J)),M()}function me(){i.value.forEach(A=>{const J=A.raw;J.__fv_checked__=!0,J.__fv_indeterminate__=!1;const D=new Set(p.value);D.add(J[r.value]),p.value=Array.from(D.values()),M(),A.checked=!0,A.indeterminate=!1})}function Pe(){i.value.forEach(A=>{const J=A.raw;J.__fv_checked__=!1,J.__fv_indeterminate__=!1,p.value=p.value.filter(D=>D!==J[r.value]),M(),A.checked=!1,A.indeterminate=!1})}function We(){return i.value.find(A=>A.raw[r.value]===c.value)}function Ce(){c.value=""}return{clearSelection:Q,currentSelectedDataId:c,enableMultiSelect:u,enableSelectRow:m,findIndexInSelectedItems:Y,getSelectedItems:P,getSelectionRow:We,indeterminate:W,indeterminateDataItem:R,isSelectingHirarchyItem:v,multiSelectMode:d,multiSelectOnClickRow:b,multiSelectOnClickRowWithShift:h,multiSelectOnlyOnCheck:w,select:H,selectAll:me,selectedValues:p,selectDataItem:oe,selectItem:se,selectItemById:ce,selectItemByIds:fe,showCheckBox:f,showSelectAll:g,toggleSelectItem:ee,toggleSelectItemWithoutRow:U,unSelect:O,unSelectAll:Pe,unSelectDataItem:Ve,unSelectItemByIds:pe,updateSelectAllStatus:B,selectAllStatus:S,indeterminateStatus:C,isSingleSelect:V,showSelection:y,keepSelectingOnPaging:T,emitSelectionChanged:I,emptyCurrentRowId:Ce}}function si(n,e){var y,T;const t=String(Date.now()),i=50,{showCheckBox:o}=e,r=l.ref(((y=n.rowNumber)==null?void 0:y.enable)??!1),a=l.computed(()=>n.hierarchy&&o.value&&n.selection.enableSelectRow&&n.selection.multiSelect?!1:o.value),s=l.ref(r.value?((T=n.rowNumber)==null?void 0:T.width)??36:0),c=l.ref(a.value?i:0),m=l.computed(()=>{var S,C;return r.value?((S=n.rowNumber)==null?void 0:S.heading)==="序号"?Ae.LocaleService.getLocaleValue("datagrid.lineNumberTitle"):(C=n.rowNumber)==null?void 0:C.heading:""}),u=l.computed(()=>(a.value&&!n.hierarchy?Number(c.value):0)+(r.value?Number(s.value):0));l.watch(()=>n.rowNumber,S=>{S&&S.enable!==void 0&&(r.value=S.enable),S&&S.width!==void 0&&(s.value=S.width)});function d(S){var F;const C={top:`${S.top}px`,width:`${u.value}px`,height:`${S.height||""}px`};if((F=n.rowOption)!=null&&F.customRowStyle){const V=n.rowOption.customRowStyle(S.raw)||{};return Object.assign({},C,V.style||{})}return C}const f=l.computed(()=>({width:`${u.value}px`}));function g(S){return`${t}_${S.type}_r_${S.index}_${S.refreshKey||""}`}function p(S){return`${t}_${S.type}_r_${S.index}_${S.refreshKey||""}`}return{showRowNumer:r,showSidebarCheckBox:a,sidebarCellPosition:d,sidebarCornerCellStyle:f,sidebarTitle:m,sidebarWidth:u,rowKey:p,cellKey:g}}const di={ascend:(n,e)=>n===e?0:n===!1?-1:1,decend:(n,e)=>n===e?0:n===!0?-1:1},ci={ascend:(n,e)=>{const t=new Date(new Date(n).toLocaleDateString()).valueOf(),i=new Date(new Date(e).toLocaleDateString()).valueOf();return t===i?0:t<i?-1:1},decend:(n,e)=>{const t=new Date(new Date(n).toLocaleDateString()).valueOf(),i=new Date(new Date(e).toLocaleDateString()).valueOf();return t===i?0:t<i?1:-1}},ui={ascend:(n,e)=>n===e?0:n<e?-1:1,decend:(n,e)=>n===e?0:n<e?1:-1},fi={ascend:(n,e)=>n===e?0:n<e?-1:1,decend:(n,e)=>n===e?0:n<e?1:-1};function mi(n){const e=new Map([["boolean","boolean-sorter"],["date","datetime-sorter"],["datetime","datetime-sorter"],["number","numeric-sorter"],["string","text-sorter"],["text","text-sorter"],["enum","text-sorter"],["reference","text-sorter"]]),t=new Map([["boolean-sorter",di],["datetime-sorter",ci],["numeric-sorter",ui],["text-sorter",fi]]);function i(a){const s=(a==null?void 0:a.dataType)||"string",c=e.get(s)||"text-sorter";return t.get(c)||(a==null?void 0:a.sorter)}function o(a){return i(a.column)}function r(a,s){const c=o(a),m=(a.status&Oe.sortable)===Oe.sortable&&(a.status&Oe.sorted)===Oe.sorted,u=(a.status&Oe.ascending)===Oe.ascending,d=(a.status&Oe.descending)===Oe.descending;if(m&&c){const f=u?c.ascend:d?c.decend:void 0;f?s.addSorter(a.field,{field:a.field,compare:f}):s.removeSorter(a.field)}else s.removeSorter(a.field)}return{getSorterByColumn:i,updateSorter:r}}function At(n,e,t,i,o="data-grid-column"){const{columnContext:r,hasLeftFixedColumn:a,hasRightFixedColumn:s}=t,{gridHeaderColumnsStyle:c,leftFixedGridHeaderColumnsStyle:m,rightFixedGridHeaderColumnsStyle:u}=i,d=r.value.defaultColumnWidth,f=32,g=new Map([[0,0]]);function p(B,P){const E=g.get(P)||0,N={height:`${B.depth*f}px`,left:`${B.left}px`,top:`${(B.layer-1)*f}px`,width:`${B.actualWidth}px`,padding:0};return r.value.headerDepth>1&&(N["line-height"]=`${B.depth*f}px`),g.set(P+1,E+(B.actualWidth||d)),N}const y=l.computed(()=>({"fv-grid-header":!0,"fv-grid-header-group-columns":r.value.headerDepth>1})),T=l.computed(()=>({height:`${r.value.headerDepth*f}px`})),S=function(B){return e.showSetting&&!!B.showSetting};function C(){return l.createVNode("span",{class:"fv-grid-settings-icon d-flex align-items-center"},[l.createVNode("i",{class:"f-icon f-icon-home-setup"},null)])}function F(B,P,E,N){var I;(I=n==null?void 0:n.setupContext)==null||I.emit("selectionChange",B,P,E,N)}function V(B){var E,N;return"w-100 d-flex align-items-center justify-content-"+(((E=B.column)==null?void 0:E.halign)==="center"?"center":((N=B.column)==null?void 0:N.halign)==="right"?"end pr-2":"start pl-2")}function v(B,P,E){var I;const N=l.ref(B.column);return l.createVNode("div",{class:"fv-grid-header-cell",style:p(B,E)},[l.createVNode(j.FDesignerItem,{modelValue:N.value,"onUpdate:modelValue":_=>N.value=_,customClass:V(B),canAdd:!1,canDelete:!1,canMove:!1,key:(I=N.value)==null?void 0:I.id,type:o,componentId:e.componentId,onSelectionChange:F},null),S(B)&&C(),B.resizable&&l.createVNode("span",{class:"fv-column-resize-bar"},null)])}function w(B){return B.map((P,E)=>{const N=[];if(N.push(v(P,B,E)),P.children&&P.children.length){const I=w(P.children);N.push(...I)}return N})}function h(){return l.createVNode("div",{class:"fv-grid-header-left-fixed"},[l.createVNode("div",{class:"fv-grid-header-columns",style:m.value},[w(r.value.leftHeaderColumns)])])}function b(){return l.createVNode("div",{class:"fv-grid-header-right-fixed"},[l.createVNode("div",{class:"fv-grid-header-columns",style:u.value},[w(r.value.rightHeaderColumns)])])}function M(){return l.createVNode("div",{class:y.value,style:T.value},[a.value&&h(),l.createVNode("div",{class:"fv-grid-header-primary"},[l.createVNode("div",{class:"fv-grid-header-columns",style:c.value},[w(r.value.primaryHeaderColumns)])]),s.value&&b()])}return{renderGridHeader:M}}const ft={"data-grid":{name:"表格"},"tab-page":{type:"tab-page"},section:{type:"section"}};class pi extends Le.BaseControlProperty{constructor(e,t){super(e,t)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.propertyConfig.categories.command=je.useCommandOption(this).getCommandColumnProperties(e),this.propertyConfig.categories.column=je.useColumnOption().getColumnOptionProperties(e),this.propertyConfig.categories.rowOption=je.useRowOption().getRowOptionProperties(e),this.propertyConfig.categories.summary=je.useSummary().getSummaryProperties(e),this.propertyConfig.categories.group=je.useGroup().getGroupProperties(e),this.propertyConfig.categories.sort=je.useSort().getSort(e),this.propertyConfig.categories.filter=je.useFilter().getFilter(e),this.getEventPropConfig(e),this.propertyConfig}getBasicPropConfig(e){var a,s,c;const t=(c=(s=(a=this.formSchemaUtils.getFormSchema())==null?void 0:a.module)==null?void 0:s.entity[0])==null?void 0:c.entities[0],i=this.assembleSchemaEntityToTree(t,0),o=this,r=super.getBasicPropConfig(e);this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{...r.properties,dataSource:{description:"绑定数据源",title:"绑定数据源",editor:{type:"combo-tree",textField:"name",valueField:"label",data:i,editable:!1},readonly:!0}},setPropertyRelates(m,u){switch(m&&m.propertyID){case"dataSource":{const d=o.formSchemaUtils.getViewModelById(o.viewModelId);if(d){const f=i.find(g=>g.label===m.propertyValue);d.bindTo=f.bindTo}o.designViewModelUtils.assembleDesignViewModel();break}}}}}assembleSchemaEntityToTree(e,t,i,o="",r=[]){const a=o?`${o}/${e.label}`:"/";return r.push({id:e.id,name:e.name,label:e.label,layer:t,parent:i&&i.id,bindTo:a.replace("//","/")}),e.type.entities&&e.type.entities.length&&e.type.entities.map(s=>this.assembleSchemaEntityToTree(s,t+1,e,a,r)),r}getAppearanceProperties(e){this.propertyConfig.categories.appearance=je.useAppearance().getDataGrid(e,this.viewModelId),this.propertyConfig.categories.selection=je.useSelection().getSelection(e),this.propertyConfig.categories.rowNumber=je.useRowNumber().getRowNumber(e),this.propertyConfig.categories.pagination=je.usePagination().getPagination(e,this.isSubGrid())}getEventPropConfig(e){const t=[...je.useDataGridEvent().initEvent(e),{label:"onEndEditCell",name:"单元格结束编辑事件"}],i=this,o=i.eventsEditorUtils.formProperties(e,i.viewModelId,t),r=i.createBaseEventProperty(o);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:r,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,s){const c=a.propertyValue;delete e[i.viewModelId],c&&(c.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(e,i.viewModelId,c.events,c)),e.remoteSort=!!e.columnSorted,e.command&&(e.command.onClickEditCommand=e.onClickEditCommand,e.command.onClickDeleteCommand=e.onClickDeleteCommand,e.command.onHandleAction=e.onHandleAction)}}}isSubGrid(){const e=this.formSchemaUtils.getViewModelById(this.viewModelId);return e&&e.bindTo?e.bindTo.trim()!=="/":!1}}function hi(n,e){const t=n.schema,i=l.ref(!0),o=l.ref(!0);function r(d){return d&&d.sourceType==="control"?d.componentCategory==="input":!1}function a(){return!1}function s(){return!1}function c(){return!0}function m(d){return new pi(d,e).getPropertyConfig(t)}function u(){var d,f,g,p;if(n&&e){const y=(d=n==null?void 0:n.componentInstance)==null?void 0:d.value.belongedComponentId;let T="",S="";const{formSchemaUtils:C}=e;if(y){const V=C.getRootViewModelId(),v=C.getComponentByViewModelId(V),w=C.selectNode(v,h=>h.contents&&h.contents.find(b=>b.component===y));(w==null?void 0:w.type)===((f=ft["tab-page"])==null?void 0:f.type)&&((g=w==null?void 0:w.contents)!=null&&g.length)&&(T=w.title||""),(w==null?void 0:w.type)===((p=ft.section)==null?void 0:p.type)&&(w==null?void 0:w.showHeader)!==!1&&(T=w.mainTitle||""),T=T?`${T} > `:"",S=T?w.id:""}const F=ft["data-grid"].name;e==null||e.formSchemaUtils.getControlBasicInfoMap().set(n.schema.id,{componentTitle:F,parentPathName:`${T}${F}`,reliedComponentId:S})}}return{canAccepts:r,checkCanDeleteComponent:a,checkCanMoveComponent:s,hideNestedPaddingInDesginerView:c,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:o,getPropsConfig:m,setComponentBasicInfoMap:u}}const Qe=l.defineComponent({name:"FDataGridDesign",props:Cn,emits:["ClickRow","DoubleClickRow","selectionChange","enterUpInLastCell","pageIndexChanged","pageSizeChanged"],setup(n,e){var Ce;const t=l.ref(),i=l.inject("designer-host-service"),o=l.inject("design-item-context"),r=hi(o,i),a=j.useDesignerComponent(t,o,r);a.value.styles="display:flex;flex:1;",l.onMounted(()=>{t.value.componentInstance=a}),l.provide("data-grid-context",{dataGridProps:n}),e.expose(a.value);const s=l.ref(n.columns),c=20,m=li(n),u=0,d=l.ref(),f=l.ref(),g=l.ref(n.showStripe),p=l.ref([]),y=l.ref(!1),T=l.ref(((Ce=n.rowOption)==null?void 0:Ce.wrapContent)||!1),S=zn(n,e),C=Gn(n),F=On(n,new Map,S,C,m),V=ai(n,F,m,p,e),v=l.computed(()=>F.totalItems.value<c?F.totalItems.value:c),{containerStyleObject:w}=kn(n),h=En(n),{applyCommands:b}=h;b(s);const M=Mn(n),B=mi(),{applyColumnSorter:P,columnContext:E,updateColumnRenderContext:N}=M;P(F,B);const I=Pn(n,E),_=ri(n,e,V,m),x=oi(n,e,m,_),G=Dn(n),k=ei(n,x,G),$=ti(n,F,x,C,m,G,k),Y=ni(n,m,k,$),Q=ii(n,m,k,$),oe=Fn(n,s,F,v,u,$,Y,Q),{getVisualData:Ve}=oe,Se=si(n,V),{sidebarWidth:xe}=Se;p.value=Ve(0,v.value+u-1);const H=Un(n,F,p,E,oe,v,u,xe),{onWheel:O,dataGridWidth:R,viewPortHeight:W,viewPortWidth:U}=H,ee=wn(n,E,d,U,I),{calculateColumnsSize:se}=ee,ce=l.computed(()=>({"fv-grid":!0,"fv-grid-bordered":!0,"fv-datagrid-strip":g.value})),fe=l.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":y.value,"fv-grid-wrap-content":T.value})),{renderGridHeader:pe}=At(o,n,M,H),{renderHorizontalScrollbar:me}=Vn(n,d,H);function Pe(){var A,J;W.value=((A=f.value)==null?void 0:A.clientHeight)||0,R.value=((J=d.value)==null?void 0:J.clientWidth)||0,se()}l.onMounted(()=>{d.value&&(mn.useResizeObserver(d.value,Pe),se(),l.nextTick(()=>{d.value&&(R.value=d.value.clientWidth),f.value&&(U.value=f.value.clientWidth,W.value=f.value.clientHeight)}))});function We(A){A&&(s.value=A,b(s),N(s.value),P(F,B),se())}return l.watch(()=>n.columns,A=>{We(A),j.canvasChanged.value++}),l.watch(U,()=>{d.value&&se()}),()=>l.createVNode("div",{ref:t,class:ce.value,style:w.value,onWheel:O},[pe(),l.createVNode("div",{ref:d,class:fe.value,onMouseover:()=>{y.value=!0},onMouseleave:()=>{y.value=!1}},[me()])])}}),gi={id:{type:String,default:""},buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:{type:Number},tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupOnClick:{type:Boolean,default:!1},popupClass:{type:String,default:""},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null},updateOn:{type:String,default:"change"},keepWidthWithReference:{type:Boolean,default:!0},placement:{type:String,default:"bottom-left"},limitContentBySpace:{type:Boolean,default:!1},beforeClosePopup:{type:Function,default:null}},yi={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},vi=l.defineComponent({name:"FOverlay",props:yi,emits:["click"],setup(n,e){const t=l.ref(n.popupContentPosition),i=l.ref(n.host),o=l.computed(()=>({backgroundColor:n.backgroundColor||"",pointerEvents:"auto"}));function r(s){e.emit("click"),s.preventDefault(),s.stopPropagation()}l.computed(()=>{const s=i.value;if(s){const c=s.getBoundingClientRect(),{left:m,top:u,height:d}=c;return{left:m,top:u+d}}return t.value});const a=l.computed(()=>({}));return()=>l.createVNode(l.Teleport,{to:"body"},{default:()=>{var s,c;return[l.createVNode("div",{class:"overlay-container",onClick:m=>r(m),style:o.value},[l.createVNode("div",{style:a.value},[(c=(s=e.slots).default)==null?void 0:c.call(s)])])]}})}});function bi(n){if(n.content&&n.content.render)return n.content.render;if(n.render&&typeof n.render=="function")return n.render}function Ci(n){const e=document.createElement("div");e.style.display="contents";let t;const i=n.onClickCallback||(()=>{}),o=()=>{i(),t&&t.unmount()};return t=l.createApp({setup(){l.onUnmounted(()=>{document.body.removeChild(e)});const r=bi(n);return()=>l.createVNode(vi,{"popup-content-position":n.popupPosition,host:n.host,onClick:o,backgroundColor:n.backgroundColor},{default:()=>[r&&r()]})}}),document.body.appendChild(e),t.mount(e),t}class wi{static show(e){return Ci(e)}}const Si={allowClickMaskToClose:{type:Boolean,default:!1},beforeClose:{type:Function,default:()=>!0},class:{type:String,default:""},maskClass:{type:String,default:""},title:{type:String,default:""},width:{type:Number,default:500},height:{type:Number,default:320},buttons:{type:Array,default:[]},modelValue:{type:Boolean,default:!1},mask:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},resizeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0},enableEnter:{type:Boolean,default:!1},dialogType:{type:String,default:""},src:{type:String,default:""},footerHeight:{type:Number,default:60},host:{type:Object,default:"body"},isMessager:{type:Boolean,default:!1}};class Ee{constructor(e,t){this.x=e,this.y=t}static getTransformInfo(e){const i=window.getComputedStyle(e).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(i.length>=6){const o=parseInt(i[4],10),r=parseInt(i[5],10);return{x:o,y:r}}return{x:0,y:0}}static fromEvent(e,t=null){if(this.isMouseEvent(e))return new Ee(e.clientX,e.clientY);if(t===null||e.changedTouches.length===1)return new Ee(e.changedTouches[0].clientX,e.changedTouches[0].clientY);for(let i=0;i<e.changedTouches.length;i++)if(e.changedTouches[i].target===t)return new Ee(e.changedTouches[i].clientX,e.changedTouches[i].clientY)}static isMouseEvent(e){return Object.prototype.toString.apply(e).indexOf("MouseEvent")===8}static isIPosition(e){return!!e&&"x"in e&&"y"in e}static getCurrent(e){const t=new Ee(0,0);if(window){const i=window.getComputedStyle(e);if(i){const o=parseInt(i.getPropertyValue("left"),10),r=parseInt(i.getPropertyValue("top"),10);t.x=isNaN(o)?0:o,t.y=isNaN(r)?0:r}return t}return null}static copy(e){return new Ee(0,0).set(e)}get value(){return{x:this.x,y:this.y}}add(e){return this.x+=e.x,this.y+=e.y,this}subtract(e){return this.x-=e.x,this.y-=e.y,this}multiply(e){this.x*=e,this.y*=e}divide(e){this.x/=e,this.y/=e}reset(){return this.x=0,this.y=0,this}set(e){return this.x=e.x,this.y=e.y,this}}class tt{constructor(e,t){this.width=e,this.height=t}static getCurrent(e){const t=new tt(0,0);if(window){const i=window.getComputedStyle(e);return i&&(t.width=parseInt(i.getPropertyValue("width"),10),t.height=parseInt(i.getPropertyValue("height"),10)),t}return null}static copy(e){return new tt(0,0).set(e)}set(e){return this.width=e.width,this.height=e.height,this}}function Mi(n,e){const t=l.ref(),i=l.ref(),o=l.ref(),r=l.ref(),a=l.ref(),s=l.ref(),c=l.ref(),m=l.ref(),u=l.ref(),d=l.ref(),f=l.ref(),g=l.ref(n.resizeable),p=l.ref(),y=l.ref(n.draggable),T=l.ref(!1);function S(){const k=i.value||document.body,$=window.getComputedStyle(k);if(!$||!t.value)return;const Y=Ee.getTransformInfo(t.value),Q={};c.value&&(Q.deltaL=t.value.offsetLeft-c.value.x,Q.deltaT=t.value.offsetTop-c.value.y);const oe=$.getPropertyValue("position");Q.width=k.clientWidth,Q.height=k.clientHeight,Q.pr=parseInt($.getPropertyValue("padding-right"),10),Q.pb=parseInt($.getPropertyValue("padding-bottom"),10),Q.position=$.getPropertyValue("position"),oe==="static"&&(k.style.position="relative"),Q.translateX=Y.x,Q.translateY=Y.y,d.value=Q}function C(k){if(t.value){r.value=tt.getCurrent(t.value),a.value=Ee.getCurrent(t.value),s.value=r.value?tt.copy(r.value):null,c.value=a.value?Ee.copy(a.value):null,S();const $=k.target.getAttribute("type")||"";m.value={n:!!$.match(/n/),s:!!$.match(/s/),w:!!$.match(/w/),e:!!$.match(/e/)}}}function F(){var k,$,Y,Q;if(t.value){const oe=t.value;m.value&&((m.value.n||m.value.s)&&((k=s.value)!=null&&k.height)&&(oe.style.height=s.value.height+"px"),(m.value.w||m.value.e)&&(($=s.value)!=null&&$.width)&&(oe.style.width=s.value.width+"px"),c.value&&((Y=c.value)!=null&&Y.x&&(oe.style.left=c.value.x+"px"),(Q=c.value)!=null&&Q.y&&(oe.style.top=c.value.y+"px")))}}function V(){const k=n.minHeight?n.minHeight:1,$=n.minWidth?n.minWidth:1;s.value&&c.value&&m.value&&r.value&&(s.value.height<k&&(s.value.height=k,m.value.n&&a.value&&(c.value.y=a.value.y+(r.value.height-k))),s.value.width<$&&(s.value.width=$,m.value.w&&a.value&&(c.value.x=a.value.x+(r.value.width-$))),n.maxHeight&&s.value.height>n.maxHeight&&(s.value.height=n.maxHeight,a.value&&m.value.n&&(c.value.y=a.value.y+(r.value.height-n.maxHeight))),n.maxWidth&&s.value.width>n.maxWidth&&(s.value.width=n.maxWidth,m.value.w&&a.value&&(c.value.x=a.value.x+(r.value.width-n.maxWidth))))}function v(){if(i.value){const k=d.value;if(c.value&&s.value&&m.value&&r.value){const $=k.width-k.pr-k.deltaL-k.translateX-c.value.x,Y=k.height-k.pb-k.deltaT-k.translateY-c.value.y;m.value.n&&c.value.y+k.translateY<0&&a.value&&(c.value.y=-k.translateY,s.value.height=r.value.height+a.value.y+k.translateY),m.value.w&&c.value.x+k.translateX<0&&a.value&&(c.value.x=-k.translateX,s.value.width=r.value.width+a.value.x+k.translateX),s.value.width>$&&(s.value.width=$),s.value.height>Y&&(s.value.height=Y)}}}function w(k){if(!o.value||!r.value||!a.value||!m.value)return;k.subtract(o.value);const $=k.x,Y=k.y;m.value.n?(c.value.y=a.value.y+Y,s.value.height=r.value.height-Y):m.value.s&&(s.value.height=r.value.height+Y),m.value.e?s.value.width=r.value.width+$:m.value.w&&(s.value.width=r.value.width-$,c.value.x=a.value.x+$),v(),V(),F()}function h(k){if(!u.value)return;const $=Ee.fromEvent(k);$&&w($)}function b(){if(t.value){const{width:k,height:$,x:Y,y:Q}=t.value.getBoundingClientRect(),oe=Ee.getTransformInfo(t.value);return{size:{width:k,height:$},position:{x:Y-oe.x,y:Q-oe.y}}}return null}function M(k){if(t.value){const $=b();f.value=$}o.value=void 0,r.value=null,a.value=null,s.value=null,c.value=null,m.value=null,u.value=null,document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",M)}function B(){document.addEventListener("mousemove",h),document.addEventListener("mouseup",M)}function P(k){k instanceof MouseEvent&&k.button===2||y.value&&(document.body.click(),k.stopPropagation(),k.preventDefault(),o.value=Ee.fromEvent(k),u.value=k.target,C(k),B())}function E(k){return t.value=k,g.value&&l.createVNode(l.Fragment,null,[l.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:$=>P($)},null),l.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:$=>P($)},null),l.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:$=>P($)},null),l.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:$=>P($)},null),l.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:$=>P($)},null),l.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:$=>P($)},null),l.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:$=>P($)},null),l.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:$=>P($)},null)])}function N(k=!0){document.body.click();const $=i.value||document.body,Y=tt.getCurrent($),Q=t.value;k&&Q&&(p.value=b(),p.value.transform=Q.style.transform),Y&&Q&&(s.value=Y,s.value.height-=14,s.value.width-=14,Q.style.height=s.value.height+"px",Q.style.width=s.value.width+"px",Q.style.left="7px",Q.style.top="7px",Q.style.transform="",f.value={size:s.value,position:{x:0,y:0}},y.value=!1,T.value=!0)}function I(){var k,$;if(document.body.click(),p.value){const Y={width:p.value.size.width||0,height:p.value.size.height||0},Q={x:(window.innerWidth-Y.width)/2,y:(window.innerHeight-Y.height)/2};(k=s.value)==null||k.set(Y),($=c.value)==null||$.set(Q);const oe=t.value;oe.style.height=Y.height+"px",oe.style.width=Y.width+"px",oe.style.left=`${Q.x}px`,oe.style.top=`${Q.y}px`,oe.style.transform="",f.value={size:Y,position:Q},y.value=n.draggable,T.value=!1}}function _(){if(t.value){const k=tt.getCurrent(t.value);if(k){const{width:$,height:Y}=k;t.value.style.left=`${(window.innerWidth-$)/2}px`,t.value.style.top=`${(window.innerHeight-Y)/2}px`,t.value.style.transform=""}}}function x(){const k=()=>{T.value?N(!1):_(),document.body.click()};return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}}const G=x();return{renderResizeBar:E,boundingElement:i,resizedEventParam:f,maximize:N,restore:I,allowDrag:y,isMaximized:T,unWindowResizeHandle:G,moveToCenter:_}}function Fi(n,e,t){const i=l.ref(),o=l.ref(n.draggable),r=l.ref(n.lockAxis),a=l.ref(),s=l.ref(),c=l.ref(!1),m=l.ref(new Ee(0,0)),u=l.ref(new Ee(0,0)),d=l.ref(new Ee(0,0)),f=l.ref(new Ee(0,0));l.watch(()=>t.value,h=>{a.value.style.cursor=h?"move":"default"});function g(h,b){if(b.tagName==="BUTTON")return!1;if(b===h)return!0;for(const M in b.children)if(Object.prototype.hasOwnProperty.call(b.children,M)&&g(h,b.children[M]))return!0;return!1}function p(){var B,P;let h=d.value.x+u.value.x,b=d.value.y+u.value.y;r.value==="x"?(h=((B=m.value)==null?void 0:B.x)||0,d.value.x=0):r.value==="y"&&(b=((P=m.value)==null?void 0:P.y)||0,d.value.y=0);const M=`translate3d(${Math.round(h)}px, ${Math.round(b)}px, 0px)`;i.value&&(i.value.style.transform=M),f.value.x=h,f.value.y=b}function y(){if(!s.value||!i.value)return null;const h=s.value.getBoundingClientRect(),b=i.value.getBoundingClientRect(),M={top:h.top<b.top,right:h.right>b.right,bottom:h.bottom>b.bottom,left:h.left<b.left};return M.top||(d.value.y-=b.top-h.top),M.bottom||(d.value.y-=b.bottom-h.bottom),M.right||(d.value.x-=b.right-h.right),M.left||(d.value.x-=b.left-h.left),p(),M}function T(h){h&&(m.value&&h.subtract(m.value),d.value.set(h),p(),y())}function S(h){c.value&&o.value&&(h.stopPropagation(),h.preventDefault(),T(Ee.fromEvent(h,a.value)))}function C(){var h;c.value&&(c.value=!1,u.value.add(d.value),d.value.reset(),(h=i.value)==null||h.classList.remove("ng-dragging"),e.emit("stopMove"),document.removeEventListener("mousemove",S),document.removeEventListener("mouseup",C))}function F(){!c.value&&a.value&&(c.value=!0,a.value.classList.add("ng-dragging"),document.addEventListener("mousemove",S),document.addEventListener("mouseup",C))}function V(){if(i.value){const h=Ee.getTransformInfo(i.value);u.value.set(h);return}u.value.reset()}function v(h){if(!t.value||h instanceof MouseEvent&&h.button===2)return;const b=h.target||h.srcElement;a.value!==void 0&&b&&!g(b,a.value)||o.value!==!1&&(document.body.click(),h.stopPropagation(),h.preventDefault(),m.value=Ee.fromEvent(h,i.value),V(),F())}function w(h,b,M){if(o.value&&b){if(h)a.value=h;else if(n.dragHandle){if(n.dragHandle instanceof HTMLElement)a.value=n.dragHandle;else if(typeof n.dragHandle=="string"){const B=b.querySelector(n.dragHandle);B&&(a.value=B)}}i.value=b,s.value=M,a.value?(a.value.classList.add("ng-draggable"),a.value.addEventListener("mousedown",v)):o.value=!1}}return{registerDraggle:w,resetTranslate:V}}function Lt(n,e){if(n){const t=i=>{i.key.toLowerCase()===n.toLowerCase()&&e({event:i,key:n})};return document.addEventListener("keydown",t),()=>{document.removeEventListener("keydown",t)}}}function Ti(n,e){const t=l.ref(n.enableEsc);let i=null;return t.value?(i=Lt("Escape",o=>{e.emit("esc",{event:o.event,type:"esc"})}),{remove:i}):null}function _i(n,e){const t=l.ref(n.enableEnter);let i=null;return t.value?(i=Lt("Enter",o=>{e.emit("enter",{event:o.event,type:"enter"})}),{remove:i}):null}const lt=l.defineComponent({name:"FModal",props:Si,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove"],setup(n,e){const t=l.ref(n.width||300),i=l.ref(n.height||200),o=l.ref(n.modelValue),r=l.ref(""),a=l.ref(n.class),s=l.ref(n.fitContent),c=l.ref(n.showHeader),m=l.ref(""),u=l.ref(n.showCloseButton),d=l.ref(n.showMaxButton),f=l.ref(!1),g=l.ref(n.dialogType),p=l.ref(n.src),y=l.ref(""),T=l.ref(n.showButtons),S=l.ref(n.title),C=l.ref(n.containment||null),F=l.ref();S.value==="错误提示"&&(S.value=Ae.LocaleService.getLocaleValue("messageBox.errorTitle"));const V=l.ref(!1);function v(z,le){const he=le?"accept":"cancel";Promise.resolve().then(()=>{var Me;return(Me=n.beforeClose)==null?void 0:Me.call(n,{closeType:he})}).then(Me=>{Me&&(o.value=!1,e.emit("update:modelValue",!1),le!=null&&e.emit(le?"accept":"cancel"),e.emit("closed",z))})}const w=[{name:"cancel",text:Ae.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:z=>{v(z,!1)}},{name:"accept",text:Ae.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:z=>{v(z,!0)}}],h=l.ref(n.buttons&&n.buttons.length?n.buttons:w),b=l.computed(()=>!!m.value),M=l.computed(()=>!!T.value&&!!h.value),B=l.ref(),P=l.ref(),E=l.ref(!1),{renderResizeBar:N,maximize:I,restore:_,boundingElement:x,resizedEventParam:G,allowDrag:k,unWindowResizeHandle:$,moveToCenter:Y}=Mi(n),{registerDraggle:Q}=Fi(n,e,k);function oe(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}function Ve(){const z=document.querySelectorAll(".farris-modal").length;(!z||z-1<=0)&&document.body.classList.remove("modal-open"),F.value&&F.value.classList.remove("show")}l.watch(()=>n.title,(z,le)=>{z!==le&&(S.value=z)}),l.watch(()=>n.modelValue,(z,le)=>{z!==le&&(o.value=z,o.value&&n.draggable&&l.nextTick(()=>{P.value&&!C.value&&(C.value=P.value.parentElement,x.value=C.value,Q(B.value,P.value,x.value),Y())}),z||(C.value&&(C.value=null),Ve())),o.value?V.value=oe():(E.value=!1,k.value=n.draggable)}),l.watch(()=>n.showHeader,(z,le)=>{z!==le&&(c.value=z)}),l.watch(()=>n.showButtons,(z,le)=>{z!==le&&(T.value=z)}),l.watch(()=>G.value,(z,le)=>{const he=z||{},Me=le||{};JSON.stringify(he)!==JSON.stringify(Me)&&e.emit("resize",{newSize:z,oldSize:le,isMaximized:E.value})}),l.watch([()=>n.width,()=>n.height],(z,le)=>{(z[0]!==le[0]||z[1]!==le[1])&&(t.value=z[0]||500,i.value=z[1]||600)}),l.watch(()=>n.class,(z,le)=>{a.value=z});const Se=l.computed(()=>(o.value&&document.body.classList.add("modal-open"),o.value)),xe=l.computed(()=>{var he;const z={modal:!0,"farris-modal":!0,fade:!0};z["f-modal-fitContent"]=!!s.value,z.show=!!Se.value;const le=(he=n.maskClass)==null?void 0:he.split(" ");return le==null||le.reduce((Me,_e)=>(Me[_e]=!0,Me),z),z}),H=l.computed(()=>{var he;const z={"modal-dialog":!0},le=(he=a.value)==null?void 0:he.split(" ");return le==null||le.reduce((Me,_e)=>(Me[_e]=!0,Me),z),z}),O=()=>X.isMobilePhone()&&!n.isMessager,R=l.computed(()=>{const z=document.documentElement.clientWidth,le=document.documentElement.clientHeight,he=Math.min(t.value,z),Me=s.value?"auto":`${Math.min(i.value,le-10)}px`,_e={position:"absolute",top:`${(window.innerHeight-parseInt(Me==="auto"?"0":Me))/2}px`,left:`${(window.innerWidth-he)/2}px`,width:`${he}px`,height:Me};return O()&&(_e.top="0px",_e.left="0px",_e.width=`${window.innerWidth}px`,_e.height=`${window.innerHeight}px`),n.mask||(_e.pointerEvents="auto"),_e}),W=l.ref(X.getMaxZIndex()||1050),U=l.computed(()=>{const z={display:"block",overflow:"hidden"};return n.mask||(z.pointerEvents="none",z.backgroundColor="transparent"),V.value&&(z.backgroundColor="transparent"),z.zIndex=W.value,z}),ee=l.computed(()=>({"modal-content":!0,"modal-content-has-header":c.value,"is-mobile":O()})),se=l.computed(()=>{const z={display:c.value?"":"none"};return z["pointer-events"]=k.value?"auto":"none",z}),ce=l.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:E.value})),fe=l.computed(()=>({"modal-body":!0,"f-utils-flex-column":g.value==="iframe","f-utils-fill":!0}));function pe(){return{height:`${n.footerHeight||60}px`}}const me=l.computed(()=>{const z={textAlgin:y.value},le=pe();return Object.assign(z,le)});function Pe(z){if(z==null||z.stopPropagation(),E.value){E.value=!1,_();return}I(),E.value=!0}async function We(z,le){z.handle&&await z.handle(le,z)&&e.emit("closed",le)}function Ce(z){z.width&&(t.value=z.width),z.height&&(i.value=z.height),z.buttons&&(h.value=z.buttons),z.title&&(S.value=z.title)}let A=null,J=null;l.onBeforeMount(()=>{V.value=oe()}),l.onMounted(()=>{P.value&&!C.value&&(C.value=P.value.parentElement,x.value=C.value,Q(B.value,P.value,x.value)),Se.value&&document.body.classList.add("modal-open"),A=Ti(n,e),J=_i(n,e)}),l.onUnmounted(()=>{$&&$(),A&&A.remove(),J&&J.remove()}),e.expose({modalElementRef:P,updateModalOptions:Ce,close:v,maxDialog:Pe,isMaximized:E});function D(){return l.createVNode("ul",null,[f.value&&l.createVNode("li",{class:"f-btn-icon f-bare"},[l.createVNode("span",{class:"f-icon modal_minimize"},null)]),d.value&&l.createVNode("li",{onClick:Pe,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[l.createVNode("span",{class:ce.value},null)]),u.value&&l.createVNode("li",{class:"f-btn-icon f-bare",onClick:z=>v(z,!1),style:"pointer-events: auto;"},[l.createVNode("span",{class:"f-icon modal_close"},null)])])}function ye(){return l.createVNode("div",{class:"modal-footer",style:me.value},[h.value&&h.value.map(z=>{const le=l.ref(z.disabled);return l.createVNode("button",{name:z.name,type:"button",disabled:le.value,class:z.class+(z.iconClass?" btn-icontext":""),onClick:he=>{We(z,he)}},[!!z.iconClass&&l.createVNode("i",{class:z.iconClass},null),z.text])})])}function be(){return l.createVNode("div",{ref:B,class:"modal-header",style:se.value},[e.slots.headerTemplate?e.slots.headerTemplate():l.createVNode("div",{class:"modal-title"},[b.value&&l.createVNode("span",{class:m.value,style:"margin-right: 8px"},null),l.createVNode("span",{class:"modal-title-label"},[S.value])]),l.createVNode("div",{class:"actions"},[D()])])}function Re(){return e.slots.footerTemplate?e.slots.footerTemplate():M.value&&ye()}function Ze(z){if(z.stopPropagation(),n.allowClickMaskToClose){if(z.target!==F.value)return;v(z,!1)}}function at(){var z,le;return l.createVNode("div",{id:r.value,class:H.value,style:R.value,ref:P},[l.createVNode("div",{class:ee.value},[c.value&&be(),l.createVNode("div",{class:fe.value},[(le=(z=e.slots).default)==null?void 0:le.call(z),g.value==="iframe"&&l.createVNode("iframe",{title:r.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:p.value},null)]),Re()]),!s.value&&P.value&&!E.value&&N(P.value)])}function st(z){return z||"body"}return l.watchEffect(()=>{Se.value&&(W.value=X.getMaxZIndex()||1050)}),()=>l.createVNode(l.Teleport,{to:st(n.host)},{default:()=>[Se.value&&l.createVNode(l.Transition,{name:"fade",appear:!0},{default:()=>[l.createVNode("div",{ref:F,class:xe.value,style:U.value,onClick:Ze},[at()])]})]})}});function $t(n){if(n.content&&n.content.render)return n.content.render;if(n.render&&typeof n.render=="function")return n.render}function xi(n){const e=document.createElement("div");e.style.display="contents";const t=l.createApp({setup(i,o){l.onUnmounted(()=>{document.body.removeChild(e)});const r=l.ref(),a=l.ref(n.class||""),s=l.ref(!!n.showButtons),c=l.ref(!!n.showHeader),m=l.ref(n.showCloseButton==null?!0:n.showCloseButton),u=l.ref(!0),d=l.ref(n.title||""),f=n.acceptCallback||(()=>{}),g=n.rejectCallback||(()=>{}),p=n.closedCallback||(F=>{}),y=n.resizeHandle||(F=>{}),T=n.stopMoveHandle||(F=>{}),S=$t(n),C=F=>{u.value=!1,t.unmount(),p(F)};return l.onMounted(()=>{}),o.expose({modalRef:r}),()=>l.createVNode(lt,{ref:r,class:a.value,modelValue:u.value,"onUpdate:modelValue":F=>u.value=F,title:d.value,width:n.width,height:n.height,buttons:n.buttons,"show-header":c.value,"show-buttons":s.value,"show-close-button":m.value,"show-max-button":!1,onAccept:f,onCancel:g,fitContent:n.fitContent==null?!0:n.fitContent,onClosed:C,onResize:y,onStopMove:T},{default:()=>[S&&S(t)]})}});return document.body.appendChild(e),t.use(Ae.LocaleService.i18n),t.mount(e),t}class Vi{constructor(e){ie(this,"appContext",null);ie(this,"modalRef",l.ref());ie(this,"activeModalIndex",l.ref(0));ie(this,"modalRefs",{});ie(this,"isUseEscCloseModal",l.ref(!1));ie(this,"activeModalInstance",l.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=e,this.appContext=e?e._context:null}getCurrentModal(){return this.activeModalInstance.value}adaptToWindow(e,t){const{width:i,height:o}={width:window.innerWidth,height:window.innerHeight};return i<e&&(e=i-14),o<t&&(t=o-14),{width:e,height:t}}static show(e){const t=Object.assign({title:"",showButtons:!0,showHeader:!0},e);return xi(t)}close(e){var t,i;e?(i=e.value)==null||i.close():(t=this.getCurrentModal())==null||t.close()}open(e){const t=document.createDocumentFragment();e.showMaxButton&&e.fitContent&&(e.showMaxButton=!1);const i=l.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},e)),o=l.ref(!0),r=i.value.acceptCallback||(()=>{}),a=i.value.rejectCallback||(()=>{}),s=i.value.closedCallback||((v,w)=>{}),c=i.value.resizeHandle||(v=>{}),m=e.stopMoveHandle||(v=>{});let u;const d=$t(i.value),f=v=>{var h;o.value=!1;const w=(h=v==null?void 0:v.target)==null?void 0:h.classList.contains("modal_close");s(v,this.isUseEscCloseModal.value?"esc":w?"icon":"button")},g=v=>{f(v),u&&l.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],l.render(null,t),u=null,this.modalRef.value=null,this.modalRefs){const w=Object.keys(this.modalRefs).map(h=>Number(h));w.length>0?this.activeModalIndex.value=Math.max(...w):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},p=v=>{var w;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((w=this.activeModalInstance.value)==null||w.close(v==null?void 0:v.event))},{width:y,height:T}=i.value,S=this.adaptToWindow(y||500,T||320);Object.assign(i.value,S);const C=()=>l.createVNode(lt,l.mergeProps({ref:this.modalRef,modelValue:o.value,"onUpdate:modelValue":v=>o.value=v},i.value,{isMessager:i.value.class&&i.value.class.indexOf("modal-message")>-1,onAccept:r,onCancel:a,onClosed:g,onResize:c,onEsc:p,onStopMove:m}),{default:()=>[d&&d(this.app)]});return u=(v=>{const w=l.h(C,v);return w.appContext=this.appContext,l.render(w,t),w})({...i.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:v=>{i.value={...i.value,...v},u&&l.render(l.cloneVNode(u,{...i}),t)},destroy:g,modalRef:this.activeModalInstance,close:()=>this.close()}}}const jt=Symbol("FModalService");lt.install=n=>{n.component(lt.name,lt);const e=new Vi(n);n.provide(jt,e),n.provide("FModalService",e)};function Wt(n,e){function t(){const i=n.beforeOpen||n.beforeClickButton||null;let o=Promise.resolve(!0);if(i){const r=i(e.value);if(typeof r>"u")return o;typeof r=="boolean"?o=Promise.resolve(r):o=r}return o}return{judgeCanOpen:t}}function Ii(n,e,t,i,o){const r=l.ref(n.buttonBehavior),a=l.ref(n.popupOnInput),s=l.computed(()=>({"input-group-append":!0,"append-force-show":n.showButtonWhenDisabled&&(n.readonly||n.disable)})),{judgeCanOpen:c}=Wt(n,o),m=l.computed(()=>n.showButtonWhenDisabled||(!n.editable||!n.readonly)&&!n.disable),u=l.inject(jt,null),d=l.ref();async function f(y){if(await c()&&m.value){const T=!!e.slots.default;if(r.value==="Modal"){const S=n.modalOptions,C=u==null?void 0:u.open({...S,render:()=>e.slots.default&&e.slots.default()});d.value=C==null?void 0:C.modalRef}r.value==="Overlay"&&wi.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>e.slots.default&&e.slots.default()}),T&&r.value==="Popup"&&i.togglePopup(!0),T&&a.value&&i.hidePopup(),e.emit("clickButton",{origin:y,value:n.modelValue})}}function g(y){e.emit("mouseEnterIcon",y)}function p(y){e.emit("mouseLeaveIcon",y)}return{buttonGroupClass:s,onClickButton:f,onMouseEnterButton:g,onMouseLeaveButton:p,modalRef:d}}function ki(n,e,t,i,o,r){const a=l.ref(!1),s=l.computed(()=>n.enableClear&&!n.readonly&&!n.disable),{changeTextBoxValue:c,hasClearClass:m}=r;function u(p){a.value=p,m.value=p}l.watch(o,()=>{u(!!o.value)});function d(p){const y=!n.readonly&&!n.disable&&n.editable,T=!n.editable;p.stopPropagation(),(y||T)&&(c(""),o.value="",u(!a.value),e.emit("clear"))}function f(p){if(s.value){if(!t.value){u(!1);return}!n.disable&&!n.readonly&&u(!0)}}function g(p){s.value&&u(!1)}return{enableClearButton:s,showClearButton:a,onClearValue:d,onMouseEnterTextBox:f,onMouseLeaveTextBox:g}}function Ei(n,e,t,i,o){const r=l.computed(()=>n.popupOnInput),a=l.computed(()=>n.popupOnFocus),{shouldPopupContent:s,closeAllPopover:c}=o,m=l.ref(!1),u=l.computed(()=>n.enableTitle?t.value:""),d=l.computed(()=>(n.disable||n.readonly)&&!n.forcePlaceholder?"":n.placeholder),f=l.computed(()=>n.readonly||!n.editable),g=l.ref(!1),p=l.computed(()=>!n.disable&&g.value),y=l.computed(()=>({"text-left":n.textAlign==="left","text-center":n.textAlign==="center","text-right":n.textAlign==="right","form-control":!0,"f-utils-fill":!0})),T=l.computed(()=>({"input-group":!0,"f-state-disabled":n.disable,"f-state-editable":n.editable&&!n.disable&&!n.readonly,"f-state-readonly":n.readonly,"f-state-focus":p.value,"input-group--has-clear":n.enableClear&&m.value}));function S(P,E=!0){t.value=P,E&&(e.emit("change",P),e.emit("update:modelValue",P))}function C(P){s.value=!1,S(P,!0)}l.watch(()=>n.modelValue,P=>{t.value=P});function F(P){g.value=!1,e.emit("blur",P),P.stopPropagation()}function V(P){e.emit("click",P),c(),e.slots.default&&!n.disable&&!n.readonly&&n.popupOnClick&&o.togglePopup()}function v(P){!n.disable&&!n.readonly&&(g.value=!0,f.value||(e.emit("focus",P),a.value&&!s.value&&o.popup()))}function w(P){e.emit("input",P);const E=P.target.value;i.value=E,t.value!==E&&S(E,n.updateOn==="change"),r.value&&!s.value&&o.popup()}function h(P){P.target.tagName!=="INPUT"&&P.preventDefault(),P.stopPropagation()}function b(P){e.emit("keydown",P)}function M(P){P.key==="Enter"&&(r.value||a.value)&&o.hidePopup(),e.emit("keyup",P)}function B(P){const E=P.target.value;P.stopPropagation(),S(E)}return{hasFocusedTextBox:p,isTextBoxReadonly:f,textBoxClass:y,textBoxPlaceholder:d,textBoxTitle:u,inputGroupClass:T,hasClearClass:m,changeTextBoxValue:S,commitValue:C,onBlurTextBox:F,onClickTextBox:V,onFocusTextBox:v,onInput:w,onKeyDownTextBox:b,onKeyUpTextBox:M,onMouseDownTextBox:h,onTextBoxValueChange:B}}const nt="FarrisVue_PopoverInstancesKey";function Pi(n,e,t,i){const o=l.ref(),r=l.ref(!1),{judgeCanOpen:a}=Wt(n,i);l.watch(()=>o.value,(g,p)=>{window[nt]=window[nt]||new WeakMap,g?window[nt].set(t.value,g):window[nt].delete(t.value)});function s(){if(window[nt]){const g=window[nt];document.querySelectorAll(".f-button-edit,.v-popover").forEach(p=>{const y=g.get(p);y&&p!==t.value&&!t.value.closest(".popover-fitcontent")&&y.hide()})}}function c(){const g=o.value;g&&g.show(t.value)}async function m(g=!1){if(!!e.slots.default){if(!g&&!r.value&&!await a())return;r.value=!r.value,r.value&&(await l.nextTick(),c())}}async function u(g=!1){if(!!e.slots.default){if(!g&&!await a())return;r.value=!0,await l.nextTick(),c()}}function d(){r.value=!1}function f(){r.value=!0,l.nextTick(()=>{c()})}return{hidePopup:d,showPopup:f,popup:u,shouldPopupContent:r,togglePopup:m,popoverRef:o,closeAllPopover:s}}function Ni(n,e,t){const i=l.ref(),{isTextBoxReadonly:o,textBoxClass:r,textBoxPlaceholder:a,textBoxTitle:s,onBlurTextBox:c,onClickTextBox:m,onFocusTextBox:u,onInput:d,onKeyDownTextBox:f,onKeyUpTextBox:g,onMouseDownTextBox:p,onTextBoxValueChange:y}=t,T=l.ref(n.id),{uuid:S}=X.useGuid(),C=l.computed(()=>({}));l.onMounted(()=>{var h,b;n.selectOnCreated&&((h=i.value)==null||h.select()),n.focusOnCreated&&((b=i.value)==null||b.focus({preventScroll:!0})),T.value||(T.value="button-edit_"+S(8)),T.value=T.value+"-textbox"});const F=l.ref(!1),V=h=>{h.preventDefault(),F.value=!0},v=h=>{h.preventDefault(),F.value=!1,d(h)};function w(h){F.value||d(h)}return()=>l.createVNode("input",{id:n.id?n.id+"-textbox":void 0,ref:i,name:"input-group-value",autocomplete:n.autoComplete?"on":"off",class:r.value,style:C.value,disabled:n.disable,maxlength:n.maxLength,minlength:n.minLength,placeholder:a.value,readonly:o.value,tabindex:n.tabIndex,title:s.value,type:n.inputType,value:e.value,onBlur:c,onChange:y,onClick:m,onFocus:u,onInput:w,onKeydown:f,onKeyup:g,onMousedown:p,onCompositionend:v,onCompositionstart:V},null)}function Bi(n,e,t){const i=l.ref(n.separator),o=l.computed(()=>n.readonly||n.disable),{changeTextBoxValue:r,onFocusTextBox:a,onBlurTextBox:s,onClickTextBox:c,textBoxPlaceholder:m}=t,u=l.computed(()=>e.value?e.value.split(i.value).map(p=>({name:p,selectable:!0})):[]);function d(p){r(p.map(y=>y.name).join(i.value),!0)}l.watch(()=>n.separator,p=>{i.value=p});const f=l.ref(!n.disable&&!n.readonly);l.watch([()=>n.disable,()=>n.readonly],([p,y],[T,S])=>{f.value=!p&&!y});function g(p){c(p)}return()=>l.createVNode(yn,{tabindex:n.tabIndex,onFocus:a,onBlur:s,id:`${n.id}-tag-editor`,class:"form-control",placeholder:m.value,data:u.value,showClose:!o.value,showInput:!0,disable:o.value,onChange:d,onClick:g},null)}function Oi(n,e,t,i){const{buttonGroupClass:o,onClickButton:r,onMouseEnterButton:a,onMouseLeaveButton:s}=t,{enableClearButton:c,showClearButton:m,onClearValue:u}=i,d=l.ref(),f=ze.debounce(p=>{r(p)},n.buttonBehavior==="Modal"?0:200),g=()=>{e.emit("beforeClearValue")};return{renderButtonGroup:()=>l.createVNode("div",{id:n.id?`${n.id}-button-group`:void 0,class:o.value},[c.value&&l.withDirectives(l.createVNode("span",{class:"input-group-text input-group-clear",onClick:u,onMousedown:g},[l.createVNode("i",{class:"f-icon modal_close"},null)]),[[l.vShow,m.value]]),e.slots.buttonContent?l.createVNode("span",{class:"input-group-text input-group-append-button",onClick:f,onMouseenter:a,onMouseleave:s},[e.slots.buttonContent()]):n.buttonContent?l.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:n.buttonContent,ref:d,onClick:p=>f(p),onMouseenter:a,onMouseleave:s},null):null]),buttonHandleElement:d}}function Ri(n,e,t){const i=l.ref(n.popupMinWidth),{hidePopup:o,popoverRef:r}=t,a=()=>{e.emit("shown")};return()=>l.createVNode(pn,{id:`${n.id}-popover`,ref:r,placement:n.placement,host:n.popupHost,"keep-width-with-reference":n.keepWidthWithReference,fitContent:!0,"right-boundary":n.popupRightBoundary,minWidth:i.value,class:n.popupClass,offsetX:n.popupOffsetX,onHidden:o,onShown:a,beforeClose:n.beforeClosePopup,limitContentBySpace:n.limitContentBySpace},{default:()=>{var s,c;return[(c=(s=e.slots).default)==null?void 0:c.call(s)]}})}const Hi=l.defineComponent({name:"FButtonEdit",props:gi,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue","beforeClearValue"],setup(n,e){const t=l.ref(),i=l.ref(n.customClass),o=l.ref(n.modelValue),r=Pi(n,e,t,o),{shouldPopupContent:a,hidePopup:s,showPopup:c,togglePopup:m}=r,u=Ii(n,e,t,r,o),d=l.ref(""),f=Ei(n,e,o,d,r),{hasFocusedTextBox:g,commitValue:p,inputGroupClass:y}=f,T=ki(n,e,o,g,d,f),{onMouseEnterTextBox:S,onMouseLeaveTextBox:C}=T,F=l.ref(!1),V=l.computed(()=>{const x={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!n.wrapText};return i.value&&i.value.split(" ").reduce((G,k)=>(G[k]=!0,G),x),x}),v=l.computed(()=>({overflow:n.wrapText?"hidden":""})),w=l.computed(()=>({}));function h(){if(!n.multiSelect||n.inputType!=="tag"||!t.value)return 0;let x=0;const G=Array.from(t.value.querySelectorAll(".farris-tag-item"));return G&&G.length&&(x=G.map(k=>k.offsetTop).filter(k=>k>20).length),x}const b=l.ref(h());l.onUpdated(()=>{b.value=h()});function M(){return n.multiSelect&&n.inputType==="tag"?()=>l.createVNode(l.Fragment,null,[Bi(n,o,f)(),!!b.value&&l.createVNode("div",{class:"d-flex flex-row mr-2 more-tags","more-tags":!0},[l.createVNode("span",{class:"multi--more-text"},[l.createTextVNode("+"),b.value])])]):Ni(n,o,f)}let B=M();l.watch([()=>n.multiSelect,()=>n.inputType],()=>{B=M()});const{renderButtonGroup:P,buttonHandleElement:E}=Oi(n,e,u,T),N=Ri(n,e,r),I=l.ref(a.value),_={displayText:d,commitValue:p,elementRef:t,hidePopup:s,showPopup:c,popoverRef:r.popoverRef,shouldPopupContent:a,togglePopup:m,openDialog:()=>{E.value&&n.buttonBehavior==="Modal"&&E.value.click()},getModal:()=>{var x;return n.buttonBehavior==="Modal"?(x=u.modalRef.value)==null?void 0:x.value:null},getTextbox:()=>{var x;return(x=t.value)==null?void 0:x.querySelector("input")},forceClosePopup:()=>{I.value=!1,F.value=!0,a.value=!1}};return l.onMounted(()=>{t.value.componentInstance=_,window.onresize=()=>{document.body.click()}}),l.onBeforeUnmount(()=>{var x;window.onresize=null,(x=window[nt])==null||x.delete(t.value)}),e.expose(_),l.watch(()=>a.value,async(x,G)=>{if(F.value){I.value=x,F.value=!1;return}if(!x&&n.beforeClosePopup&&typeof n.beforeClosePopup=="function"){try{const k=await n.beforeClosePopup();I.value=!k,(!k||n.readonly)&&(a.value=!0)}catch(k){console.error("Error in beforeClosePopup:",k),I.value=G,a.value=G}return}I.value=x}),()=>{var x,G;return l.createVNode(l.Fragment,null,[l.createVNode("div",l.mergeProps(e.attrs,{ref:t,class:V.value,id:n.id?n.id:void 0,style:v.value}),[l.createVNode("div",{id:n.id?`${n.id}-input-group`:void 0,class:y.value,style:w.value,onMouseenter:S,onMouseleave:C},[(G=(x=e.slots).precontent)==null?void 0:G.call(x),B(),P()])]),I.value&&N()])}}}),mt=new Map([["appearance",Ge.resolveAppearance],["column","columnOption"],["command","commandOption"]]),zt=new Map([]),Ai="root-viewmodel";class Li{constructor(e,t){ie(this,"formSchemaUtils");ie(this,"controlCreatorUtils");ie(this,"designViewModelUtils");ie(this,"useFormCommand");ie(this,"formStateMachineUtils");this.resolver=e,this.designerHostService=t,this.formSchemaUtils=this.designerHostService.formSchemaUtils,this.controlCreatorUtils=this.designerHostService.controlCreatorUtils,this.designViewModelUtils=this.designerHostService.designViewModelUtils,this.useFormCommand=this.designerHostService.useFormCommand,this.formStateMachineUtils=this.designerHostService.formStateMachineUtils}createComponent(e){const t=this.createComponentRefNode(e),i=this.createComponentNode(e),o=this.createViewModeNode(e),r=this.formSchemaUtils.getFormSchema();return r.module.viewmodels.push(o),r.module.components.push(i),this.designViewModelUtils.assembleDesignViewModel(),this.wrapContainerSectionForComponent(t,e,o)}wrapContainerSectionForComponent(e,t,i){var c,m,u,d,f,g,p,y,T,S,C;const o=(m=(c=t==null?void 0:t.parentComponentInstance)==null?void 0:c.schema)==null?void 0:m.type,r=(f=(d=(u=t==null?void 0:t.parentComponentInstance)==null?void 0:u.schema)==null?void 0:d.appearance)==null?void 0:f.class,a=(p=(g=this.formSchemaUtils.getFormSchema())==null?void 0:g.module)==null?void 0:p.templateId;if(o===j.DgControl["splitter-pane"].type&&(r!=null&&r.includes("f-page-content-main"))&&["double-list-template","tree-list-template"].includes(a))return e;const s=[j.DgControl["content-container"].type,j.DgControl["response-layout-item"].type,j.DgControl["splitter-pane"].type,j.DgControl.drawer.type];if(o&&s.includes(o)){const F=this.resolver.getSchemaByType("section",{parentComponentInstance:t.parentComponentInstance,mainTitle:t.componentName},this.designerHostService);if(F&&F.contents&&F.contents.length){const V=F.contents[0];return V.contents=[e],this.appendAddDeleteBtnToParentContainer(V,t,i),F}}return this.appendAddDeleteBtnToParentContainer((y=t==null?void 0:t.parentComponentInstance)==null?void 0:y.schema,t,i),o===j.DgControl["tab-page"].type&&(T=t.parentComponentInstance)!=null&&T.parent&&(S=t.parentComponentInstance)!=null&&S.parent.updateToolbarItems&&((C=t.parentComponentInstance)==null||C.parent.updateToolbarItems()),e}appendAddDeleteBtnToParentContainer(e,t,i){const o=e.type,r=i.id.replace(/-/g,"").replace(/_/g,"").replace("component","").replace("viewmodel","");if(t.bindTo==="/"||t.componentType!=="data-grid"&&t.componentType!=="form")return;const a=this.formStateMachineUtils&&this.formStateMachineUtils.getRenderStates(),s=j.DgControl["tab-page"].type===o?"tab-toolbar-item":"section-toolbar-item",c=this.resolver.getSchemaByType(s),m=[Object.assign({},c,{id:`button-add-${t.componentId}`,type:s,text:"新增",disabled:a.find(u=>u.id==="canAddDetail")?{type:"StateMachine",status:!1,field:"canAddDetail"}:!1,onClick:`root-viewModel.${i.id}.${r}AddItem1`}),Object.assign({},c,{id:`button-remove-${t.componentId}`,type:s,text:"删除",disabled:a.find(u=>u.id==="canRemoveDetail")?{type:"StateMachine",status:!1,field:"canRemoveDetail"}:!1,onClick:`root-viewModel.${i.id}.${r}RemoveItem1`})];e.toolbar||(e.toolbar={id:`${e.id}_toolbar`,type:j.DgControl["tab-page"].type===o?"tab-toolbar":"section-toolbar",buttons:[]}),e.toolbar.id||(e.toolbar.id=`${e.id}_toolbar`),e.toolbar.type||(e.toolbar.type=j.DgControl["tab-page"].type===o?"tab-toolbar":"section-toolbar"),e.toolbar.buttons||(e.toolbar.buttons=[]),e.toolbar.buttons=e.toolbar.buttons.concat(m),this.appendAddAndDeleteCommands(i),this.useFormCommand&&this.useFormCommand.checkCommands()}appendAddAndDeleteCommands(e){var u;const t=e.id.replace(/-/g,"").replace(/_/g,"").replace("component","").replace("viewmodel",""),i=X.useGuid().guid(),o=X.useGuid().guid(),r=this.resolveCommandController(),a={id:i,code:`${t}AddItem1`,name:"增加一条子表数据",params:[],handlerName:"AddItem",cmpId:r,shortcut:{},extensions:[]},s={id:o,code:`${t}RemoveItem1`,name:"删除一条子表数据",params:[{name:"id",shownName:"待删除子表数据的标识",value:`{DATA~${e.bindTo}/id}`}],handlerName:"RemoveItem",cmpId:r,shortcut:{},extensions:[]};(u=this.designerHostService.designerContext)!=null&&u.appendIdentifyForNewCommand&&(this.designerHostService.designerContext.appendIdentifyForNewCommand(a),this.designerHostService.designerContext.appendIdentifyForNewCommand(s)),e.commands.push(a,s),this.formSchemaUtils.getFormSchema().module.webcmds.find(d=>d.id===r).refedHandlers.push({host:i,handler:"AddItem"},{host:o,handler:"RemoveItem"})}resolveCommandController(){const e=this.formSchemaUtils.getFormSchema().module.webcmds,t=["8172a979-2c80-4637-ace7-b13074d3f393","8fe977a1-2b32-4f0f-a6b3-2657c4d03574","45be24f9-c1f7-44f7-b447-fe2ada458a61"],i=e.find(r=>t.includes(r.id));if(i)return i.id;const o="45be24f9-c1f7-44f7-b447-fe2ada458a61";return e.push({id:o,path:"/projects/packages/Inspur.GS.Gsp.Web.WebCmp/webcmd",name:"AdvancedListCardController.webcmd",refedHandlers:[]}),o}createComponentRefNode(e){const t=this.resolver.getSchemaByType("component-ref");return Object.assign(t,{id:`${e.componentId}-component-ref`,component:`${e.componentId}-component`}),t}createComponentNode(e){const t=this.resolver.getSchemaByType("component"),i=this.createDateGridComponentContents(e);return Object.assign(t,{id:`${e.componentId}-component`,viewModel:`${e.componentId}-component-viewmodel`,componentType:e.componentType,appearance:{class:this.getDataGridComponentClass(e)},contents:i}),t}createViewModeNode(e){return{id:`${e.componentId}-component-viewmodel`,code:`${e.componentId}-component-viewmodel`,name:e.componentName,bindTo:e.bindTo,parent:Ai,fields:this.assembleViewModelFields(e),commands:[],states:[],enableValidation:!0}}getDataGridComponentClass(e){var r,a,s,c;const{templateId:t}=this.formSchemaUtils.getFormSchema().module,i=(r=e.parentComponentInstance)==null?void 0:r.schema,o=(a=i==null?void 0:i.appearance)==null?void 0:a.class;if(t==="double-list-in-tab-template"&&(i==null?void 0:i.type)==="tab-page"){const m=((s=e.parentComponentInstance)==null?void 0:s.parent)&&((c=e.parentComponentInstance)==null?void 0:c.parent.schema);if((m==null?void 0:m.type)==="tabs"&&(m==null?void 0:m.fill)===!0)return"f-struct-wrapper f-utils-fill-flex-column"}return["double-list-template","tree-list-template"].includes(t)&&(o!=null&&o.includes("f-page-content-main"))?"f-struct-wrapper f-utils-fill-flex-column":"f-struct-is-subgrid"}createDateGridComponentContents(e){var f,g,p,y,T;const t=(f=e.parentComponentInstance)==null?void 0:f.schema,i=(p=(g=t==null?void 0:t.schema)==null?void 0:g.appearance)==null?void 0:p.class,{templateId:o}=this.formSchemaUtils.getFormSchema().module;let r,a=!1;if(o==="double-list-in-tab-template"&&(t==null?void 0:t.type)==="tab-page"){const S=((y=e.parentComponentInstance)==null?void 0:y.parent)&&((T=e.parentComponentInstance)==null?void 0:T.parent.schema);(S==null?void 0:S.type)==="tabs"&&(S==null?void 0:S.fill)===!0&&(a=!0)}if(a){const S=this.resolver.getSchemaByType("section");Object.assign(S,{id:e.componentId+"-section",appearance:{class:"f-section-grid f-section-in-main px-0 pt-0"},fill:!0,showHeader:!1}),r=S}else if((o==="double-list-template"||o==="tree-list-template")&&(i!=null&&i.includes("f-page-content-main"))){const S=this.resolver.getSchemaByType("section");Object.assign(S,{id:e.componentId+"-section",appearance:{class:"f-section-grid f-section-in-main"},fill:!0,showHeader:!1}),r=S}else{const S=this.resolver.getSchemaByType("content-container");Object.assign(S,{id:e.componentId+"-container",appearance:{class:"f-grid-is-sub f-utils-flex-column"}}),r=S}const s=this.resolver.getSchemaByType("data-grid"),c=[],m=this.formStateMachineUtils&&this.formStateMachineUtils.getRenderStates(),u=e.editable&&m.length>0&&m.findIndex(S=>S.id==="editable")>-1;Object.assign(s,{id:e.componentId+"-dataGrid",appearance:{class:"f-component-grid"},columns:c,fieldEditable:u,dataSource:e.dataSource||"",editable:u?{type:"StateMachine",status:!0,field:"editable"}:!1,pagination:{enable:!e.editable}}),r.contents=[s];const{selectedFields:d}=e;return d==null||d.forEach(S=>{if(S.$type===X.FormSchemaEntityField$Type.ComplexField)return;const C=ze.cloneDeep(S),F=this.controlCreatorUtils.setGridFieldProperty("data-grid-column",C,"",u);F&&c.push(F)}),[r]}assembleViewModelFields(e){const t=[],{selectedFields:i}=e;return i==null||i.forEach(o=>{if(o.$type===X.FormSchemaEntityField$Type.ComplexField)return;let r="blur";const a=o.type.name;(a===X.FormSchemaEntityFieldTypeName.Enum||a===X.FormSchemaEntityFieldTypeName.Boolean)&&(r="change"),t.push({type:"Form",id:o.id,fieldName:o.bindingField,groupId:null,groupName:null,updateOn:r,fieldSchema:{}})}),t}}function pt(n,e,t,i){var r,a,s,c,m,u,d;const o=t.parentComponentInstance;if(o&&i){const f=Math.random().toString(36).slice(2,6),g={componentId:`data-grid-${f}`,componentName:((r=t.bindingSourceContext)==null?void 0:r.entityTitle)||((s=(a=t.bindingSourceContext)==null?void 0:a.bindingEntity)==null?void 0:s.name)||`表格-${f}`,componentType:"data-grid",parentContainerId:o.schema.id,parentComponentInstance:o,editable:!0,bindTo:((c=t.bindingSourceContext)==null?void 0:c.bindTo)||"",dataSource:(u=(m=t.bindingSourceContext)==null?void 0:m.bindingEntity)==null?void 0:u.label,selectedFields:(d=t.bindingSourceContext)==null?void 0:d.bindingEntityFields};return new Li(n,i).createComponent(g)}else return e}function Gt(n,e,t){return e}const Ut={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/grid-field-editor.schema.json",title:"grid-field-editor",description:"A Farris Data Grid Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"grid-field-editor"},viewModelId:{description:"",type:"string",default:""},gridData:{description:"",type:"object",default:null}},required:["id","type"]},wt={modelValue:{type:String,default:""},viewModelId:{Type:String,default:""},gridData:{Type:Object,default:null},gridType:{Type:String,default:"data-grid-column"},getLatestGridData:{Type:Function}};Ge.createPropsResolver(wt,Ut,mt,pt);const $i=Ge.getPropsResolverGenerator(wt,Ut,mt,pt),ji={dataSource:{type:Array,default:[]},displayType:{type:String,default:"List"},enableSearch:{type:Boolean,default:!0},identifyField:{type:String,default:"id"},textField:{type:String,default:"name"},placeholder:{type:String,default:""},selections:{type:Array,default:[]},selectionValues:{type:Array,default:[]},virtualized:{type:Boolean,default:!1},rowOption:{type:Object},columns:{type:Array,default:[{field:"name",title:"",dataType:"string",width:"100%"}]},checkBeforeRemoveItem:{type:Function,default:null},selectedItemClass:{Type:[String,Function],default:"draggable-item--text-truncate",validator:n=>typeof n=="string"||typeof n=="function"}},Wi={columns:{type:Array,default:[{field:"name",title:"",dataType:"string"}]},customClass:{type:String,default:""},data:{type:Array,default:[]},draggable:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},multiSelectMode:{type:String,default:"OnCheck"},idField:{type:String,default:"id"},valueField:{type:String,default:"id"},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},view:{type:String,default:"ContentView"},size:{type:String,default:"default"},placeholder:{type:String,default:""},header:{type:String,default:"ContentHeader"},headerClass:{type:String,default:""},itemClass:{type:[String,Function],default:"",validator:n=>typeof n=="string"||typeof n=="function"},itemStyle:{type:[String,Function],default:"",validator:n=>typeof n=="string"||typeof n=="function"},itemContentClass:{type:String,default:""},selectionValues:{type:Array,default:[]},group:{type:Object},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!0}},keepOrder:{type:Boolean,default:!1},disableField:{type:String,default:"disabled"},enableHighlightSearch:{type:Boolean,default:!0},virtualized:{type:Boolean,default:!0},checkBeforeRemoveItem:{type:Function,default:null},headerTemplate:{type:Object},contentTemplate:{type:Object},footerTemplate:{type:Object},emptyTemplate:{type:Object},pagination:{type:Object,default:{enable:!1,size:20}}};function zi(n,e){function t(r){const a=[];let s=r.nextNode();for(;s;)a.push(s),s=r.nextNode();return a}function i(r,a){const s=document.createTreeWalker(r,NodeFilter.SHOW_TEXT);return t(s).map(d=>({textNode:d,text:(d.textContent||"").toLocaleLowerCase()})).map(({textNode:d,text:f})=>{const g=[];let p=0;for(;p<f.length;){const y=f.indexOf(a,p);if(y===-1)break;g.push(y),p=y+a.length}return g.map(y=>{const T=new Range;return T.setStart(d,y),T.setEnd(d,y+a.length),T})}).flat()}function o(r){if(!CSS.highlights||(CSS.highlights.clear(),!r||!e))return;const a=i(e.value,r.toLocaleLowerCase()),s=new Highlight(...a);CSS.highlights.set("search-result",s)}return{search:o}}function Dt(n,e,t,i,o,r,a,s,c,m){const u=l.ref(n.size),d=l.ref(n.textField),f=l.ref(n.titleField),g=l.ref(n.disableField),p=l.computed(()=>{var M,B;return((M=n.selection)==null?void 0:M.multiSelect)&&((B=n.selection)==null?void 0:B.showCheckbox)}),{onMouseenterItem:y,onMouseoverItem:T,onMouseoutItem:S}=r,{getKey:C,listViewItemClass:F,listViewItemStyle:V,onCheckItem:v,onClickItem:w}=a,h=l.computed(()=>{const M={"text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"};return n.itemClass?M:{margin:u.value==="small"?"0.25rem 0":"8px 0",...M}});function b(M,B,P){return M.checked=s.findIndexInSelectedItems(M)>-1,l.createVNode("li",{class:F(M,B),id:C(M,B),key:C(M,B),style:V(M,B),onClick:E=>w(M,B,E),onMouseenter:E=>y(E,M,B),onMouseover:E=>T(E,M,B),onMouseout:E=>S(E,M,B)},[p.value&&l.createVNode("div",{class:"f-list-select",onClick:E=>E.stopPropagation()},[l.createVNode(bt.FCheckbox,{id:"list-"+C(M,B),customClass:"listview-checkbox float-left",disabled:M[g.value],checked:M.checked,"onUpdate:checked":E=>M.checked=E,onChange:E=>{v(M,B,!E.checked)}},null)]),l.createVNode("div",{class:"f-list-content"},[l.createVNode("div",{class:n.itemContentClass,style:h.value,title:M.raw[f.value]||M.raw[d.value]},[M.raw[d.value]])])])}return{renderItem:b}}function Gi(n,e,t,i,o,r,a,s,c,m){const u=l.ref(n.multiSelect),d=l.ref(n.disableField),f=l.ref(n.textField),{onMouseenterItem:g,onMouseoverItem:p,onMouseoutItem:y}=r,{getKey:T,listViewItemClass:S,listViewItemStyle:C,onCheckItem:F,onClickItem:V,updateSelectedItems:v}=a;function w(b,M,B){return n.contentTemplate?l.createVNode(l.Fragment,null,[n.contentTemplate({item:b.raw,index:M,selectedItem:B})]):e.slots.content?l.createVNode(l.Fragment,null,[e.slots.content&&e.slots.content({item:b.raw,index:M,selectedItem:B})]):l.createVNode("div",{style:"margin: 10px 0;"},[b.raw[f.value||"name"]])}function h(b,M,B){return l.createVNode("li",{class:S(b,M),id:T(b,M),key:T(b,M),style:C(b,M),onClick:P=>V(b,M,P),onMouseenter:P=>g(P,b,M),onMouseover:P=>p(P,b,M),onMouseout:P=>y(P,b,M)},[u.value&&l.createVNode("div",{class:"f-list-select",onClick:P=>P.stopPropagation()},[l.createVNode(bt.FCheckbox,{id:"list-"+T(b,M),customClass:"listview-checkbox",disabled:b[d.value],checked:b.checked,"onUpdate:checked":P=>b.checked=P,onChange:P=>{F(b,M,!P.checked),v()}},null)]),l.createVNode("div",{class:"f-list-content"},[w(b,M,B)])])}return{renderItem:h}}function Ui(n,e,t,i,o,r,a,s,c,m){const u=l.ref(n.multiSelect),d=l.ref(n.disableField),f=l.ref(n.textField),{onMouseenterItem:g,onMouseoverItem:p,onMouseoutItem:y}=r,{getKey:T,listViewItemClass:S,onCheckItem:C,onClickItem:F}=a,{dragstart:V,dragenter:v,dragover:w,dragend:h}=i,{removeItem:b}=c,M=l.computed(()=>({margin:u.value?"10px 0":"10px 0px 10px 14px"}));function B(_,x=""){const G=_.target;G.title=G.scrollWidth>G.clientWidth?x:""}function P(_){return l.createVNode("div",{style:M.value,onMouseenter:x=>B(x,_.raw[f.value||"name"])},[_.raw[f.value||"name"]])}function E(){return e.slots.itemContent?e.slots.itemContent:P}const N=E();function I(_,x,G){return l.createVNode("li",{class:S(_,x),id:T(_,x),key:T(_,x),onClick:k=>F(_,x,k),onMouseenter:k=>g(k,_,x),onMouseover:k=>p(k,_,x),onMouseout:k=>y(k,_,x),draggable:"true",onDragstart:k=>V(k,_,x),onDragenter:k=>v(k,x),onDragend:k=>h(k,_),onDragover:k=>w(k)},[u.value&&l.createVNode("div",{class:"f-list-select",onClick:k=>k.stopPropagation()},[l.createVNode(bt.FCheckbox,{id:"list-"+T(_,x),customClass:"listview-checkbox",disabled:_[d.value]||!_.checked,checked:_.checked,"onUpdate:checked":k=>_.checked=k,onChange:k=>C(_,x,!k.checked)},null)]),l.createVNode("div",{class:"f-list-content"},[N(_)]),l.createVNode("div",{class:"f-list-remove",onClick:k=>{k.stopPropagation(),b(x)}},[l.createVNode("div",{class:"f-list-remove-icon"},[l.createVNode("i",{class:"f-icon f-icon-remove_face"},null)])]),l.createVNode("div",{class:"f-list-handle"},[l.createVNode("div",null,[l.createVNode("i",{class:"f-icon f-icon-drag-vertical"},null)])])])}return{renderItem:I}}function Di(n,e,t,i,o,r,a,s,c,m){var T;const u=l.ref(((T=n.group)==null?void 0:T.groupFields)||[]),{collpaseGroupIconClass:d}=o,{toggleGroupRow:f}=m;function g(S,C){C.collapse=!C.collapse,t.value=f(C.collapse?"collapse":"expand",C,t.value)}function p(S,C,F){return e.slots.group?l.createVNode(l.Fragment,null,[e.slots.content&&e.slots.group({item:S.raw,index:C,selectedItem:F})]):l.createVNode("div",{class:"f-navlookup-recentHeader",onClick:V=>g(V,S)},[l.createVNode("div",{class:"fv-grid-group-row-icon"},[l.createVNode("span",{class:d(S)},null)]),l.createVNode("div",{class:"f-navlookup-recommandLabel"},[S.raw[u.value[S.layer]]])])}function y(S,C,F){return S.layer>-1&&p(S,C,F)}return{renderItem:y}}function qi(n,e,t,i){const{dataView:o}=t,{updateSelectedItems:r}=i;function a(s){if(s>-1&&s<o.value.length){if(n!=null&&n.checkBeforeRemoveItem&&!n.checkBeforeRemoveItem(o.value[s]))return;const c=o.value.splice(s,1);r(),e.emit("removeItem",c[0])}}return{removeItem:a}}function Yi(n,e,t,i,o,r,a,s,c,m){const u=l.ref(n.view),d=l.ref(n.view==="CardView"),f=l.ref({}),g=qi(n,e,i,c),p=l.computed(()=>({"f-list-view-group":!0,"f-list-view-group-multiselect":n.multiSelect,"d-flex":d.value,"flex-wrap":d.value})),y=l.computed(()=>!!t.value&&t.value.length>0),T=l.computed(()=>t.value.length===0);l.computed(()=>T.value&&!e.slots.empty);function S(){return u.value==="SingleView"?Dt:u.value==="DraggableView"?Ui:(u.value==="ContentView"||u.value==="CardView")&&(n.contentTemplate||e.slots.content)?Gi:Dt}const C=S(),{renderItem:F}=C(n,e,t,m,o,r,c,a,g,s),{renderItem:V}=Di(n,e,t,m,o,r,c,a,g,s),v=[F,V];function w(){return t.value.filter(M=>M.visible!==!1).map((M,B)=>v[M.type](M,B,f))}function h(){return l.createVNode("div",{class:"f-list-view-emptydata",style:"margin: 0 auto;"},[l.createVNode("p",{class:"f-empty-title"},[n.emptyTemplate?n.emptyTemplate():e.slots.empty?e.slots.empty():Ae.LocaleService.getLocaleValue("listView.emptyMessage")])])}function b(){return l.createVNode("ul",{class:p.value,style:"list-style: none;"},[y.value&&w(),T.value&&h()])}return{renderListArea:b}}function Xi(n,e,t){function i(){return e.slots.header&&l.createVNode("div",{class:"f-list-view-header"},[e.slots.header()])}return{renderHeader:i}}function qt(n,e,t){const i=l.ref(n.headerClass),o=l.ref(n.placeholder),r=l.ref(""),a=l.computed(()=>!r.value),s=l.computed(()=>!!r.value);function c(f){r.value=""}l.watch(r,f=>{n.enableHighlightSearch&&t.search(f),e.emit("afterSearch",f)});const m=l.computed(()=>{const f={"form-group":!0,"farris-form-group":!0};return i.value&&i.value.split(" ").reduce((p,y)=>(p[y]=!0,p),f),f});function u(f){}function d(){return l.createVNode("div",{class:"f-list-view-header",onClick:l.withModifiers(()=>u,["prevent","stop"])},[l.createVNode("div",{class:m.value},[l.createVNode("div",{class:"farris-input-wrap"},[l.createVNode("div",{class:"f-cmp-inputgroup"},[l.createVNode("div",{class:"input-group f-state-editable"},[l.withDirectives(l.createVNode("input",{class:"form-control f-utils-fill text-left","onUpdate:modelValue":f=>r.value=f,name:"input-group-value",type:"text",placeholder:o.value,autocomplete:"off"},null),[[l.vModelText,r.value]]),l.createVNode("div",{class:"input-group-append"},[s.value&&l.createVNode("span",{class:"input-group-text input-group-clear",onClick:f=>c()},[l.createVNode("i",{class:"f-icon f-icon-close-circle"},null)]),a.value&&l.createVNode("span",{class:"input-group-text"},[l.createVNode("span",{class:"f-icon f-icon-search"},null)])])])])])])])}return{renderHeader:d}}function Zi(){const n=l.ref(""),e=l.ref(-1),t=l.ref(""),i=l.ref(-1),o=l.ref(!1);function r(d,f,g){i.value=g}function a(d,f,g){o.value||(i.value=g)}function s(d,f,g){i.value=-1}function c(){o.value=!0}function m(){o.value=!1}function u(){e.value=-1,n.value=""}return{activeIndex:e,focusedItemId:t,hoverIndex:i,clearActiveItem:u,onMouseenterItem:r,onMouseoverItem:a,onMouseoutItem:s,resumeHover:m,suspendHover:c}}function Ji(n,e,t,i){const o=l.ref(n.idField),{dataView:r}=t,a=l.ref(-1),s=l.ref(!1),{activeIndex:c,focusedItemId:m,hoverIndex:u,resumeHover:d,suspendHover:f}=i;let g,p=0,y=0;function T(w,h){const b=w-p,M=h-y;g.style.left=parseInt(g.style.left)+b+"px",g.style.top=parseInt(g.style.top)+M+"px",p=w,y=h}function S(w){const{left:h,top:b}=w.getBoundingClientRect(),M=w.cloneNode(!0);return M.className=M.className+" f-listview-drag-moving",M.style.cssText=`
1
+ (function(re,X){typeof exports=="object"&&typeof module<"u"?X(exports,require("../../components/common/index.umd.js"),require("../../components/data-grid/index.umd.js"),require("../../components/dynamic-resolver/index.umd.js"),require("vue"),require("@vueuse/core"),require("../../components/checkbox/index.umd.js"),require("../../components/popover/index.umd.js"),require("../../components/locale/index.umd.js"),require("../../components/modal/index.umd.js"),require("lodash-es"),require("../../components/transfer/index.umd.js"),require("../../components/tabs/index.umd.js"),require("../../components/pagination/index.umd.js"),require("../../components/data-view/index.umd.js"),require("../../components/button/index.umd.js"),require("../../components/button-group/index.umd.js"),require("../../components/list-view/index.umd.js"),require("../../components/date-picker/index.umd.js"),require("../../components/number-spinner/index.umd.js"),require("../../components/search-box/index.umd.js"),require("../../components/notify/index.umd.js"),require("../../components/condition/index.umd.js"),require("../../components/dynamic-form/index.umd.js"),require("../../components/designer-canvas/index.umd.js"),require("../data-view/index.umd.js"),require("../../components/property-panel/index.umd.js"),require("../../components/tags/index.umd.js"),require("../../components/tree-view/index.umd.js"),require("../../components/field-selector/index.umd.js"),require("../dynamic-form/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","../../components/common/index.umd.js","../../components/data-grid/index.umd.js","../../components/dynamic-resolver/index.umd.js","vue","@vueuse/core","../../components/checkbox/index.umd.js","../../components/popover/index.umd.js","../../components/locale/index.umd.js","../../components/modal/index.umd.js","lodash-es","../../components/transfer/index.umd.js","../../components/tabs/index.umd.js","../../components/pagination/index.umd.js","../../components/data-view/index.umd.js","../../components/button/index.umd.js","../../components/button-group/index.umd.js","../../components/list-view/index.umd.js","../../components/date-picker/index.umd.js","../../components/number-spinner/index.umd.js","../../components/search-box/index.umd.js","../../components/notify/index.umd.js","../../components/condition/index.umd.js","../../components/dynamic-form/index.umd.js","../../components/designer-canvas/index.umd.js","../data-view/index.umd.js","../../components/property-panel/index.umd.js","../../components/tags/index.umd.js","../../components/tree-view/index.umd.js","../../components/field-selector/index.umd.js","../dynamic-form/index.umd.js"],X):(re=typeof globalThis<"u"?globalThis:re||self,X(re["data-grid"]={},re.common,re.FDataGrid,re.dynamicResolver,re.Vue,re.VueUseCore,re.checkbox,re.FPopover,re.locale,null,re.LodashES,null,null,null,re.dataView,re.FButton,re.FButtonGroup,null,null,null,null,re.notify,re.condition,re.dynamicForm,re.designerCanvas,re.designer$1,re.propertyPanel,re.FTags,re.FTreeView,re.fieldSelector))})(this,function(re,X,Je,Ge,l,mn,Ct,pn,Ae,nl,ze,il,ol,ll,ke,Bt,hn,rl,al,sl,dl,wt,de,gn,j,je,Le,yn,vn,ut){"use strict";var el=Object.defineProperty;var tl=(re,X,Je)=>X in re?el(re,X,{enumerable:!0,configurable:!0,writable:!0,value:Je}):re[X]=Je;var ie=(re,X,Je)=>tl(re,typeof X!="symbol"?X+"":X,Je);const bn={customClass:{type:String,default:""},appendOnEnterAtLastCell:{type:Boolean,default:!1},beforeEditCell:{type:Function,default:n=>!0},beforeEndEditCell:{type:Function,default:()=>!0},columns:{type:Array,default:[]},columnOption:{type:Object},commandOption:{type:Object,default:{enable:!1,commands:[],halign:"center"}},data:{type:Array,default:[]},disabled:{type:Boolean,default:!1},disabledField:{type:String,default:"disabled"},editable:{type:Boolean,default:!1},editOption:{type:Object,default:{selectOnEditing:!1,editMode:"cell"}},enableCommands:{type:Boolean,default:!1},enableFilter:{type:Boolean,default:!1},filter:{type:Object},fit:{type:Boolean,default:!1},focusOnEditingCell:{type:Boolean,default:!0},group:{type:Object},header:{type:Object},height:{type:Number,default:-1},id:{type:String,default:""},idField:{type:String,default:"id",require:!0},loading:{type:Boolean,default:!1},mergeCell:{type:Boolean,default:!1},minHeight:{type:Number,default:300},minWidth:{type:Number,default:400},newDataItem:{type:Function,default:()=>{}},pagination:{type:Object,default:{enable:!1,size:20}},rowNumber:{type:Object,default:{enable:!0,width:36,showEllipsis:!0,heading:"序号"}},rowOption:{type:Object,default:{wrapContent:!1}},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!1,keepSelectingOnClick:!0}},selectionValues:{type:Array,default:[]},selectOnEditingCell:{type:Boolean,default:!1},showBorder:{type:Boolean,default:!1},showFooter:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},showHorizontalLines:{type:Boolean,default:!0},showScrollBar:{type:String,default:"auto"},showSetting:{type:Boolean,default:!1},showStripe:{type:Boolean,default:!0},showVerticallLines:{type:Boolean,default:!1},sort:{type:Object},summary:{type:Object,default:{enable:!1,groupFields:["numericField1","numericField2"]}},virtualized:{type:Boolean,default:!0},width:{type:Number,default:-1},emptyTemplate:{type:Object},beforeUpdate:{type:Function}},Cn=X.excludeProperties(Object.assign({},bn,{disabled:{},editable:{},componentId:{type:String,default:""}}),"columnOption","commandOption");function wn(n,e,t,i,o){const{getGridHeaderCells:r}=o,a=120,s=50,c=l.computed(()=>{var h;return((h=n.rowNumber)==null?void 0:h.enable)||!1}),m=l.computed(()=>{var h,b;return((h=n.selection)==null?void 0:h.multiSelect)||((b=n.selection)==null?void 0:b.showCheckbox)||!1}),u=l.computed(()=>{var h;return 0+(c.value?((h=n.rowNumber)==null?void 0:h.width)||32:0)+(m.value?s:0)}),d=l.computed(()=>{var h;return(h=n.columnOption)==null?void 0:h.fitColumns}),f=l.computed(()=>{var h;return d.value&&((h=n.columnOption)==null?void 0:h.fitMode)||"none"});function g(h,b,M){const B=parseInt(h.width,10)/100;return M*B}function p(h,b,M){return typeof h.width=="string"?g(h,b,M):h.width||a}function y(h,b){const M=[],B=[];let P=0;h.value.primaryColumns.forEach(I=>{typeof I.width=="string"?B.push(I):(I.width=I.width||a,P+=I.width,M.push(I))});const E=b*(M.length/h.value.primaryColumns.length);M.forEach(I=>{const _=E*(I.width/P);I.actualWidth=_,h.value.primaryColumnsWidth+=I.actualWidth});const N=b-E;B.forEach(I=>{const _=g(I,h.value,N);I.actualWidth=_,h.value.primaryColumnsWidth+=I.actualWidth})}function T(h,b){const M=[],B=[],P=new WeakMap;let E=0,N=0;if(h.value.primaryColumns.forEach(_=>{if(typeof _.width=="string"){const x=g(_,h.value,b);P.set(_,x),E+=x,B.push(_)}else _.width=_.width||a,N+=_.width,M.push(_)}),b-E>N){const _=b-E;B.forEach(x=>{x.actualWidth=P.get(x)||a,h.value.primaryColumnsWidth+=x.actualWidth}),M.forEach(x=>{x.actualWidth=_*(x.width/N),h.value.primaryColumnsWidth+=x.actualWidth})}else y(h,b)}function S(h,b){h.value.primaryColumns.forEach(M=>{M.actualWidth=p(M,h.value,b),h.value.primaryColumnsWidth+=M.actualWidth})}const C={expand:T,none:S,percentage:y};function F(h){h.value.leftHeaderColumns=Array.from(r(h.value.leftColumns).values()),h.value.primaryHeaderColumns=Array.from(r(h.value.primaryColumns).values()),h.value.rightHeaderColumns=Array.from(r(h.value.rightColumns).values())}function V(h){h.value.leftColumnsWidth=0,h.value.primaryColumnsWidth=0,h.value.rightColumnsWidth=0,h.value.leftColumns.forEach(b=>{h.value.leftColumnsWidth+=b.actualWidth||0}),h.value.primaryColumns.forEach(b=>{h.value.primaryColumnsWidth+=b.actualWidth||0}),h.value.rightColumns.forEach(b=>{h.value.rightColumnsWidth+=b.actualWidth||0}),h.value=Object.assign({},h.value)}function v(h,b,M){var x;let B=0;const P=h.value.primaryColumns,E=h.value.rightColumns;h.value.rightColumns.forEach(G=>{G.actualWidth=p(G,h.value,b),B+=G.actualWidth});const N=M-B,I=C[f.value];if(I&&I(h,N),h.value.primaryColumnsWidth+B<=M)return h.value.primaryColumns=[...P,...E],h.value.primaryColumnsWidth+=B,h.value.rightColumns=[],h.value.rightColumnsWidth=0,!0;const _=new Map;return _.set("primary",[]),_.set("right",[]),h.value.primaryColumns.reduce((G,k)=>{var $,Y;return k.fixed==="right"?($=G.get("right"))==null||$.push(k):(Y=G.get("primary"))==null||Y.push(k),G},_),(x=_.get("right"))!=null&&x.length&&(h.value.primaryColumns=[..._.get("primary")||[]],h.value.rightColumns=[..._.get("right")||[]]),h.value.primaryColumnsWidth=0,h.value.rightColumnsWidth=0,!1}function w(){if(t.value){e.value.leftColumnsWidth=0,e.value.primaryColumnsWidth=0,e.value.rightColumnsWidth=0;const h=t.value.clientWidth-u.value;e.value.leftColumns.forEach(M=>{M.actualWidth=p(M,e.value,h),e.value.leftColumnsWidth+=M.actualWidth});const b=h-e.value.leftColumnsWidth;if(v(e,h,b))i.value=b;else{e.value.rightColumns.forEach(P=>{P.actualWidth=p(P,e.value,h),e.value.rightColumnsWidth+=P.actualWidth});const M=h-e.value.leftColumnsWidth-e.value.rightColumnsWidth,B=C[f.value];B&&B(e,M),i.value=M}F(e),e.value=Object.assign({},e.value)}}return l.watch(()=>{var h;return(h=n.columnOption)==null?void 0:h.fitColumns},(h,b)=>{h!==b&&h&&w()}),l.watch(f,(h,b)=>{h!==b&&d.value&&w()}),{calculateColumnHeaders:F,calculateColumnsSize:w,calculateColumnsWidth:V}}const Sn="";function Mn(n){const t={defaultColumnWidth:120,headerDepth:1,leftColumns:[],leftColumnsMap:new Map,leftColumnsWidth:0,leftHeaderColumns:[],primaryColumns:[],primaryColumnsMap:new Map,primaryColumnsWidth:0,primaryHeaderColumns:[],rightColumns:[],rightColumnsMap:new Map,rightColumnsWidth:0,rightHeaderColumns:[],summaryColumns:[]},i=l.ref(t);function o(){i.value={defaultColumnWidth:120,headerDepth:1,leftColumns:[],leftColumnsMap:new Map,leftColumnsWidth:0,leftHeaderColumns:[],primaryColumns:[],primaryColumnsMap:new Map,primaryColumnsWidth:0,primaryHeaderColumns:[],rightColumns:[],rightColumnsMap:new Map,rightColumnsWidth:0,rightHeaderColumns:[],summaryColumns:[]}}const r=l.ref(n.summary),a=l.computed(()=>{const v=r.value;return(v==null?void 0:v.groupFields)||[]});function s(){i.value.rightColumns.forEach(h=>{h.showSetting=!1}),i.value.primaryColumns.forEach(h=>{h.showSetting=!1});const v=i.value.rightColumns,w=i.value.primaryColumns;v.length>0?v[v.length-1].showSetting=!0:w.length>0&&(w[w.length-1].showSetting=!0)}function c(v){o();const w=new Map;return a.value&&a.value.reduce((h,b)=>(h.set(b,!0),h),w),v.reduce((h,b)=>(b.filter=b.filter||Sn,b.fixed==="left"?(i.value.leftColumns.push(b),i.value.leftColumnsMap.set(b.field,b),i.value.leftColumnsWidth+=b.actualWidth):b.fixed==="right"?(i.value.rightColumns.push(b),i.value.rightColumnsMap.set(b.field,b),i.value.rightColumnsWidth+=b.actualWidth):(i.value.primaryColumns.push(b),i.value.primaryColumnsMap.set(b.field,b),i.value.primaryColumnsWidth+=b.actualWidth),w.has(b.field)&&i.value.summaryColumns.push(b),h),i),s(),i}c(n.columns);const m=l.computed(()=>i.value.leftColumns.length>0),u=l.computed(()=>i.value.rightColumns.length>0);function d(v,w){return w.sortable&&w.sort&&w.sort!=="none"&&v.push(w),v}function f(v,w){return v.sortOrder=v.sortOrder||0,w.sortOrder=w.sortOrder||0,v.sortOrder===w.sortOrder?0:v.sortOrder<w.sortOrder?-1:1}function g(v,w){return v.sortOrder=v.sortOrder||0,w.sortOrder=w.sortOrder||0,v.sortOrder===w.sortOrder?0:v.sortOrder<w.sortOrder?1:-1}function p(v,w){return w.filterable&&v.push(w),v}function y(){const v=[];return i.value.leftColumns.reduce(p,v),i.value.primaryColumns.reduce(p,v),i.value.rightColumns.reduce(p,v),v}function T(){const v=[];i.value.leftColumns.reduce(d,v),i.value.primaryColumns.reduce(d,v),i.value.rightColumns.reduce(d,v);const w=Math.max(...v.map(h=>h.sortOrder||0));return v.sort(g).map(h=>{const b=h.sortOrder||w+1;return h.sortOrder=b,h}).sort(f).map((h,b)=>{const M=b+1;return h.sortOrder=M,h})}function S(v,w,h){const b=v.map(M=>{const B=h.getSorterByColumn(M),P=M.sort==="asc",E=M.sort==="desc",N=P?B.ascend:E?B.decend:void 0;return{field:M.field,compare:N}});w.setSorters(b)}function C(v,w){const h=T();S(h,v,w)}function F(v){}function V(v){}return{applyColumnSorter:C,collectionFilterableColumns:y,applySortableColumns:S,collectionSortableColumns:T,columnContext:i,hasLeftFixedColumn:m,hasRightFixedColumn:u,updateColumnRenderContext:c,updateColumnSettingIcon:s,sortFromServer:F,createSortConditions:V}}function Fn(n,e,t,i,o,r,a,s){const c=l.ref(i.value-1+o),m=l.ref(0),{renderDataRow:u}=r,d=a?a.renderGroupRow:u,f=s?s.renderSummaryRow:u;function g(T){let S=u;return T.__fv_data_grid_group_row__&&(S=d),T.__fv_data_grid_group_summary__&&(S=f),S}function p(T,S,C,F){const{dataView:V}=t,v=[];if(V.value.length>0){const w=F?Date.now().toString():"";let h=T,b=0;const M=S-T+1;for(;v.length<M&&h<V.value.length;){const B=V.value[h],P=V.value[h-1]||C,E=v[b-1],N=P?(P.__fv_data_position__||0)+(P.__fv_data_height__||0):0,_=g(B)(B,P,E,h,N,e.value,v);_.refreshKey=w,v.push(_),b++,h++}}return m.value=v.length>0?v[0].index:0,c.value=v.length>0?v[v.length-1].index:0,v}function y(T,S,C){const F=S.groupField||"",{groupValue:V,raw:v}=S;t[T](F,V,v.groupParents||[]);const{dataView:w}=t,h=C[0].index,b=Math.min(h+i.value+o+1,w.value.length-1);return p(h,b)}return{getVisualData:p,maxVisibleRowIndex:c,minVisibleRowIndex:m,toggleGroupRow:y}}var Ne=(n=>(n[n.readonly=0]="readonly",n[n.editable=1]="editable",n[n.editing=2]="editing",n))(Ne||{}),Ue=(n=>(n[n.initial=0]="initial",n[n.editing=1]="editing",n))(Ue||{}),et=(n=>(n[n.data=0]="data",n[n.group=1]="group",n[n.summary=2]="summary",n))(et||{}),Oe=(n=>(n[n.none=0]="none",n[n.filterable=1]="filterable",n[n.sortable=2]="sortable",n[n.filtered=4]="filtered",n[n.sorted=8]="sorted",n[n.ascending=16]="ascending",n[n.descending=32]="descending",n))(Oe||{}),De=(n=>(n.DATE="date",n.DATE_TIME="datetime",n.NUMBER="number",n.ENUM="enum",n.IMAGE="image",n.BOOLEAN="boolean",n.BOOLEAN2="boolean2",n.TIMEAGO="timeago",n.NONE="none",n.CUSTOM="custom",n.MULTI_LINGUAL="multilingual",n))(De||{});const Tn="__setting__",Ot="__command__",_n=150,xn="right",Rt="commands";function Vn(n,e,t){const{horizontalScrollThumbStyle:i,onMouseDownScrollThumb:o,shouldShowHorizontalScrollbar:r}=t;function a(){return r.value&&l.createVNode("div",{class:"fv-grid-horizontal-scroll"},[l.createVNode("div",{class:"fv-grid-horizontal-scroll-thumb",style:i.value,onMousedown:s=>o(s,e,"horizontal")},null)])}return{renderHorizontalScrollbar:a}}function In(n){function e(s,c){switch(s.command){case"edit":case"remove":return c.status===Ue.initial;case"accept":case"cancel":return c.status===Ue.editing;default:return!s.hidden}}function t(s,c,m,u){var d,f,g,p,y;switch((d=s.onClick)==null||d.call(s,c,m.dataIndex,m),s.command){case"edit":m.status,Ue.editing,(g=(f=n.commandOption)==null?void 0:f.onClickEditCommand)==null||g.call(f,u,m,s,c);break;case"accept":case"cancel":m.status,Ue.initial;break;case"remove":(y=(p=n.commandOption)==null?void 0:p.onClickDeleteCommand)==null||y.call(p,u,m,s,c);break}}function i(s){return s==="编辑"?Ae.LocaleService.getLocaleValue("datagrid.commandColumn.edit"):s==="确定"?Ae.LocaleService.getLocaleValue("datagrid.commandColumn.accept"):s==="取消"?Ae.LocaleService.getLocaleValue("datagrid.commandColumn.cancel"):s==="删除"?Ae.LocaleService.getLocaleValue("datagrid.commandColumn.remove"):s}function o(s,c){const{column:m}=s;return m.commands&&m.commands.map((u,d)=>d?e(u,c)&&l.createVNode(Bt,{class:"ml-1",type:u.type,size:u.size||"small",onClick:f=>t(u,f,c,s),style:{"margin-bottom":"3px"}},{default:()=>[l.createTextVNode(" "),i(u.text),l.createTextVNode(" ")]}):e(u,c)&&l.createVNode(Bt,{type:u.type,size:u.size||"small",onClick:f=>t(u,f,c,s),style:{"margin-bottom":"3px"}},{default:()=>[l.createTextVNode(" "),i(u.text),l.createTextVNode(" ")]}))}function r(s,c,m,u){var d,f,g;(d=c.onClick)==null||d.call(c,s,m.dataIndex,m),(g=(f=n.commandOption)==null?void 0:f.onHandleAction)==null||g.call(f,u,m,c,s)}function a(s,c){var d,f,g;const{column:m}=s;return((d=m==null?void 0:m.commands)==null?void 0:d.find(p=>p.command))?o(s,c):l.createVNode(hn,{data:m.commands,count:typeof((f=n.commandOption)==null?void 0:f.count)!="number"?2:(g=n.commandOption)==null?void 0:g.count,size:"small",placement:"auto",onClick:p=>{r(p.payload,p.button,c,s)}},null)}return{renderCommandColumn:a}}function kn(n){const e=l.ref(n.minHeight),t=l.ref(n.minWidth),i=l.ref(n.height),o=l.ref(n.width),r=l.computed(()=>i.value<=0?0:Math.max(i.value,e.value)),a=l.computed(()=>o.value<=0?0:Math.max(o.value,t.value));return l.watch([()=>n.height,()=>n.width,()=>n.minHeight,()=>n.minWidth],([c,m,u,d])=>{e.value=Number(u),t.value=Number(d),i.value=Number(c),o.value=Number(m)}),{containerStyleObject:l.computed(()=>({height:r.value>0?`${r.value}px`:n.fit?"100%":"",width:a.value>0?`${a.value}px`:n.fit?"100%":"",flex:"1 1 0"}))}}function En(n){var r,a;const e=l.ref(((r=n.commandOption)==null?void 0:r.enable)||!1),t=l.ref(((a=n.commandOption)==null?void 0:a.commands)||[]),i=l.computed(()=>Ae.LocaleService.getLocaleValue("datagrid.commandColumn.title"));function o(s){var c;if(e.value&&!(s.value.findIndex(u=>u.dataType===Rt)>-1)){const u={field:Ot,title:i.value,width:_n,fixed:xn,dataType:Rt,commands:t.value,resizable:!1,halign:((c=n.commandOption)==null?void 0:c.halign)||"left",visible:!0,formatter:n.commandOption.formatter&&typeof n.commandOption.formatter?(d,f)=>n.commandOption.formatter(d,f):null};n.commandOption.formatter&&typeof n.commandOption.formatter!="function"&&(u.formatter=(d,f)=>n.commandOption.formatter(d,f)),s.value.push(u)}}return{applyCommands:o}}function Pn(n,e){var m;const t=l.ref((m=n.columnOption)==null?void 0:m.groups);function i(u,d,f,g,p){const y={actualWidth:0,children:[],depth:1,field:u.field,layer:1,left:0,parent:f,resizable:!0,title:u.title||"",status:Oe.none,popoverRef:l.ref(),showPopover:!1,column:null,sortType:"none"},T=g||y;if(u.group){let S=1;u.group.reduce((C,F)=>{if(typeof F=="string"){const V=d.get(F);V&&(p.fieldToRootMap.set(F,T),C.actualWidth+=V.actualWidth,C.children.push(V))}else{const V=i(F,d,C,T,p);S=Math.max(S,V.depth),C.actualWidth+=V.actualWidth,C.children.push(V)}return C},y),y.depth+=S}return e.value.headerDepth=Math.max(e.value.headerDepth,y.depth),y}function o(u){const d={groupedCells:new Map,fieldToRootMap:new Map};return t.value&&t.value.reduce((f,g)=>{const p=i(g,u,null,null,d);return f.groupedCells.set(g.field,p),f},d),d}function r(u){if(!u||u.length===0)return 0;const d=u[0];return d.children&&d.children.length>0&&(d.left=r(d.children)),d.left}function a(u,d){const f=e.value.headerDepth;u.forEach(g=>{g.layer=d?d.layer+1:1;const p=g.children&&g.children.length===0;g.depth=p?f-(g.layer-1):1,g.left=p?g.left:r(g.children),g.children&&a(g.children,g)})}function s(u,d){const f=new Map;return u.forEach(g=>{const p=d.fieldToRootMap.get(g.field),y=p!=null;y&&!f.has(p.field)&&f.set(p.field,p),y||f.set(g.field,g)}),a(Array.from(f.values())),f}function c(u){let d=new Map,f=0;if(u.reduce((g,p)=>{let y=Oe.none;y=p.sortable?y|Oe.sortable:y,y=p.filterable?y|Oe.filterable:y,y=p.sort&&p.sort!=="none"?y|Oe.sorted|(p.sort==="asc"?Oe.ascending:Oe.descending):y;const T=p.field;return g.set(T,{actualWidth:p.actualWidth||0,children:[],depth:1,layer:1,left:f,field:T,parent:null,resizable:p.resizable===void 0?!0:p.resizable,title:p.title,status:y,popoverRef:l.ref(),showPopover:!1,column:p,filterValue:null,sortType:p.sort||"none",showSetting:p.showSetting,draggable:p.draggable}),f+=p.actualWidth||0,g},d),t.value){const g=o(d);d=s(d,g)}return d}return{getGridHeaderCells:c}}function Nn(n,e){var v;const{sum:t,toFixed:i}=X.useNumberFormat(),{uuid:o}=X.useGuid(),{idField:r}=e,a=l.ref(n.summary),s=l.ref(n.group),c=l.ref(((v=n.group)==null?void 0:v.groupFields)||[]),m=l.computed(()=>{var w;return(w=n.group)==null?void 0:w.enable}),u=l.computed(()=>{var w;return(w=n.group)==null?void 0:w.showGroupPanel}),d=l.computed(()=>{const w=a.value;return(w==null?void 0:w.groupFields)||[]}),f=l.computed(()=>{const w=s.value;return w&&w.showSummary}),g=l.ref(0),p=new Map;let y=[];function T(w,h,b,M,B){const P=M[b];P&&(h.reduce((E,N,I)=>{var G;const _=N[P];let x=E.get(_);if(!x){const k=d.value.reduce(($,Y)=>($.set(Y,0),$),new Map);x={field:P,title:((G=B.get(P))==null?void 0:G.title)||P,value:_,layer:b,details:[],groupSummaries:k},E.set(_,x)}return d.value&&d.value.forEach(k=>{if(x){const $=x.groupSummaries.get(k)||0;x.groupSummaries.set(k,t([$,X.resolveField(N,k)]))}}),d.value&&d.value.forEach(k=>{if(x){const $=x.groupSummaries.get(k)||0;x.groupSummaries.set(k,i($,2))}}),x.details.push(N),E},w),b<M.length-1&&w.forEach((E,N)=>{E.nestGroup=new Map,T(E.nestGroup,E.details,b+1,M,B),E.details=[]}))}function S(w,h){return n.group&&n.group.formatter?n.group.formatter(w.value,{...w,total:h}):`${w.title}:${w.value} (${h})`}function C(w,h){const b=[];return w.forEach(M=>{const B={[r.value]:`group_of_${h?h[r.value]+"_":""}${M.field}_${M.value}`,__fv_data_grid_group_collapse__:!1,__fv_data_grid_group_field__:M.field,__fv_data_grid_group_layer__:M.layer,__fv_data_grid_group_row__:!0,__fv_data_grid_group_value__:M.value,groupParents:[]};h&&(B.groupParents=[...h.groupParents,h]);let P=0;if(b.push(B),M.nestGroup){const E=C(M.nestGroup,B);b.push(...E),P+=E.length}if(M.details&&M.details.length&&(b.push(...M.details),P+=M.details.length),f.value){const E={__fv_data_grid_group_field__:M.field,__fv_data_grid_group_layer__:M.layer,__fv_data_grid_group_summary__:!0};E[r.value]=`summary_of_${M.field}_${M.value}`,E[M.field]=Array.from(M.groupSummaries.entries()).reduce((N,[I,_])=>`${N} ${I} total:${_} `,""),b.push(E)}M.groupSummaries&&M.groupSummaries.size&&M.groupSummaries.forEach((E,N)=>{B[N]=E}),B[M.field]=S(M,P),B.value=M.value}),b.forEach((M,B)=>{M.__fv_data_index__=B}),b}function F(w,h,b){return!w||w.length===0||!h.length?h:(w.join(","),p.clear(),y=[],h=h.filter(M=>!M.__fv_data_grid_group_row__),T(p,h,0,w,b),y=C(p),y)}function V(w){return{"f-icon":!0,"f-icon-arrow-chevron-down":!0,"fv-grid-group-row-icon-collapse":w.collapse}}return{collpaseGroupIconClass:V,generateGroupData:F,groupFields:c,shouldGroupingData:m,showGroupPanel:u,groupRowSize:g}}function Ht(n){const e="parent",t="layer",i="hasChildren",o=(a,s=1,c=[],m=null)=>(a=a||[],a.reduce((u,d)=>(d.id=d.id||d.data[n.idField],d[e]=m,d[t]=s,d[i]=d[i]===void 0?!1:d[i],d.data&&Object.keys(d.data).forEach(f=>{Object.keys(d).includes(f)||(d[f]=d.data[f])}),c.push(d),d.children&&d.children.length&&(d[i]=!0,o(d.children,s+1,c,d.id)),u),c),c);return{flatTreeData:o,isNestedTree:a=>a.some(s=>Array.isArray(s.children))}}function Bn(n,e,t,i){const o=l.ref(0),r=l.ref(!!n.hierarchy),{idField:a}=i,{collapseField:s,hasChildrenField:c,parentIdField:m}=t,u=new Map,d=new Map,f=new Map,{flatTreeData:g,isNestedTree:p}=Ht(n);function y(O,R){d.clear(),O.reduce((W,U)=>{const ee=U[m.value]!==void 0?U[m.value]:"";if(ee&&R.has(ee)){const ce=R.get(ee),fe=isNaN(Number(ce.__fv_layer__))?1:Number(ce.__fv_layer__);U.__fv_layer__=fe+1,U.__fv_parent_index__=ce.__fv_index__,ce.__fv_hasChildren__=!0}else U.__fv_layer__=1;const se=W.has(ee)?W.get(ee):[];return se.push(U),W.set(ee,se),W},d)}function T(O){f.clear(),O.reduce((R,W)=>{const U=W[a.value];return R.set(U,W),R},f)}function S(O){O.forEach(R=>{const W=R[a.value];R.__fv_children_index__.map(ee=>O[ee]).forEach(ee=>{ee.__fv_parents__=new Map([...R.__fv_parents__.entries(),[W,!0]])})})}function C(O){O.forEach(R=>{const W=new Set(R.__fv_children_index__);R.__fv_children_index__=[...W].sort((U,ee)=>U-ee)})}function F(O){O.forEach(R=>{const W=R.__fv_parents__;Array.from(W.keys()).map(U=>f.get(U)).forEach(U=>{U.__fv_children_index__.push(R.__fv_index__)})}),C(O)}function V(O){O.forEach(R=>{R.__fv_child_with_lines__=[],R.__fv_child_length__=R.__fv_descendant_index__.length,R.__fv_descendant_index__.map(W=>O[W]).reduce((W,U)=>(W.__fv_child_length__+=U.__fv_children_index__.length,W.__fv_child_with_lines__.push(...U.__fv_children_index__,U.__fv_index__),W),R)})}function v(O,R){return{id:O,index:R,parentId:"",parentIndex:-1,parents:new Map,children:new Map,descendant:new Map,collapsed:!1,visibleInHierarchy:!0}}function w(O,R,W){Array.from(R.keys()).forEach(U=>{R.get(U).reduce((se,ce)=>{const fe=ce[a.value],pe=O.get(ce[a.value]),me=O.get(U),Pe=W.get(U);return me&&Pe&&(me.children.set(fe,pe),me.children.set(fe,pe),pe.parentId=U,pe.parentIndex=me.index,pe.parents.set(U,me)),se},O)})}function h(O){O.children.forEach(W=>{W.parents=new Map([...O.parents.entries(),[O.id,O]]),h(W)})}function b(O,R){O.filter(W=>W[m.value]===void 0||W[m.value]==="").forEach(W=>{const U=W[a.value],ee=R.get(U);h(ee)})}function M(O){Array.from(O.values()).forEach(R=>{Array.from(R.parents.values()).forEach(W=>{W.descendant.set(R.id,R)})})}function B(O){u.clear(),O.forEach((R,W)=>{const U=R[a.value];u.set(U,v(U,W))}),T(O),y(O,f),w(u,d,f),b(O,u),M(u)}function P(O){const R=O[a.value],W=u.get(R);return W&&W.children.size>0}function E(O){return O[c.value]&&!P(O)}function N(O){const R=O[a.value],W=u.get(R);return W&&W.visibleInHierarchy}function I(){o.value=Date.now()}function _(O,R){R.forEach(W=>{const U=u.get(W[a.value]),ee=u.get(O),se=f.get(O);ee&&se&&(U.visibleInHierarchy=!se[s.value]&&ee.visibleInHierarchy)}),I()}function x(O){if(d.has(O)){const W=d.get(O);_(O,W),W.map(U=>U[a.value]).forEach(U=>x(U))}}function G(O){const R=O[a.value];x(R)}function k(O,R,W=0){O.forEach(U=>{const ee=E(U),se=U.__fv_layer__<=W,ce=R==="ToCollapse"?U.__fv_layer__<=W:!(U.__fv_layer__<=W),fe=se?ce:U[s.value];U[s.value]=ee||fe});for(const[U,ee]of d.entries())_(U,ee);return O}function $(O,R){k(O,"ToCollapse",R)}function Y(O,R){k(O,"ToExpand",R)}function Q(O){O.forEach((R,W)=>{var ce;const U=R[a.value],ee=d.has(U)?(ce=d.get(U))==null?void 0:ce.map(fe=>fe.__fv_index__):[],se=v(U,W);R.__fv_graph_node__=se,R.__fv_children_index__=ee,R.__fv_descendant_index__=[...ee],R.__fv_parents__=new Map,E(R)&&(R[s.value]=!0)})}function oe(O){var U,ee;B(e.value),Q(O),S(O),F(O),n.showLines&&V(O);const W=((U=n.hierarchy)==null?void 0:U.collapseTo)!==void 0?Number((ee=n.hierarchy)==null?void 0:ee.collapseTo):0;return k(O,"ToCollapse",W),O}function Ve(O,R,W){const ee=W.value[O][a.value],se=u.get(ee);if(se){const ce=u.get(se.parentId);let fe=W.value.length-1;if(ce){const pe=Array.from(ce.children.keys()).indexOf(se.id);if(pe===ce.children.size-1){const Pe=Array.from(ce.descendant.values())[ce.descendant.size-1];fe=W.value.findIndex(Ce=>Ce[a.value]===Pe.id)+1}else{const Pe=Array.from(ce.children.values())[pe+1];fe=W.value.findIndex(Ce=>Ce[a.value]===Pe.id)}R[c.value]=!1,R[m.value]=ce.id,W.value.splice(fe,0,R)}}}function Se(O,R,W){const U=W.value[O],ee=U[a.value];if(u.get(ee)){const fe=W.value.findIndex(pe=>pe[a.value]===ee)+1;U[c.value]=!0,U[s.value]=!1,R[c.value]=!1,R[m.value]=ee,W.value.splice(fe,0,R)}}function xe(O,R,W){const ee=W.value[O][a.value];if(u.get(ee)){const fe=W.value.findIndex(me=>me[a.value]===ee)+1;let pe=R;p(R)&&(pe=g(R)),pe.forEach(me=>{me[m.value]=ee}),W.value.splice(fe,0,...pe)}}function H(O,R){const W=O[a.value],U=u.get(W),ee=Array.from(U.descendant.keys());ee.unshift(W);const se=u.get(U.parentId);if(se&&(se.children.delete(W),se.children.size===0)){const fe=R.find(pe=>pe[a.value]===U.parentId);fe[c.value]=!1,fe[s.value]=!1}return R.filter(fe=>ee.indexOf(fe.id)===-1)}return{checkVisibleInHierarchy:o,collapseTo:$,expandTo:Y,generateHierarchyData:oe,hasRealChildren:P,insertSibling:Ve,insertChild:Se,insertChildren:xe,isVisibleInTree:N,shouldStratifyData:r,toggleChildrenVisibiltyByCollapseStatus:G,trimmedOriginalData:H}}function On(n,e,t,i,o){const{toNumber:r,sum:a,toFixed:s}=X.useNumberFormat(),c=new Map,m=new Map,u=new Map,d=new Map,f=new Map,g=l.ref([]),p=l.ref([]),y=Nn(n,o),{generateGroupData:T,groupFields:S,shouldGroupingData:C}=y,F=l.ref(n.data||[]),V=Bn(n,F,i,o),{collapseTo:v,expandTo:w,generateHierarchyData:h,hasRealChildren:b,insertSibling:M,insertChild:B,insertChildren:P,isVisibleInTree:E,shouldStratifyData:N,toggleChildrenVisibiltyByCollapseStatus:I,trimmedOriginalData:_,checkVisibleInHierarchy:x}=V,{idField:G,reviseIdentifyField:k}=o,$=l.ref(n.newDataItem),Y=l.ref(n.data||[]),Q=l.ref(n.data),{flatTreeData:oe,isNestedTree:Ve}=Ht(n);if(n.hierarchy&&Ve(n.data)){const L=oe(n.data);F.value=L,Y.value=L,Q.value=L}const Se=l.ref(n.summary),xe=l.computed(()=>{const L=Se.value;return(L==null?void 0:L.groupFields)||[]});let H=new Map;const O=l.ref(Y.value.length),R=l.ref(n.pagination);function W(){return R.value&&R.value.enable&&R.value.size>0?R.value.size:Y.value.length}const U=l.ref(1),ee=l.computed(()=>R.value&&R.value.enable&&R.value.mode!=="server"),se=l.computed(()=>R.value&&R.value.enable&&R.value.mode==="server"),ce=new wt.FNotifyService;function fe(L,Z){const te=Math.ceil(L.length/Z);let ae=0;const Fe=[],Be=[],Ye=[];for(;ae<te;){const He=L.slice(ae*Z,(ae+1)*Z),Xe=T(S.value,He,e);Be[ae]=Xe.filter(ge=>ge.__fv_data_grid_group_row__).length,Fe.push(...Xe),ae++}return Be.reduce((He,Xe,ge)=>(He=He+Xe,Ye.push(He),He),0),{groupData:Fe,groupRowSizeList:Be,accumulateGroupRowSize:Ye}}function pe(){var Xe;Y.value=F.value,ee.value&&(O.value=Y.value.length),C.value&&!ee.value&&(Y.value=T(S.value,F.value,e)),H=xe.value.reduce((ge,Te)=>(ge.set(Te,0),ge),H);const L=0,Z=W(),te=(U.value-1)*Z;let Fe=te>Y.value.length-1||se.value?L:te,Be=se.value?Y.value.length:Math.min(Fe+Z,Y.value.length);if(C.value&&ee.value){const{accumulateGroupRowSize:ge,groupData:Te,groupRowSizeList:Ie}=fe(F.value,Z);Y.value=Te;const $e=Ie[U.value-1];Fe+=U.value-2<0?0:ge[U.value-2],Be=Fe+Z+$e}let Ye=0;const He=[];if(Y.value.length){k(Y.value);const ge=G.value!==n.idField;for(let Te=Fe;Te<Be;Te++){const Ie=Y.value[Te];Ie.__fv_data_grid_group_row__?(Ye=0,Ie.__fv_data_index__=""):Ie.__fv_data_grid_group_summary__?Ie.__fv_data_index__="":(Ye++,Ie.__fv_data_index__=Ye+(U.value-1)*Z),Ie.__fv_index__=Te,Ie.__fv_visible_index__=Te,n.rowOption&&n.rowOption.disabledField&&(Ie.__fv_disabled__=Ie[(Xe=n.rowOption)==null?void 0:Xe.disabledField]),ge&&(Ie[G.value]=Te),xe.value.forEach($e=>{const Pt=H.get($e)||0;H.set($e,a([Pt,X.resolveField(Ie,$e)||0]))}),He.push(Ie)}}return N.value&&h(He),xe.value.forEach(ge=>{const Te=H.get(ge)||0;H.set(ge,s(Te,2))}),Q.value=[...He],He}const me=l.ref(pe()),Pe=l.computed(()=>(x.value,me.value.filter(L=>N.value?L.__fv_visible__!==!1&&E(L):L.__fv_visible__!==!1)));function We(){Pe.value.forEach((Z,te)=>(Z.__fv_visible_index__=te,Z))}function Ce(L,Z,te=!1){var Xe;const ae=te?pe():[...Q.value];let Fe=ae;((Xe=n.filter)==null?void 0:Xe.mode)!=="server"&&(Fe=ae.filter(ge=>t.apply(ge)));const Be=L&&L.length?Fe.filter(ge=>L.reduce((Te,Ie)=>Te&&Ie.filter(ge),!0)):Fe,Ye=Z&&Z.length?Be.sort((ge,Te)=>{const Ie=[...Z],$e=Ie.shift(),Pt=X.resolveField(ge,$e.field)===void 0||X.resolveField(ge,$e.field)===null?"":X.resolveField(ge,$e.field),Jo=X.resolveField(Te,$e.field)===void 0||X.resolveField(Te,$e.field)===null?"":X.resolveField(Te,$e.field);let Nt=$e.compare(Pt,Jo);for(;Nt===0&&Ie.length!==0;){const Ke=Ie.shift();if(Ke){const Qo=X.resolveField(ge,Ke.field)===void 0||X.resolveField(ge,Ke.field)===null?"":X.resolveField(ge,Ke.field),Ko=X.resolveField(Te,Ke.field)===void 0||X.resolveField(Te,Ke.field)===null?"":X.resolveField(Te,Ke.field);Nt=Ke.compare(Qo,Ko)}}return Nt}):Be,He=W();return me.value=Ye.map((ge,Te)=>{if(ge.__fv_data_grid_group_row__){const Ie=`group_of_${ge.__fv_data_grid_group_field__}_${ge.__fv_data_grid_group_value__}`;ge.__fv_data_grid_group_collapse__=!!c.get(Ie)}return ge.__fv_index__=Te,ge.__fv_visible_index__=Te,ge.__fv_data_index__=Te+1+(U.value-1)*He,ge}),me.value}function A(L){return f.clear(),p.value=L,p.value.reduce((Z,te)=>(Z.set(te.field,te),Z),f),Ce([],p.value)}function J(L,Z){return f.set(L,Z),p.value=Array.from(f.values()),Ce([],p.value)}function D(L){return f.delete(L),p.value=Array.from(f.values()),Ce([],p.value)}function ye(L,Z){return m.set(L,Z),g.value=Array.from(m.values()),Ce([],Array.from(f.values()))}function be(L){return m.delete(L),g.value=Array.from(m.values()),Ce([],Array.from(f.values()),!0)}function Re(){return m.clear(),g.value=[],Ce([],Array.from(f.values()),!0)}function Ze(L,Z,te){const ae=`group_of_${L}_${Z}`;c.set(ae,!0);const Fe=Be=>Be[L]!==Z;return u.set(`collapse_${L}_${Z}`,{field:L,fieldName:L,fieldType:"string",filterValue:Z,filter:Fe}),Ce(Array.from(u.values()),Array.from(f.values()))}function at(L){v(me.value,L)}function st(L){w(me.value,L)}function z(L,Z,te){const ae=`group_of_${L}_${Z}`;return c.set(ae,!1),u.delete(`collapse_${L}_${Z}`),Ce(Array.from(u.values()),Array.from(f.values()),!0)}function le(L){const Z=L.raw[G.value],te=ae=>!ae.__fv_parents__.has(Z);d.set(`fold_${Z}`,{field:"id",fieldName:"id",fieldType:"string",filterValue:String(Z),filter:te}),Ce(Array.from(d.values()),Array.from(f.values())),h(me.value)}function he(L){const Z=L[G.value];d.delete(`fold_${Z}`)}function Me(L){he(L.raw),Ce(Array.from(d.values()),Array.from(f.values()),!0),h(me.value)}function _e(){const L=pe();me.value=L,Ce(Array.from(d.values()),Array.from(f.values())),n.hierarchy&&h(me.value)}function Tt(L){const te=n.hierarchy&&Ve(L)?oe(L):L;F.value=te,_e()}function _t(L,Z,te){return(L&&L.length?me.value.filter((Fe,Be)=>L.reduce((Ye,He)=>Ye&&He.filter(Fe),!0)):me.value).slice(Z,te)}function xt(L){const Z=W(),te=Math.ceil(O.value/Z);0<=L&&L<=te&&(U.value=L,_e())}function yt(L){F.value.push(ze.cloneDeep(L)),me.value=pe()}function vt(L=0){if(!(L>-1))return!1;const te=$.value();n.hierarchy?M(L,te,F):F.value.splice(L,0,te),_e()}function Vt(L=0){if(!(L>-1&&n.hierarchy))return!1;const te=$.value(),ae=F.value[L];he(ae),B(L,te,F),_e()}function dt(L,Z=0){if(!(Z>-1&&n.hierarchy))return!1;const ae=F.value[Z];he(ae),P(Z,L,F),_e()}function It(L){const Z=L?L-1:0;F.value.splice(Z,1),_e()}function bt(L){const Z=F.value.findIndex(te=>te[G.value]===L);Z!==-1&&(F.value.splice(Z,1),_e())}function kt(L){const Z=L>-1?F.value[L]:null;if(!(Z&&Z.deletable!==!1))return!1;F.value=_(Z,F.value),_e()}function Et(){const L=u.size>0?Array.from(u.values()):[];return Ce(L,Array.from(f.values()))}function ct(L){R.value.size=L}function q(L){R.value&&(ct(L),_e())}function K(L,Z){const te=F.value[Number(L)-1];te.editable!==!1?(te.name=Z,_e()):ce.show({showCloseButton:!1,timeout:3e3,animate:"fadeIn",toasts:[{type:"string",title:"提示",msg:"当前节点禁止编辑"}]})}function ne(L){return L.map(te=>{const ae=Q.value.findIndex(Fe=>""+Fe[G.value]==""+te);return ae>-1?Q.value[ae]:null}).filter(te=>te!=null)}function ue(){const L=n.summary.groupFields;H=L.reduce((Z,te)=>(Z.set(te,0),Z),H);for(const Z of Y.value)L.forEach(te=>{const ae=H.get(te)||0;H.set(te,a([ae,X.resolveField(Z,te)||0]))});L.forEach(Z=>{const te=H.get(Z)||0;H.set(Z,s(te,2))})}function we(L){const Z=n.summary.groupFields;H=Z.reduce((te,ae)=>(te.set(ae,0),te),H);for(const te of L)Z.forEach(ae=>{const Fe=H.get(ae)||0;H.set(ae,a([Fe,X.resolveField(te.raw,ae)||0]))});Z.forEach(te=>{const ae=H.get(te)||0;H.set(te,s(ae,2))})}return{addFilter:ye,addNewDataItem:yt,addSorter:J,updatePageSize:ct,changePageSizeTo:q,collapse:Ze,collapseTo:at,dataView:me,editDataItem:K,expand:z,expandTo:st,filters:g,fold:le,getRange:_t,getSelectionItems:ne,hasRealChildren:b,insertNewChildDataItem:Vt,insertNewChildDataItems:dt,insertNewDataItem:vt,isVisibleInTree:E,load:Tt,navigatePageTo:xt,pageIndex:U,rawView:Q,refresh:Et,removeAllFilter:Re,removeDataItem:It,removeDataItemById:bt,removeFilter:be,removeHierarchyDataItem:kt,removeSorter:D,reOrderVisibleIndex:We,setSorters:A,sorters:p,summaries:H,updateSummary:ue,toggleChildrenVisibiltyByCollapseStatus:I,totalItems:O,unFold:Me,updateDataView:_e,visibleDataItems:Pe,shouldGroupingData:C,pagination:R,updateVisibleDataSummary:we}}const Rn=["equal","notEqual","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","contain","startWidth","endWidth","in","notIn"],Hn={equal:(n,e,t)=>n&&n[e]===t,notEqual:(n,e,t)=>n&&n[e]!==t,contain:(n,e,t)=>n?(n[e]||"").indexOf(t)>-1:!1,startWidth:(n,e,t)=>n?(n[e]||"").startsWith(t):!1,endWidth:(n,e,t)=>n?(n[e]||"").endsWith(t):!1},An={equal:(n,e,t)=>n&&n[e]===t,in:(n,e,t)=>{if(n){const i=n[e];return t.indexOf(i)>-1}return!1},notEqual:(n,e,t)=>n&&n[e]!==t},Ln={equal:(n,e,t)=>{if(n){const i=new Date(t).getTime();return new Date(n[e]).getTime()===i}return!1},notEqual:(n,e,t)=>{if(n){const i=new Date(t).getTime();return new Date(n[e]).getTime()!==i}return!1},greaterThan:(n,e,t)=>{if(n){const i=new Date(new Date(t).toLocaleDateString()).valueOf();return new Date(new Date(n[e]).toLocaleDateString()).valueOf()>i}return!1},greaterThanOrEqual:(n,e,t)=>{if(n){const i=new Date(new Date(t).toLocaleDateString()).valueOf();return new Date(new Date(n[e]).toLocaleDateString()).valueOf()>=i}return!1},lessThan:(n,e,t)=>{if(n){const i=new Date(new Date(t).toLocaleDateString()).valueOf();return new Date(new Date(n[e]).toLocaleDateString()).valueOf()<i}return!1},lessThanOrEqual:(n,e,t)=>{if(n){const i=new Date(new Date(t).toLocaleDateString()).valueOf();return new Date(new Date(n[e]).toLocaleDateString()).valueOf()<=i}return!1}},$n={equal:(n,e,t)=>n?String(t).split(",").includes(String(n[e])):!1,in:(n,e,t)=>{if(n){const i=n[e];return t.indexOf(i)>-1}return!1},notEqual:(n,e,t)=>n?String(t).split(",").findIndex(o=>o===String(n[e]))===-1:!1},jn={equal:(n,e,t)=>{if(n){const i=Number.parseFloat(String(t)),o=Number.parseFloat(String(n[e]));return isNaN(i)?isNaN(o):i===o}return!1},notEqual:(n,e,t)=>{if(n){const i=Number.parseFloat(String(t)),o=Number.parseFloat(String(n[e]));return isNaN(i)?!0:i!==o}return!1},greaterThan:(n,e,t)=>{if(n){const i=Number.parseFloat(String(t)),o=Number.parseFloat(String(n[e]));return isNaN(i)?isNaN(o):o>i}return!1},greaterThanOrEqual:(n,e,t)=>{if(n){const i=Number.parseFloat(String(t)),o=Number.parseFloat(String(n[e]));return isNaN(i)?isNaN(o):o>=i}return!1},lessThan:(n,e,t)=>{if(n){const i=Number.parseFloat(String(t)),o=Number.parseFloat(String(n[e]));return isNaN(i)?isNaN(o):o<i}return!1},lessThanOrEqual:(n,e,t)=>{if(n){const i=Number.parseFloat(String(t)),o=Number.parseFloat(String(n[e]));return isNaN(i)?isNaN(o):o<=i}return!1}},Wn=new Map([["boolean",An],["datetime",Ln],["enum",$n],["number",jn],["text",Hn]]);function zn(n,e){const t=l.ref([]),i=new Map,{loadConditionGroup:o}=de.useCondition();function r(V,v){switch(V){case"check-box":return new de.CheckBoxValue({value:v});case"combo-list":return new de.ComboListValue({value:v});case"combo-lookup":return new de.ComboLookupValue({value:v});case"input-group":return new de.TextValue({value:v});case"date-picker":return new de.DatePickerValue({value:v});case"date-range":return new de.DateRangeValue({value:v});case"datetime-picker":return new de.DateTimePickerValue({value:v});case"datetime-range":return new de.DateRangeValue({value:v});case"lookup":return new de.TextValue({value:v});case"month-picker":return new de.MonthPickerValue({value:v});case"month-range":return new de.MonthRangeValue({value:v});case"number-range":return new de.NumberRangeValue({value:v});case"number-spinner":return new de.NumberSpinnerValue({value:v});case"radio-group":return new de.RadioGroupValue({value:v});default:return new de.TextValue({value:v})}}const a=new Map([["boolean","check-box"],["date","date-picker"],["datetime","datetime-picker"],["number","number-spinner"],["string","text"],["text","text"],["enum","combo-list"],["reference","lookup"]]),s=new Map([["boolean",de.CompareType.Equal],["date",de.CompareType.Equal],["datetime",de.CompareType.Equal],["number",de.CompareType.Equal],["string",de.CompareType.Equal],["text",de.CompareType.Equal],["enum",de.CompareType.In],["reference",de.CompareType.Equal]]);function c(){t.value.forEach((v,w)=>{w===t.value.length-1?v.relation=0:v.relation=1});const V=[];return t.value.forEach(v=>{const{valueType:w}=v.value,h=v.value.value;if(w==="boolean"){const b=[];h.length===1&&b.push({filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:de.CompareType.Like,value:v.value.value[0],relation:t.value.length>1?v.relation||v.relation===0?v.relation:1:0,expresstype:de.ValueType.Value,lbracket:v.lBracket||null,rbracket:v.rBracket||null}),h.length>1&&b.push({filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:de.CompareType.Like,value:v.value.value[0],relation:2,expresstype:de.ValueType.Value,lbracket:v.lBracket?v.lBracket+"(":"(",rbracket:v.rBracket||null},{filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:de.CompareType.Like,value:v.value.value[1],relation:t.value.length>1?v.relation||v.relation===0?v.relation:1:0,expresstype:de.ValueType.Value,lbracket:v.lBracket||null,rbracket:v.rBracket?v.rBracket+")":")"}),V.push(...b)}else V.push({filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:de.CompareType.Like,value:v.value.value,relation:t.value.length>1?v.relation||v.relation===0?v.relation:1:0,expresstype:de.ValueType.Value,lbracket:v.lBracket||null,rbracket:v.rBracket||null})}),V}function m(V){var w;const v=V.dataType||"string";return((w=V.editor)==null?void 0:w.type)||a.get(v)||"text"}function u(V){var I,_,x,G,k;const v=`field_filter_${V.field}`,w=Date.now(),h=V.field,b=((I=V.column)==null?void 0:I.title)||"",M=((_=V.column)==null?void 0:_.dataType)||"string",B=s.get(M)||de.CompareType.Equal,P=((G=(x=V.column)==null?void 0:x.editor)==null?void 0:G.type)||a.get(M)||"text",E=r(P,(k=V.column)==null?void 0:k.filter),N=P==="lookup"||P==="combo-lookup"?de.ValueType.SmartHelp:P==="combo-list"?de.ValueType.Enum:de.ValueType.Value;i.set(v,{id:v,fieldCode:h,fieldName:b,compareType:B,valueType:N,value:E,conditionId:w,relation:1}),t.value=Array.from(i.values())}function d(V){const v=`field_filter_${V.field}`;i.delete(v),t.value=Array.from(i.values())}function f(V){i.delete(V),t.value=Array.from(i.values())}function g(){i.clear(),t.value=[]}function p(V){const{valueType:v}=V.value,w=V.compareType||"0",h=Rn[Number(w)];return Wn.get(v)[h]}function y(V){const v=V.relation===2?0:1,w=V.items.map(b=>{const M=p(b);return P=>M(P,b.fieldCode,b.value.getValue())}),h=V.children&&V.children.length?V.children.map(b=>y(b)):[];return{relation:v,filterFunctions:w,children:h}}function T(){const V=o(t.value);return y(V)}function S(V,v){const w=v.filterFunctions.map(b=>b(V)),h=v.children.map(b=>S(V,b));return v.relation===1?w.every(b=>b)&&h.every(b=>b):w.includes(!0)||h.includes(!0)}function C(V){const v=T();return S(V,v)}function F(V){e.emit("filterChanged",V)}return{addColumnFilter:u,apply:C,clearCondition:g,conditions:t,getFilterEditorType:m,removeColumnFilter:d,removeCondition:f,filterFromServer:F,createFilterConditions:c}}function Gn(n){l.ref(n.selection.showCheckbox||!1);const e=l.computed(()=>{var a;return((a=n.hierarchy)==null?void 0:a.collapseField)||"__fv_collapse__"}),t=l.computed(()=>{var a;return((a=n.hierarchy)==null?void 0:a.hasChildrenField)||"__fv_hasChildren__"}),i=l.computed(()=>{var a;return((a=n.hierarchy)==null?void 0:a.parentIdField)||"parent"}),o=l.computed(()=>n.hierarchy&&n.selection.showCheckbox),r=l.computed(()=>(n.treeNodeIconsData.fold||n.iconField)&&n.showTreeNodeIcons);return{collapseField:e,hasChildrenField:t,parentIdField:i,shouldShowCheckBox:o,shouldShowIcon:r}}function Un(n,e,t,i,o,r,a,s,c){var ct;const{dataView:m,visibleDataItems:u}=e,{getVisualData:d,maxVisibleRowIndex:f,minVisibleRowIndex:g}=o,p=l.computed(()=>i.value.primaryColumnsWidth),y=l.computed(()=>i.value.leftColumnsWidth),T=l.computed(()=>i.value.rightColumnsWidth),S=((ct=n.rowOption)==null?void 0:ct.height)||28,C=l.ref(0),F=l.ref(0);let V=0,v=r.value-1;const w=l.ref(0),h=l.ref(0),b=l.ref(0),M=l.ref(n.virtualized),B=24,P=1.5;let E=null,N=null,I=null;function _(){const q=u.value;if(q.length<=0)return 0;const K=f.value<q.length?q[f.value]:q[q.length-1];return K.__fv_data_position__>q.length*S?q.length*S:(K.__fv_data_position__||0)+(K.__fv_data_height__||0)+Math.max(q.length-1-f.value,0)*S}const x=l.computed(()=>{const q=_();let K=h.value/Math.max(q,h.value),ne=Math.floor(K*h.value);for(;h.value>0&&ne<B;)K*=P,ne=Math.floor(K*h.value);return ne}),G=l.computed(()=>Math.floor(b.value/Math.max(p.value,b.value)*w.value)),k=0,$=0,Y=l.computed(()=>w.value-(y.value+p.value+T.value+s.value));function Q(q){const ne=Math.floor(q/S)+1,ue=u.value;return ue.length>ne?ue[ne].__fv_visible_index__-1:0}function oe(q,K,ne){let ue=q,we=K;const L=K-q+1;if(L<a+r.value+a){const Z=a+r.value+a-L,te=K+Z<=ne,ae=0+Z<=q;if(te)we+=Z,v=we;else if(ae)ue-=Z,V=ue;else{const Fe=ne-K,Be=Z-Fe;we=Math.min(K+Fe,ne),ue=Math.max(q-Be,0)}}return{actualStart:ue,actualEnd:we}}function Ve(q){var Fe,Be;const K=u.value;if(!K.length){t.value=[];return}const ne=(Fe=n.pagination)!=null&&Fe.enable?0:Math.max(V-a,0),ue=K[K.length-1].__fv_visible_index__,we=(Be=n.pagination)!=null&&Be.enable?K.length-1:Math.min(v+a,ue),{actualStart:L,actualEnd:Z}=oe(ne,we,ue),te=K[L-1],ae=d(L,Z,te,q);ae.length&&(t.value=[...ae])}const Se=l.computed(()=>_()>h.value),xe=l.computed(()=>Math.floor(p.value)>b.value);function H(q,K){let ne=q;const ue=ne>k,we=Se.value;we&&ne<h.value-K&&(ne=h.value-K),(!we||ue)&&(ne=k),C.value!==ne&&(C.value=ne)}function O(){M.value&&(V=Q(Math.abs(C.value)),v=V+r.value-1,(V<g.value||v>f.value-a/2)&&Ve())}function R(q){let K=C.value+q;K>k&&(K=k);const ne=_();H(K,ne),O()}function W(q){if(!xe.value){F.value=0;return}let K=F.value+q;K>$&&(K=$),K<Y.value&&(K=Y.value),F.value!==K&&(F.value=K)}function U(){Math.abs(F.value)+b.value>p.value&&(F.value=Math.min(b.value-p.value,0))}function ee(){C.value=0,V=0,v=r.value-1,Ve()}function se(){const q=_();H(C.value,q)}l.watch([b,p],()=>{W(0)}),l.watch(h,(q,K)=>{q!==K&&q>=m.value.length*S&&R(0)});function ce(q){let{deltaX:K}=q,ne=-1*q.deltaY;return typeof K>"u"&&(K=-1*q.wheelDeltaX/6),typeof ne>"u"&&(ne=q.wheelDeltaY/6),q.deltaMode&&q.deltaMode===1&&(K*=10,ne*=10),q.shiftKey?{deltaY:-ne,deltaX:-K}:{deltaX:K,deltaY:ne}}function fe(q){if(n.disabled||!Se.value||q.target.tagName==="TEXTAREA")return;q.preventDefault(),q.stopPropagation();const{deltaX:K,deltaY:ne}=ce(q);R(ne),W(K)}const pe=l.computed(()=>({height:`${m.value.length*S}px`,width:`${y.value}px`,transform:`translateY(${C.value}px)`})),me=l.computed(()=>({transform:`translateY(${C.value}px)`})),Pe=l.computed(()=>({height:`${(n.autoHeight?u.value:m.value).length*S}px`,width:`${p.value}px`,transform:`translate(${F.value}px, ${C.value}px)`})),We=l.computed(()=>({transform:`translate(${F.value}px, ${C.value}px)`})),Ce=l.computed(()=>({height:`${m.value.length*S}px`,width:`${T.value}px`,transform:`translateY(${C.value}px)`})),A=l.computed(()=>({transform:`translateY(${C.value}px)`})),J=l.computed(()=>({height:`${m.value.length*S}px`,width:`${s.value}px`,transform:`translateY(${C.value}px)`})),D=l.computed(()=>({width:`${y.value}px`})),ye=l.computed(()=>({transform:`translateX(${F.value}px)`})),be=l.computed(()=>({width:`${T.value}px`})),Re=l.computed(()=>{const q=_();return H(C.value,q),C.value/(h.value-q)*(h.value-x.value)}),Ze=l.computed(()=>({width:"8px",height:`${x.value}px`,top:`${Re.value}px`,backgroundColor:"#cccccc !important"})),at=l.computed(()=>F.value/Y.value*(w.value-G.value)),st=l.computed(()=>({height:"8px",width:`${G.value}px`,left:`${at.value}px`,backgroundColor:"#cccccc !important"})),z=l.ref(!1),le=l.ref(-1),he=l.ref(-1),Me=l.ref();function _e(q){if(q instanceof MouseEvent?q.pageX:q.touches[0].pageX,z.value&&he.value!==-1){const K=he.value-q.pageX,ne=w.value-G.value;if(Math.abs(K)<=ne){const ue=K/(b.value-G.value)*(p.value-b.value);W(ue),he.value=q.pageX}}}function Tt(q){if(z.value&&le.value!==-1){const K=le.value-q.pageY,ne=_(),ue=ne-x.value;if(Math.abs(K)<=ue){const we=K/(h.value-x.value)*(ne-h.value);R(we),le.value=q.pageY}}}function _t(q){const{pageX:K,pageY:ne}=q.touches[0];if(z.value&&he.value!==-1){const ue=he.value-K,we=w.value-G.value;if(Math.abs(ue)<=we){const L=ue/(b.value-G.value)*(p.value-b.value);W(L),he.value=K}}}function xt(q){const{pageX:K,pageY:ne}=q.touches[0];if(z.value&&le.value!==-1){const ue=le.value-ne,we=_(),L=we-x.value;if(Math.abs(ue)<=L){const Z=ue/(h.value-x.value)*(we-h.value);R(Z),le.value=ne}}}function yt(q){z.value=!1,le.value=-1,he.value=-1,document.removeEventListener("mouseup",yt),E&&(document.removeEventListener("mousemove",E),E=null),document.body.style.userSelect="",Me.value&&(Me.value.style.opacity=null)}function vt(q){z.value=!1,le.value=-1,he.value=-1,document.removeEventListener("touchend",vt),N&&(document.removeEventListener("touchmove",N),N=null),I&&(document.removeEventListener("touchmove",I),N=null),document.body.style.userSelect="",Me.value&&(Me.value.style.opacity=null)}function Vt(q,K,ne){var te;z.value=!0;const ue=(te=q.target)==null?void 0:te.parentElement;ue&&(ue.style.opacity="1",Me.value=ue);const we=ne==="horizontal"?_e:ze.throttle(Tt,50);E||(E=we);const{pageX:L}=q,{pageY:Z}=q;ne==="vertical"&&(le.value=q.pageY),ne==="horizontal"&&(he.value=q.pageX),K.value&&(K.value,document.addEventListener("mousemove",E),document.addEventListener("mouseup",yt),document.body.style.userSelect="none")}function dt(q){const{pageX:K,pageY:ne}=q.touches[0],ue=Math.abs(K-he.value),we=Math.abs(ne-le.value);we>ue&&we>5?(I||(I=ze.throttle(xt,50)),document.addEventListener("touchmove",I),document.removeEventListener("touchmove",dt)):ue>we&&ue>5&&(N||(N=_t),document.addEventListener("touchmove",N),document.removeEventListener("touchmove",dt)),he.value=K,le.value=ne}function It(q,K){var L;z.value=!0;const ne=(L=q.target)==null?void 0:L.parentElement;ne&&(ne.style.opacity="1",Me.value=ne);const{pageX:ue,pageY:we}=q.touches[0];he.value=ue,le.value=we,K.value&&(K.value,document.addEventListener("touchmove",dt),document.addEventListener("touchend",vt),document.body.style.userSelect="none")}function bt(q){const K=m.value.length*S-h.value;let ne=q*S;ne>=K&&(ne=K),R(-ne-C.value)}function kt(){bt(m.value.length)}function Et(q){R(q-C.value)}return{dataGridWidth:w,fitHorizontalScroll:U,gridDataStyle:Pe,gridHeaderColumnsStyle:ye,gridMergedDataStyle:We,gridSideStyle:J,horizontalScrollThumbStyle:st,leftFixedGridDataStyle:pe,leftFixedGridHeaderColumnsStyle:D,leftFixedGridMergedDataStyle:me,offsetX:F,offsetY:C,onMouseDownScrollThumb:Vt,onWheel:fe,reCalculateVisualDataRows:Ve,resetScroll:ee,rightFixedGridDataStyle:Ce,rightFixedGridHeaderColumnsStyle:be,rightFixedGridMergedDataStyle:A,shouldShowHorizontalScrollbar:xe,shouldShowVirticalScrollbar:Se,updateVirticalScroll:se,updateVisibleRowsOnLatestVisibleScope:O,verticalScrollThumbStyle:Ze,viewPortWidth:b,viewPortHeight:h,scrollToBottom:kt,scrollToRowByIndex:bt,scrollTo:Et,onTouchstartScrollThumb:It}}function Dn(n){var r;const{isUndefined:e}=X.useCommonUtils(),t=((r=n.rowOption)==null?void 0:r.height)||28;function i(a,s){const c=a.pre;if(c){let m=c.__fv_data_position__,u=c.__fv_data_height__;(e(m)||n.virtualized&&n.hierarchy&&c.__fv_visible_index__*t!==m)&&(m=c.__fv_visible_index__*t),e(u)&&(u=t);const d=a.visible?m+u:c.__fv_data_position__;a.top=d,s.__fv_data_position__=d}else a.top=0,s.__fv_data_position__=0}function o(a,s,c){if(a&&!s.ref){s.ref=a;const m=s.parent;s.cellHeight!==a.offsetHeight&&(s.cellHeight=a.offsetHeight),s.cellHeight&&s.cellHeight>(m.height||0)&&(m.height=s.cellHeight,c.__fv_data_height__=m.height),i(m,c)}!a&&s.ref&&(s.ref=a)}return{updateRowPosition:i,updateVisualInfomation:o}}function qn(){function n(e,t){var a,s;if(!t.data||!t.data.length)return"";const i=Object.prototype.hasOwnProperty.call(t,"valueField")&&t.valueField||"value",o=Object.prototype.hasOwnProperty.call(t,"textField")&&t.textField||"name";if(e!=null&&e.includes(",")){const c=e.split(",");if(!t.data.filter(f=>c.includes(f[i])).length)return"";const u=(a=t.data)==null?void 0:a.reduce((f,g)=>(f[g[i]]=g,f),{});return c.map(f=>{var g;return(g=u[f])==null?void 0:g[o]}).join(",")||e}const r=(s=t.data)==null?void 0:s.find(c=>c[i]===e);return(r==null?void 0:r[o])||e||""}return{renderEnumColumn:n}}function Yn(){function n(e,t){return e?t==null?void 0:t.trueText:t==null?void 0:t.falseText}return{renderText:n}}function Xn(){const{formatTo:n}=X.useDateFormat();function e(i,o){if(i){let r="yyyy-MM-dd";if(typeof o=="string"?r=o:typeof o=="object"&&(r=o.format||"yyyy-MM-dd"),r=r.replace("YYYY","yyyy").replace("-DD","-dd"),typeof o=="object"&&o.dateRange){const a=o.dateRangeDatesDelimiter||"~";let[s,c]=i.split(a);return s=n(s,r),c=n(c,r),s+a+c}return n(i,r)}return i}function t(i,o){const r=o.dateFormat||"yyyy-MM-dd";return n(i,r)}return{renderDateColumn:t,renderDateTimeColumn:e}}function Zn(){const{formatTo:n}=X.useNumberFormat();function e(t,i){const o={precision:i.precision,prefix:i.prefix||"",suffix:i.suffix||"",decimalSeparator:i.decimal||".",groupSeparator:i.thousand||""};return n(t,o)||t}return{renderNumberColumn:e}}function Jn(){function n(e,t){if(e){const i={};return t!=null&&t.width&&(i.width=`${t.width}px`),t!=null&&t.height&&(i.height=`${t.height}px`),l.createVNode("img",{src:e,style:i},null)}return e}return{renderImageColumn:n}}function Qn(){function n(e,t){const i=Ae.LocaleService.getLocale();return(e==null?void 0:e[i||"zh-CHS"])||""}return{renderMultilingualColumn:n}}function Kn(){const{renderText:n}=Yn(),{renderEnumColumn:e}=qn(),{renderNumberColumn:t}=Zn(),{renderDateColumn:i,renderDateTimeColumn:o}=Xn(),{renderImageColumn:r}=Jn(),{renderMultilingualColumn:a}=Qn();function s(u){return typeof u=="boolean"?u.toString():u}function c(u,d,f){return d.customFormat?d.customFormat(u,f.raw):s(u)}function m(u,d,f){const{column:g}=u,p=X.resolveField(d.raw,g.field),y=f.options||f;return f.type===De.NONE?s(p):f.type===De.CUSTOM?c(p,f,d):f.type===De.ENUM?e(p,y):f.type===De.NUMBER?t(p,y):f.type===De.BOOLEAN?n(p,y):f.type===De.DATE?i(p,y):f.type===De.DATE_TIME?o(p,f):f.type===De.IMAGE?r(p,y):f.type===De.MULTI_LINGUAL?a(p,y):s(p)}return{renderFormatColumn:m}}function ei(n,e,t){var S;const{isUndefined:i}=X.useCommonUtils(),o=l.ref(n.mergeCell);(S=l.ref(n.rowOption).value)!=null&&S.wrapContent;const{updateVisualInfomation:a}=t,{renderCommandColumn:s}=In(n),{renderFormatColumn:c}=Kn();function m(C,F,V,v,w,h=1){const b={colSpan:h,rowSpan:1,index:V,field:C,data:X.resolveField(v,C),editingData:X.resolveField(v,C),parent:w,mode:F,align:"left",valign:"start",showEllipsis:!0,getEditor:M=>M.data,setRef:M=>a(M,b,v),update:()=>{},accept:()=>{},cancel:()=>{},updateData:()=>{}};return b}function u(C,F,V){return C.getEditor=v=>e.getEditor(v,F,v.parent),C.setRef=v=>a(v,C,V),C.update=v=>{v!==void 0&&(C.editingData=v)},C.accept=()=>{X.setFieldValue(C.editingData,V,F.field),C.data=X.resolveField(V,F.field)},C.cancel=()=>{C.editingData=C.data},C.updateData=v=>{X.setFieldValue(X.resolveField(v,F.field),V,F.field),C.data=X.resolveField(V,F.field),C.editingData=X.resolveField(V,F.field)},C}function d(C,F){F.dataType==="commands"?C.formatter=(V,v)=>F.formatter?F.formatter(C,v):s(C,v):F.formatter&&(C.formatter=(V,v)=>typeof F.formatter=="function"?F.formatter(V,v):c(C,v,F.formatter))}function f(C,F,V){const v=F&&F.data[V];if(v&&v.data===C.data){const h=v&&v.spannedBy||v;h.rowSpan++,h.spanned=h.spanned||[],h.spanned.push(C),C.colSpan=0,C.rowSpan=0,C.spannedBy=h}}function g(C,F,V){o.value&&f(C,F,V.field)}function p(C,F){F.showEllipsis!==void 0&&(C.showEllipsis=F.showEllipsis),C.showTips=i(F.showTips)?!0:F.showTips,C.column=F,C.align=F.align||"left",C.valign=F.valign||"middle",C.mode=n.editable?Ne.editable:Ne.readonly}function y(C,F,V,v){p(C,F),u(C,F,v),d(C,F),g(C,V,F)}function T(C,F,V,v,w){const h=n.editable?Ne.editable:Ne.readonly,b=m(C.field,h,F,V,v);return y(b,C,w,V),b}return{createCellByColumn:T,createCellByField:m,updateCellByColumn:y}}function ti(n,e,t,i,o,r,a){var F,V;const s=l.ref(n.rowOption),c=((F=s.value)==null?void 0:F.height)||28,m=((V=s.value)==null?void 0:V.wrapContent)||!1,{idField:u}=o,{collapseField:d}=i,{updateRowPosition:f}=r,{createCellByColumn:g}=a,p=(v,w,h,b)=>{X.setFieldValue(X.resolveField(v,b),w,b),h.data[b].data=X.resolveField(w,b),h.data[b].editingData=X.resolveField(w,b)};function y(v,w,h,b,M,B){var Ve,Se,xe;const{__fv_data_grid_group_field__:P,__fv_data_grid_group_value__:E,__fv_data_index__:N}=h,I=h.__fv_data_grid_group_layer__||(h.__fv_parents__?(Ve=h.__fv_parents__)==null?void 0:Ve.size:0)||0,_=typeof h.parent=="number"?Number(h.parent):-1,x=h.__fv_data_grid_group_collapse__||h[d.value],G=h.__fv_visible__===void 0?!0:h.__fv_visible__,k=h.__fv_checked__,$=h.__fv_indeterminate__,Y=h.__fv_disabled__||h[((Se=n.rowOption)==null?void 0:Se.disabledField)||"disabled"],Q=n.hierarchy&&e.isVisibleInTree(h),oe={collapse:x,data:{},dataIndex:N,groupField:P,groupValue:E,layer:I,index:w,parentIndex:_,pre:b,top:B,type:v,raw:h,checked:k,disabled:Y,indeterminate:$,setRef:H=>{oe.ref=H},visible:G&&Q||G&&!n.hierarchy,status:Ue.initial,updateCell:(H,O)=>{p(H,h,oe,O),e.updateSummary()},updateCells:(H,O)=>{O.forEach(R=>{p(H,h,oe,R)})}};return b||(h.__fv_data_position__=0),m||(oe.height=c,h.__fv_data_height__=oe.height,f(oe,h)),(xe=s.value)!=null&&xe.customRowStatus&&(s.value.customRowStatus(oe),h.__fv_disabled__=oe.disabled),oe}function T(v,w,h,b,M,B){const P=y(et.data,M,w,h,b,B);return v.forEach((E,N)=>{P.data[E.field]=g(E,N,w,P,b)}),P}function S(v,w,h,b,M){return Object.assign(v,{index:w,dataIndex:h,top:b,pre:M})}function C(v,w,h,b,M,B){const P=v.__fv_data_index__,E=v[u.value],N=t.getEditingSnapshot(E);return N===null?T(B,v,w,h,b,M):S(N,b,P,M,w)}return{createEmptyRow:y,createNewRowFromDataItem:T,renderDataRow:C}}function ni(n,e,t,i){const o=l.ref(n.summary),{idField:r}=e,{createCellByField:a}=t,{createEmptyRow:s}=i,c=l.computed(()=>{const f=o.value;return(f==null?void 0:f.groupFields)||[]}),m=l.computed(()=>{const f=o.value;return f&&f.enable&&f.groupFields&&f.groupFields.length>0});function u(f,g,p,y){if(m.value){const T=f.data[g];let S=T.colSpan;const C=c.value.reduce((F,V)=>(F.set(V,!0),F),new Map);y.reduce((F,V,v)=>{if(C.has(V.field)){const w=a(V.field,Ne.readonly,v,p,f);f.data[V.field]=w,S-1>v&&(S=v)}return F},f),T.colSpan=S}}function d(f,g,p,y,T,S,C){const F=f.__fv_data_grid_group_field__,V=s(et.group,y,f,g,p,T);return V.data[r.value]=a(r.value,Ne.readonly,-1,f,V,0),V.data[F]=a(F,Ne.readonly,1,f,V,S.length),u(V,F,f,S),V}return{renderGroupRow:d}}function ii(n,e,t,i){const{idField:o}=e,{createCellByField:r}=t,{createEmptyRow:a}=i;function s(c,m,u,d,f,g,p){const y=c.__fv_data_grid_group_field__,T=a(et.summary,d,c,m,u,f);return T.data[o.value]=r(o.value,Ne.readonly,-1,c,T),T.data[y]=r(y,Ne.readonly,1,c,T,g.length),T}return{renderSummaryRow:s}}function oi(n,e,t,i,o){var xe;const{isMobilePhone:r}=ke.useMobile(),a=l.ref(!1),{idField:s}=t,c=l.ref(n.editable),m=l.ref(n.editOption),u=l.ref(((xe=n.rowOption)==null?void 0:xe.wrapContent)||!1),{onClickRow:d,onClickRowExcludeDblclick:f}=i,g=new Map([["boolean","check-box"],["datetime","date-picker"],["enum","combo-list"],["number","number-spinner"],["string","input-group"],["text","text"],["commands","commands-editor"]]);let p,y,T,S,C;function F(H){return y&&y.raw[s.value]===H?y:null}const V=l.reactive({});function v(H){return(H==null?void 0:H.field)!==Ot&&(H==null?void 0:H.field)!==Tn}function w(H,O,R={}){H.mode=Ne.editing,p=H,y=O,T=X.resolveField(O==null?void 0:O.raw,H.field),S=R;for(const W in V)delete V[W]}function h(H){H.accept(),H.mode=Ne.editable,p=null}function b(H){h(H);const O={};y&&(Object.keys(y).forEach(R=>{O[R]=y==null?void 0:y[R]}),y=null),e.emit("endEditCell",{cell:H,row:O,newValue:X.resolveField(O==null?void 0:O.raw,H.field),oldValue:T,column:S,editor:V})}function M(H){const O=Promise.resolve(!0);return H?O.then(()=>ze.isUndefined(n.beforeEndEditCell)?!0:typeof n.beforeEndEditCell=="function"?n.beforeEndEditCell({cell:H,row:y,newValue:H.editingData,oldValue:T}):()=>!0).then(R=>(R&&(b(H),y&&(y=null)),R)):O}function B(H){if(C&&C!==H.target){C=null;return}if(document.body.classList.contains("lookup-modal-open"))return;const R=H.target;if(!(R!=null&&R.closest(".popover"))){if(H instanceof MouseEvent||H.key!=="Enter"){const W=R.closest(".fv-grid-cell");if(p&&p.ref&&p.ref===W)return}M(p).then(W=>{W&&document.body.removeEventListener("click",B,!0)})}}function P(){window.closeModal||(window.closeModal=()=>{a.value=!1,window.closeModal&&delete window.closeModal})}function E(H,O,R){return Promise.resolve().then(()=>{var U;const W=(U=R.editor)==null?void 0:U.readonly;return!ze.isUndefined(n.beforeEditCell)&&typeof n.beforeEditCell=="function"?n.beforeEditCell({row:H,cell:O,rawData:H.raw,column:R}):!W}).then(W=>{W&&(r()?(a.value=!0,P()):w(O,H,R),document.body.removeEventListener("click",B,!0),document.body.addEventListener("click",B,!0))})}function N(H,O,R,W={}){H.stopPropagation(),f(H,R),v(O.column)&&c.value&&m.value.editMode==="cell"&&O.mode===Ne.editable&&M(p).then(()=>{p||E(R,O,W)})}function I(H,O,R,W={}){r()||H.stopPropagation(),d(H,R),v(O.column)&&c.value&&m.value.editMode==="cell"&&O.mode===Ne.editable&&M(p).then(()=>{p||E(R,O,W)})}function _(H){H.stopPropagation(),C=H.target}function x(H){H.stopPropagation(),C&&(C=null)}function G(H){Object.values(H.data).filter(O=>O.mode===Ne.editable&&v(O.column)).forEach(O=>{O.mode=Ne.editing}),H.status=Ue.editing,y=H}function k(H,O){Object.values(H.data).filter(R=>R.mode===Ne.editing).forEach(R=>{O?R.accept():R.cancel(),R.mode=Ne.editable}),H.status=Ue.initial,y===H&&(y=null)}function $(H){c.value&&m.value.editMode==="row"&&y!==H&&(y&&k(y,!1),G(H))}function Y(H){k(H,!0),H.status=Ue.initial}function Q(H){k(H,!1),H.status=Ue.initial}function oe(H,O,R){const W=O.dataType,U=O.editor||{type:g.get(W)||"input-group"};return!u.value&&U.type==="text"&&(U.type="input-group"),U&&v(H.column)?(U.type==="input-group"&&(U.textAlign=O.align!=="center"&&O.align!=="right"?"left":O.align,U.updateOn="change"),U.type==="number-spinner"&&(U.updateOn="change"),U.type==="textarea"&&(U.lineBreak="alt enter"),U.context={rowData:R.raw,column:O,cell:H,editor:V},U.readonly=!1,l.createVNode(gn.FDynamicFormInput,{focusOnCreated:n.focusOnEditingCell,selectOnCreated:n.selectOnEditingCell,editor:U,modelValue:H.editingData,"onUpdate:modelValue":ee=>H.editingData=ee,id:O.id,onMousedown:ee=>_(ee),onMouseup:ee=>x(ee)},null)):H.data}function Ve(){M(p)}l.watch(()=>n.editable,()=>{c.value=n.editable}),l.watch(()=>{var H;return(H=n.editOption)==null?void 0:H.editMode},H=>{m.value.editMode=H});function Se(){p=null,y=null,S=null,C=null,document.body.removeEventListener("click",B,!0)}return{clear:Se,onClickOutOfCell:B,onClickCell:I,onClickCellByKeyboard:N,onEditingRow:$,acceptEditingRow:Y,cancelEditingRow:Q,getEditingSnapshot:F,getEditor:oe,endEditCell:Ve,onMousedownCell:_,onMouseupCell:x,showRowEditPanel:a,endEditByCell:h}}function li(n){const e=l.ref(n.idField);function t(i){if(i&&i.length){const o=i[0];Object.keys(o).includes(e.value)||(e.value="__fv_indetify__")}}return{idField:e,reviseIdentifyField:t}}function ri(n,e,t,i){const{idField:o}=i,{currentSelectedDataId:r,multiSelectOnClickRow:a,multiSelectOnClickRowWithShift:s,selectItem:c,toggleSelectItem:m,updateSelectAllStatus:u,isSingleSelect:d}=t,f=l.ref(0),g=l.ref(-1);function p(E){r.value=E}function y(E){return E.raw[o.value]===r.value}function T(E,N){var x;const I=N??E.dataIndex,_={"fv-grid-row":E.type===et.data,"fv-grid-group-row":E.type===et.group,"fv-grid-summary-row":E.type===et.summary,"fv-grid-row-hover":I===g.value,"fv-grid-row-selected":y(E),"fv-grid-row-odd":I%2>0,"fv-grid-row-even":I%2===0,"fv-grid-disabled":E.disabled};if((x=n.rowOption)!=null&&x.customRowStyle){const G=n.rowOption.customRowStyle(E.raw)||{};return Object.assign({},_,G.class||{})}return _}function S(E,N){var _;const I={"fv-grid-cell":!0};if((_=n.rowOption)!=null&&_.customCellStyle){const x=n.rowOption.customCellStyle(E,N)||{};return Object.assign({},I,x.class||{})}return I}function C(E,N){var _;const I={"fv-grid-hierarchy-cell":!0};if((_=n.rowOption)!=null&&_.customCellStyle){const x=n.rowOption.customCellStyle(E,N)||{};return Object.assign({},I,x.class||{})}return I}function F(E){const N=r.value,I=E.raw[o.value];p(I),N!==I&&e.emit("selectionChange",[E.raw],{id:I,data:E.raw})}function V(E,N){var x,G;if(s.value&&!(N!=null&&N.shiftKey)||d.value){(x=n.selection)!=null&&x.keepSelectingOnClick?c(E):m(E,(G=n.selection)==null?void 0:G.keepSelectingOnClick),u();return}if(s.value&&(N==null?void 0:N.shiftKey)||a.value){m(E),u();return}}function v(E,N){N.disabled||(e.emit("clickRow",N.index,N.raw),F(N),V(N,E))}function w(E){f.value+=1,setTimeout(()=>{f.value===1&&e.emit("clickRow",E.index,E.raw),f.value=0},250),f.value>1&&(e.emit("doubleClickRow",E.index,E.raw),f.value=0)}function h(E,N){N.disabled||(w(N),F(N),V(N,E))}function b(E){E.disabled||w(E)}function M(E,N){}function B(E,N){}function P(E,N){var x;const I=N??E.dataIndex,_={"fv-grid-sidebar-row":!0,"fv-grid-sidebar-row-hover":I===g.value,"fv-grid-sidebar-row-selected":y(E),"fv-grid-sidebar-row-odd":I%2>0,"fv-grid-sidebar-row-even":I%2===0,"d-flex":!0,"align-items-center":!0};if((x=n.rowOption)!=null&&x.customRowStyle){const G=n.rowOption.customRowStyle(E.raw)||{};return Object.assign({},_,G.class||{})}return _}return{activeRowById:p,clickRowItem:b,selectRow:V,changeRow:F,gridCellClass:S,gridHierarchyCellClass:C,gridRowClass:T,onClickRow:h,onClickRowExcludeDblclick:v,onMouseoverRow:M,sidebarRowClass:P,onMouseoutRow:B}}function ai(n,e,t,i,o){const{idField:r}=t,{dataView:a,getSelectionItems:s}=e,c=l.ref(""),m=l.computed(()=>n.selection.enableSelectRow),u=l.ref(n.selection.multiSelect??!1),d=l.ref(n.selection.multiSelectMode||"DependOnCheck"),f=l.ref(n.selection.showCheckbox),g=l.computed(()=>{var A;return!!((A=n.selection)!=null&&A.showSelectAll)}),p=l.ref(n.selectionValues||[]),y=l.computed(()=>n.selection.showSelection),T=l.computed(()=>{var A;return((A=n.selection)==null?void 0:A.keepSelectingOnPaging)===void 0?!0:n.selection.keepSelectingOnPaging}),S=l.ref(!!p.value.length&&i.value.length===p.value.length),C=l.ref(!!p.value.length&&i.value.length!==p.value.length),F=l.computed(()=>m.value&&u.value),V=l.computed(()=>m.value&&!u.value&&!f.value),v=l.computed(()=>!!n.hierarchy),w=l.computed(()=>{const A=f.value&&d.value==="DependOnCheck";return F.value&&A}),h=l.computed(()=>F.value&&!f.value),b=l.computed(()=>F.value&&f.value&&d.value==="OnCheckAndClick");function M(){if(!T.value){const A=a.value.map(J=>J[r.value]);p.value=p.value.filter(J=>A.includes(J))}}function B(){const A=a.value.every(D=>p.value.includes(D[r.value])),J=a.value.every(D=>!p.value.includes(D[r.value]));A&&(S.value=!0,C.value=!1),J&&(S.value=!1,C.value=!1),!A&&!J&&(S.value=!1,C.value=!0)}function P(){return s(p.value)}function E(){const A=i.value.reduce((D,ye)=>(D.set(ye.raw[r.value],ye),D),new Map);return p.value.map(D=>A.get(D)).filter(D=>!!D)}function N(A){var D;const J=A.raw.__fv_children_index__;if(J&&J.length){const ye=J.map(be=>a.value[be]);(D=p.value)!=null&&D.length&&ye.some(Re=>!p.value.includes(Re[r.value]))&&(A.indeterminate=!0,A.raw.__fv_indeterminate__=!0)}}function I(){const A=s(p.value);o.emit("selectionUpdate",A,p.value)}function _(A){o.emit("unSelectItem",A)}function x(A){o.emit("selectItem",A)}function G(){const A=i.value.filter(D=>D.indeterminate).map(D=>D.raw[r.value]);i.value.forEach(D=>{D.checked=!1,D.indeterminate=!1,D.raw.__fv_checked__=!1,D.raw.__fv_indeterminate__=!1}),E().forEach(D=>{D.checked=!0,D.raw.__fv_checked__=!0}),A.forEach(D=>{const ye=i.value.find(be=>be.raw[r.value]===D);N(ye)})}l.watch(()=>i.value,()=>{G()}),l.watch(()=>n.selectionValues,A=>{p.value=A,G()},{immediate:!0}),l.watch(()=>n.selection,A=>{u.value=!!A.multiSelect,d.value=A.multiSelectMode||"DependOnCheck",f.value=!!A.showCheckbox});const k=l.computed(()=>!u.value);function $(A){return A.raw[r.value]}function Y(A){return p.value.findIndex(D=>D===$(A))}function Q(){E().forEach(D=>{D.checked=!1}),s(p.value).forEach(D=>{D.__fv_checked__=!1}),p.value=[],B()}function oe(A){const J=A;J.__fv_checked__=!0,J.__fv_indeterminate__=!1;const D=new Set(p.value);D.add(J[r.value]),p.value=Array.from(D.values()),M()}function Ve(A){const J=A;J.__fv_checked__=!1,J.__fv_indeterminate__=!1,p.value=p.value.filter(D=>D!==J[r.value]),M()}function Se(A){const J=A.raw;J.__fv_checked__=!0,J.__fv_indeterminate__=!1;const D=new Set(p.value);D.add(J[r.value]),p.value=Array.from(D.values()),M(),A.checked=!0,A.indeterminate=!1,I(),x(A)}function xe(A){const J=A.raw;J.__fv_checked__=!1,J.__fv_indeterminate__=!1,p.value=p.value.filter(D=>D!==J[r.value]),M(),A.checked=!1,A.indeterminate=!1,I(),_(A)}function H(A){A.disabled||Se(A)}function O(A){A.disabled||xe(A)}function R(A){A.__fv_checked__=!1,A.__fv_indeterminate__=!0,p.value=p.value.filter(J=>J!==A[r.value]),M()}function W(A){const J=A.raw;J.__fv_checked__=!1,J.__fv_indeterminate__=!0,p.value=p.value.filter(D=>D!==J[r.value]),M(),A.checked=!1,A.indeterminate=!0}function U(A){k.value&&Q(),A.checked?xe(A):Se(A)}function ee(A,J=!0){const D=A.checked;k.value&&Q(),J?A.checked?O(A):H(A):D?O(A):H(A)}function se(A){Q(),H(A)}function ce(A){const J=i.value.find(D=>D.raw[r.value]===A);if(J)se(J);else{const D=a.value.find(ye=>ye[r.value]===A);D&&oe(D)}}function fe(A){const J=i.value.filter(be=>A.includes(be.raw[r.value])),D=J.map(be=>be.raw[r.value]),ye=a.value.filter(be=>{const Re=be[r.value];return!D.includes(Re)&&A.includes(Re)});J.length||ye.length,J.forEach(be=>{H(be)}),ye.forEach(be=>{oe(be)})}function pe(A){for(const J of A){if(!p.value.includes(J))continue;const D=i.value.find(ye=>ye.raw[r.value]===J);if(D)O(D);else{const ye=a.value.find(be=>be[r.value]===J);ye&&Ve(ye)}}p.value=p.value.filter(J=>!A.includes(J)),M()}function me(){i.value.forEach(A=>{const J=A.raw;J.__fv_checked__=!0,J.__fv_indeterminate__=!1;const D=new Set(p.value);D.add(J[r.value]),p.value=Array.from(D.values()),M(),A.checked=!0,A.indeterminate=!1})}function Pe(){i.value.forEach(A=>{const J=A.raw;J.__fv_checked__=!1,J.__fv_indeterminate__=!1,p.value=p.value.filter(D=>D!==J[r.value]),M(),A.checked=!1,A.indeterminate=!1})}function We(){return i.value.find(A=>A.raw[r.value]===c.value)}function Ce(){c.value=""}return{clearSelection:Q,currentSelectedDataId:c,enableMultiSelect:u,enableSelectRow:m,findIndexInSelectedItems:Y,getSelectedItems:P,getSelectionRow:We,indeterminate:W,indeterminateDataItem:R,isSelectingHirarchyItem:v,multiSelectMode:d,multiSelectOnClickRow:b,multiSelectOnClickRowWithShift:h,multiSelectOnlyOnCheck:w,select:H,selectAll:me,selectedValues:p,selectDataItem:oe,selectItem:se,selectItemById:ce,selectItemByIds:fe,showCheckBox:f,showSelectAll:g,toggleSelectItem:ee,toggleSelectItemWithoutRow:U,unSelect:O,unSelectAll:Pe,unSelectDataItem:Ve,unSelectItemByIds:pe,updateSelectAllStatus:B,selectAllStatus:S,indeterminateStatus:C,isSingleSelect:V,showSelection:y,keepSelectingOnPaging:T,emitSelectionChanged:I,emptyCurrentRowId:Ce}}function si(n,e){var y,T;const t=String(Date.now()),i=50,{showCheckBox:o}=e,r=l.ref(((y=n.rowNumber)==null?void 0:y.enable)??!1),a=l.computed(()=>n.hierarchy&&o.value&&n.selection.enableSelectRow&&n.selection.multiSelect?!1:o.value),s=l.ref(r.value?((T=n.rowNumber)==null?void 0:T.width)??36:0),c=l.ref(a.value?i:0),m=l.computed(()=>{var S,C;return r.value?((S=n.rowNumber)==null?void 0:S.heading)==="序号"?Ae.LocaleService.getLocaleValue("datagrid.lineNumberTitle"):(C=n.rowNumber)==null?void 0:C.heading:""}),u=l.computed(()=>(a.value&&!n.hierarchy?Number(c.value):0)+(r.value?Number(s.value):0));l.watch(()=>n.rowNumber,S=>{S&&S.enable!==void 0&&(r.value=S.enable),S&&S.width!==void 0&&(s.value=S.width)});function d(S){var F;const C={top:`${S.top}px`,width:`${u.value}px`,height:`${S.height||""}px`};if((F=n.rowOption)!=null&&F.customRowStyle){const V=n.rowOption.customRowStyle(S.raw)||{};return Object.assign({},C,V.style||{})}return C}const f=l.computed(()=>({width:`${u.value}px`}));function g(S){return`${t}_${S.type}_r_${S.index}_${S.refreshKey||""}`}function p(S){return`${t}_${S.type}_r_${S.index}_${S.refreshKey||""}`}return{showRowNumer:r,showSidebarCheckBox:a,sidebarCellPosition:d,sidebarCornerCellStyle:f,sidebarTitle:m,sidebarWidth:u,rowKey:p,cellKey:g}}const di={ascend:(n,e)=>n===e?0:n===!1?-1:1,decend:(n,e)=>n===e?0:n===!0?-1:1},ci={ascend:(n,e)=>{const t=new Date(new Date(n).toLocaleDateString()).valueOf(),i=new Date(new Date(e).toLocaleDateString()).valueOf();return t===i?0:t<i?-1:1},decend:(n,e)=>{const t=new Date(new Date(n).toLocaleDateString()).valueOf(),i=new Date(new Date(e).toLocaleDateString()).valueOf();return t===i?0:t<i?1:-1}},ui={ascend:(n,e)=>n===e?0:n<e?-1:1,decend:(n,e)=>n===e?0:n<e?1:-1},fi={ascend:(n,e)=>n===e?0:n<e?-1:1,decend:(n,e)=>n===e?0:n<e?1:-1};function mi(n){const e=new Map([["boolean","boolean-sorter"],["date","datetime-sorter"],["datetime","datetime-sorter"],["number","numeric-sorter"],["string","text-sorter"],["text","text-sorter"],["enum","text-sorter"],["reference","text-sorter"]]),t=new Map([["boolean-sorter",di],["datetime-sorter",ci],["numeric-sorter",ui],["text-sorter",fi]]);function i(a){const s=(a==null?void 0:a.dataType)||"string",c=e.get(s)||"text-sorter";return t.get(c)||(a==null?void 0:a.sorter)}function o(a){return i(a.column)}function r(a,s){const c=o(a),m=(a.status&Oe.sortable)===Oe.sortable&&(a.status&Oe.sorted)===Oe.sorted,u=(a.status&Oe.ascending)===Oe.ascending,d=(a.status&Oe.descending)===Oe.descending;if(m&&c){const f=u?c.ascend:d?c.decend:void 0;f?s.addSorter(a.field,{field:a.field,compare:f}):s.removeSorter(a.field)}else s.removeSorter(a.field)}return{getSorterByColumn:i,updateSorter:r}}function At(n,e,t,i,o="data-grid-column"){const{columnContext:r,hasLeftFixedColumn:a,hasRightFixedColumn:s}=t,{gridHeaderColumnsStyle:c,leftFixedGridHeaderColumnsStyle:m,rightFixedGridHeaderColumnsStyle:u}=i,d=r.value.defaultColumnWidth,f=32,g=new Map([[0,0]]);function p(B,P){const E=g.get(P)||0,N={height:`${B.depth*f}px`,left:`${B.left}px`,top:`${(B.layer-1)*f}px`,width:`${B.actualWidth}px`,padding:0};return r.value.headerDepth>1&&(N["line-height"]=`${B.depth*f}px`),g.set(P+1,E+(B.actualWidth||d)),N}const y=l.computed(()=>({"fv-grid-header":!0,"fv-grid-header-group-columns":r.value.headerDepth>1})),T=l.computed(()=>({height:`${r.value.headerDepth*f}px`})),S=function(B){return e.showSetting&&!!B.showSetting};function C(){return l.createVNode("span",{class:"fv-grid-settings-icon d-flex align-items-center"},[l.createVNode("i",{class:"f-icon f-icon-home-setup"},null)])}function F(B,P,E,N){var I;(I=n==null?void 0:n.setupContext)==null||I.emit("selectionChange",B,P,E,N)}function V(B){var E,N;return"w-100 d-flex align-items-center justify-content-"+(((E=B.column)==null?void 0:E.halign)==="center"?"center":((N=B.column)==null?void 0:N.halign)==="right"?"end pr-2":"start pl-2")}function v(B,P,E){var I;const N=l.ref(B.column);return l.createVNode("div",{class:"fv-grid-header-cell",style:p(B,E)},[l.createVNode(j.FDesignerItem,{modelValue:N.value,"onUpdate:modelValue":_=>N.value=_,customClass:V(B),canAdd:!1,canDelete:!1,canMove:!1,key:(I=N.value)==null?void 0:I.id,type:o,componentId:e.componentId,onSelectionChange:F},null),S(B)&&C(),B.resizable&&l.createVNode("span",{class:"fv-column-resize-bar"},null)])}function w(B){return B.map((P,E)=>{const N=[];if(N.push(v(P,B,E)),P.children&&P.children.length){const I=w(P.children);N.push(...I)}return N})}function h(){return l.createVNode("div",{class:"fv-grid-header-left-fixed"},[l.createVNode("div",{class:"fv-grid-header-columns",style:m.value},[w(r.value.leftHeaderColumns)])])}function b(){return l.createVNode("div",{class:"fv-grid-header-right-fixed"},[l.createVNode("div",{class:"fv-grid-header-columns",style:u.value},[w(r.value.rightHeaderColumns)])])}function M(){return l.createVNode("div",{class:y.value,style:T.value},[a.value&&h(),l.createVNode("div",{class:"fv-grid-header-primary"},[l.createVNode("div",{class:"fv-grid-header-columns",style:c.value},[w(r.value.primaryHeaderColumns)])]),s.value&&b()])}return{renderGridHeader:M}}const ft={"data-grid":{name:"表格"},"tab-page":{type:"tab-page"},section:{type:"section"}};class pi extends Le.BaseControlProperty{constructor(e,t){super(e,t)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.propertyConfig.categories.command=je.useCommandOption(this).getCommandColumnProperties(e),this.propertyConfig.categories.column=je.useColumnOption().getColumnOptionProperties(e),this.propertyConfig.categories.rowOption=je.useRowOption().getRowOptionProperties(e),this.propertyConfig.categories.summary=je.useSummary().getSummaryProperties(e),this.propertyConfig.categories.group=je.useGroup().getGroupProperties(e),this.propertyConfig.categories.sort=je.useSort().getSort(e),this.propertyConfig.categories.filter=je.useFilter().getFilter(e),this.getEventPropConfig(e),this.propertyConfig}getBasicPropConfig(e){var a,s,c;const t=(c=(s=(a=this.formSchemaUtils.getFormSchema())==null?void 0:a.module)==null?void 0:s.entity[0])==null?void 0:c.entities[0],i=this.assembleSchemaEntityToTree(t,0),o=this,r=super.getBasicPropConfig(e);this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{...r.properties,dataSource:{description:"绑定数据源",title:"绑定数据源",editor:{type:"combo-tree",textField:"name",valueField:"label",data:i,editable:!1},readonly:!0}},setPropertyRelates(m,u){switch(m&&m.propertyID){case"dataSource":{const d=o.formSchemaUtils.getViewModelById(o.viewModelId);if(d){const f=i.find(g=>g.label===m.propertyValue);d.bindTo=f.bindTo}o.designViewModelUtils.assembleDesignViewModel();break}}}}}assembleSchemaEntityToTree(e,t,i,o="",r=[]){const a=o?`${o}/${e.label}`:"/";return r.push({id:e.id,name:e.name,label:e.label,layer:t,parent:i&&i.id,bindTo:a.replace("//","/")}),e.type.entities&&e.type.entities.length&&e.type.entities.map(s=>this.assembleSchemaEntityToTree(s,t+1,e,a,r)),r}getAppearanceProperties(e){this.propertyConfig.categories.appearance=je.useAppearance().getDataGrid(e,this.viewModelId),this.propertyConfig.categories.selection=je.useSelection().getSelection(e),this.propertyConfig.categories.rowNumber=je.useRowNumber().getRowNumber(e),this.propertyConfig.categories.pagination=je.usePagination().getPagination(e,this.isSubGrid())}getEventPropConfig(e){const t=[...je.useDataGridEvent().initEvent(e),{label:"onEndEditCell",name:"单元格结束编辑事件"}],i=this,o=i.eventsEditorUtils.formProperties(e,i.viewModelId,t),r=i.createBaseEventProperty(o);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:r,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,s){const c=a.propertyValue;delete e[i.viewModelId],c&&(c.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(e,i.viewModelId,c.events,c)),e.remoteSort=!!e.columnSorted,e.command&&(e.command.onClickEditCommand=e.onClickEditCommand,e.command.onClickDeleteCommand=e.onClickDeleteCommand,e.command.onHandleAction=e.onHandleAction)}}}isSubGrid(){const e=this.formSchemaUtils.getViewModelById(this.viewModelId);return e&&e.bindTo?e.bindTo.trim()!=="/":!1}}function hi(n,e){const t=n.schema,i=l.ref(!0),o=l.ref(!0);function r(d){return d&&d.sourceType==="control"?d.componentCategory==="input":!1}function a(){return!1}function s(){return!1}function c(){return!0}function m(d){return new pi(d,e).getPropertyConfig(t)}function u(){var d,f,g,p;if(n&&e){const y=(d=n==null?void 0:n.componentInstance)==null?void 0:d.value.belongedComponentId;let T="",S="";const{formSchemaUtils:C}=e;if(y){const V=C.getRootViewModelId(),v=C.getComponentByViewModelId(V),w=C.selectNode(v,h=>h.contents&&h.contents.find(b=>b.component===y));(w==null?void 0:w.type)===((f=ft["tab-page"])==null?void 0:f.type)&&((g=w==null?void 0:w.contents)!=null&&g.length)&&(T=w.title||""),(w==null?void 0:w.type)===((p=ft.section)==null?void 0:p.type)&&(w==null?void 0:w.showHeader)!==!1&&(T=w.mainTitle||""),T=T?`${T} > `:"",S=T?w.id:""}const F=ft["data-grid"].name;e==null||e.formSchemaUtils.getControlBasicInfoMap().set(n.schema.id,{componentTitle:F,parentPathName:`${T}${F}`,reliedComponentId:S})}}return{canAccepts:r,checkCanDeleteComponent:a,checkCanMoveComponent:s,hideNestedPaddingInDesginerView:c,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:o,getPropsConfig:m,setComponentBasicInfoMap:u}}const Qe=l.defineComponent({name:"FDataGridDesign",props:Cn,emits:["ClickRow","DoubleClickRow","selectionChange","enterUpInLastCell","pageIndexChanged","pageSizeChanged"],setup(n,e){var Ce;const t=l.ref(),i=l.inject("designer-host-service"),o=l.inject("design-item-context"),r=hi(o,i),a=j.useDesignerComponent(t,o,r);a.value.styles="display:flex;flex:1;",l.onMounted(()=>{t.value.componentInstance=a}),l.provide("data-grid-context",{dataGridProps:n}),e.expose(a.value);const s=l.ref(n.columns),c=20,m=li(n),u=0,d=l.ref(),f=l.ref(),g=l.ref(n.showStripe),p=l.ref([]),y=l.ref(!1),T=l.ref(((Ce=n.rowOption)==null?void 0:Ce.wrapContent)||!1),S=zn(n,e),C=Gn(n),F=On(n,new Map,S,C,m),V=ai(n,F,m,p,e),v=l.computed(()=>F.totalItems.value<c?F.totalItems.value:c),{containerStyleObject:w}=kn(n),h=En(n),{applyCommands:b}=h;b(s);const M=Mn(n),B=mi(),{applyColumnSorter:P,columnContext:E,updateColumnRenderContext:N}=M;P(F,B);const I=Pn(n,E),_=ri(n,e,V,m),x=oi(n,e,m,_),G=Dn(n),k=ei(n,x,G),$=ti(n,F,x,C,m,G,k),Y=ni(n,m,k,$),Q=ii(n,m,k,$),oe=Fn(n,s,F,v,u,$,Y,Q),{getVisualData:Ve}=oe,Se=si(n,V),{sidebarWidth:xe}=Se;p.value=Ve(0,v.value+u-1);const H=Un(n,F,p,E,oe,v,u,xe),{onWheel:O,dataGridWidth:R,viewPortHeight:W,viewPortWidth:U}=H,ee=wn(n,E,d,U,I),{calculateColumnsSize:se}=ee,ce=l.computed(()=>({"fv-grid":!0,"fv-grid-bordered":!0,"fv-datagrid-strip":g.value})),fe=l.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":y.value,"fv-grid-wrap-content":T.value})),{renderGridHeader:pe}=At(o,n,M,H),{renderHorizontalScrollbar:me}=Vn(n,d,H);function Pe(){var A,J;W.value=((A=f.value)==null?void 0:A.clientHeight)||0,R.value=((J=d.value)==null?void 0:J.clientWidth)||0,se()}l.onMounted(()=>{d.value&&(mn.useResizeObserver(d.value,Pe),se(),l.nextTick(()=>{d.value&&(R.value=d.value.clientWidth),f.value&&(U.value=f.value.clientWidth,W.value=f.value.clientHeight)}))});function We(A){A&&(s.value=A,b(s),N(s.value),P(F,B),se())}return l.watch(()=>n.columns,A=>{We(A),j.canvasChanged.value++}),l.watch(U,()=>{d.value&&se()}),()=>l.createVNode("div",{ref:t,class:ce.value,style:w.value,onWheel:O},[pe(),l.createVNode("div",{ref:d,class:fe.value,onMouseover:()=>{y.value=!0},onMouseleave:()=>{y.value=!1}},[me()])])}}),gi={id:{type:String,default:""},buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:{type:Number},tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupOnClick:{type:Boolean,default:!1},popupClass:{type:String,default:""},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null},updateOn:{type:String,default:"change"},keepWidthWithReference:{type:Boolean,default:!0},placement:{type:String,default:"bottom-left"},limitContentBySpace:{type:Boolean,default:!1},beforeClosePopup:{type:Function,default:null}},yi={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},vi=l.defineComponent({name:"FOverlay",props:yi,emits:["click"],setup(n,e){const t=l.ref(n.popupContentPosition),i=l.ref(n.host),o=l.computed(()=>({backgroundColor:n.backgroundColor||"",pointerEvents:"auto"}));function r(s){e.emit("click"),s.preventDefault(),s.stopPropagation()}l.computed(()=>{const s=i.value;if(s){const c=s.getBoundingClientRect(),{left:m,top:u,height:d}=c;return{left:m,top:u+d}}return t.value});const a=l.computed(()=>({}));return()=>l.createVNode(l.Teleport,{to:"body"},{default:()=>{var s,c;return[l.createVNode("div",{class:"overlay-container",onClick:m=>r(m),style:o.value},[l.createVNode("div",{style:a.value},[(c=(s=e.slots).default)==null?void 0:c.call(s)])])]}})}});function bi(n){if(n.content&&n.content.render)return n.content.render;if(n.render&&typeof n.render=="function")return n.render}function Ci(n){const e=document.createElement("div");e.style.display="contents";let t;const i=n.onClickCallback||(()=>{}),o=()=>{i(),t&&t.unmount()};return t=l.createApp({setup(){l.onUnmounted(()=>{document.body.removeChild(e)});const r=bi(n);return()=>l.createVNode(vi,{"popup-content-position":n.popupPosition,host:n.host,onClick:o,backgroundColor:n.backgroundColor},{default:()=>[r&&r()]})}}),document.body.appendChild(e),t.mount(e),t}class wi{static show(e){return Ci(e)}}const Si={allowClickMaskToClose:{type:Boolean,default:!1},beforeClose:{type:Function,default:()=>!0},class:{type:String,default:""},maskClass:{type:String,default:""},title:{type:String,default:""},width:{type:Number,default:500},height:{type:Number,default:320},buttons:{type:Array,default:[]},modelValue:{type:Boolean,default:!1},mask:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},resizeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0},enableEnter:{type:Boolean,default:!1},dialogType:{type:String,default:""},src:{type:String,default:""},footerHeight:{type:Number,default:60},host:{type:Object,default:"body"},isMessager:{type:Boolean,default:!1}};class Ee{constructor(e,t){this.x=e,this.y=t}static getTransformInfo(e){const i=window.getComputedStyle(e).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(i.length>=6){const o=parseInt(i[4],10),r=parseInt(i[5],10);return{x:o,y:r}}return{x:0,y:0}}static fromEvent(e,t=null){if(this.isMouseEvent(e))return new Ee(e.clientX,e.clientY);if(t===null||e.changedTouches.length===1)return new Ee(e.changedTouches[0].clientX,e.changedTouches[0].clientY);for(let i=0;i<e.changedTouches.length;i++)if(e.changedTouches[i].target===t)return new Ee(e.changedTouches[i].clientX,e.changedTouches[i].clientY)}static isMouseEvent(e){return Object.prototype.toString.apply(e).indexOf("MouseEvent")===8}static isIPosition(e){return!!e&&"x"in e&&"y"in e}static getCurrent(e){const t=new Ee(0,0);if(window){const i=window.getComputedStyle(e);if(i){const o=parseInt(i.getPropertyValue("left"),10),r=parseInt(i.getPropertyValue("top"),10);t.x=isNaN(o)?0:o,t.y=isNaN(r)?0:r}return t}return null}static copy(e){return new Ee(0,0).set(e)}get value(){return{x:this.x,y:this.y}}add(e){return this.x+=e.x,this.y+=e.y,this}subtract(e){return this.x-=e.x,this.y-=e.y,this}multiply(e){this.x*=e,this.y*=e}divide(e){this.x/=e,this.y/=e}reset(){return this.x=0,this.y=0,this}set(e){return this.x=e.x,this.y=e.y,this}}class tt{constructor(e,t){this.width=e,this.height=t}static getCurrent(e){const t=new tt(0,0);if(window){const i=window.getComputedStyle(e);return i&&(t.width=parseInt(i.getPropertyValue("width"),10),t.height=parseInt(i.getPropertyValue("height"),10)),t}return null}static copy(e){return new tt(0,0).set(e)}set(e){return this.width=e.width,this.height=e.height,this}}function Mi(n,e){const t=l.ref(),i=l.ref(),o=l.ref(),r=l.ref(),a=l.ref(),s=l.ref(),c=l.ref(),m=l.ref(),u=l.ref(),d=l.ref(),f=l.ref(),g=l.ref(n.resizeable),p=l.ref(),y=l.ref(n.draggable),T=l.ref(!1);function S(){const k=i.value||document.body,$=window.getComputedStyle(k);if(!$||!t.value)return;const Y=Ee.getTransformInfo(t.value),Q={};c.value&&(Q.deltaL=t.value.offsetLeft-c.value.x,Q.deltaT=t.value.offsetTop-c.value.y);const oe=$.getPropertyValue("position");Q.width=k.clientWidth,Q.height=k.clientHeight,Q.pr=parseInt($.getPropertyValue("padding-right"),10),Q.pb=parseInt($.getPropertyValue("padding-bottom"),10),Q.position=$.getPropertyValue("position"),oe==="static"&&(k.style.position="relative"),Q.translateX=Y.x,Q.translateY=Y.y,d.value=Q}function C(k){if(t.value){r.value=tt.getCurrent(t.value),a.value=Ee.getCurrent(t.value),s.value=r.value?tt.copy(r.value):null,c.value=a.value?Ee.copy(a.value):null,S();const $=k.target.getAttribute("type")||"";m.value={n:!!$.match(/n/),s:!!$.match(/s/),w:!!$.match(/w/),e:!!$.match(/e/)}}}function F(){var k,$,Y,Q;if(t.value){const oe=t.value;m.value&&((m.value.n||m.value.s)&&((k=s.value)!=null&&k.height)&&(oe.style.height=s.value.height+"px"),(m.value.w||m.value.e)&&(($=s.value)!=null&&$.width)&&(oe.style.width=s.value.width+"px"),c.value&&((Y=c.value)!=null&&Y.x&&(oe.style.left=c.value.x+"px"),(Q=c.value)!=null&&Q.y&&(oe.style.top=c.value.y+"px")))}}function V(){const k=n.minHeight?n.minHeight:1,$=n.minWidth?n.minWidth:1;s.value&&c.value&&m.value&&r.value&&(s.value.height<k&&(s.value.height=k,m.value.n&&a.value&&(c.value.y=a.value.y+(r.value.height-k))),s.value.width<$&&(s.value.width=$,m.value.w&&a.value&&(c.value.x=a.value.x+(r.value.width-$))),n.maxHeight&&s.value.height>n.maxHeight&&(s.value.height=n.maxHeight,a.value&&m.value.n&&(c.value.y=a.value.y+(r.value.height-n.maxHeight))),n.maxWidth&&s.value.width>n.maxWidth&&(s.value.width=n.maxWidth,m.value.w&&a.value&&(c.value.x=a.value.x+(r.value.width-n.maxWidth))))}function v(){if(i.value){const k=d.value;if(c.value&&s.value&&m.value&&r.value){const $=k.width-k.pr-k.deltaL-k.translateX-c.value.x,Y=k.height-k.pb-k.deltaT-k.translateY-c.value.y;m.value.n&&c.value.y+k.translateY<0&&a.value&&(c.value.y=-k.translateY,s.value.height=r.value.height+a.value.y+k.translateY),m.value.w&&c.value.x+k.translateX<0&&a.value&&(c.value.x=-k.translateX,s.value.width=r.value.width+a.value.x+k.translateX),s.value.width>$&&(s.value.width=$),s.value.height>Y&&(s.value.height=Y)}}}function w(k){if(!o.value||!r.value||!a.value||!m.value)return;k.subtract(o.value);const $=k.x,Y=k.y;m.value.n?(c.value.y=a.value.y+Y,s.value.height=r.value.height-Y):m.value.s&&(s.value.height=r.value.height+Y),m.value.e?s.value.width=r.value.width+$:m.value.w&&(s.value.width=r.value.width-$,c.value.x=a.value.x+$),v(),V(),F()}function h(k){if(!u.value)return;const $=Ee.fromEvent(k);$&&w($)}function b(){if(t.value){const{width:k,height:$,x:Y,y:Q}=t.value.getBoundingClientRect(),oe=Ee.getTransformInfo(t.value);return{size:{width:k,height:$},position:{x:Y-oe.x,y:Q-oe.y}}}return null}function M(k){if(t.value){const $=b();f.value=$}o.value=void 0,r.value=null,a.value=null,s.value=null,c.value=null,m.value=null,u.value=null,document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",M)}function B(){document.addEventListener("mousemove",h),document.addEventListener("mouseup",M)}function P(k){k instanceof MouseEvent&&k.button===2||y.value&&(document.body.click(),k.stopPropagation(),k.preventDefault(),o.value=Ee.fromEvent(k),u.value=k.target,C(k),B())}function E(k){return t.value=k,g.value&&l.createVNode(l.Fragment,null,[l.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:$=>P($)},null),l.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:$=>P($)},null),l.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:$=>P($)},null),l.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:$=>P($)},null),l.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:$=>P($)},null),l.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:$=>P($)},null),l.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:$=>P($)},null),l.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:$=>P($)},null)])}function N(k=!0){document.body.click();const $=i.value||document.body,Y=tt.getCurrent($),Q=t.value;k&&Q&&(p.value=b(),p.value.transform=Q.style.transform),Y&&Q&&(s.value=Y,s.value.height-=14,s.value.width-=14,Q.style.height=s.value.height+"px",Q.style.width=s.value.width+"px",Q.style.left="7px",Q.style.top="7px",Q.style.transform="",f.value={size:s.value,position:{x:0,y:0}},y.value=!1,T.value=!0)}function I(){var k,$;if(document.body.click(),p.value){const Y={width:p.value.size.width||0,height:p.value.size.height||0},Q={x:(window.innerWidth-Y.width)/2,y:(window.innerHeight-Y.height)/2};(k=s.value)==null||k.set(Y),($=c.value)==null||$.set(Q);const oe=t.value;oe.style.height=Y.height+"px",oe.style.width=Y.width+"px",oe.style.left=`${Q.x}px`,oe.style.top=`${Q.y}px`,oe.style.transform="",f.value={size:Y,position:Q},y.value=n.draggable,T.value=!1}}function _(){if(t.value){const k=tt.getCurrent(t.value);if(k){const{width:$,height:Y}=k;t.value.style.left=`${(window.innerWidth-$)/2}px`,t.value.style.top=`${(window.innerHeight-Y)/2}px`,t.value.style.transform=""}}}function x(){const k=()=>{T.value?N(!1):_(),document.body.click()};return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}}const G=x();return{renderResizeBar:E,boundingElement:i,resizedEventParam:f,maximize:N,restore:I,allowDrag:y,isMaximized:T,unWindowResizeHandle:G,moveToCenter:_}}function Fi(n,e,t){const i=l.ref(),o=l.ref(n.draggable),r=l.ref(n.lockAxis),a=l.ref(),s=l.ref(),c=l.ref(!1),m=l.ref(new Ee(0,0)),u=l.ref(new Ee(0,0)),d=l.ref(new Ee(0,0)),f=l.ref(new Ee(0,0));l.watch(()=>t.value,h=>{a.value.style.cursor=h?"move":"default"});function g(h,b){if(b.tagName==="BUTTON")return!1;if(b===h)return!0;for(const M in b.children)if(Object.prototype.hasOwnProperty.call(b.children,M)&&g(h,b.children[M]))return!0;return!1}function p(){var B,P;let h=d.value.x+u.value.x,b=d.value.y+u.value.y;r.value==="x"?(h=((B=m.value)==null?void 0:B.x)||0,d.value.x=0):r.value==="y"&&(b=((P=m.value)==null?void 0:P.y)||0,d.value.y=0);const M=`translate3d(${Math.round(h)}px, ${Math.round(b)}px, 0px)`;i.value&&(i.value.style.transform=M),f.value.x=h,f.value.y=b}function y(){if(!s.value||!i.value)return null;const h=s.value.getBoundingClientRect(),b=i.value.getBoundingClientRect(),M={top:h.top<b.top,right:h.right>b.right,bottom:h.bottom>b.bottom,left:h.left<b.left};return M.top||(d.value.y-=b.top-h.top),M.bottom||(d.value.y-=b.bottom-h.bottom),M.right||(d.value.x-=b.right-h.right),M.left||(d.value.x-=b.left-h.left),p(),M}function T(h){h&&(m.value&&h.subtract(m.value),d.value.set(h),p(),y())}function S(h){c.value&&o.value&&(h.stopPropagation(),h.preventDefault(),T(Ee.fromEvent(h,a.value)))}function C(){var h;c.value&&(c.value=!1,u.value.add(d.value),d.value.reset(),(h=i.value)==null||h.classList.remove("ng-dragging"),e.emit("stopMove"),document.removeEventListener("mousemove",S),document.removeEventListener("mouseup",C))}function F(){!c.value&&a.value&&(c.value=!0,a.value.classList.add("ng-dragging"),document.addEventListener("mousemove",S),document.addEventListener("mouseup",C))}function V(){if(i.value){const h=Ee.getTransformInfo(i.value);u.value.set(h);return}u.value.reset()}function v(h){if(!t.value||h instanceof MouseEvent&&h.button===2)return;const b=h.target||h.srcElement;a.value!==void 0&&b&&!g(b,a.value)||o.value!==!1&&(document.body.click(),h.stopPropagation(),h.preventDefault(),m.value=Ee.fromEvent(h,i.value),V(),F())}function w(h,b,M){if(o.value&&b){if(h)a.value=h;else if(n.dragHandle){if(n.dragHandle instanceof HTMLElement)a.value=n.dragHandle;else if(typeof n.dragHandle=="string"){const B=b.querySelector(n.dragHandle);B&&(a.value=B)}}i.value=b,s.value=M,a.value?(a.value.classList.add("ng-draggable"),a.value.addEventListener("mousedown",v)):o.value=!1}}return{registerDraggle:w,resetTranslate:V}}function Lt(n,e){if(n){const t=i=>{i.key.toLowerCase()===n.toLowerCase()&&e({event:i,key:n})};return document.addEventListener("keydown",t),()=>{document.removeEventListener("keydown",t)}}}function Ti(n,e){const t=l.ref(n.enableEsc);let i=null;return t.value?(i=Lt("Escape",o=>{e.emit("esc",{event:o.event,type:"esc"})}),{remove:i}):null}function _i(n,e){const t=l.ref(n.enableEnter);let i=null;return t.value?(i=Lt("Enter",o=>{e.emit("enter",{event:o.event,type:"enter"})}),{remove:i}):null}const lt=l.defineComponent({name:"FModal",props:Si,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove"],setup(n,e){const t=l.ref(n.width||300),i=l.ref(n.height||200),o=l.ref(n.modelValue),r=l.ref(""),a=l.ref(n.class),s=l.ref(n.fitContent),c=l.ref(n.showHeader),m=l.ref(""),u=l.ref(n.showCloseButton),d=l.ref(n.showMaxButton),f=l.ref(!1),g=l.ref(n.dialogType),p=l.ref(n.src),y=l.ref(""),T=l.ref(n.showButtons),S=l.ref(n.title),C=l.ref(n.containment||null),F=l.ref();S.value==="错误提示"&&(S.value=Ae.LocaleService.getLocaleValue("messageBox.errorTitle"));const V=l.ref(!1);function v(z,le){const he=le?"accept":"cancel";Promise.resolve().then(()=>{var Me;return(Me=n.beforeClose)==null?void 0:Me.call(n,{closeType:he})}).then(Me=>{Me&&(o.value=!1,e.emit("update:modelValue",!1),le!=null&&e.emit(le?"accept":"cancel"),e.emit("closed",z))})}const w=[{name:"cancel",text:Ae.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:z=>{v(z,!1)}},{name:"accept",text:Ae.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:z=>{v(z,!0)}}],h=l.ref(n.buttons&&n.buttons.length?n.buttons:w),b=l.computed(()=>!!m.value),M=l.computed(()=>!!T.value&&!!h.value),B=l.ref(),P=l.ref(),E=l.ref(!1),{renderResizeBar:N,maximize:I,restore:_,boundingElement:x,resizedEventParam:G,allowDrag:k,unWindowResizeHandle:$,moveToCenter:Y}=Mi(n),{registerDraggle:Q}=Fi(n,e,k);function oe(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}function Ve(){const z=document.querySelectorAll(".farris-modal").length;(!z||z-1<=0)&&document.body.classList.remove("modal-open"),F.value&&F.value.classList.remove("show")}l.watch(()=>n.title,(z,le)=>{z!==le&&(S.value=z)}),l.watch(()=>n.modelValue,(z,le)=>{z!==le&&(o.value=z,o.value&&n.draggable&&l.nextTick(()=>{P.value&&!C.value&&(C.value=P.value.parentElement,x.value=C.value,Q(B.value,P.value,x.value),Y())}),z||(C.value&&(C.value=null),Ve())),o.value?V.value=oe():(E.value=!1,k.value=n.draggable)}),l.watch(()=>n.showHeader,(z,le)=>{z!==le&&(c.value=z)}),l.watch(()=>n.showButtons,(z,le)=>{z!==le&&(T.value=z)}),l.watch(()=>G.value,(z,le)=>{const he=z||{},Me=le||{};JSON.stringify(he)!==JSON.stringify(Me)&&e.emit("resize",{newSize:z,oldSize:le,isMaximized:E.value})}),l.watch([()=>n.width,()=>n.height],(z,le)=>{(z[0]!==le[0]||z[1]!==le[1])&&(t.value=z[0]||500,i.value=z[1]||600)}),l.watch(()=>n.class,(z,le)=>{a.value=z});const Se=l.computed(()=>(o.value&&document.body.classList.add("modal-open"),o.value)),xe=l.computed(()=>{var he;const z={modal:!0,"farris-modal":!0,fade:!0};z["f-modal-fitContent"]=!!s.value,z.show=!!Se.value;const le=(he=n.maskClass)==null?void 0:he.split(" ");return le==null||le.reduce((Me,_e)=>(Me[_e]=!0,Me),z),z}),H=l.computed(()=>{var he;const z={"modal-dialog":!0},le=(he=a.value)==null?void 0:he.split(" ");return le==null||le.reduce((Me,_e)=>(Me[_e]=!0,Me),z),z}),O=()=>X.isMobilePhone()&&!n.isMessager,R=l.computed(()=>{const z=document.documentElement.clientWidth,le=document.documentElement.clientHeight,he=Math.min(t.value,z),Me=s.value?"auto":`${Math.min(i.value,le-10)}px`,_e={position:"absolute",top:`${(window.innerHeight-parseInt(Me==="auto"?"0":Me))/2}px`,left:`${(window.innerWidth-he)/2}px`,width:`${he}px`,height:Me};return O()&&(_e.top="0px",_e.left="0px",_e.width=`${window.innerWidth}px`,_e.height=`${window.innerHeight}px`),n.mask||(_e.pointerEvents="auto"),_e}),W=l.ref(X.getMaxZIndex()||1050),U=l.computed(()=>{const z={display:"block",overflow:"hidden"};return n.mask||(z.pointerEvents="none",z.backgroundColor="transparent"),V.value&&(z.backgroundColor="transparent"),z.zIndex=W.value,z}),ee=l.computed(()=>({"modal-content":!0,"modal-content-has-header":c.value,"is-mobile":O()})),se=l.computed(()=>{const z={display:c.value?"":"none"};return z["pointer-events"]=k.value?"auto":"none",z}),ce=l.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:E.value})),fe=l.computed(()=>({"modal-body":!0,"f-utils-flex-column":g.value==="iframe","f-utils-fill":!0}));function pe(){return{height:`${n.footerHeight||60}px`}}const me=l.computed(()=>{const z={textAlgin:y.value},le=pe();return Object.assign(z,le)});function Pe(z){if(z==null||z.stopPropagation(),E.value){E.value=!1,_();return}I(),E.value=!0}async function We(z,le){z.handle&&await z.handle(le,z)&&e.emit("closed",le)}function Ce(z){z.width&&(t.value=z.width),z.height&&(i.value=z.height),z.buttons&&(h.value=z.buttons),z.title&&(S.value=z.title)}let A=null,J=null;l.onBeforeMount(()=>{V.value=oe()}),l.onMounted(()=>{P.value&&!C.value&&(C.value=P.value.parentElement,x.value=C.value,Q(B.value,P.value,x.value)),Se.value&&document.body.classList.add("modal-open"),A=Ti(n,e),J=_i(n,e)}),l.onUnmounted(()=>{$&&$(),A&&A.remove(),J&&J.remove()}),e.expose({modalElementRef:P,updateModalOptions:Ce,close:v,maxDialog:Pe,isMaximized:E});function D(){return l.createVNode("ul",null,[f.value&&l.createVNode("li",{class:"f-btn-icon f-bare"},[l.createVNode("span",{class:"f-icon modal_minimize"},null)]),d.value&&l.createVNode("li",{onClick:Pe,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[l.createVNode("span",{class:ce.value},null)]),u.value&&l.createVNode("li",{class:"f-btn-icon f-bare",onClick:z=>v(z,!1),style:"pointer-events: auto;"},[l.createVNode("span",{class:"f-icon modal_close"},null)])])}function ye(){return l.createVNode("div",{class:"modal-footer",style:me.value},[h.value&&h.value.map(z=>{const le=l.ref(z.disabled);return l.createVNode("button",{name:z.name,type:"button",disabled:le.value,class:z.class+(z.iconClass?" btn-icontext":""),onClick:he=>{We(z,he)}},[!!z.iconClass&&l.createVNode("i",{class:z.iconClass},null),z.text])})])}function be(){return l.createVNode("div",{ref:B,class:"modal-header",style:se.value},[e.slots.headerTemplate?e.slots.headerTemplate():l.createVNode("div",{class:"modal-title"},[b.value&&l.createVNode("span",{class:m.value,style:"margin-right: 8px"},null),l.createVNode("span",{class:"modal-title-label"},[S.value])]),l.createVNode("div",{class:"actions"},[D()])])}function Re(){return e.slots.footerTemplate?e.slots.footerTemplate():M.value&&ye()}function Ze(z){if(z.stopPropagation(),n.allowClickMaskToClose){if(z.target!==F.value)return;v(z,!1)}}function at(){var z,le;return l.createVNode("div",{id:r.value,class:H.value,style:R.value,ref:P},[l.createVNode("div",{class:ee.value},[c.value&&be(),l.createVNode("div",{class:fe.value},[(le=(z=e.slots).default)==null?void 0:le.call(z),g.value==="iframe"&&l.createVNode("iframe",{title:r.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:p.value},null)]),Re()]),!s.value&&P.value&&!E.value&&N(P.value)])}function st(z){return z||"body"}return l.watchEffect(()=>{Se.value&&(W.value=X.getMaxZIndex()||1050)}),()=>l.createVNode(l.Teleport,{to:st(n.host)},{default:()=>[Se.value&&l.createVNode(l.Transition,{name:"fade",appear:!0},{default:()=>[l.createVNode("div",{ref:F,class:xe.value,style:U.value,onClick:Ze},[at()])]})]})}});function $t(n){if(n.content&&n.content.render)return n.content.render;if(n.render&&typeof n.render=="function")return n.render}function xi(n){const e=document.createElement("div");e.style.display="contents";const t=l.createApp({setup(i,o){l.onUnmounted(()=>{document.body.removeChild(e)});const r=l.ref(),a=l.ref(n.class||""),s=l.ref(!!n.showButtons),c=l.ref(!!n.showHeader),m=l.ref(n.showCloseButton==null?!0:n.showCloseButton),u=l.ref(!0),d=l.ref(n.title||""),f=n.acceptCallback||(()=>{}),g=n.rejectCallback||(()=>{}),p=n.closedCallback||(F=>{}),y=n.resizeHandle||(F=>{}),T=n.stopMoveHandle||(F=>{}),S=$t(n),C=F=>{u.value=!1,t.unmount(),p(F)};return l.onMounted(()=>{}),o.expose({modalRef:r}),()=>l.createVNode(lt,{ref:r,class:a.value,modelValue:u.value,"onUpdate:modelValue":F=>u.value=F,title:d.value,width:n.width,height:n.height,buttons:n.buttons,"show-header":c.value,"show-buttons":s.value,"show-close-button":m.value,"show-max-button":!1,onAccept:f,onCancel:g,fitContent:n.fitContent==null?!0:n.fitContent,onClosed:C,onResize:y,onStopMove:T},{default:()=>[S&&S(t)]})}});return document.body.appendChild(e),t.use(Ae.LocaleService.i18n),t.mount(e),t}class Vi{constructor(e){ie(this,"appContext",null);ie(this,"modalRef",l.ref());ie(this,"activeModalIndex",l.ref(0));ie(this,"modalRefs",{});ie(this,"isUseEscCloseModal",l.ref(!1));ie(this,"activeModalInstance",l.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=e,this.appContext=e?e._context:null}getCurrentModal(){return this.activeModalInstance.value}adaptToWindow(e,t){const{width:i,height:o}={width:window.innerWidth,height:window.innerHeight};return i<e&&(e=i-14),o<t&&(t=o-14),{width:e,height:t}}static show(e){const t=Object.assign({title:"",showButtons:!0,showHeader:!0},e);return xi(t)}close(e){var t,i;e?(i=e.value)==null||i.close():(t=this.getCurrentModal())==null||t.close()}open(e){const t=document.createDocumentFragment();e.showMaxButton&&e.fitContent&&(e.showMaxButton=!1);const i=l.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},e)),o=l.ref(!0),r=i.value.acceptCallback||(()=>{}),a=i.value.rejectCallback||(()=>{}),s=i.value.closedCallback||((v,w)=>{}),c=i.value.resizeHandle||(v=>{}),m=e.stopMoveHandle||(v=>{});let u;const d=$t(i.value),f=v=>{var h;o.value=!1;const w=(h=v==null?void 0:v.target)==null?void 0:h.classList.contains("modal_close");s(v,this.isUseEscCloseModal.value?"esc":w?"icon":"button")},g=v=>{f(v),u&&l.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],l.render(null,t),u=null,this.modalRef.value=null,this.modalRefs){const w=Object.keys(this.modalRefs).map(h=>Number(h));w.length>0?this.activeModalIndex.value=Math.max(...w):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},p=v=>{var w;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((w=this.activeModalInstance.value)==null||w.close(v==null?void 0:v.event))},{width:y,height:T}=i.value,S=this.adaptToWindow(y||500,T||320);Object.assign(i.value,S);const C=()=>l.createVNode(lt,l.mergeProps({ref:this.modalRef,modelValue:o.value,"onUpdate:modelValue":v=>o.value=v},i.value,{isMessager:i.value.class&&i.value.class.indexOf("modal-message")>-1,onAccept:r,onCancel:a,onClosed:g,onResize:c,onEsc:p,onStopMove:m}),{default:()=>[d&&d(this.app)]});return u=(v=>{const w=l.h(C,v);return w.appContext=this.appContext,l.render(w,t),w})({...i.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:v=>{i.value={...i.value,...v},u&&l.render(l.cloneVNode(u,{...i}),t)},destroy:g,modalRef:this.activeModalInstance,close:()=>this.close()}}}const jt=Symbol("FModalService");lt.install=n=>{n.component(lt.name,lt);const e=new Vi(n);n.provide(jt,e),n.provide("FModalService",e)};function Wt(n,e){function t(){const i=n.beforeOpen||n.beforeClickButton||null;let o=Promise.resolve(!0);if(i){const r=i(e.value);if(typeof r>"u")return o;typeof r=="boolean"?o=Promise.resolve(r):o=r}return o}return{judgeCanOpen:t}}function Ii(n,e,t,i,o){const r=l.ref(n.buttonBehavior),a=l.ref(n.popupOnInput),s=l.computed(()=>({"input-group-append":!0,"append-force-show":n.showButtonWhenDisabled&&(n.readonly||n.disable)})),{judgeCanOpen:c}=Wt(n,o),m=l.computed(()=>n.showButtonWhenDisabled||(!n.editable||!n.readonly)&&!n.disable),u=l.inject(jt,null),d=l.ref();async function f(y){if(await c()&&m.value){const T=!!e.slots.default;if(r.value==="Modal"){const S=n.modalOptions,C=u==null?void 0:u.open({...S,render:()=>e.slots.default&&e.slots.default()});d.value=C==null?void 0:C.modalRef}r.value==="Overlay"&&wi.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>e.slots.default&&e.slots.default()}),T&&r.value==="Popup"&&i.togglePopup(!0),T&&a.value&&i.hidePopup(),e.emit("clickButton",{origin:y,value:n.modelValue})}}function g(y){e.emit("mouseEnterIcon",y)}function p(y){e.emit("mouseLeaveIcon",y)}return{buttonGroupClass:s,onClickButton:f,onMouseEnterButton:g,onMouseLeaveButton:p,modalRef:d}}function ki(n,e,t,i,o,r){const a=l.ref(!1),s=l.computed(()=>n.enableClear&&!n.readonly&&!n.disable),{changeTextBoxValue:c,hasClearClass:m}=r;function u(p){a.value=p,m.value=p}l.watch(o,()=>{u(!!o.value)});function d(p){const y=!n.readonly&&!n.disable&&n.editable,T=!n.editable;p.stopPropagation(),(y||T)&&(c(""),o.value="",u(!a.value),e.emit("clear"))}function f(p){if(s.value){if(!t.value){u(!1);return}!n.disable&&!n.readonly&&u(!0)}}function g(p){s.value&&u(!1)}return{enableClearButton:s,showClearButton:a,onClearValue:d,onMouseEnterTextBox:f,onMouseLeaveTextBox:g}}function Ei(n,e,t,i,o){const r=l.computed(()=>n.popupOnInput),a=l.computed(()=>n.popupOnFocus),{shouldPopupContent:s,closeAllPopover:c}=o,m=l.ref(!1),u=l.computed(()=>n.enableTitle?t.value:""),d=l.computed(()=>(n.disable||n.readonly)&&!n.forcePlaceholder?"":n.placeholder),f=l.computed(()=>n.readonly||!n.editable),g=l.ref(!1),p=l.computed(()=>!n.disable&&g.value),y=l.computed(()=>({"text-left":n.textAlign==="left","text-center":n.textAlign==="center","text-right":n.textAlign==="right","form-control":!0,"f-utils-fill":!0})),T=l.computed(()=>({"input-group":!0,"f-state-disabled":n.disable,"f-state-editable":n.editable&&!n.disable&&!n.readonly,"f-state-readonly":n.readonly,"f-state-focus":p.value,"input-group--has-clear":n.enableClear&&m.value}));function S(P,E=!0){t.value=P,E&&(e.emit("change",P),e.emit("update:modelValue",P))}function C(P){s.value=!1,S(P,!0)}l.watch(()=>n.modelValue,P=>{t.value=P});function F(P){g.value=!1,e.emit("blur",P),P.stopPropagation()}function V(P){e.emit("click",P),c(),e.slots.default&&!n.disable&&!n.readonly&&n.popupOnClick&&o.togglePopup()}function v(P){!n.disable&&!n.readonly&&(g.value=!0,f.value||(e.emit("focus",P),a.value&&!s.value&&o.popup()))}function w(P){e.emit("input",P);const E=P.target.value;i.value=E,t.value!==E&&S(E,n.updateOn==="change"),r.value&&!s.value&&o.popup()}function h(P){P.target.tagName!=="INPUT"&&P.preventDefault(),P.stopPropagation()}function b(P){e.emit("keydown",P)}function M(P){P.key==="Enter"&&(r.value||a.value)&&o.hidePopup(),e.emit("keyup",P)}function B(P){const E=P.target.value;P.stopPropagation(),S(E)}return{hasFocusedTextBox:p,isTextBoxReadonly:f,textBoxClass:y,textBoxPlaceholder:d,textBoxTitle:u,inputGroupClass:T,hasClearClass:m,changeTextBoxValue:S,commitValue:C,onBlurTextBox:F,onClickTextBox:V,onFocusTextBox:v,onInput:w,onKeyDownTextBox:b,onKeyUpTextBox:M,onMouseDownTextBox:h,onTextBoxValueChange:B}}const nt="FarrisVue_PopoverInstancesKey";function Pi(n,e,t,i){const o=l.ref(),r=l.ref(!1),{judgeCanOpen:a}=Wt(n,i);l.watch(()=>o.value,(g,p)=>{window[nt]=window[nt]||new WeakMap,g?window[nt].set(t.value,g):window[nt].delete(t.value)});function s(){if(window[nt]){const g=window[nt];document.querySelectorAll(".f-button-edit,.v-popover").forEach(p=>{const y=g.get(p);y&&p!==t.value&&!t.value.closest(".popover-fitcontent")&&y.hide()})}}function c(){const g=o.value;g&&g.show(t.value)}async function m(g=!1){if(!!e.slots.default){if(!g&&!r.value&&!await a())return;r.value=!r.value,r.value&&(await l.nextTick(),c())}}async function u(g=!1){if(!!e.slots.default){if(!g&&!await a())return;r.value=!0,await l.nextTick(),c()}}function d(){r.value=!1}function f(){r.value=!0,l.nextTick(()=>{c()})}return{hidePopup:d,showPopup:f,popup:u,shouldPopupContent:r,togglePopup:m,popoverRef:o,closeAllPopover:s}}function Ni(n,e,t){const i=l.ref(),{isTextBoxReadonly:o,textBoxClass:r,textBoxPlaceholder:a,textBoxTitle:s,onBlurTextBox:c,onClickTextBox:m,onFocusTextBox:u,onInput:d,onKeyDownTextBox:f,onKeyUpTextBox:g,onMouseDownTextBox:p,onTextBoxValueChange:y}=t,T=l.ref(n.id),{uuid:S}=X.useGuid(),C=l.computed(()=>({}));l.onMounted(()=>{var h,b;n.selectOnCreated&&((h=i.value)==null||h.select()),n.focusOnCreated&&((b=i.value)==null||b.focus({preventScroll:!0})),T.value||(T.value="button-edit_"+S(8)),T.value=T.value+"-textbox"});const F=l.ref(!1),V=h=>{h.preventDefault(),F.value=!0},v=h=>{h.preventDefault(),F.value=!1,d(h)};function w(h){F.value||d(h)}return()=>l.createVNode("input",{id:n.id?n.id+"-textbox":void 0,ref:i,name:"input-group-value",autocomplete:n.autoComplete?"on":"off",class:r.value,style:C.value,disabled:n.disable,maxlength:n.maxLength,minlength:n.minLength,placeholder:a.value,readonly:o.value,tabindex:n.tabIndex,title:s.value,type:n.inputType,value:e.value,onBlur:c,onChange:y,onClick:m,onFocus:u,onInput:w,onKeydown:f,onKeyup:g,onMousedown:p,onCompositionend:v,onCompositionstart:V},null)}function Bi(n,e,t){const i=l.ref(n.separator),o=l.computed(()=>n.readonly||n.disable),{changeTextBoxValue:r,onFocusTextBox:a,onBlurTextBox:s,onClickTextBox:c,textBoxPlaceholder:m}=t,u=l.computed(()=>e.value?e.value.split(i.value).map(p=>({name:p,selectable:!0})):[]);function d(p){r(p.map(y=>y.name).join(i.value),!0)}l.watch(()=>n.separator,p=>{i.value=p});const f=l.ref(!n.disable&&!n.readonly);l.watch([()=>n.disable,()=>n.readonly],([p,y],[T,S])=>{f.value=!p&&!y});function g(p){c(p)}return()=>l.createVNode(yn,{tabindex:n.tabIndex,onFocus:a,onBlur:s,id:`${n.id}-tag-editor`,class:"form-control",placeholder:m.value,data:u.value,showClose:!o.value,showInput:!0,disable:o.value,onChange:d,onClick:g},null)}function Oi(n,e,t,i){const{buttonGroupClass:o,onClickButton:r,onMouseEnterButton:a,onMouseLeaveButton:s}=t,{enableClearButton:c,showClearButton:m,onClearValue:u}=i,d=l.ref(),f=ze.debounce(p=>{r(p)},n.buttonBehavior==="Modal"?0:200),g=()=>{e.emit("beforeClearValue")};return{renderButtonGroup:()=>l.createVNode("div",{id:n.id?`${n.id}-button-group`:void 0,class:o.value},[c.value&&l.withDirectives(l.createVNode("span",{class:"input-group-text input-group-clear",onClick:u,onMousedown:g},[l.createVNode("i",{class:"f-icon modal_close"},null)]),[[l.vShow,m.value]]),e.slots.buttonContent?l.createVNode("span",{class:"input-group-text input-group-append-button",onClick:f,onMouseenter:a,onMouseleave:s},[e.slots.buttonContent()]):n.buttonContent?l.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:n.buttonContent,ref:d,onClick:p=>f(p),onMouseenter:a,onMouseleave:s},null):null]),buttonHandleElement:d}}function Ri(n,e,t){const i=l.ref(n.popupMinWidth),{hidePopup:o,popoverRef:r}=t,a=()=>{e.emit("shown")};return()=>l.createVNode(pn,{id:`${n.id}-popover`,ref:r,placement:n.placement,host:n.popupHost,"keep-width-with-reference":n.keepWidthWithReference,fitContent:!0,"right-boundary":n.popupRightBoundary,minWidth:i.value,class:n.popupClass,offsetX:n.popupOffsetX,onHidden:o,onShown:a,beforeClose:n.beforeClosePopup,limitContentBySpace:n.limitContentBySpace},{default:()=>{var s,c;return[(c=(s=e.slots).default)==null?void 0:c.call(s)]}})}const Hi=l.defineComponent({name:"FButtonEdit",props:gi,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue","beforeClearValue"],setup(n,e){const t=l.ref(),i=l.ref(n.customClass),o=l.ref(n.modelValue),r=Pi(n,e,t,o),{shouldPopupContent:a,hidePopup:s,showPopup:c,togglePopup:m}=r,u=Ii(n,e,t,r,o),d=l.ref(""),f=Ei(n,e,o,d,r),{hasFocusedTextBox:g,commitValue:p,inputGroupClass:y}=f,T=ki(n,e,o,g,d,f),{onMouseEnterTextBox:S,onMouseLeaveTextBox:C}=T,F=l.ref(!1),V=l.computed(()=>{const x={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!n.wrapText};return i.value&&i.value.split(" ").reduce((G,k)=>(G[k]=!0,G),x),x}),v=l.computed(()=>({overflow:n.wrapText?"hidden":""})),w=l.computed(()=>({}));function h(){if(!n.multiSelect||n.inputType!=="tag"||!t.value)return 0;let x=0;const G=Array.from(t.value.querySelectorAll(".farris-tag-item"));return G&&G.length&&(x=G.map(k=>k.offsetTop).filter(k=>k>20).length),x}const b=l.ref(h());l.onUpdated(()=>{b.value=h()});function M(){return n.multiSelect&&n.inputType==="tag"?()=>l.createVNode(l.Fragment,null,[Bi(n,o,f)(),!!b.value&&l.createVNode("div",{class:"d-flex flex-row mr-2 more-tags","more-tags":!0},[l.createVNode("span",{class:"multi--more-text"},[l.createTextVNode("+"),b.value])])]):Ni(n,o,f)}let B=M();l.watch([()=>n.multiSelect,()=>n.inputType],()=>{B=M()});const{renderButtonGroup:P,buttonHandleElement:E}=Oi(n,e,u,T),N=Ri(n,e,r),I=l.ref(a.value),_={displayText:d,commitValue:p,elementRef:t,hidePopup:s,showPopup:c,popoverRef:r.popoverRef,shouldPopupContent:a,togglePopup:m,openDialog:()=>{E.value&&n.buttonBehavior==="Modal"&&E.value.click()},getModal:()=>{var x;return n.buttonBehavior==="Modal"?(x=u.modalRef.value)==null?void 0:x.value:null},getTextbox:()=>{var x;return(x=t.value)==null?void 0:x.querySelector("input")},forceClosePopup:()=>{I.value=!1,F.value=!0,a.value=!1}};return l.onMounted(()=>{t.value.componentInstance=_,window.onresize=()=>{document.body.click()}}),l.onBeforeUnmount(()=>{var x;window.onresize=null,(x=window[nt])==null||x.delete(t.value)}),e.expose(_),l.watch(()=>a.value,async(x,G)=>{if(F.value){I.value=x,F.value=!1;return}if(!x&&n.beforeClosePopup&&typeof n.beforeClosePopup=="function"){try{const k=await n.beforeClosePopup();I.value=!k,(!k||n.readonly)&&(a.value=!0)}catch(k){console.error("Error in beforeClosePopup:",k),I.value=G,a.value=G}return}I.value=x}),()=>{var x,G;return l.createVNode(l.Fragment,null,[l.createVNode("div",l.mergeProps(e.attrs,{ref:t,class:V.value,id:n.id?n.id:void 0,style:v.value}),[l.createVNode("div",{id:n.id?`${n.id}-input-group`:void 0,class:y.value,style:w.value,onMouseenter:S,onMouseleave:C},[(G=(x=e.slots).precontent)==null?void 0:G.call(x),B(),P()])]),I.value&&N()])}}}),mt=new Map([["appearance",Ge.resolveAppearance],["column","columnOption"],["command","commandOption"]]),zt=new Map([]),Ai="root-viewmodel";class Li{constructor(e,t){ie(this,"formSchemaUtils");ie(this,"controlCreatorUtils");ie(this,"designViewModelUtils");ie(this,"useFormCommand");ie(this,"formStateMachineUtils");this.resolver=e,this.designerHostService=t,this.formSchemaUtils=this.designerHostService.formSchemaUtils,this.controlCreatorUtils=this.designerHostService.controlCreatorUtils,this.designViewModelUtils=this.designerHostService.designViewModelUtils,this.useFormCommand=this.designerHostService.useFormCommand,this.formStateMachineUtils=this.designerHostService.formStateMachineUtils}createComponent(e){const t=this.createComponentRefNode(e),i=this.createComponentNode(e),o=this.createViewModeNode(e),r=this.formSchemaUtils.getFormSchema();return r.module.viewmodels.push(o),r.module.components.push(i),this.designViewModelUtils.assembleDesignViewModel(),this.wrapContainerSectionForComponent(t,e,o)}wrapContainerSectionForComponent(e,t,i){var c,m,u,d,f,g,p,y,T,S,C;const o=(m=(c=t==null?void 0:t.parentComponentInstance)==null?void 0:c.schema)==null?void 0:m.type,r=(f=(d=(u=t==null?void 0:t.parentComponentInstance)==null?void 0:u.schema)==null?void 0:d.appearance)==null?void 0:f.class,a=(p=(g=this.formSchemaUtils.getFormSchema())==null?void 0:g.module)==null?void 0:p.templateId;if(o===j.DgControl["splitter-pane"].type&&(r!=null&&r.includes("f-page-content-main"))&&["double-list-template","tree-list-template"].includes(a))return e;const s=[j.DgControl["content-container"].type,j.DgControl["response-layout-item"].type,j.DgControl["splitter-pane"].type,j.DgControl.drawer.type];if(o&&s.includes(o)){const F=this.resolver.getSchemaByType("section",{parentComponentInstance:t.parentComponentInstance,mainTitle:t.componentName},this.designerHostService);if(F&&F.contents&&F.contents.length){const V=F.contents[0];return V.contents=[e],this.appendAddDeleteBtnToParentContainer(V,t,i),F}}return this.appendAddDeleteBtnToParentContainer((y=t==null?void 0:t.parentComponentInstance)==null?void 0:y.schema,t,i),o===j.DgControl["tab-page"].type&&(T=t.parentComponentInstance)!=null&&T.parent&&(S=t.parentComponentInstance)!=null&&S.parent.updateToolbarItems&&((C=t.parentComponentInstance)==null||C.parent.updateToolbarItems()),e}appendAddDeleteBtnToParentContainer(e,t,i){const o=e.type,r=i.id.replace(/-/g,"").replace(/_/g,"").replace("component","").replace("viewmodel","");if(t.bindTo==="/"||t.componentType!=="data-grid"&&t.componentType!=="form")return;const a=this.formStateMachineUtils&&this.formStateMachineUtils.getRenderStates(),s=j.DgControl["tab-page"].type===o?"tab-toolbar-item":"section-toolbar-item",c=this.resolver.getSchemaByType(s),m=[Object.assign({},c,{id:`button-add-${t.componentId}`,type:s,text:"新增",disabled:a.find(u=>u.id==="canAddDetail")?{type:"StateMachine",status:!1,field:"canAddDetail"}:!1,onClick:`root-viewModel.${i.id}.${r}AddItem1`}),Object.assign({},c,{id:`button-remove-${t.componentId}`,type:s,text:"删除",disabled:a.find(u=>u.id==="canRemoveDetail")?{type:"StateMachine",status:!1,field:"canRemoveDetail"}:!1,onClick:`root-viewModel.${i.id}.${r}RemoveItem1`})];e.toolbar||(e.toolbar={id:`${e.id}_toolbar`,type:j.DgControl["tab-page"].type===o?"tab-toolbar":"section-toolbar",buttons:[]}),e.toolbar.id||(e.toolbar.id=`${e.id}_toolbar`),e.toolbar.type||(e.toolbar.type=j.DgControl["tab-page"].type===o?"tab-toolbar":"section-toolbar"),e.toolbar.buttons||(e.toolbar.buttons=[]),e.toolbar.buttons=e.toolbar.buttons.concat(m),this.appendAddAndDeleteCommands(i),this.useFormCommand&&this.useFormCommand.checkCommands()}appendAddAndDeleteCommands(e){var u;const t=e.id.replace(/-/g,"").replace(/_/g,"").replace("component","").replace("viewmodel",""),i=X.useGuid().guid(),o=X.useGuid().guid(),r=this.resolveCommandController(),a={id:i,code:`${t}AddItem1`,name:"增加一条子表数据",params:[],handlerName:"AddItem",cmpId:r,shortcut:{},extensions:[]},s={id:o,code:`${t}RemoveItem1`,name:"删除一条子表数据",params:[{name:"id",shownName:"待删除子表数据的标识",value:`{DATA~${e.bindTo}/id}`}],handlerName:"RemoveItem",cmpId:r,shortcut:{},extensions:[]};(u=this.designerHostService.designerContext)!=null&&u.appendIdentifyForNewCommand&&(this.designerHostService.designerContext.appendIdentifyForNewCommand(a),this.designerHostService.designerContext.appendIdentifyForNewCommand(s)),e.commands.push(a,s),this.formSchemaUtils.getFormSchema().module.webcmds.find(d=>d.id===r).refedHandlers.push({host:i,handler:"AddItem"},{host:o,handler:"RemoveItem"})}resolveCommandController(){const e=this.formSchemaUtils.getFormSchema().module.webcmds,t=["8172a979-2c80-4637-ace7-b13074d3f393","8fe977a1-2b32-4f0f-a6b3-2657c4d03574","45be24f9-c1f7-44f7-b447-fe2ada458a61"],i=e.find(r=>t.includes(r.id));if(i)return i.id;const o="45be24f9-c1f7-44f7-b447-fe2ada458a61";return e.push({id:o,path:"/projects/packages/Inspur.GS.Gsp.Web.WebCmp/webcmd",name:"AdvancedListCardController.webcmd",refedHandlers:[]}),o}createComponentRefNode(e){const t=this.resolver.getSchemaByType("component-ref");return Object.assign(t,{id:`${e.componentId}-component-ref`,component:`${e.componentId}-component`}),t}createComponentNode(e){const t=this.resolver.getSchemaByType("component"),i=this.createDateGridComponentContents(e);return Object.assign(t,{id:`${e.componentId}-component`,viewModel:`${e.componentId}-component-viewmodel`,componentType:e.componentType,appearance:{class:this.getDataGridComponentClass(e)},contents:i}),t}createViewModeNode(e){return{id:`${e.componentId}-component-viewmodel`,code:`${e.componentId}-component-viewmodel`,name:e.componentName,bindTo:e.bindTo,parent:Ai,fields:this.assembleViewModelFields(e),commands:[],states:[],enableValidation:!0}}getDataGridComponentClass(e){var r,a,s,c;const{templateId:t}=this.formSchemaUtils.getFormSchema().module,i=(r=e.parentComponentInstance)==null?void 0:r.schema,o=(a=i==null?void 0:i.appearance)==null?void 0:a.class;if(t==="double-list-in-tab-template"&&(i==null?void 0:i.type)==="tab-page"){const m=((s=e.parentComponentInstance)==null?void 0:s.parent)&&((c=e.parentComponentInstance)==null?void 0:c.parent.schema);if((m==null?void 0:m.type)==="tabs"&&(m==null?void 0:m.fill)===!0)return"f-struct-wrapper f-utils-fill-flex-column"}return["double-list-template","tree-list-template"].includes(t)&&(o!=null&&o.includes("f-page-content-main"))?"f-struct-wrapper f-utils-fill-flex-column":"f-struct-is-subgrid"}createDateGridComponentContents(e){var f,g,p,y,T;const t=(f=e.parentComponentInstance)==null?void 0:f.schema,i=(p=(g=t==null?void 0:t.schema)==null?void 0:g.appearance)==null?void 0:p.class,{templateId:o}=this.formSchemaUtils.getFormSchema().module;let r,a=!1;if(o==="double-list-in-tab-template"&&(t==null?void 0:t.type)==="tab-page"){const S=((y=e.parentComponentInstance)==null?void 0:y.parent)&&((T=e.parentComponentInstance)==null?void 0:T.parent.schema);(S==null?void 0:S.type)==="tabs"&&(S==null?void 0:S.fill)===!0&&(a=!0)}if(a){const S=this.resolver.getSchemaByType("section");Object.assign(S,{id:e.componentId+"-section",appearance:{class:"f-section-grid f-section-in-main px-0 pt-0"},fill:!0,showHeader:!1}),r=S}else if((o==="double-list-template"||o==="tree-list-template")&&(i!=null&&i.includes("f-page-content-main"))){const S=this.resolver.getSchemaByType("section");Object.assign(S,{id:e.componentId+"-section",appearance:{class:"f-section-grid f-section-in-main"},fill:!0,showHeader:!1}),r=S}else{const S=this.resolver.getSchemaByType("content-container");Object.assign(S,{id:e.componentId+"-container",appearance:{class:"f-grid-is-sub f-utils-flex-column"}}),r=S}const s=this.resolver.getSchemaByType("data-grid"),c=[],m=this.formStateMachineUtils&&this.formStateMachineUtils.getRenderStates(),u=e.editable&&m.length>0&&m.findIndex(S=>S.id==="editable")>-1;Object.assign(s,{id:e.componentId+"-dataGrid",appearance:{class:"f-component-grid"},columns:c,fieldEditable:u,dataSource:e.dataSource||"",editable:u?{type:"StateMachine",status:!0,field:"editable"}:!1,pagination:{enable:!e.editable}}),r.contents=[s];const{selectedFields:d}=e;return d==null||d.forEach(S=>{if(S.$type===X.FormSchemaEntityField$Type.ComplexField)return;const C=ze.cloneDeep(S),F=this.controlCreatorUtils.setGridFieldProperty("data-grid-column",C,"",u);F&&c.push(F)}),[r]}assembleViewModelFields(e){const t=[],{selectedFields:i}=e;return i==null||i.forEach(o=>{if(o.$type===X.FormSchemaEntityField$Type.ComplexField)return;let r="blur";const a=o.type.name;(a===X.FormSchemaEntityFieldTypeName.Enum||a===X.FormSchemaEntityFieldTypeName.Boolean)&&(r="change"),t.push({type:"Form",id:o.id,fieldName:o.bindingField,groupId:null,groupName:null,updateOn:r,fieldSchema:{}})}),t}}function pt(n,e,t,i){var r,a,s,c,m,u,d;const o=t.parentComponentInstance;if(o&&i){const f=Math.random().toString(36).slice(2,6),g={componentId:`data-grid-${f}`,componentName:((r=t.bindingSourceContext)==null?void 0:r.entityTitle)||((s=(a=t.bindingSourceContext)==null?void 0:a.bindingEntity)==null?void 0:s.name)||`表格-${f}`,componentType:"data-grid",parentContainerId:o.schema.id,parentComponentInstance:o,editable:!0,bindTo:((c=t.bindingSourceContext)==null?void 0:c.bindTo)||"",dataSource:(u=(m=t.bindingSourceContext)==null?void 0:m.bindingEntity)==null?void 0:u.label,selectedFields:(d=t.bindingSourceContext)==null?void 0:d.bindingEntityFields};return new Li(n,i).createComponent(g)}else return e}function Gt(n,e,t){return e}const Ut={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/grid-field-editor.schema.json",title:"grid-field-editor",description:"A Farris Data Grid Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"grid-field-editor"},viewModelId:{description:"",type:"string",default:""},gridData:{description:"",type:"object",default:null}},required:["id","type"]},St={modelValue:{type:String,default:""},viewModelId:{Type:String,default:""},gridData:{Type:Object,default:null},gridType:{Type:String,default:"data-grid-column"},getLatestGridData:{Type:Function}};Ge.createPropsResolver(St,Ut,mt,pt);const $i=Ge.getPropsResolverGenerator(St,Ut,mt,pt),ji={dataSource:{type:Array,default:[]},displayType:{type:String,default:"List"},enableSearch:{type:Boolean,default:!0},identifyField:{type:String,default:"id"},textField:{type:String,default:"name"},placeholder:{type:String,default:""},selections:{type:Array,default:[]},selectionValues:{type:Array,default:[]},virtualized:{type:Boolean,default:!1},rowOption:{type:Object},columns:{type:Array,default:[{field:"name",title:"",dataType:"string",width:"100%"}]},checkBeforeRemoveItem:{type:Function,default:null},selectedItemClass:{Type:[String,Function],default:"draggable-item--text-truncate",validator:n=>typeof n=="string"||typeof n=="function"}},Wi={columns:{type:Array,default:[{field:"name",title:"",dataType:"string"}]},customClass:{type:String,default:""},data:{type:Array,default:[]},draggable:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},multiSelectMode:{type:String,default:"OnCheck"},idField:{type:String,default:"id"},valueField:{type:String,default:"id"},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},view:{type:String,default:"ContentView"},size:{type:String,default:"default"},placeholder:{type:String,default:""},header:{type:String,default:"ContentHeader"},headerClass:{type:String,default:""},itemClass:{type:[String,Function],default:"",validator:n=>typeof n=="string"||typeof n=="function"},itemStyle:{type:[String,Function],default:"",validator:n=>typeof n=="string"||typeof n=="function"},itemContentClass:{type:String,default:""},selectionValues:{type:Array,default:[]},group:{type:Object},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!0}},keepOrder:{type:Boolean,default:!1},disableField:{type:String,default:"disabled"},enableHighlightSearch:{type:Boolean,default:!0},virtualized:{type:Boolean,default:!0},checkBeforeRemoveItem:{type:Function,default:null},headerTemplate:{type:Object},contentTemplate:{type:Object},footerTemplate:{type:Object},emptyTemplate:{type:Object},pagination:{type:Object,default:{enable:!1,size:20}}};function zi(n,e){function t(r){const a=[];let s=r.nextNode();for(;s;)a.push(s),s=r.nextNode();return a}function i(r,a){const s=document.createTreeWalker(r,NodeFilter.SHOW_TEXT);return t(s).map(d=>({textNode:d,text:(d.textContent||"").toLocaleLowerCase()})).map(({textNode:d,text:f})=>{const g=[];let p=0;for(;p<f.length;){const y=f.indexOf(a,p);if(y===-1)break;g.push(y),p=y+a.length}return g.map(y=>{const T=new Range;return T.setStart(d,y),T.setEnd(d,y+a.length),T})}).flat()}function o(r){if(!CSS.highlights||(CSS.highlights.clear(),!r||!e))return;const a=i(e.value,r.toLocaleLowerCase()),s=new Highlight(...a);CSS.highlights.set("search-result",s)}return{search:o}}function Dt(n,e,t,i,o,r,a,s,c,m){const u=l.ref(n.size),d=l.ref(n.textField),f=l.ref(n.titleField),g=l.ref(n.disableField),p=l.computed(()=>{var M,B;return((M=n.selection)==null?void 0:M.multiSelect)&&((B=n.selection)==null?void 0:B.showCheckbox)}),{onMouseenterItem:y,onMouseoverItem:T,onMouseoutItem:S}=r,{getKey:C,listViewItemClass:F,listViewItemStyle:V,onCheckItem:v,onClickItem:w}=a,h=l.computed(()=>{const M={"text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"};return n.itemClass?M:{margin:u.value==="small"?"0.25rem 0":"8px 0",...M}});function b(M,B,P){return M.checked=s.findIndexInSelectedItems(M)>-1,l.createVNode("li",{class:F(M,B),id:C(M,B),key:C(M,B),style:V(M,B),onClick:E=>w(M,B,E),onMouseenter:E=>y(E,M,B),onMouseover:E=>T(E,M,B),onMouseout:E=>S(E,M,B)},[p.value&&l.createVNode("div",{class:"f-list-select",onClick:E=>E.stopPropagation()},[l.createVNode(Ct.FCheckbox,{id:"list-"+C(M,B),customClass:"listview-checkbox float-left",disabled:M[g.value],checked:M.checked,"onUpdate:checked":E=>M.checked=E,onChange:E=>{v(M,B,!E.checked)}},null)]),l.createVNode("div",{class:"f-list-content"},[l.createVNode("div",{class:n.itemContentClass,style:h.value,title:M.raw[f.value]||M.raw[d.value]},[M.raw[d.value]])])])}return{renderItem:b}}function Gi(n,e,t,i,o,r,a,s,c,m){const u=l.ref(n.multiSelect),d=l.ref(n.disableField),f=l.ref(n.textField),{onMouseenterItem:g,onMouseoverItem:p,onMouseoutItem:y}=r,{getKey:T,listViewItemClass:S,listViewItemStyle:C,onCheckItem:F,onClickItem:V,updateSelectedItems:v}=a;function w(b,M,B){return n.contentTemplate?l.createVNode(l.Fragment,null,[n.contentTemplate({item:b.raw,index:M,selectedItem:B})]):e.slots.content?l.createVNode(l.Fragment,null,[e.slots.content&&e.slots.content({item:b.raw,index:M,selectedItem:B})]):l.createVNode("div",{style:"margin: 10px 0;"},[b.raw[f.value||"name"]])}function h(b,M,B){return l.createVNode("li",{class:S(b,M),id:T(b,M),key:T(b,M),style:C(b,M),onClick:P=>V(b,M,P),onMouseenter:P=>g(P,b,M),onMouseover:P=>p(P,b,M),onMouseout:P=>y(P,b,M)},[u.value&&l.createVNode("div",{class:"f-list-select",onClick:P=>P.stopPropagation()},[l.createVNode(Ct.FCheckbox,{id:"list-"+T(b,M),customClass:"listview-checkbox",disabled:b[d.value],checked:b.checked,"onUpdate:checked":P=>b.checked=P,onChange:P=>{F(b,M,!P.checked),v()}},null)]),l.createVNode("div",{class:"f-list-content"},[w(b,M,B)])])}return{renderItem:h}}function Ui(n,e,t,i,o,r,a,s,c,m){const u=l.ref(n.multiSelect),d=l.ref(n.disableField),f=l.ref(n.textField),{onMouseenterItem:g,onMouseoverItem:p,onMouseoutItem:y}=r,{getKey:T,listViewItemClass:S,onCheckItem:C,onClickItem:F}=a,{dragstart:V,dragenter:v,dragover:w,dragend:h}=i,{removeItem:b}=c,M=l.computed(()=>({margin:u.value?"10px 0":"10px 0px 10px 14px"}));function B(_,x=""){const G=_.target;G.title=G.scrollWidth>G.clientWidth?x:""}function P(_){return l.createVNode("div",{style:M.value,onMouseenter:x=>B(x,_.raw[f.value||"name"])},[_.raw[f.value||"name"]])}function E(){return e.slots.itemContent?e.slots.itemContent:P}const N=E();function I(_,x,G){return l.createVNode("li",{class:S(_,x),id:T(_,x),key:T(_,x),onClick:k=>F(_,x,k),onMouseenter:k=>g(k,_,x),onMouseover:k=>p(k,_,x),onMouseout:k=>y(k,_,x),draggable:"true",onDragstart:k=>V(k,_,x),onDragenter:k=>v(k,x),onDragend:k=>h(k,_),onDragover:k=>w(k)},[u.value&&l.createVNode("div",{class:"f-list-select",onClick:k=>k.stopPropagation()},[l.createVNode(Ct.FCheckbox,{id:"list-"+T(_,x),customClass:"listview-checkbox",disabled:_[d.value]||!_.checked,checked:_.checked,"onUpdate:checked":k=>_.checked=k,onChange:k=>C(_,x,!k.checked)},null)]),l.createVNode("div",{class:"f-list-content"},[N(_)]),l.createVNode("div",{class:"f-list-remove",onClick:k=>{k.stopPropagation(),b(x)}},[l.createVNode("div",{class:"f-list-remove-icon"},[l.createVNode("i",{class:"f-icon f-icon-remove_face"},null)])]),l.createVNode("div",{class:"f-list-handle"},[l.createVNode("div",null,[l.createVNode("i",{class:"f-icon f-icon-drag-vertical"},null)])])])}return{renderItem:I}}function Di(n,e,t,i,o,r,a,s,c,m){var T;const u=l.ref(((T=n.group)==null?void 0:T.groupFields)||[]),{collpaseGroupIconClass:d}=o,{toggleGroupRow:f}=m;function g(S,C){C.collapse=!C.collapse,t.value=f(C.collapse?"collapse":"expand",C,t.value)}function p(S,C,F){return e.slots.group?l.createVNode(l.Fragment,null,[e.slots.content&&e.slots.group({item:S.raw,index:C,selectedItem:F})]):l.createVNode("div",{class:"f-navlookup-recentHeader",onClick:V=>g(V,S)},[l.createVNode("div",{class:"fv-grid-group-row-icon"},[l.createVNode("span",{class:d(S)},null)]),l.createVNode("div",{class:"f-navlookup-recommandLabel"},[S.raw[u.value[S.layer]]])])}function y(S,C,F){return S.layer>-1&&p(S,C,F)}return{renderItem:y}}function qi(n,e,t,i){const{dataView:o}=t,{updateSelectedItems:r}=i;function a(s){if(s>-1&&s<o.value.length){if(n!=null&&n.checkBeforeRemoveItem&&!n.checkBeforeRemoveItem(o.value[s]))return;const c=o.value.splice(s,1);r(),e.emit("removeItem",c[0])}}return{removeItem:a}}function Yi(n,e,t,i,o,r,a,s,c,m){const u=l.ref(n.view),d=l.ref(n.view==="CardView"),f=l.ref({}),g=qi(n,e,i,c),p=l.computed(()=>({"f-list-view-group":!0,"f-list-view-group-multiselect":n.multiSelect,"d-flex":d.value,"flex-wrap":d.value})),y=l.computed(()=>!!t.value&&t.value.length>0),T=l.computed(()=>t.value.length===0);l.computed(()=>T.value&&!e.slots.empty);function S(){return u.value==="SingleView"?Dt:u.value==="DraggableView"?Ui:(u.value==="ContentView"||u.value==="CardView")&&(n.contentTemplate||e.slots.content)?Gi:Dt}const C=S(),{renderItem:F}=C(n,e,t,m,o,r,c,a,g,s),{renderItem:V}=Di(n,e,t,m,o,r,c,a,g,s),v=[F,V];function w(){return t.value.filter(M=>M.visible!==!1).map((M,B)=>v[M.type](M,B,f))}function h(){return l.createVNode("div",{class:"f-list-view-emptydata",style:"margin: 0 auto;"},[l.createVNode("p",{class:"f-empty-title"},[n.emptyTemplate?n.emptyTemplate():e.slots.empty?e.slots.empty():Ae.LocaleService.getLocaleValue("listView.emptyMessage")])])}function b(){return l.createVNode("ul",{class:p.value,style:"list-style: none;"},[y.value&&w(),T.value&&h()])}return{renderListArea:b}}function Xi(n,e,t){function i(){return e.slots.header&&l.createVNode("div",{class:"f-list-view-header"},[e.slots.header()])}return{renderHeader:i}}function qt(n,e,t){const i=l.ref(n.headerClass),o=l.ref(n.placeholder),r=l.ref(""),a=l.computed(()=>!r.value),s=l.computed(()=>!!r.value);function c(f){r.value=""}l.watch(r,f=>{n.enableHighlightSearch&&t.search(f),e.emit("afterSearch",f)});const m=l.computed(()=>{const f={"form-group":!0,"farris-form-group":!0};return i.value&&i.value.split(" ").reduce((p,y)=>(p[y]=!0,p),f),f});function u(f){}function d(){return l.createVNode("div",{class:"f-list-view-header",onClick:l.withModifiers(()=>u,["prevent","stop"])},[l.createVNode("div",{class:m.value},[l.createVNode("div",{class:"farris-input-wrap"},[l.createVNode("div",{class:"f-cmp-inputgroup"},[l.createVNode("div",{class:"input-group f-state-editable"},[l.withDirectives(l.createVNode("input",{class:"form-control f-utils-fill text-left","onUpdate:modelValue":f=>r.value=f,name:"input-group-value",type:"text",placeholder:o.value,autocomplete:"off"},null),[[l.vModelText,r.value]]),l.createVNode("div",{class:"input-group-append"},[s.value&&l.createVNode("span",{class:"input-group-text input-group-clear",onClick:f=>c()},[l.createVNode("i",{class:"f-icon f-icon-close-circle"},null)]),a.value&&l.createVNode("span",{class:"input-group-text"},[l.createVNode("span",{class:"f-icon f-icon-search"},null)])])])])])])])}return{renderHeader:d}}function Zi(){const n=l.ref(""),e=l.ref(-1),t=l.ref(""),i=l.ref(-1),o=l.ref(!1);function r(d,f,g){i.value=g}function a(d,f,g){o.value||(i.value=g)}function s(d,f,g){i.value=-1}function c(){o.value=!0}function m(){o.value=!1}function u(){e.value=-1,n.value=""}return{activeIndex:e,focusedItemId:t,hoverIndex:i,clearActiveItem:u,onMouseenterItem:r,onMouseoverItem:a,onMouseoutItem:s,resumeHover:m,suspendHover:c}}function Ji(n,e,t,i){const o=l.ref(n.idField),{dataView:r}=t,a=l.ref(-1),s=l.ref(!1),{activeIndex:c,focusedItemId:m,hoverIndex:u,resumeHover:d,suspendHover:f}=i;let g,p=0,y=0;function T(w,h){const b=w-p,M=h-y;g.style.left=parseInt(g.style.left)+b+"px",g.style.top=parseInt(g.style.top)+M+"px",p=w,y=h}function S(w){const{left:h,top:b}=w.getBoundingClientRect(),M=w.cloneNode(!0);return M.className=M.className+" f-listview-drag-moving",M.style.cssText=`
2
2
  position:absolute;
3
3
  left:${h}px;
4
4
  top:${document.documentElement.scrollTop?b+document.documentElement.scrollTop:b}px;
@@ -15,9 +15,9 @@
15
15
  `,M.children[0].style.cssText="overflow: hidden;flex: 1 1 auto;width: 100%;",M.children[0].children[0].style.cssText=`
16
16
  margin: 10px 0px 10px 14px;
17
17
  overflow: hidden;text-overflow: ellipsis;white-space: nowrap;
18
- `,M.children[1].style.cssText="width: 30px;padding: 0 14px 0 0",M.children[2].style.cssText="padding: 0 14px 0 0;",document.body.appendChild(M),M}function C(w,h,b){if(w.stopPropagation(),f(),h){if(g=S(w.target),w.dataTransfer){const M=new Image;M.src="",w.dataTransfer.setDragImage(M,0,0)}p=w.pageX,y=w.pageY,setTimeout(()=>{a.value=b,s.value=!0,h.moving=!0})}}function F(w,h){if(w.preventDefault(),a.value!==h){const b=r.value[a.value],M=r.value;M.splice(a.value,1),M.splice(h,0,b),a.value=h,T(w.pageX,w.pageY)}}function V(w){w.preventDefault(),w.dataTransfer&&(w.dataTransfer.dropEffect="move"),T(w.pageX,w.pageY)}function v(w,h){h&&(h.moving=!1,g&&(document.body.removeChild(g),g=null)),r.value.forEach((b,M)=>{b.__fv_index__=M}),s.value=!1,d(),u.value=h.raw.__fv_index__,c.value=h.raw.__fv_index__,m.value=h.raw[o.value],e.emit("change",r.value),e.emit("activeChange",[h.raw])}return{dragstart:C,dragenter:F,dragover:V,dragend:v,isDragging:s}}function Qi(n,e,t,i,o,r){const a=l.ref(n.idField),s=l.ref(n.disableField),c=l.ref(n.draggable);l.ref(n.itemClass);const m=l.ref(n.selection.multiSelect??!1),u=l.ref(n.selection.multiSelectMode),{isDragging:d}=i,{activeIndex:f,focusedItemId:g,hoverIndex:p}=o,{clearSelection:y,getSelectedItems:T,toggleSelectItem:S,currentSelectedDataId:C}=r,F=l.ref(T()),V=I=>F.value.length===0?!1:F.value.some(_=>{let x="";return _.data?x=_.data[a.value]:x=_[a.value],x===I});function v(){F.value=T()}function w(I,_){return I.raw[a.value]!=null?I.raw[a.value]:""}function h(I,_){const x={"f-list-view-group-item":!0,"f-list-view-draggable-item":c.value,"f-un-click":!I.checked,"f-un-select":!!I.raw[s.value],"f-listview-active":m.value&&V(w(I))||!m.value&&I.raw[a.value]===C.value,"f-listview-hover":!d.value&&_===p.value,moving:!!I.moving};if(typeof n.itemClass=="string")return X.getCustomClass(x,n.itemClass);if(typeof n.itemClass=="function"){const G=n.itemClass(I);return X.getCustomClass(x,G)}return x}function b(I,_){const x={};if(typeof n.itemStyle=="string")return X.getCustomStyle(x,n.itemStyle);if(typeof n.itemStyle=="function"){const G=n.itemStyle(I);return X.getCustomStyle(x,G)}return x}const M=l.computed(()=>!m.value);function B(I,_,x){I.checked=x,!I.raw[s.value]&&(M.value&&(g.value=I.raw[a.value]),S(I))}const P=l.computed(()=>m.value&&u.value==="OnCheckClearByClick"),E=l.computed(()=>!m.value||m.value&&(u.value==="OnCheckAndClick"||u.value==="OnClick"));function N(I,_,x){if(I.raw[s.value]){x==null||x.preventDefault(),x==null||x.stopPropagation();return}C.value=I.raw[a.value],g.value=I.raw[a.value],f.value=_,P.value&&y(),E.value&&(S(I),v()),e.emit("clickItem",{data:F.value,index:_,dataItem:I.raw}),e.emit("activeChange",F.value)}return{getKey:w,selectedItems:F,listViewItemClass:h,listViewItemStyle:b,updateSelectedItems:v,onCheckItem:B,onClickItem:N}}const Yt=l.defineComponent({name:"FListView",props:Wi,emits:["afterSearch","checkValuesChange","clickItem","selectItem","unSelectItem","selectionChange","removeItem","change","activeChange","pageIndexChanged","pageSizeChanged","changed","selectionUpdate"],setup(n,e){const t=l.ref(),i=l.ref(!0),o=l.ref(!1),r=l.ref([]),a=0,s=l.ref(n.columns),c=ke.useFilter(n,e),m=ke.useIdentify(n),u=ke.useHierarchy(n),d=ke.useGroupData(n,m),f=ke.useDataView(n,new Map,c,u,m),g=ke.useSelection(n,f,m,r,e),p=zi(n,t),y=ke.usePagination(n,f),T=l.computed(()=>f.dataView.value.length),S=ke.useRow(n,e,g,m),C=ke.useEdit(n,e,m,S,r),F=ke.useVisualDataBound(n),V=ke.useVisualDataCell(n,{},F),v=ke.useVisualDataRow(n,f,C,u,m,F,V),w=ke.useVisualGroupRow(n,m,V,v),h=ke.useVisualSummaryRow(n,m,V,v),b=ke.useVisualData(n,s,f,T,a,v,w,h),{getVisualData:M}=b;r.value=M(0,T.value+a-1);const B=l.computed(()=>{const D={"f-list-view":!0,"f-list-view-multiple":n.multiSelect};return n.size!=="default"&&(D[`${n.size}-item`]=!0),X.getCustomClass(D,n.customClass)}),P=l.computed(()=>!!e.slots.footer||i.value);function E(){return n.header==="SearchBar"?qt:n.header==="ContentHeader"?Xi:qt}const N=E(),{renderHeader:I}=N(n,e,p),_=Zi(),x=Ji(n,e,f,_),G=Qi(n,e,r,x,_,g),{renderListArea:k}=Yi(n,e,r,f,d,_,g,b,G,x);function $(D){p.search(D)}function Y(D){D&&(f.load(D),r.value=M(0,T.value+a-1))}function Q(){g.clearSelection(),_.clearActiveItem()}function oe(){return G.selectedItems.value}function Ve(){return G.selectedItems.value.map(D=>D[m.idField.value])}function Se(D){g.selectedValues.value=D,G.updateSelectedItems()}function xe(){return g.currentSelectedDataId.value}function H(D){S.activeRowById(D)}function O(D){const ye=m.idField.value,be=r.value.find(Ze=>Ze.raw[ye]===D),Re=r.value.findIndex(Ze=>Ze.raw[ye]===D);be&&Re>-1&&G.onClickItem(be,Re)}function R(D){const ye=m.idField.value,be=r.value.find(Re=>Re.raw[ye]===D);be&&S.changeRow(be)}function W(D){y.updatePagination(D)}function U(D){return r.value.filter(ye=>D.includes(ye.raw[n.idField]))}e.expose({search:$,updateDataSource:Y,clearSelection:Q,getSelections:oe,updateSelectionByIds:Se,getSelectionIds:Ve,activeRowById:H,getCurrentRowId:xe,clickRowItemById:O,updatePagination:W,getVisibleDataByIds:U,selectRowById:R});function ee(D){n.multiSelect&&(D.preventDefault(),D.stopPropagation())}l.watch(()=>n.selectionValues,(D,ye)=>{D!==ye&&Se(D)});const se=ke.useSidebar(n,g),{sidebarWidth:ce,showSidebarCheckBox:fe}=se,pe=ke.useColumn(n,e),{applyColumnSorter:me,columnContext:Pe,updateColumnRenderContext:We}=pe,Ce=ke.useVirtualScroll(n,f,r,Pe,b,T,a,ce,C),{shouldRenderPagination:A}=y,{renderDataGridPagination:J}=ke.getPagination(n,e,f,Ce,y,g);return()=>l.createVNode("div",{class:B.value,onClick:ee},[I(),l.createVNode("div",{ref:t,class:"f-list-view-content",onMouseover:()=>{o.value=!0},onMouseleave:()=>{o.value=!1}},[k()]),P.value&&l.createVNode("div",{class:"f-list-view-footer"},[n.footerTemplate?n.footerTemplate():e.slots.footer&&e.slots.footer()])])}}),Ki=l.defineComponent({name:"FTransfer",props:ji,emits:["change","activeChange","selectItem","unSelecteItem","removeItem"],setup(n,e){const t=l.ref(n.identifyField),i=l.ref(n.displayType),o=l.ref(!1),r=l.ref(n.dataSource),a=l.ref(n.textField),s=l.ref(n.selections||[]),c=l.computed(()=>s.value.map(N=>N[t.value])),m=new Map,u=l.ref(),d=l.ref(),f=l.ref();let g;function p(){const N=new Map,I=n.selectionValues||[];I.length&&I.reduce((x,G)=>(x.set(G,!0),x),N);const _=n.selections||[];_.length&&(N.clear(),_.reduce((x,G)=>(x.set(G[t.value],!0),x),N)),s.value.length||(s.value=r.value.filter(x=>N.has(x[t.value])).map(x=>Object.assign({},x))),r.value.forEach(x=>{const G=x[t.value],k=N.has(G);x.checked=k,k&&m.set(G,x)})}p(),l.watch(()=>n.selections,N=>{s.value=N,p()});const y=l.computed(()=>i.value==="List"),T=l.computed(()=>i.value==="Tree");function S(N){const I=ze.cloneDeep(s.value);s.value=N.map(_=>Object.assign({},_)),e.emit("change",s.value,I)}function C(N){e.emit("selectItem",N)}function F(N){e.emit("unSelectItem",N)}function V(){return l.createVNode(Yt,{class:"f-utils-fill",data:r.value,multiSelect:!0,itemClass:"f-transfer-list-item",textField:a.value,selection:{enableSelectRow:!0,multiSelect:!0,multiSelectMode:"OnCheckAndClick",showCheckbox:!0,showSelectAll:!1,showSelection:!0},draggable:!1,header:"Search",headerClass:"transfer-search-box",selectionValues:c.value,onSelectionUpdate:S},null)}function v(){return l.createVNode(vn,{ref:f,data:r.value,columns:n.columns,virtualized:n.virtualized,rowOption:n.rowOption,textField:a.value,selection:{enableSelectRow:!0,multiSelect:!0,multiSelectMode:"OnCheckAndClick",showCheckbox:!0,showSelectAll:!1,showSelection:!0},selectionValues:c.value,onSelectionUpdate:S,onSelectItem:C,onUnSelectItem:F},null)}function w(){return l.createVNode("div",{class:"f-utils-fill option-pane d-flex flex-column"},[l.createVNode("div",{class:"f-utils-flex-column option-pane-content f-utils-fill"},[l.createVNode("div",{class:"container columns-box d-flex f-utils-fill"},[y.value&&V(),T.value&&v()])])])}function h(N){const I=N[t.value];if(I!==null||I!==void 0){s.value=s.value.filter(x=>x[t.value]!==I);const _=m.get(I);_&&(_.checked=!1,m.delete(I)),e.emit("change",s.value),e.emit("removeItem",N)}}l.watch(s,N=>{u.value.updateDataSource(ze.cloneDeep(N));const I=g==null?void 0:g[t.value],_=N.find(x=>I===x[t.value]);_?u.value.activeRowById(_[t.value]):(g=null,u.value.activeRowById(""))});function b(N){const I=new Map;s.value.reduce((_,x)=>(_.set(x[t.value],x),_),I),s.value=N.map(_=>I.get(_[t.value])),e.emit("change",s.value)}function M(N){g=N[0],e.emit("activeChange",N)}function B(){var N;return l.createVNode(Yt,{ref:u,columns:n.columns,style:"flex:1",data:s.value,draggable:!0,view:"DraggableView","keep-order":!0,textField:a.value,itemClass:n.selectedItemClass,onChange:b,onRemoveItem:h,onActiveChange:M,checkBeforeRemoveItem:n.checkBeforeRemoveItem},{itemContent:(N=e.slots)!=null&&N.text?I=>{var _;return((_=e.slots)==null?void 0:_.text)&&e.slots.text(I)}:null})}function P(){return l.createVNode("div",{class:"f-utils-fill selection-pane d-flex flex-column"},[l.createVNode("div",{class:"f-utils-flex-column selection-pane-content f-utils-fill"},[l.createVNode("div",{class:"selection-pane-title"},[l.createVNode("span",{class:"selection-title"},[Ae.LocaleService.getLocaleValue("transfer.selectedStart")]),l.createVNode("span",{class:"selection-count"},[s.value&&s.value.length]),l.createVNode("span",{class:"selection-item-title"},[Ae.LocaleService.getLocaleValue("transfer.selectedEnd")])]),l.createVNode("div",{class:"container columns-box f-utils-fill d-flex"},[B()])])])}const E=l.computed(()=>({"f-transfer":!0,row:!0,"f-utils-fill":o.value}));return l.onMounted(()=>{d.value&&d.value.parentElement&&getComputedStyle(d.value.parentElement).display==="flex"&&(o.value=!0)}),()=>l.createVNode("div",{ref:d,class:E.value,style:"height:480px"},[e.slots.children?e.slots.children({selections:s.value}):w(),P()])}}),eo=l.defineComponent({name:"FGridFieldEditor",props:wt,emits:["change"],setup(n,e){const t=l.ref(n.viewModelId),i=l.inject("designViewModelUtils"),o=l.inject("useFormSchema"),r=l.inject("schemaService"),a=l.inject("controlCreatorUtils"),s=l.inject("designerContext");let c=n.gridData.columns;const{fieldEditable:m}=n.gridData,u=l.ref(`共 ${(c||[]).length} 项`),d=l.ref([]),f=l.ref([]);let g=[];function p(I,_=!0){if(s.checkCanDeleteControl){const x=g.find(G=>{var k;return((k=G.data)==null?void 0:k.id)===I.id});return s.checkCanDeleteControl(x,_)}return!0}const y={customRowStatus:I=>{const _=I.raw;_.type&&_.type.fields&&_.type.fields.length>0&&(I.disabled=!0),p(_,!1)||(I.disabled=!0)}};function T(){if(d.value=[],!c||c.length===0)return[];const I="[绑定字段不存在,待移除]";c.forEach(_=>{if(_.binding&&_.binding.field){const x=g.find(G=>G.data.id===_.binding.field);x?x.data.$type===X.FormSchemaEntityField$Type.ComplexField?d.value.push(Object.assign({isInValidBinding:!0},x.data,{name:x.data.name+I})):d.value.push(Object.assign({},x.data)):d.value.push({id:_.binding.field,name:_.title+I,label:_.field,bindingField:null,isInValidBinding:!0})}}),u.value=`共 ${d.value.length} 项`}function S(I,_=[]){return I&&I.forEach(x=>{if(_.push(x),x.children&&S(x.children,_),s.appendIdentifyForNewControl){const G=c.find(k=>{var $;return(($=k.binding)==null?void 0:$.field)===x.data.id});(!G||G[s.identifyForNewControl])&&s.appendIdentifyForNewControl(x)}}),_}function C(){if(o.designerMode==="PC_RTC"&&r.rtcAddedTreeNodes.value){const I=r.getTableInfoByViewModelId(t.value);if(I!=null&&I.id){const _=r.rtcAddedTreeNodes.value[I.id];_!=null&&_.length&&(f.value=f.value.concat(_))}}}function F(){f.value=i.getAllFields2TreeByVMId(t.value),C(),g=S(f.value)}function V(I,_,x){if(o.getComponents().find(k=>{let $=o.getControlsInCmpWidthBinding(k.viewModel,I);if($=$.filter(Y=>{var oe;if(Y.id===x)return!1;const Q=_.type==="visible"?Y[_.type]:(oe=Y.editor)==null?void 0:oe[_.type];if(Q&&Q.type==="Expression"&&Q.expressionId===_.id)return!0}),$.length)return!0}))return!0}function v(I){I.map(_=>{var G;const x=c.find(k=>{var $;return(($=k.binding)==null?void 0:$.field)===_});if(x&&o.getExpressions().length){const k=o.getExpressions(),$=k.findIndex(Y=>Y.target===_);$>-1&&((G=k[$].rules)==null||G.map(Y=>{var Q;switch(Y.type){case"visible":case"readonly":case"required":{const oe=Y.type==="visible"?x[Y.type]:(Q=x.editor)==null?void 0:Q[Y.type];oe&&oe.type==="Expression"&&oe.expressionId===Y.id&&(V(_,Y,x.id)||(Y.needDelete=!0));break}default:V(_,Y,x.id)||(Y.needDelete=!0)}}),k[$].rules=k[$].rules.filter(Y=>!Y.needDelete))}})}function w(){const I=i.getDgViewModel(t.value),_=[],x=[],G=d.value;G.forEach($=>{const Y=c==null?void 0:c.find(Q=>{if(Q.binding&&Q.binding.field)return Q.binding.field===$.id});if(Y)_.push(Y);else{const Q=a.setGridFieldProperty(n.gridType,$.data,null,m);I.addField($),_.push(Q)}x.push($.id)});const k=I.fields.filter($=>!x.includes($.id));if(k&&k.length>0){const $=k.map(Y=>Y.id);I.removeField($),v($)}G.length!==d.value.length&&(d.value=G),u.value=`共 ${_.length} 项`,e.emit("change",_)}const h={fitContent:!1,width:900,height:600,title:"列编辑器",draggable:!0,acceptCallback:()=>{w()},rejectCallback:()=>{}};function b(){return n.getLatestGridData?c=n.getLatestGridData().columns:c=n.gridData.columns,F(),T(),Promise.resolve(!0)}function M(I){d.value=[...d.value,I.raw]}function B(I){const _=d.value.findIndex(x=>x.id===I.raw.id);_>-1&&(d.value=[...d.value.slice(0,_),...d.value.slice(_+1)])}function P(I){const _=d.value.findIndex(x=>x.id===I.id);_>-1&&(d.value=[...d.value.slice(0,_),...d.value.slice(_+1)])}function E(I){const _=I[0].__fv_index__,x=d.value.findIndex(k=>k.id===I[0].id),G=d.value.find(k=>k.id===I[0].id);d.value.splice(x,1),d.value.splice(_,0,G)}const N=[{field:"name",title:"",dataType:"string",width:"100%",formatter:(I,_)=>I.data+` [${_.data.bindingField.data}]`},{field:"bindingField",visible:!1,title:"",dataType:"string"}];return l.onMounted(()=>{F()}),()=>l.createVNode(Hi,{"button-behavior":"Modal","modal-options":h,modelValue:u.value,"onUpdate:modelValue":I=>u.value=I,editable:!1,beforeOpen:b},{default:()=>[l.createVNode("div",{class:"f-utils-absolute-all"},[l.createVNode(Ki,{selections:d.value,"data-source":f.value,rowOption:y,class:"mx-2",columns:N,displayType:"Tree",onRemoveItem:P,onSelectItem:M,onUnSelectItem:B,onActiveChange:E,checkBeforeRemoveItem:p},{text:I=>l.createVNode("div",{style:"margin: 10px 0px 10px 14px;"},[I.data.name.data,l.createTextVNode(" ["),I.data.bindingField.data,l.createTextVNode("]")])})])]})}}),to={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid-column.schema.json",title:"data-grid-column",description:"A Farris data-grid-column Component",type:"object",properties:{id:{description:"The unique identifier for a data-grid-column",type:"string",default:""},type:{description:"The type string of data-grid-column component",type:"string",default:"data-grid-column"},binding:{description:"",type:"object",default:{}},allowGrouping:{description:"",type:"boolean",default:!0},colspan:{description:"",type:"number"},dataType:{type:"string"},editor:{description:"",type:"object",default:{}},field:{description:"",type:"string"},filterable:{description:"",type:"boolean",default:!1},fixed:{description:"",type:"string",enum:["left","right"]},align:{description:"",type:"enum",default:"left",enum:["left","center","right"]},halign:{description:"",type:"enum",default:"left",enum:["left","center","right"]},title:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!0},resizable:{description:"",type:"boolean",default:!0},rowspan:{description:"",type:"number"},showTips:{description:"",type:"boolean",default:!0},sort:{description:"",type:"string",default:"none",enum:["asc","desc","none"]},sortable:{description:"",type:"boolean",default:!1},sortOrder:{description:"",type:"number"},tipMode:{description:"",type:"string",enum:["allways","auto"]},valign:{description:"",type:"enum",default:"middle",enum:["top","middle","bottom"]},visible:{description:"",type:"boolean",default:!0},width:{description:"",type:"number",default:120},formatter:{description:"列格式化",type:"object",default:{type:"none",customFormat:"",trueText:"是",falseText:"否",dateFormat:"yyyy-MM-dd"}},columnTemplate:{description:"列模板",type:"string",default:""},summaryType:{description:"合计类型",type:"enum",default:"none"},formatterEnumData:{description:"",type:"array"},multiLanguage:{description:"是否启用多语",type:"boolean"},draggable:{description:"是否允许拖拽",type:"boolean",default:!1},enableGroup:{description:"",type:"boolean",default:!1},onClickLinkCommand:{description:"超链接事件",type:"string",default:""},columnTemplateType:{description:"列模板类型",type:"string"}},required:["id","type"],events:{onClickLinkCommand:"超链接事件"}},no={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid-column.schema.json",title:"tree-grid-column",description:"A Farris data-grid-column Component",type:"object",properties:{id:{description:"The unique identifier for a data-grid-column",type:"string"},type:{description:"The type string of data-grid-column component",type:"string",default:"tree-grid-column"},binding:{description:"",type:"object",default:{}},allowGrouping:{description:"",type:"boolean",default:!0},colspan:{description:"",type:"number"},dataType:{type:"string"},editor:{description:"",type:"object"},field:{description:"",type:"string"},filterable:{description:"",type:"boolean",default:!1},fixed:{description:"",type:"string",enum:["left","right"]},align:{description:"",type:"enum",default:"left",enum:["left","center","right"]},halign:{description:"",type:"enum",default:"left",enum:["left","center","right"]},title:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!0},resizable:{description:"",type:"boolean",default:!0},rowspan:{description:"",type:"number"},showTips:{description:"",type:"boolean",default:!0},sort:{description:"",type:"string",enum:["asc","desc","none"]},sortable:{description:"",type:"boolean",default:!1},sortOrder:{description:"",type:"number"},tipMode:{description:"",type:"string",enum:["allways","auto"]},valign:{description:"",type:"enum",default:"middle",enum:["top","middle","bottom"]},visible:{description:"",type:"boolean",default:!0},width:{description:"",type:"number",default:120},formatter:{description:"列格式化",type:"object",default:{type:"none",customFormat:"",trueText:"是",falseText:"否",dateFormat:"yyyy-MM-dd"}},formatterType:{description:"启用列格式化",type:"string",default:""},columnTemplate:{description:"列模板",type:"string",default:""},summaryType:{description:"合计类型",type:"enum",default:"none"},formatterEnumData:{description:"",type:"array"},draggable:{description:"是否允许拖拽",type:"boolean",default:!1},onClickLinkCommand:{description:"超链接事件",type:"string",default:""},columnTemplateType:{description:"列模板类型",type:"string",default:"default"}},required:["id","type"]},St={id:{type:String,default:""},type:{type:String,default:""},allowGrouping:{type:Boolean,default:!0},colspan:{type:Number,default:1},dataType:{type:String,default:""},parentId:{type:String,default:""},editor:{type:Object},field:{type:String,default:""},filterable:{type:Boolean,default:!0},fixed:{type:String,default:""},halign:{type:String,default:"left"},title:{type:String,default:""},readonly:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},rowspan:{type:Boolean,default:!0},showTips:{type:Boolean,default:!0},sort:{type:String,default:"none"},sortable:{type:Boolean,default:!0},sortOrder:{type:Number},tipMode:{type:String,default:"auto"},valign:{type:String,default:"middle"},visible:{type:Boolean,default:!0},width:{type:Number},actualWidth:{type:Number},align:{type:String,default:"left"},left:{type:Number},sorter:{type:Function,default:()=>{}},origianlColSpan:{type:Number},index:{type:Number},commands:{type:Array,default:[]},filter:{type:String,default:""},showSetting:{type:Boolean,default:!0},formatter:{type:Function,default:()=>{}},componentId:{type:String,default:""}},io=Ge.createPropsResolver(St,to,zt,Gt),oo=Ge.createPropsResolver(St,no,zt,Gt);function lo(n){const{formSchemaUtils:e,formStateMachineUtils:t}=n;function i(c,m=""){return{path:m+c.code,field:c.id,fullPath:c.code}}function o(c,m=""){const u=e.getViewModelById(c);return u?u.states.map(d=>i(d,m)):[]}function r(c){const m=e.getRootViewModelId(),u=o(c);if(c===m)return u;const d=o(m,"root-component.");return[...u,...d]}function a(c){return c.binding&&c.binding.path||c.id||""}function s(){return t&&t.getRenderStates()||[]}return{getVariables:r,getControlName:a,getStateMachines:s}}class Xt{constructor(e){ie(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'"}]);ie(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});ie(this,"getExpressionConverter",(e,t)=>({convertFrom:(i,o,r,a)=>{const s=r.getExpressionRuleValue(e,t||o);return s&&s.value||""},convertTo:(i,o,r,a,s)=>{var c;if(o==="dataPicking"&&(r!=null&&r.target)){const m=`${r.target}_dataPicking`;((c=r.rules)==null?void 0:c.some(d=>d.id===m&&d.value))?i.dictPickingExpressionId=m:delete i.dictPickingExpressionId}a.updateExpression(r)}}));this.formSchemaService=e}getExpressionRule(e,t){const i=this.formSchemaService.getExpressions();if(!i)return"";const o=i.find(a=>a.target===e);if(!o)return"";const r=o.rules.find(a=>a.type===t);return r||""}getContextFormVariables(){const{module:e}=this.formSchemaService.getFormSchema();if(!e.viewmodels||e.viewmodels.length===0)return[];const t=this.formSchemaService.getRootViewModelId(),i=this.formSchemaService.getViewModelById(t);if(!i||!i.states||i.states.length===0)return[];const o=[];return i.states.filter(r=>r.category==="remote").forEach(r=>{o.push({key:r.code,name:r.name,description:r.name,category:r.category})}),o}createTreeNode(e,t,i="label"){return{id:e.id,name:e.name,bindingPath:e[i],parents:t,type:"field"}}buildEntityFieldsTreeData(e=null,t){const i=[];return e==null||e.forEach(o=>{var s;const r=this.createTreeNode(o,t);let a=[];(s=o.type)!=null&&s.fields&&(a=this.buildEntityFieldsTreeData(o.type.fields,[...t,o.label])),i.push({data:r,children:a,expanded:!0})}),i}buildChildEntityTreeData(e=null,t){const i=[];return e==null||e.forEach(o=>{var c,m;const r=this.createTreeNode(o,t);r.type="entity";const a=this.buildEntityFieldsTreeData((c=o.type)==null?void 0:c.fields,[...t,o.label]),s=this.buildChildEntityTreeData((m=o.type)==null?void 0:m.entities,[...t,o.label]);s!=null&&s.length&&(a==null||a.push(...s)),i.push({data:r,children:a||[],expanded:!0})}),i}getEntitiesTreeData(){const e=this.formSchemaService.getSchemaEntities();if(!(e!=null&&e.length))return[];const t=e[0];if(!(t!=null&&t.type))return[];const i=this.buildEntityFieldsTreeData(t.type.fields,[t.code]),o=this.buildChildEntityTreeData(t.type.entities,[t.code]);return o!=null&&o.length&&(i==null||i.push(...o)),{entityCode:t.code,fields:[{data:this.createTreeNode(t,[],"code"),children:i||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(e,t,i){const o=i==="Field"?e.binding.field:e.id,r=this.getExpressionRule(o,t),a=this.getEntitiesAndVariables(),s={message:["validate","required","dataPicking"].includes(t)&&r?r.message:"",...a};return r.messageType!=null&&(s.messageType=r.messageType),s}buildRule(e,t,i,o){const{expression:r,message:a,messageType:s}=t,c={id:`${e}_${i}`,type:i,value:r};return(i==="validate"||i==="dataPicking"||i==="required")&&(c.message=a),i==="dataPicking"&&(c.messageType=s),i==="validate"&&o&&(c.elementId=o),c}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,t,i,o){const r=t==="Field"?e.binding.field:e.id,a=this.buildRule(r,i,o,e.type==="form-group"?e.id:"");let c=this.getExpressionData().find(u=>u.targetType===t&&u.target===r);const m=u=>u.value.trim()==="";if(c){const u=c.rules.find(d=>d.id===a.id);if(u)m(a)?c.rules=c.rules.filter(d=>d.id!==a.id):(Object.assign(u,a),o==="validate"&&e.type==="form-group"&&(u.elementId=e.id));else{if(m(a))return null;c.rules=c.rules||[],c.rules.push(a)}}else{if(m(a))return null;c={target:`${r}`,rules:[a],targetType:t}}return c}getExpressionEditorOptions(e,t,i,o){return i.reduce((r,a)=>{var c,m;const s=t==="Field"?(c=e==null?void 0:e.binding)==null?void 0:c.field:e.id;return r[a]={hide:t==="Field"?!!((m=e==null?void 0:e.binding)!=null&&m.field):!1,description:"",title:this.expressionNames[a],type:"string",$converter:this.getExpressionConverter(s),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[a]}编辑器`,showMessage:a==="validate"||a==="dataPicking"||a==="required",showMessageType:a==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(e,a,t),onSubmitModal:u=>{const d=this.updateExpression(e,t,u,a);if(o){const f=this.buildRule(s,u,a);o(f)}return d}}},r},{})}getExpressionInfo(e,t,i){const o=t==="Field"?e.binding.field:e.id,r=this.getExpressionRule(o,i),a={value:r&&r.value,targetId:o,targetType:t,expressionType:i};return r&&r.message&&(a.message=r.message),a}getExpressionConfig(e,t,i=["compute","dependency","validate"],o){return{description:"表达式",title:"表达式",hide:!e.binding,properties:{...this.getExpressionEditorOptions(e,t,i,o)}}}getExpressionOptions(e,t,i){const o=this.getExpressionInfo(e,t,i);return{dialogTitle:`${this.expressionNames[i]}编辑器`,singleExpand:!1,showMessage:i==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,i,t),expressionInfo:o}}}class Zt{constructor(e,t){ie(this,"componentId");ie(this,"viewModelId");ie(this,"eventsEditorUtils");ie(this,"formSchemaUtils");ie(this,"formMetadataConverter");ie(this,"designViewModelUtils");ie(this,"designViewModelField");ie(this,"controlCreatorUtils");ie(this,"designerHostService");ie(this,"designerContext");ie(this,"schemaService",null);ie(this,"metadataService",null);ie(this,"propertyConfig",{type:"object",categories:{}});var i;this.componentId=e,this.designerHostService=t,this.eventsEditorUtils=t.eventsEditorUtils,this.formSchemaUtils=t.formSchemaUtils,this.formMetadataConverter=t.formMetadataConverter,this.viewModelId=((i=this.formSchemaUtils)==null?void 0:i.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=t.designViewModelUtils,this.controlCreatorUtils=t.controlCreatorUtils,this.metadataService=t.metadataService,this.schemaService=t.schemaService,this.designerContext=t.designerContext}getFormDesignerInstance(){var e,t;return(t=(e=this.designerContext)==null?void 0:e.instances)==null?void 0:t.formDesigner.value}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){var i;const t=e.binding&&e.binding.type==="Form"&&e.binding.field;if(t){if(!this.designViewModelField){const o=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=o.fields.find(r=>r.id===t)}e.updateOn=(i=this.designViewModelField)==null?void 0:i.updateOn}}getBasicPropConfig(e){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",idField:"value",editable:!1,data:[{value:e.type,name:j.DgControl[e.type]&&j.DgControl[e.type].name}]}}}}}getAppearanceConfig(e=null,t={},i){const o={title:"外观",description:"Appearance"},r={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 t)r[a]=Object.assign(r[a]||{},t[a]);return{...o,properties:{...r},setPropertyRelates(a,s){if(a){switch(a&&a.propertyID){case"class":case"style":{j.canvasChanged.value++;break}}i&&i(a,e,s)}}}}getPropertyEditorParams(e,t=[],i="visible",o={},r={},a=""){const{getVariables:s,getControlName:c,getStateMachines:m}=lo(this.designerHostService),u=this.getRealTargetType(e),d=t&&t.length>0?t:["Const","Variable","StateMachine","Expression"],f={type:"property-editor",propertyTypes:d};return d.map(g=>{switch(g){case"Const":Object.assign(f,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},o);break;case"Expression":f.expressionConfig=this.getExpressionOptions(e,u,a||i);break;case"StateMachine":f.stateMachines=m();break;case"Variable":Object.assign(f,{controlName:c(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:s(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:p=>{p.value=s(this.viewModelId)}},r),this.designerContext.designerMode==="PC_RTC"&&(f.newVariablePrefix="ext_"+f.newVariablePrefix);break}}),f}getVisibleProperty(e,t=""){var r;let i=["Const","Variable","StateMachine","Expression"];return t==="gridFieldEditor"?i=["Const","Expression"]:t==="form-group"&&!((r=e.binding)!=null&&r.field)&&(i=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,i,"visible")}}}getBehaviorConfig(e,t="",i={},o){const r={title:"行为",description:""},a=this.getVisibleProperty(e,t);for(const c in i)a[c]=Object.assign(a[c]||{},i[c]);const s=this;return{...r,properties:{...a},setPropertyRelates(c,m){if(c){switch(c.propertyID){case"disabled":case"readonly":case"visible":s.afterMutilEditorChanged(e,c);break}o&&o(c,m)}}}}afterMutilEditorChanged(e,t){this.addNewVariableToViewModel(t,this.viewModelId),this.updateExpressionValue(t),this.clearExpression(t,e)}updateElementByParentContainer(e,t){const i=t&&t.parent&&t.parent.schema;if(!i)return;const o=i.contents.findIndex(a=>a.id===e),r=ze.cloneDeep(i.contents[o]);i.contents.splice(o,1),i.contents.splice(o,0,r),j.refreshCanvas()}addNewVariableToViewModel(e,t){const i=e.propertyValue;if(!(i&&typeof i=="object")||!(i.type==="Variable"&&i.isNewVariable))return;const a={id:i.field,category:"locale",code:i.fullPath,name:i.fullPath,type:i.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete i.newVariableType,delete i.isNewVariable,this.formSchemaUtils.getVariableByCode(a.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(a)}updateExpressionValue(e){const t=e.propertyValue;if(!((t&&t.type)==="Expression"&&t.expressionInfo))return;const{expressionId:r,expressionInfo:a}=t,{targetId:s,targetType:c,expressionType:m,value:u,message:d}=a,f=this.formSchemaUtils.getModule();f.expressions=f.expressions||[];const{expressions:g}=f;let p=g.find(T=>T.target===s);p||(p={target:s,rules:[],targetType:c},g.push(p));const y=p.rules.find(T=>T.type===m);if(y)y.value=u,y.message=d;else{const T={id:r,type:m,value:u,message:d};p.rules.push(T)}delete t.expressionInfo}clearExpression(e,t){const i=e.propertyValue;if(i&&i.type==="Expression")return;const r=e.propertyID,a=this.formSchemaUtils.getExpressions(),s=t.binding?t.binding.field:t.id,c=a.find(m=>m.target===s);!c||!c.rules||(c.rules=c.rules.filter(m=>m.type!==r))}getExpressionOptions(e,t,i){return new Xt(this.formSchemaUtils).getExpressionOptions(e,t,i)}getRealTargetType(e){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(e.type)>-1?"Button":e.binding&&e.binding.field?"Field":"Container"}createBaseEventProperty(e){const t={};return t[this.viewModelId]={type:"events-editor",editor:{initialData:e,viewSourceHandle:i=>{var o;((o=i.controller)==null?void 0:o.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(i)}}},t}}const Jt=[{key:"none",value:"无"},{key:"cellNumber",value:"手机号"},{key:"tel",value:"座机号/传真号"},{key:"telOrCell",value:"手机号/座机号/传真号"},{key:"postCode",value:"邮编"},{key:"email",value:"电子邮箱"},{key:"idCode",value:"身份证号"},{key:"carCode",value:"车牌号"},{key:"subjectCode",value:"10位数字会计科目代码"},{key:"custom",value:"自定义"}];function ro(n){switch(n){case"none":return"";case"cellNumber":return"^1[0-9]{10}$";case"tel":return"^(0[0-9]{2,3}\\-)?([2-9][0-9]{6,7})+(\\-[0-9]{1,4})?$";case"telOrCell":return"^(0[0-9]{2,3}\\-)?([2-9][0-9]{6,7})+(\\-[0-9]{1,4})?$|^1[0-9]{10}$";case"postCode":return"^[1-9]\\d{5}(?!\\d)$";case"workCode":return"^\\d{8}$";case"email":return"^[A-Za-z\\d]+([-_.][A-Za-z\\d]+)*@([A-Za-z\\d]+[-.])+[A-Za-z]{2,5}$";case"idCode":return"^[1-9]\\d{5}[1-9]\\d{3}((0[1-9])|(1[0-2]))(0[1-9]|([1|2][0-9])|3[0-1])((\\d{4})|\\d{3}X)$";case"carCode":return"^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z][·\\s]?[A-HJ-NP-Z0-9]{4,5}[挂学警港澳]?|粤[Z港澳][·\\s]?[港澳][0-9A-HJ-NP-Z]{4}|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼][A-Z][·\\s]?([DF][0-9A-HJ-NP-Z][0-9]{4}|[0-9]{5}[DF])[挂港澳]?|[使领][0-9]{3}[·\\s]?[0-9]{3}|临[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼][A-Z][·\\s]?[0-9A-Z]{4,5}|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼][A-Z]?[·\\s]?警[0-9A-Z]{4}|[军海空][A-Z][·\\s]?[0-9]{4,5}|WJ(?:[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼]|\\d{2})[·\\s]?[0-9A-Z]{4,5})$";case"carCodeNew":return"^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF])|([DF][A-HJ-NP-Z0-9][0-9]{4}))$";case"subjectCode":return"^\\d{10}$"}return""}function ao(n){var e;return"请输入正确的"+((e=Jt.find(t=>t.key===n))==null?void 0:e.value)}const so={convertTo:(n,e,t,i)=>{n.editor.formatValidation||(n.editor.formatValidation={type:"none"}),n.editor.formatValidation.type=t,n.editor.formatValidation.expression=ro(t),n.editor.formatValidation.message=ao(t)},convertFrom:(n,e,t)=>n.editor.formatValidation?e==="type"?n.editor.formatValidation[e]||"none":n.editor.formatValidation[e]:"none"},Qt={convertTo:(n,e,t,i)=>{n.editor.formatValidation||(n.editor.formatValidation={type:"none"}),n.editor.formatValidation[e]=t},convertFrom:(n,e,t)=>n.editor.formatValidation?n.editor.formatValidation[e]:n.editor[e]};class co extends Le.InputBaseProperty{constructor(e,t){super(e,t)}getPropertyConfig(e,t){return super.getPropertyConfig(e,t),this.propertyConfig.categories.formatValidation=this.getFormatValidation(e),this.propertyConfig}getEditorProperties(e){var i,o;let t;if(((i=e==null?void 0:e.binding)==null?void 0:i.type)==="Form"){const r=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(o=r==null?void 0:r.schemaField)!=null&&o.type&&(t=r.schemaField.type.length)}return this.getComponentConfig(e,{},{maxLength:{description:"文本字数最大长度",title:"最大长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,max:t,needValid:!0}},showType:{description:"指定是文本框还是密码框",title:"展示类型",type:"enum",editor:{type:"combo-list",data:[{id:"text",name:"文本框"},{id:"password",name:"密码框"}]},refreshPanelAfterChanged:!0,defaultValue:"text"},enableViewPassword:{description:"",title:"能否查看密码",visible:e.editor.showType==="password",type:"boolean"}})}getGridFieldEdtiorProperties(e){var i,o;let t;if(((i=e==null?void 0:e.binding)==null?void 0:i.type)==="Form"){const r=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(o=r==null?void 0:r.schemaField)!=null&&o.type&&(t=r.schemaField.type.length)}return this.getComponentConfig(e,{},{maxLength:{description:"文本字数最大长度",title:"最大长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,max:t}},showType:{description:"指定是文本框还是密码框",title:"展示类型",type:"enum",editor:{type:"combo-list",data:[{id:"text",name:"文本框"},{id:"password",name:"密码框"}]},refreshPanelAfterChanged:!0,defaultValue:"text"},enableViewPassword:{description:"",title:"能否查看密码",visible:e.editor.showType==="password",type:"boolean"}})}getFormatValidation(e){var i,o,r,a;const t={title:"输入格式校验",description:"输入校验",hide:!((i=e.binding)!=null&&i.field),properties:{type:{title:"格式类型",type:"enum",description:"格式类型",defaultValue:"",editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",editable:!1,data:Jt},refreshPanelAfterChanged:!0,$converter:so,parentPropertyID:"formatValidation"}}};return(o=e.editor.formatValidation)!=null&&o.type&&((r=e.editor.formatValidation)==null?void 0:r.type)!=="none"&&(t.properties.message={title:"输入错误提示",type:"string",description:"输入错误提示",$converter:Qt,parentPropertyID:"formatValidation"}),((a=e.editor.formatValidation)==null?void 0:a.type)==="custom"&&(t.properties.expression={title:"匹配正则",type:"string",description:"匹配正则",$converter:Qt,parentPropertyID:"formatValidation"}),t}}class uo extends Le.InputBaseProperty{constructor(e,t){super(e,t)}getEditorProperties(e){return{description:"编辑器",title:"编辑器",type:"avatar",$converter:"/converter/property-editor.converter",parentPropertyID:"editor",properties:{readonly:{description:"",title:"只读",type:"boolean"},avatarWidth:{description:"",title:"头像宽度",type:"number"},avatarHeight:{description:"",title:"头像高度",type:"number"},cover:{description:"",title:"封面",type:"string"}}}}}class fo extends Le.InputBaseProperty{constructor(e,t){super(e,t)}getEditorProperties(e){const t=this;return t.getComponentConfig(e,{type:"check-group"},{placeholder:{visible:!1},disabled:{visible:!1},direction:{description:"",title:"排列方向",type:"enum",editor:{data:[{id:"horizontal",name:"横向"},{id:"vertical",name:"纵向"}]}},dataSourceType:{description:"",title:"数据源类型",type:"enum",visible:!1,editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!e.editor.dataSourceType||e.editor.dataSourceType==="static",...t.getItemCollectionEditor(e,e.editor.valueField,e.editor.textField),refreshPanelAfterChanged:!0},bindDataSource:{description:"",title:"绑定数据源",type:"string",visible:e.editor.dataSourceType==="dynamic"},textField:{description:"",title:"文本字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"值字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"}},(o,r)=>{if(o)switch(o.propertyID){case"dataSourceType":{o.propertyValue==="static"&&(e.editor.valueField="value",e.editor.textField="name");break}case"data":{e.formatter&&(e.formatter.data=[...o.propertyValue]);break}}})}}class mo extends Le.InputBaseProperty{constructor(e,t){super(e,t)}getEditorProperties(e){var t,i;return this.getComponentConfig(e,{type:"check-box"},{placeholder:{visible:!1},disabled:{visible:!1},label:{description:"",title:"名称",type:"string"},trueValue:{description:"选中的值",title:"选中的值",type:this.getBindingDataType(),visible:this.designViewModelField!=null&&((t=this.designViewModelField)==null?void 0:t.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()},falseValue:{description:"未选中的值",title:"未选中的值",type:this.getBindingDataType(),visible:this.designViewModelField!=null&&((i=this.designViewModelField)==null?void 0:i.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()}})}changeBindingField(e,t,i){var r;super.changeBindingField(e,t);const o=i;if(e.editor&&((r=o==null?void 0:o.type)!=null&&r.name)){let a,s;o.type.name===X.FormSchemaEntityFieldTypeName.String&&(a="true",s="false"),o.type.name===X.FormSchemaEntityFieldTypeName.Number&&(a=1,s=0),!Object.prototype.hasOwnProperty.call(e.editor,"trueValue")&&a!==void 0&&(e.editor.trueValue=a),!Object.prototype.hasOwnProperty.call(e.editor,"falseValue")&&s!==void 0&&(e.editor.falseValue=s)}}}const Kt={convertFrom:(n,e)=>(n.editor.remote||{})[e],convertTo:(n,e,t)=>{n.editor.remote=n.editor.remote||{},n.editor.remote[e]=t}};class po extends Le.InputBaseProperty{constructor(e,t){super(e,t)}getCommonEditorProperties(e){var t,i,o;return{viewType:{visible:!!((t=e.editor)!=null&&t.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((i=e.editor)!=null&&i.multiSelect)&&((o=e.editor)==null?void 0:o.viewType)==="text",description:"下拉列表启用多选且数据展示类型为文本时的分隔符",title:"分隔符",type:"enum",editor:{data:[{id:",",name:"逗号(,)"},{id:"#",name:"井号(#)"},{id:".",name:"句号(.)"},{id:"|",name:"竖线(|)"}]}},editable:{description:"",title:"允许编辑",type:"boolean",refreshPanelAfterChanged:!0,readonly:!0}}}getEditorProperties(e){var r,a;const t=this;let i="";if(((r=e==null?void 0:e.binding)==null?void 0:r.type)==="Form"){const s=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(a=s==null?void 0:s.schemaField)!=null&&a.type&&(i=s.schemaField.type.$type)}return t.getComponentConfig(e,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!e.editor.dataSourceType||e.editor.dataSourceType==="static",...t.getItemCollectionEditor(e,e.editor.valueField,e.editor.textField),refreshPanelAfterChanged:!0},url:{visible:e.editor.dataSourceType==="dynamic",$converter:Kt,description:"",title:"服务端API",type:"string"},body:{visible:!1,$converter:Kt,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!i||i==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(e)},(s,c)=>{if(!s||!c.editor)return;const m=this;switch(s.propertyID){case"dataSourceType":{s.propertyValue==="static"?(c.editor.valueField="value",c.editor.textField="name",c.editor.remote=null):s.propertyValue==="dynamic"&&(c.editor.remote={method:"GET"},c.editor.valueField="value",c.editor.textField="name");break}case"data":{!m.checkEnumDataReadonly(c)&&c.formatter&&(c.formatter.data=[...s.propertyValue]);break}case"viewType":s.propertyValue==="tag"&&(c.editor.editable=!1)}})}getGridFieldEdtiorProperties(e,t){var a,s,c,m,u,d;const i=this;let o="";if(((a=e==null?void 0:e.binding)==null?void 0:a.type)==="Form"){const f=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(s=f==null?void 0:f.schemaField)!=null&&s.type&&(o=f.schemaField.type.$type)}return i.getComponentConfig(e,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},data:{description:"",title:"数据",type:"array",visible:!((c=e.editor)!=null&&c.dataSourceType)||((m=e.editor)==null?void 0:m.dataSourceType)==="static",...i.getItemCollectionEditor(e,(u=e.editor)==null?void 0:u.valueField,(d=e.editor)==null?void 0:d.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:o==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(e)},(f,g)=>{if(!f||!g.editor)return;const p=this;switch(f.propertyID){case"dataSourceType":{f.propertyValue==="static"?(g.editor.valueField="value",g.editor.textField="name",g.editor.remote=null):f.propertyValue==="dynamic"&&(g.editor.remote={method:"GET"},g.editor.valueField="value",g.editor.textField="name");break}case"data":{!p.checkEnumDataReadonly(g)&&g.formatter&&(g.formatter.data=[...f.propertyValue]);break}}})}setEditorPropertyRelates(e,t,i){if(!e||!t.editor)return;const o=this;switch(e.propertyID){case"dataSourceType":{e.propertyValue==="static"&&(t.editor.valueField="value",t.editor.textField="name",t.editor.remote={});break}case"data":{!o.checkEnumDataReadonly(t)&&t.formatter&&(t.formatter.data=[...e.propertyValue]);break}}}changeBindingField(e,t,i){var r;super.changeBindingField(e,t);const o=i;e.editor&&((r=o==null?void 0:o.type)==null?void 0:r.$type)===X.FormSchemaEntityFieldType$Type.EnumType&&(e.editor.data=o.type.enumValues||[])}getEventPropertyConfig(e,t="card",i,o){const r=this;let a=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"下拉面板前事件"}];i&&(a=a.concat(i)),this.appendFieldValueChangeEvents(e,a);const s=r.eventsEditorUtils.formProperties(e,r.viewModelId,a);return{title:"事件",hideTitle:!0,properties:r.createBaseEventProperty(s),tabId:"commands",tabName:"交互",setPropertyRelates(u,d){const f=u.propertyValue;delete e[r.viewModelId],f&&(f.setPropertyRelates=this.setPropertyRelates,r.eventsEditorUtils.saveRelatedParameters(e,r.viewModelId,f.events,f)),o&&o(u,d,f);const g=r.designViewModelUtils.getDgViewModel(r.viewModelId);g&&r.designViewModelField&&g.changeField(r.designViewModelField.id,{valueChanging:e.fieldValueChanging,valueChanged:e.fieldValueChanged}),e.editor.beforeOpen!==e.beforeOpen&&(e.editor.beforeOpen=e.beforeOpen),e.editor.onChange!==e.onChange&&(e.editor.onChange=e.onChange),e.editor.onClear!==e.onClear&&(e.editor.onClear=e.onClear)}}}}class ho extends Le.InputBaseProperty{constructor(e,t){super(e,t)}getEditorProperties(e){return this.getComponentConfig(e,{type:"textarea"},{resizable:{description:"",title:"拖拽调整大小",type:"boolean"},autoHeight:{description:"",title:"自动高度",visible:!1,type:"boolean"}})}getGridFieldEdtiorProperties(e){return this.getComponentConfig(e,{type:"textarea"},{autoHeight:{description:"",title:"自动高度",visible:!1,type:"boolean"}})}}function go(){let n="zh-CHS";window&&window.top&&window.top.localStorage&&window.top.localStorage.languageCode&&({languageCode:n}=window.top.localStorage);const e=[{id:"yyyy-MM-dd HH:mm:ss",name:"yyyy-MM-dd HH:mm:ss"},{id:"yyyy/MM/dd HH:mm:ss",name:"yyyy/MM/dd HH:mm:ss"},{id:"yyyyMMddHHmmss",name:"yyyyMMddHHmmss"},{id:"yyyy-MM-dd HH:mm",name:"yyyy-MM-dd HH:mm"},{id:"yyyy/MM/dd HH:mm",name:"yyyy/MM/dd HH:mm"},{id:"yyyyMMddHHmm",name:"yyyyMMddHHmm"}],t=[{id:"yyyy-MM-dd",name:"yyyy-MM-dd"},{id:"yyyy/MM/dd",name:"yyyy/MM/dd"},{id:"yyyyMMdd",name:"yyyyMMdd"},{id:"MM/dd/yyyy",name:"MM/dd/yyyy"}],i=[{id:"yyyy-MM",name:"yyyy-MM"},{id:"yyyy/MM",name:"yyyy/MM"},{id:"yyyyMM",name:"yyyyMM"}],o=[{id:"MM/dd",name:"MM/dd"},{id:"MMdd",name:"MMdd"},{id:"MM-dd",name:"MM-dd"}],r=[{id:"yyyy",name:"yyyy"}];return n==="zh-CHS"&&(e.push({id:"yyyy年MM月dd日 HH时mm分ss秒",name:"yyyy年MM月dd日 HH时mm分ss秒"},{id:"yyyy年MM月dd日 HH时mm分",name:"yyyy年MM月dd日 HH时mm分"}),t.push({id:"yyyy年MM月dd日",name:"yyyy年MM月dd日"}),i.push({id:"yyyy年MM月",name:"yyyy年MM月"}),o.push({id:"MM月dd日",name:"MM月dd日"}),r.push({id:"yyyy年",name:"yyyy年"})),n==="zh-CHT"&&(e.push({id:"yyyy年MM月dd日 HH時mm分ss秒",name:"yyyy年MM月dd日 HH時mm分ss秒"},{id:"yyyy年MM月dd日 HH時mm分",name:"yyyy年MM月dd日 HH時mm分"}),t.push({id:"yyyy年MM月dd日",name:"yyyy年MM月dd日"}),i.push({id:"yyyy年MM月",name:"yyyy年MM月"}),o.push({id:"MM月dd日",name:"MM月dd日"}),r.push({id:"yyyy年",name:"yyyy年"})),{timeFormats:e,yMFormats:i,yMdFormats:t,mdFormats:o,yFormats:r}}const yo=[{id:"yyyy-MM-dd",name:"yyyy-MM-dd"},{id:"yyyy/MM/dd",name:"yyyy/MM/dd"},{id:"MM/dd/yyyy",name:"MM/dd/yyyy"}],vo=[{id:"yyyy-MM-dd HH:mm:ss",name:"yyyy-MM-dd HH:mm:ss"},{id:"yyyy/MM/dd HH:mm:ss",name:"yyyy/MM/dd HH:mm:ss"}],bo=[{id:"yyyy-MM",name:"yyyy-MM"},{id:"yyyy/MM",name:"yyyy/MM"},{id:"yyyyMM",name:"yyyyMM"}],Co=[{id:"yyyy",name:"yyyy"}],{timeFormats:wo,yMdFormats:So,yMFormats:en,mdFormats:Mo,yFormats:Mt}=go();class Fo extends Le.InputBaseProperty{constructor(e,t){super(e,t)}getDatePickerModes(e){return e==="Date"||e==="DateTime"?[{label:"年月日",value:"day"}]:[{label:"年月日",value:"day"},{label:"年月",value:"month"},{label:"年",value:"year"}]}checkMaxMinDate(e){const{minDate:t,maxDate:i,showTime:o}=(e==null?void 0:e.editor)||{},{parseToDate:r,formatTo:a}=X.useDateFormat();if(i){const s=r(i,"yyyy-MM-dd HH:mm:ss");s&&(e.editor.maxDate=a(s,o?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd"))}if(t){const s=r(t,"yyyy-MM-dd HH:mm:ss");s&&(e.editor.minDate=a(s,o?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd"))}}getEditorProperties(e){var s,c,m,u,d,f,g,p,y,T,S,C,F,V,v;const t=this.getDateFormatOptions(e==null?void 0:e.editor),i=this.getValueFormatOptions(e==null?void 0:e.editor),o=(c=(s=this.designViewModelField)==null?void 0:s.type)==null?void 0:c.name,r=this.getDatePickerModes(o),a=this.getExtremeDateFormat(e);return(m=e==null?void 0:e.editor)!=null&&m.selectMode||(e.editor.selectMode="day"),this.checkMaxMinDate(e),this.getComponentConfig(e,{type:"date-picker"},{enableClear:{description:"是否显示清除按钮",title:"启用清除",type:"boolean"},selectMode:{description:"",title:"显示类型",type:"string",refreshPanelAfterChanged:!0,editor:{type:"combo-list",idField:"value",textField:"label",valueField:"value",data:r}},showWeekNumber:{description:"",title:"显示第几周",type:"boolean",visible:((u=e==null?void 0:e.editor)==null?void 0:u.selectMode)==="day"},firstDayOfTheWeek:{description:"",title:"每周起始日",type:"string",editor:{type:"combo-list",idField:"value",valueField:"value",textField:"label",data:[{label:"星期日",value:"Sun"},{label:"星期一",value:"Mon"}]},visible:((d=e==null?void 0:e.editor)==null?void 0:d.selectMode)==="day"},showTime:{description:"",title:"启用时间选择",type:"boolean",readonly:((f=e==null?void 0:e.editor)==null?void 0:f.fieldType)==="Date",refreshPanelAfterChanged:!0,visible:((g=e==null?void 0:e.editor)==null?void 0:g.selectMode)==="day"},displayFormat:{description:"",title:"展示格式",type:"enum",editor:{data:t}},valueFormat:{description:"",title:"存储格式",type:"enum",editor:{data:i},visible:((p=e==null?void 0:e.editor)==null?void 0:p.fieldType)==="String"},minDate:{description:"",title:"最小日期",type:"string",editor:{type:"date-picker",enableClear:!0,selectMode:((y=e==null?void 0:e.editor)==null?void 0:y.selectMode)||"day",displayFormat:a,valueFormat:a,minDate:"1900-01-01 00:00:00",maxDate:((T=e==null?void 0:e.editor)==null?void 0:T.maxDate)||"9999-12-31 23:59:59",showTime:(S=e==null?void 0:e.editor)==null?void 0:S.showTime},refreshPanelAfterChanged:!0},maxDate:{description:"",title:"最大日期",type:"string",editor:{type:"date-picker",enableClear:!0,selectMode:((C=e==null?void 0:e.editor)==null?void 0:C.selectMode)||"day",displayFormat:a,valueFormat:a,minDate:((F=e==null?void 0:e.editor)==null?void 0:F.minDate)||"1900-01-01 00:00:00",maxDate:"9999-12-31 23:59:59",showTime:(V=e==null?void 0:e.editor)==null?void 0:V.showTime},refreshPanelAfterChanged:!0},enableQuickSelect:{description:"",title:"启用快速选择",type:"boolean",visible:((v=e==null?void 0:e.editor)==null?void 0:v.selectMode)==="day"}},this.setEditorPropertyRelates)}getExtremeDateFormat(e){var t,i,o,r;if(((t=e==null?void 0:e.editor)==null?void 0:t.selectMode)==="day")return"yyyy-MM-dd"+((i=e==null?void 0:e.editor)!=null&&i.showTime?" HH:mm:ss":"");if(((o=e==null?void 0:e.editor)==null?void 0:o.selectMode)==="month")return"yyyy-MM";if(((r=e==null?void 0:e.editor)==null?void 0:r.selectMode)==="year")return"yyyy"}getEventPropertyConfig(e){const t=this,i=[{label:"onDatePicked",name:"日期选择后事件"}],o=t.eventsEditorUtils.formProperties(e,t.viewModelId,i);return{title:"事件",hideTitle:!0,properties:t.createBaseEventProperty(o),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,s){const c=a.propertyValue;delete s[t.viewModelId],c&&t.eventsEditorUtils.saveRelatedParameters(s,t.viewModelId,c.events,c);const m=t.designViewModelUtils.getDgViewModel(t.viewModelId);m&&t.designViewModelField&&m.changeField(t.designViewModelField.id,{valueChanging:s.fieldValueChanging,valueChanged:s.fieldValueChanged})}}}setEditorPropertyRelates(e,t,i){if(!(!e||!t.editor))switch(e.propertyID){case"showTime":{const o=t.editor;e.propertyValue?(o.displayFormat="yyyy-MM-dd HH:mm:ss",o.valueFormat="yyyy-MM-dd HH:mm:ss"):(o.displayFormat="yyyy-MM-dd",o.valueFormat="yyyy-MM-dd"),t.formatter&&(t.formatter.dateFormat=o.displayFormat);break}case"displayFormat":{t.formatter&&(t.formatter.dateFormat=e.propertyValue);break}case"selectMode":{e.propertyValue!=="day"?(t.editor.showWeekNumber=!1,t.editor.showTime=!1,t.editor.enableQuickSelect=!1,e.propertyValue==="month"?(t.editor.displayFormat="yyyy-MM",t.editor.valueFormat="yyyy-MM"):(t.editor.displayFormat="yyyy",t.editor.valueFormat="yyyy")):(t.editor.displayFormat="yyyy-MM-dd",t.editor.valueFormat="yyyy-MM-dd");break}}}getDateFormatOptions(e){const t=e.selectMode||"day";let i=[];switch(t){case"day":{const o=[];e.showTime&&o.push(...wo),o.push(...So,...en,...Mt,...Mo),i=o;break}case"month":{i=[...en,...Mt];break}case"year":{i=[...Mt];break}}return i}getValueFormatOptions(e){switch(e.selectMode||"day"){case"day":{let i=[...yo];return e.showTime&&(i=[...vo]),i}case"month":return bo;case"year":return Co;default:return[]}}changeBindingField(e,t,i){var r;super.changeBindingField(e,t);const o=i;e.editor&&((r=o==null?void 0:o.type)!=null&&r.name)&&(e.editor.fieldType=o.type.name,o.type.name===X.FormSchemaEntityFieldTypeName.DateTime&&(Object.prototype.hasOwnProperty.call(e.editor,"showTime")||(e.editor.showTime=!0),Object.prototype.hasOwnProperty.call(e.editor,"displayFormat")||(e.editor.displayFormat="yyyy-MM-dd HH:mm:ss"),Object.prototype.hasOwnProperty.call(e.editor,"valueFormat")||(e.editor.valueFormat="yyyy-MM-dd HH:mm:ss")))}}const To=[{value:"both",text:"同步选择"},{value:"up",text:"包含上级"},{value:"down",text:"包含下级"},{value:"disable",text:"仅选择自身"}],_o="";function ht(n){let e=[10,20,30,50,100];return n&&(typeof n=="string"&&(e=n.replaceAll("[","").replaceAll("]","").replaceAll(" ","").split(",")),Array.isArray(n)&&(e=n)),e.map(t=>({value:parseInt(t,10)})).sort((t,i)=>t.value-i.value)}const ve={convertFrom:(n,e)=>{const t=n.editor?n.editor:n;return e==="multiSelect"||e==="enableTitle"?!!t[e]:e==="separator"?t[e]||",":e==="onlySelectLeaf"?t[e]==null?!1:t[e]:e==="loadTreeDataType"?t[e]||"default":e==="placeholder"?ze.isNil(t[e])?"请选择":t[e]:e==="openType"?t[e]||"Modal":t[e]},convertTo:(n,e,t)=>{const i=n.editor?n.editor:n;if(i[e]=t,e==="multiSelect"&&!t&&(i.enableCascade=!1),e==="openType"){if(t==="Popup")i.showSelections=!1,i.enableCascade=!1;else if(i.dialog){const{width:o}=i.dialog,{displayType:r}=i;r&&r.toUpperCase().indexOf("NAV")>-1&&(!o||o<520)&&(i.dialog.width=960)}}i.multiSelect&&i.openType==="Popup"&&(i.editable=!1,i.allowFreeInput=!1)}};function xo(n){let e="form_group_"+Date.now();return n&&(e=n.replaceAll("-","_").replaceAll(".","_")),"lookup."+e}function Vo(n,e){const{enablePager:t,pageSize:i,pageList:o}=e;n.pagination=n.pagination||{},Object.assign(n.pagination,{enable:t,sizeLimits:ht(o).map(r=>r.value),size:i,showLimits:!0,showGoto:!1,mode:"server"})}const tn={convertFrom:(n,e)=>{var i;return(i=(n.editor?n.editor:n).dataSource)==null?void 0:i.displayName},convertTo:(n,e,t)=>{if(t&&t.length>0){const i=n.editor?n.editor:n,o=t[0],{name:r,id:a,metadataContent:s,code:c}=o;i.dataSource||(i.dataSource={}),i.dataSource.displayName=`${r}(${c})`,i.helpId=a;const{displayType:m,idField:u,textField:d}=s;i.displayType=m,i.dataSource.idField=u,i.textField=d,i.dataSource.type="ViewObject",i.enableEqualSearch=!1;const{pageInfo:f}=s.dataSource;Vo(i,f);const{treeInfo:g}=m.toUpperCase()==="NAVTREELIST"?s.navigation:s.dataSource;if(g){const{onlySelectLeaf:p,loadDataType:y}=g;i.loadTreeDataType="default",i.onlySelectLeaf=p??!1}if(i.dataSource.uri||(i.dataSource.uri=xo(n.id)),i.dialog){const{width:p}=i.dialog;m&&m.toUpperCase().indexOf("NAV")>-1&&(!p||p<520)&&(i.dialog.width=960)}}}},Io={convertFrom:(n,e)=>{var t;return(t=n.editor.dataSource)==null?void 0:t.idField},convertTo:(n,e,t)=>{if(t&&t.length>0){const i=t[0];n.editor.dataSource.idField=i==null?void 0:i.bindingPath}}},ko={convertFrom:(n,e)=>{var t;return(t=n.editor)==null?void 0:t.textField},convertTo:(n,e,t)=>{if(t&&t.length>0){const i=t[0];n.editor.textField=i==null?void 0:i.bindingPath}}},Eo={convertFrom:(n,e)=>n.editor.displayType?n.editor.displayType.toUpperCase():"LIST",convertTo:(n,e,t)=>{n.editor.displayType=t}},qe={convertFrom:(n,e)=>{var r;let t=n.editor?n.editor.dialog:n.dialog;const i=n.editor?n.editor.openType:n.openType;if(t||(t={}),e==="title")return t[e]||_o;if(!i||i==="Modal"){if(e==="width")return(r=t.displayType)!=null&&r.toUpperCase().startsWith("NAV")?t[e]||960:t[e]||590;if(e==="height")return t[e]||620;if(e==="navigatorWidth")return t[e]||320}else{if(e==="width")return t[e]||460;if(e==="height")return t[e]||380}if(e==="draggable")return!0;if(["showMaxButton","showCloseButton","resizeable","enableEsc","rememberSize"].includes(e))return t[e]==null?!0:t[e]},convertTo:(n,e,t)=>{const i=n.editor?n.editor:n;i.dialog=i.dialog||{},i.dialog[e]=t}},Po={convertFrom:(n,e)=>{const t=n.editor?n.editor:n;if(t.pagination=t.pagination||{},e==="enable"||e==="showLimits")return t.pagination[e]==null?!1:t.pagination[e];if(e==="sizeLimits"){const i=t.pagination[e];return ht(i)}if(e==="size")return t.pagination[e]||20},convertTo:(n,e,t)=>{var o;const i=n.editor?n.editor.pagination||{}:n;if(i.pagination=i.pagination||{},e==="sizeLimits"){const r=t.map(s=>s.value);i.pagination[e]=r;const a=((o=i.pagination)==null?void 0:o.size)??20;r.includes(a)||(i.pagination.size=r[0]);return}i.pagination[e]=t}},nn=[{label:"clear",name:"清空事件"},{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],No=Symbol("schema_repository_token");function Bo(n,e){const t=i=>i&&i.length?i.map(o=>`${o.name}[${o.bindingPath}]`).join(","):"";return{dataSourceEditor:{type:"schema-selector",title:"选择数据源",editorParams:{propertyData:n,formBasicInfo:e.formSchemaUtils.getFormMetadataBasicInfo()},viewOptions:e.formSchemaUtils.designerMode==="PC_RTC"?[{id:"total",title:"全部",type:"List",dataSource:"Total"}]:[{id:"recommend",title:"推荐",type:"List",dataSource:"Recommand",enableGroup:!0,groupField:"category",groupFormatter:(i,o)=>`${i==="local"?"本地元数据":"最近使用"}`},{id:"total",title:"全部",type:"List",dataSource:"Total"}],repositoryToken:No},dataSourceConverter:tn,defaultConverter:ve,idFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",disabled:!1,editorParams:{propertyData:n,formBasicInfo:e.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:ut.FieldSelectorRepositoryToken},textFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",editorParams:{propertyData:n,formBasicInfo:e.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:ut.FieldSelectorRepositoryToken},mappingFieldsEditor:{type:"mapping-editor",modalWidth:800,modalHeight:600,editable:!1,editorParams:{propertyData:n,formBasicInfo:e.formSchemaUtils.getFormMetadataBasicInfo()},fromData:{editable:!0,formatter:(i,o)=>`${o.raw.name} [${o.raw.bindingPath}]`,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],repositoryToken:ut.FieldSelectorRepositoryToken,displayFormatter:t},toData:{editable:!1,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],dataSource:()=>{const i=e.designViewModelUtils.getAllFields2TreeByVMId(e.viewModelId),o=e.schemaService.getPrimaryField();return o?i.filter(r=>r.data.bindingPath!==o):i},formatter:(i,o)=>`${o.raw.name} [${o.raw.bindingPath}]`,displayFormatter:t}}}}function Oo(n){var r,a;const e={type:"combo-list",enableClear:!1,editable:!1},t={type:"number-spinner",useThousands:!1},i=()=>n.displayType?n.displayType.toUpperCase():"",o=()=>i().startsWith("NAV")?n.showNavigation===void 0?!0:!!n.showNavigation:!1;return{openType:{description:"窗口展示方式:弹出窗口、下拉面板",title:"打开方式",type:"string",refreshPanelAfterChanged:!0,$converter:ve,editor:{...e,data:[{text:"弹出窗口",value:"Modal"},{text:"下拉面板",value:"Popup"}],valueField:"value",textField:"text",idField:"value"},visible:!0,defaultValue:"Modal"},title:{description:"帮助标题",title:"标题",type:"string",visible:n.openType!=="Popup",$converter:qe},width:{description:"窗口宽度,单位:px,最小值:300px",title:"宽度",type:"number",editor:{...t,min:o()?520:300,needValid:!0},$converter:qe},height:{description:"窗口高度,单位:px,最小值:200px",title:"高度",type:"number",editor:{...t,min:200,needValid:!0},$converter:qe},showNavigation:{description:"显示导航栏",$converter:ve,refreshPanelAfterChanged:!0,title:"显示导航栏",type:"boolean",visible:i().includes("NAV")&&n.openType!=="Popup"},navigatorWidth:{description:"导航栏宽度,最小200px, 最大为窗口宽度减去200px",title:"导航栏宽度",type:"number",visible:o()&&n.openType!=="Popup",editor:{...t,min:200,max:(((r=n==null?void 0:n.dialog)==null?void 0:r.width)??960)-200,needValid:!0},$converter:qe},resizeable:{description:"允许鼠标拖拽窗口边缘调整尺寸",title:"允许调整窗口尺寸",type:"boolean",visible:n.openType!=="Popup",$converter:qe},rememberSize:{description:"记录窗口尺寸",title:"记录窗口尺寸",type:"boolean",visible:!!n.enableUserData&&(((a=n==null?void 0:n.dialog)==null?void 0:a.resizeable)??!0)&&n.openType!=="Popup",$converter:qe},enableEsc:{description:"允许ESC关闭",title:"允许ESC关闭",type:"boolean",visible:n.openType!=="Popup",$converter:qe},showMaxButton:{description:"显示最大化按钮",title:"显示最大化按钮",type:"boolean",visible:n.openType!=="Popup",$converter:qe},showCloseButton:{description:"显示关闭按钮",title:"显示关闭按钮",type:"boolean",visible:n.openType!=="Popup",$converter:qe}}}function Ro(n,e=!0){var r,a,s,c;const t=!((r=n.pagination)!=null&&r.enable),i=()=>n.displayType?n.displayType.toUpperCase():"",o=(m,u)=>{const d=i()!=="TREELIST"||m.treeToList;return u&&d?m.pagination&&m.pagination[u]:d};return{hide:!o(n)||t,description:"分页配置",title:"分页",parentPropertyID:"pagination",$converter:Po,properties:{showLimits:{description:"显示每页条数选择器",title:"显示条数选择器",type:"boolean",refreshPanelAfterChanged:e,visible:o(n)},sizeLimits:{description:"每页可显示条数",title:"每页显示条数",type:"array",refreshPanelAfterChanged:e,visible:o(n,"showLimits"),editor:{columns:[{field:"value",title:"显示条数",dataType:"number",editor:{type:"number-spinner",useThousands:!1,min:10,max:1e4}}],title:"每页显示条数编辑器",modalWidth:400,modalHeight:500,type:"item-collection-editor",valueField:"value",nameField:"value",requiredFields:["value"],uniqueFields:["value"],modelValue:ht((a=n.pagination)==null?void 0:a.sizeLimits),beforeSubmit:({notifyService:m,data:u})=>!u||!u.length?(m==null||m.warning({message:"每页显示条数不能为空!"}),!1):new Set(u.map(f=>parseInt(f.value,10))).size===u.length?!0:(m==null||m.warning({message:"每页显示条数不能重复!"}),!1)}},size:{description:"默认显示条数",title:"默认显示条数",type:"number",visible:o(n),editor:{type:"combo-list",enableClear:!1,editable:!1,data:ht((s=n.pagination)==null?void 0:s.sizeLimits),textField:"value",idField:"value",valueField:"value",modelValue:(c=n.pagination)==null?void 0:c.size}}}}}class Ho extends Le.InputBaseProperty{constructor(){super(...arguments);ie(this,"comboListEditor",{type:"combo-list",enableClear:!1,editable:!1});ie(this,"numberEditor",{type:"number-spinner",useThousands:!1});ie(this,"readonlyEditor",{...this.comboListEditor,editable:!0});ie(this,"visibleEditor",{...this.comboListEditor,editable:!1});ie(this,"requiredEditor",{...this.comboListEditor,editable:!1});ie(this,"freeInputEditor",{...this.comboListEditor,editable:!1})}getExpressionConfig(t,i){const o=["validate"];return t.type==="form-group"&&o.push("dataPicking"),new Le.ExpressionProperty(this.formSchemaUtils).getExpressionConfig(t,"Field",o)}getPropertyConfig(t,i,o="Card"){var S;const r=(S=t.binding)!=null&&S.field?[]:["Const","Variable","StateMachine"];this.readonlyEditor=this.getPropertyEditorParams(t,r,"readonly"),this.visibleEditor=this.getPropertyEditorParams(t,r,"visible"),this.requiredEditor=this.getPropertyEditorParams(t,r,"required"),this.freeInputEditor=this.getPropertyEditorParams(t,["Const","Variable"],"allowFreeInput");const a=this.getBasicProperties(t,i,o),s=this.getBehaviorConfig(t),c=this.getAppearanceProperties(t,i),m=this.getLookupConfig(t),u=this.getEventPropConfig(t),d=this.getDialogPropertyConfig(t),f=this.getPageConfig(t.editor),g=this.getTreePropConfig(t.editor),p=this.getSearchConfig(t),y=this.getExpressionConfig(t,"Field"),T={basic:a,appearance:c,behavior:s,lookup:m,treeConfig:g,dialog:d,pager:f,searchConfig:p,expressions:y};return t.type==="form-group"&&(T.eventsEditor=u),{type:"object",categories:T}}getGridFieldEdtiorPropConfig(t){return this.getPropertyConfig(t,null,"Grid").categories}flattenTreeNodes(t){return t.reduce((i,o)=>{var r;return i.push(o),(r=o.children)!=null&&r.length&&i.push(...this.flattenTreeNodes(o.children)),i},[])}isSimpleStringField(){var s;const t=((s=this.designViewModelField)==null?void 0:s.path)||"";if(!t||!t.includes("."))return!0;const i=t.split("."),o=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);if(!(o!=null&&o.length))return!1;const r=o.find(c=>c.data.code===i[0]);if(!r)return!1;const a=[r,...this.flattenTreeNodes(r.children)];return!i.reduce((c,m,u)=>[...c,u?`${c[u-1]}.${m}`:m],[]).some(c=>{var m,u,d;return((d=(u=(m=a.find(f=>f.data.path===c))==null?void 0:m.data)==null?void 0:u.type)==null?void 0:d.$type)==="EntityType"})}getBehaviorConfig(t){return{description:"Basic Infomation",title:"行为",properties:{visible:{description:"运行时组件是否可见",title:"是否可见",type:"boolean",editor:this.visibleEditor}},setPropertyRelates:(i,o)=>{this.afterMutilEditorChanged(o,i)}}}changeBindingField(t,i){super.changeBindingField(t,i),t.editor.multiSelect=!1}getDisplayType(t){return t.displayType?t.displayType.toUpperCase():""}mapFieldsDisplayFormatter(t){return t&&t.length?t.map(i=>`${i.name}[${i.bindingPath}]`).join(","):""}getSearchConfig(t){var i;return{description:"Lookup Search Infomation",title:"搜索",parentPropertyID:"editor",properties:{enableSearchBar:{$converter:ve,description:"是否启用搜索栏",refreshPanelAfterChanged:!0,title:"启用搜索栏",type:"boolean",visible:!1},searchAnyField:{description:"显示所有列",$converter:ve,title:"允许查询所有列",type:"boolean",visible:t.editor.openType!=="Popup"&&t.editor.enableSearchBar==null?!0:!!t.editor.enableSearchBar},enableEqualSearch:{$converter:ve,description:"是否启用等于搜索",title:"启用精确搜索",type:"boolean",visible:t.editor.openType!=="Popup"&&(((i=t.editor)==null?void 0:i.enableSearchBar)??!0)!==!1&&this.getDisplayType(t.editor)!=="TREELIST"}},hide:t.editor.openType==="Popup"}}getLookupConfig(t){var m;const i=t.editor,o=()=>{const u=this.formSchemaUtils.getFormSchema().module.entity[0].id,d=this.formSchemaUtils.getFormMetadataBasicInfo();return{propertyData:i,formBasicInfo:d,viewModelId:u,dataSourceId:i.helpId}},{dataSourceEditor:r,idFieldEditor:a,textFieldEditor:s,mappingFieldsEditor:c}=Bo(i,this);return{description:"Basic Infomation",title:"编辑器",setPropertyRelates:(u,d)=>{if(u)switch(u.propertyID){case"readonly":case"required":this.afterMutilEditorChanged(d,u);break}},parentPropertyID:"editor",properties:{readonly:{description:"",title:"只读",type:"boolean",$converter:"/converter/property-editor.converter",editor:this.readonlyEditor},required:{description:"",title:"必填",type:"boolean",$converter:"/converter/property-editor.converter",editor:this.requiredEditor,visible:!!((m=t.binding)!=null&&m.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string",$converter:ve},enableTitle:{description:"鼠标悬停显示文本内容",title:"悬停提示",type:"boolean",$converter:ve,editor:this.comboListEditor},editable:{description:"",title:"允许编辑",type:"boolean",$converter:ve,refreshPanelAfterChanged:!0,editor:this.comboListEditor,visible:!(i.multiSelect&&i.openType==="Popup")},allowFreeInput:{description:"",title:"任意输入",type:"boolean",$converter:ve,editor:this.freeInputEditor,visible:!!i.editable&&this.isSimpleStringField()},enableClear:{title:"启用清除按钮",type:"boolean",$converter:ve},dataSource:{description:"数据源",title:"数据源",type:"string",refreshPanelAfterChanged:!0,editor:{...r,displayFormatter:u=>u&&u.length?u.map(d=>`${d.name}(${d.code})`).join(","):"",validateFunction:async u=>this.formSchemaUtils.designerMode!=="PC_RTC"?!0:this.checkSameBESource(u,t),onSubmitModal:u=>{if(u){delete i.mappingFields;const d=this.formSchemaUtils.getFormMetadataBasicInfo();return this.metadataService.getPickMetadata(d.relativePath,u[0].data).then(f=>JSON.parse(f==null?void 0:f.metadata.content))}}},$converter:tn},filterConditions:{descriptions:"帮助过滤条件",title:"过滤条件",type:"string",$converter:ve,editor:{type:"filter-condition-editor",editable:!1,displayText:"点击配置",enableClear:!1,enableExpression:!0,editorParams:{propertyData:i,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo(),viewModelId:this.formSchemaUtils.getFormSchema().module.entity[0].id},idField:"path",repositoryToken:ut.FieldSelectorRepositoryToken,beforeOpen:async({repository:u,notifyService:d})=>{var S;if(!(i==null?void 0:i.helpId))return d==null||d.warning({message:"请先配置数据源!"}),!1;const g=o(),y=new Le.ExpressionProperty(this.formSchemaUtils).getEntitiesAndVariables();let T={};if(u){const C=await u.getData(g),F=await u.getLookupConditions(g);T={fieldList:C,conditionList:F}}return(S=y.variables)!=null&&S.forms&&(y.variables.forms.items=y.variables.forms.items.filter(C=>C.category==="remote")),{...T,...y,isServerSide:!0}},onSubmitModal:async({loadingService:u,repository:d,conditions:f,originalConditions:g,FMessageBoxService:p})=>{if(d)try{const y=o(),T=await d.getLookupConditions(y)||[];return JSON.stringify(T)!==JSON.stringify(g.value)?(u==null||u.clearAll(),p.question("视图对象中的帮助过滤条件已更改,请点击确定同步过滤数据","",()=>{f.value=T,g.value=JSON.parse(JSON.stringify(f.value))},()=>{}),!1):(JSON.stringify(f.value)===JSON.stringify(g.value)||await d.saveFilterCondition(f.value,y,this.formSchemaUtils.getFormMetadataBasicInfo()),!0)}catch{return p==null||p.error("保存失败",""),!1}finally{u==null||u.clearAll()}}},visible:!!i.helpId},displayType:{description:"类型: 树列表、列表、双列表、左树右列表",title:"展示类型",type:"string",$converter:Eo,editor:{type:"combo-list",editable:!1,disabled:!0,data:[{text:"列表",value:"LIST"},{text:"树列表",value:"TREELIST"},{text:"双列表",value:"NAVLIST"},{text:"左树右列表",value:"NAVTREELIST"}],textField:"text",idField:"value",valueField:"value"}},idField:{description:"数据源标识字段",title:"标识字段",type:"string",editor:{...a},$converter:Io},textField:{description:"显示文本字段",title:"文本字段",type:"string",$converter:ko,editor:s},mappingFields:{description:"字段映射",title:"字段映射",type:"string",$converter:ve,editor:{...c}},enableToSelect:{description:"数据加载后是否选中现有值",$converter:ve,title:"选中已选值",type:"boolean",editor:this.comboListEditor},multiSelect:{description:"启用多选",$converter:ve,title:"启用多选",type:"boolean",editor:this.comboListEditor,refreshPanelAfterChanged:!0,visible:this.isSimpleStringField()},showSelections:{description:"显示已选记录",$converter:ve,title:"显示已选记录",type:"boolean",visible:!!i.multiSelect&&i.openType!=="Popup"},separator:{description:"多选分隔符",$converter:ve,title:"多选分隔符",type:"string",editor:{type:"combo-list",editable:!1,disabled:!1,data:[{text:",",value:","},{text:"|",value:"|"},{text:"#",value:"#"}],textField:"text",idField:"value",valueField:"value",separator:"@"},visible:!!i.multiSelect},enableSearchBar:{description:"显示搜索工具条",$converter:ve,refreshPanelAfterChanged:!0,title:"启用搜索框",type:"boolean",visible:!1},enableFavorite:{description:"启用收藏夹",$converter:ve,title:"启用收藏夹",type:"boolean",visible:i.openType!=="Popup"},enableUserData:{description:"保存界面状态",$converter:ve,refreshPanelAfterChanged:!0,title:"保存界面状态",type:"boolean",visible:i.openType!=="Popup"}}}}showNavigatiorWidth(t){return this.getDisplayType(t).startsWith("NAV")&&t.openType!=="Popup"?t.showNavigation===void 0?!0:!!t.showNavigation:!1}getDialogPropertyConfig(t){const i=Oo(t.editor);return i.openType.$converter=ve,{description:"帮助窗口尺寸配置",title:"帮助窗口",parentPropertyID:"dialog",$converter:qe,properties:i}}showPagerProperty(t,i){const o=this.getDisplayType(t)!=="TREELIST"||t.treeToList;return i&&o?t.pagination&&t.pagination[i]:o}getPageConfig(t){return Ro(t)}showLoadType(t){const i=this.getDisplayType(t);return(i==="TREELIST"||i==="NAVTREELIST")&&!t.treeToList&&!t.navTreeToList}isTree(t){return this.getDisplayType(t)==="TREELIST"&&!t.treeToList}getTreePropConfig(t){return{hide:this.getDisplayType(t)!=="TREELIST"&&this.getDisplayType(t)!=="NAVTREELIST",description:"树形数据配置",title:"树形数据配置",parentPropertyID:"editor",properties:{treeToList:{description:"以列表的形式展示树结构数据",$converter:ve,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(t)==="TREELIST"},navTreeToList:{description:"以列表的形式展示树结构数据",$converter:ve,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(t)==="NAVTREELIST"},loadTreeDataType:{description:"树形数据加载方式",$converter:ve,title:"数据加载方式",type:"string",editor:{...this.comboListEditor,data:[{value:"default",text:"默认"},{value:"all",text:"全部加载"},{value:"async",text:"分层加载"}],textField:"text",valueField:"value"},visible:this.showLoadType(t)},enableFullTree:{description:"启用构造完整树",$converter:ve,title:"构造完整树",type:"boolean",visible:this.showLoadType(t)},onlySelectLeaf:{description:"仅选择叶子节点",$converter:ve,title:"仅选择叶子节点",type:"boolean",visible:this.isTree(t)},enableCascade:{description:"启用级联选择",$converter:ve,refreshPanelAfterChanged:!0,title:"启用级联选择",type:"boolean",visible:this.isTree(t)&&!!t.multiSelect&&t.openType!=="Popup"},showCascadeControl:{description:"是否在界面中显示级联状态",$converter:ve,title:"显示级联状态",type:"boolean",visible:!!t.enableCascade&&this.isTree(t)},cascadeValue:{description:"缺省级联选择模式",$converter:ve,title:"缺省级联选择模式",type:"string",visible:!!t.enableCascade&&this.isTree(t),editor:{...this.comboListEditor,data:To,textField:"text",valueField:"value"}},expandLevel:{description:"默认展开层级: 0: 不展开; -1: 全部展开;>0: 展开到指定级数 ",$converter:ve,title:"默认展开层级",type:"number",visible:this.showLoadType(t),editor:{...this.numberEditor,min:-1,max:99,needValid:!0}}}}}getEventPropConfig(t){const i=this;let o=nn;t.editor.openType==="Popup"&&(o=o.filter(s=>s.label!=="beforeSelectData"));const r=i.eventsEditorUtils.formProperties(t,i.viewModelId,o);return{title:"事件",hideTitle:!0,properties:i.createBaseEventProperty(r),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(s,c){const m=s.propertyValue;delete c[i.viewModelId],m&&i.eventsEditorUtils.saveRelatedParameters(c,i.viewModelId,m.events,m);const u=i.designViewModelUtils.getDgViewModel(i.viewModelId);u&&i.designViewModelField&&u.changeField(i.designViewModelField.id,{valueChanging:c.fieldValueChanging,valueChanged:c.fieldValueChanged})}}}async checkSameBESource(t,i){var o,r,a,s,c;if(t&&((o=i==null?void 0:i.editor)!=null&&o.helpId)&&!i.isRtcControl){if(t.data.id===i.editor.helpId)return!0;const m=await this.metadataService.getPickMetadata("",t.data).then(y=>{var T;if((T=y==null?void 0:y.metadata)!=null&&T.content)return JSON.parse(y.metadata.content)}),u=await this.metadataService.getPickMetadata("",{id:i.editor.helpId}).then(y=>{var T;if((T=y==null?void 0:y.metadata)!=null&&T.content)return JSON.parse(y.metadata.content)}),d=(r=m==null?void 0:m.dataSource)==null?void 0:r.sourceType,f=(a=u.dataSource)==null?void 0:a.sourceType,g=(s=m==null?void 0:m.dataSource)==null?void 0:s.sourceId,p=(c=u==null?void 0:u.dataSource)==null?void 0:c.sourceId;if(d==="BE"&&f==="BE"&&g!==p)return new Ct.FNotifyService().error({message:"只允许更换同数据源的帮助元数据",position:"top-center"}),!1}return!0}}const ot=class ot{static getEditorTypesByMDataType(e,t=!1,i=""){if(t)return[{key:j.DgControl["language-textbox"].type,value:j.DgControl["language-textbox"].name}];let o=ot.fieldControlTypeMapping[e];if(i==="data-grid-column"&&(o!=null&&o.length)){const r=[j.DgControl["check-group"].type,j.DgControl["radio-group"].type,j.DgControl.image.type,j.DgControl["rich-text-editor"].type];o=o.filter(a=>!r.includes(a.key))}return o}static getAllInputTypes(){const e=[];for(const t in ot.fieldControlTypeMapping)ot.fieldControlTypeMapping[t].forEach(i=>{e.find(o=>o.key===i.key&&o.value===i.value)||e.push({key:i.key,value:i.value})});return e}static mappingDomPropAndSchemaProp(e,t){var r;const i=(r=e.editor)==null?void 0:r.type,o=[];return(e.type===j.DgControl["data-grid-column"].type||e.type===j.DgControl["tree-grid-column"].type)&&t&&t.categoryId&&t.categoryId.indexOf("gridFieldEditor")<0&&o.push({domField:"title",schemaField:"name"}),o.push({domField:"label",schemaField:"name"}),o.push({domField:"editor.required",schemaField:"require"}),o.push({domField:"editor.readonly",schemaField:"readonly"}),(i===j.DgControl["input-group"].type||i===j.DgControl.textarea.type||i===j.DgControl["number-spinner"].type)&&o.push({domField:"editor.maxLength",schemaField:"type.length"}),i===j.DgControl["number-spinner"].type&&o.push({domField:"editor.precision",schemaField:"type.precision"}),(e.type===j.DgControl["data-grid-column"].type||e.type===j.DgControl["tree-grid-column"].type)&&o.push({domField:"formatter.precision",schemaField:"type.precision"}),(i===j.DgControl["combo-list"].type||i===j.DgControl["radio-group"].type)&&o.push({domField:"editor.data",schemaField:"type.enumValues"}),(e.type===j.DgControl["data-grid-column"].type||e.type===j.DgControl["tree-grid-column"].type)&&o.push({domField:"formatter.data",schemaField:"type.enumValues"}),i===j.DgControl["date-picker"].type&&(o.push({domField:"editor.displayFormat",schemaField:"editor.format"}),o.push({domField:"editor.fieldType",schemaField:"type.name"})),i===j.DgControl["number-spinner"].type&&(o.push({domField:"editor.max",schemaField:"editor.maxValue"}),o.push({domField:"editor.min",schemaField:"editor.minValue"})),i===j.DgControl.lookup.type&&(o.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),o.push({domField:"editor.valueField",schemaField:"editor.valueField"}),o.push({domField:"editor.textField",schemaField:"editor.textField"}),o.push({domField:"editor.displayType",schemaField:"editor.displayType"}),o.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),o.push({domField:"editor.helpId",schemaField:"editor.helpId"})),o.push({domField:"path",schemaField:"bindingPath"}),o.push({domField:"binding.path",schemaField:"bindingField"}),o.push({domField:"binding.fullPath",schemaField:"path"}),(e.type===j.DgControl["data-grid-column"].type||e.type===j.DgControl["tree-grid-column"].type)&&o.push({domField:"field",schemaField:"bindingPath"}),o}};ie(ot,"fieldControlTypeMapping",{String:[{key:j.DgControl["input-group"].type,value:j.DgControl["input-group"].name},{key:j.DgControl.lookup.type,value:j.DgControl.lookup.name},{key:j.DgControl.image.type,value:j.DgControl.image.name},{key:j.DgControl["date-picker"].type,value:j.DgControl["date-picker"].name},{key:j.DgControl.switch.type,value:j.DgControl.switch.name},{key:j.DgControl["check-box"].type,value:j.DgControl["check-box"].name},{key:j.DgControl["check-group"].type,value:j.DgControl["check-group"].name},{key:j.DgControl["radio-group"].type,value:j.DgControl["radio-group"].name},{key:j.DgControl["combo-list"].type,value:j.DgControl["combo-list"].name},{key:j.DgControl.textarea.type,value:j.DgControl.textarea.name},{key:j.DgControl["time-picker"].type,value:j.DgControl["time-picker"].name}],Text:[{key:j.DgControl.textarea.type,value:j.DgControl.textarea.name},{key:j.DgControl.lookup.type,value:j.DgControl.lookup.name},{key:j.DgControl.image.type,value:j.DgControl.image.name},{key:j.DgControl["rich-text-editor"].type,value:j.DgControl["rich-text-editor"].name}],Decimal:[{key:j.DgControl["number-spinner"].type,value:j.DgControl["number-spinner"].name}],Integer:[{key:j.DgControl["number-spinner"].type,value:j.DgControl["number-spinner"].name}],Number:[{key:j.DgControl["number-spinner"].type,value:j.DgControl["number-spinner"].name},{key:j.DgControl.switch.type,value:j.DgControl.switch.name},{key:j.DgControl["check-box"].type,value:j.DgControl["check-box"].name}],BigNumber:[{key:j.DgControl["number-spinner"].type,value:j.DgControl["number-spinner"].name}],Date:[{key:j.DgControl["date-picker"].type,value:j.DgControl["date-picker"].name}],DateTime:[{key:j.DgControl["date-picker"].type,value:j.DgControl["date-picker"].name}],Boolean:[{key:j.DgControl.switch.type,value:j.DgControl.switch.name},{key:j.DgControl["check-box"].type,value:j.DgControl["check-box"].name}],Enum:[{key:j.DgControl["combo-list"].type,value:j.DgControl["combo-list"].name},{key:j.DgControl["radio-group"].type,value:j.DgControl["radio-group"].name}],Object:[{key:j.DgControl.lookup.type,value:j.DgControl.lookup.name},{key:j.DgControl["combo-list"].type,value:j.DgControl["combo-list"].name},{key:j.DgControl["radio-group"].type,value:j.DgControl["radio-group"].name}]});let rt=ot;var it=(n=>(n.Form="Form",n.Variable="Variable",n))(it||{});class Ao{constructor(){ie(this,"label","");ie(this,"id","");ie(this,"columnInSM",12);ie(this,"columnInMD",6);ie(this,"columnInLG",3);ie(this,"columnInEL",2);ie(this,"displayWidthInSM",1);ie(this,"displayWidthInMD",1);ie(this,"displayWidthInLG",1);ie(this,"displayWidthInEL",1);ie(this,"displayColumnCountAtBreakPoint","md");ie(this,"tagRow",0);ie(this,"showTopBorder",0);ie(this,"group",1);ie(this,"isSupportedClass",!0);ie(this,"fieldSetId","")}}function Lo(n){let e,t;const i=new Map;let o=[];function r(u,d){const g=u.split(" ").filter(C=>C.startsWith("col-"));if(g.length===0){d.isSupportedClass=!1;return}let p=g.find(C=>/^col-([1-9]|10|11|12)$/.test(C)),y=g.find(C=>/^col-md-([1-9]|10|11|12)$/.test(C)),T=g.find(C=>/^col-xl-([1-9]|10|11|12)$/.test(C)),S=g.find(C=>/^col-el-([1-9]|10|11|12)$/.test(C));p=p||"col-12",d.columnInSM=parseInt(p.replace("col-",""),10),d.displayWidthInSM=d.columnInSM/12,d.displayWidthInSM!==1&&(d.isSupportedClass=!1),y=y||"col-md-"+d.columnInSM,d.columnInMD=parseInt(y.replace("col-md-",""),10),d.displayWidthInMD=d.columnInMD/6,[1,2].includes(d.displayWidthInMD)||(d.isSupportedClass=!1),T=T||"col-xl-"+d.columnInMD,d.columnInLG=parseInt(T.replace("col-xl-",""),10),d.displayWidthInLG=d.columnInLG/3,[1,2,3,4].includes(d.displayWidthInLG)||(d.isSupportedClass=!1),S=S||"col-el-"+d.columnInLG,d.columnInEL=parseInt(S.replace("col-el-",""),10),d.displayWidthInEL=d.columnInEL/2,[1,2,3,4,5,6].includes(d.displayWidthInEL)||(d.isSupportedClass=!1)}function a(u,d,f,g=!1){let p=!1;u.contents.forEach(y=>{if(y.type==="fieldset"){f+=1,a(y,d,f,!0),p=!0;return}p&&(f+=1,p=!1);const T=y.appearance&&y.appearance.class,S=new Ao;T?r(T,S):S.isSupportedClass=!1,S.label=y.label||y.id,S.id=y.id,S.group=f,g&&(S.fieldSetId=u.id),t===y.id&&(e=f),i.set(y.id,y),d.push(S)})}function s(u){const d=n.getComponentById(u);if(!d||!d.componentType||!d.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const f=n.selectNode(d,g=>g.type===j.DgControl["response-form"].type);return!f||!f.contents||f.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:f}}function c(u,d){d=d||u.id;const{result:f,message:g,formNode:p}=s(d);if(!f)return{result:f,message:g};t=u.id,o=[],i.clear();const y=p.contents[0].type===j.DgControl.fieldset.type?0:1;a(p,o,y);const T=o.find(C=>!C.isSupportedClass);return{defaultState:{defaultGroupNumber:e||1,model:T?"customize":"standard"},importData:o}}function m(u,d){d=d;const{result:f,formNode:g}=s(d);if(!f)return"";const p=[];return u.forEach(y=>{var C;const T=i.get(y.id),S=T.appearance&&T.appearance.class;if(S){const V=S.split(" ").filter(B=>!B.startsWith("col-")),v="col-"+y.columnInSM,w="col-md-"+y.columnInMD,h="col-xl-"+y.columnInLG,b="col-el-"+y.columnInEL,M=[v,w,h,b].concat(V);T.appearance.class=M.join(" ")}if(y.fieldSetId){const F=g.contents.find(v=>v.id===y.fieldSetId),V=p.find(v=>v.id===y.fieldSetId);V?(C=V.contents)==null||C.push(T):(p.push(F),F.contents=[T])}else p.push(T)}),g.contents=p,g.id}return{checkCanFindFormNode:s,checkCanOpenLayoutEditor:c,changeFormControlsByResponseLayoutConfig:m,getResonseFormLayoutConfig:a}}class Ft extends Zt{constructor(t,i){super(t,i);ie(this,"responseLayoutEditorFunction");ie(this,"bindingVarible");ie(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});this.responseLayoutEditorFunction=Lo(this.formSchemaUtils)}getCommonPropertyConfig(t,i,o="Card"){this.propertyConfig.categories.basic=this.getBasicProperties(t,i,o),this.propertyConfig.categories.appearance=this.getAppearanceProperties(t,i),this.propertyConfig.categories.behavior=this.getBehaviorConfig(t,"form-group")}getPropertyConfig(t,i){return this.getCommonPropertyConfig(t,i,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(t),this.propertyConfig.categories.expressions=this.getExpressionConfig(t,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(t),this.propertyConfig}getGridFieldEdtiorPropConfig(t,i){return this.propertyConfig.categories={},this.getCommonPropertyConfig(t,i,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(t):this.propertyConfig.categories.editor=this.getEditorProperties(t),this.propertyConfig.categories.expressons=this.getExpressionConfig(t,"Field"),this.propertyConfig.categories}getBasicProperties(t,i,o="Card"){var m;const r=this;this.setDesignViewModelField(t);const{canChangeControlType:a,editorTypeList:s}=this.getAvailableEditorType(t),c={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:s,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:((m=t.editor)==null?void 0:m.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:t,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!t.isRtcControl}},setPropertyRelates(u,d,f){if(u)switch(u&&u.propertyID){case"type":{r.changeControlType(t,u,i);break}case"label":{u.needRefreshControlTree=!0;break}case"binding":{r.changeBindingField(t,u,f);break}}}};return o.toLocaleLowerCase()!=="card"&&delete c.properties.showLabelType,c}checkCanChangeControlType(t,i){if(!t.binding)return!1;if(t.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(t.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==X.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(t){var r;const i=this.checkCanChangeControlType(t,this.viewModelId);if(!i)return{canChangeControlType:!1,editorTypeList:[{key:t.editor.type,value:((r=j.DgControl[t.editor.type])==null?void 0:r.name)||t.editor.type}]};let o=[];return this.designViewModelField&&this.designViewModelField.$type===X.FormSchemaEntityField$Type.SimpleField?o=rt.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(o=rt.getEditorTypesByMDataType(this.bindingVarible.type,this.designViewModelField.multiLanguage)),{canChangeControlType:i,editorTypeList:o}}changeBindingField(t,i,o){i.needRefreshEntityTree=!0}getAppearanceProperties(t,i){const o=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:()=>o.responseLayoutEditorFunction.checkCanOpenLayoutEditor(t,o.componentId)}}},setPropertyRelates(r,a){if(r)switch(r&&r.propertyID){case"responseLayout":o.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(r.propertyValue,o.componentId||t.id),o.updateUnifiedLayoutAfterResponseLayoutChanged(o.componentId),o.updateElementByParentContainer(t.id,i),delete t.responseLayout;break;case"class":o.updateUnifiedLayoutAfterControlChanged(r.propertyValue,t.id,this.componentId),j.canvasChanged.value++;break;case"style":{j.canvasChanged.value++;break}}}}}getEditorProperties(t){return this.getComponentConfig(t)}changeControlType(t,i,o){const r=i.propertyValue,a=o&&o.parent&&o.parent.schema;if(!a)return;const s=a.contents.findIndex(u=>u.id===t.id);if(s===-1)return;const c=a.contents[s];let m;if(this.designViewModelField){const f=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(p=>p.id===this.designViewModelField.id).fieldSchema||{};f.editor||(f.editor={}),f.editor.$type=r,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,f,!1),m=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,r)}m||(m=this.controlCreatorUtils.createFormGroupWithoutField(r)),Object.assign(m,{id:c.id,appearance:c.appearance,size:c.size,label:c.label,binding:c.binding}),Object.prototype.hasOwnProperty.call(c,"visible")&&Object.assign(m,{visible:c.visible}),c.editor&&["readonly","required","placeholder"].map(u=>{Object.prototype.hasOwnProperty.call(c.editor,u)&&(m.editor[u]=c.editor[u])}),o!=null&&o.updateContextSchema?o.updateContextSchema(m):(o.schema=Object.assign(c,m),Object.assign(t,m)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(u=>u.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(u=>u.classList.remove("dgComponentFocused")),j.canvasChanged.value++,l.nextTick(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}getComponentConfig(t,i={},o={},r){var f,g;const a=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},i),s=(f=t.binding)!=null&&f.field?[]:["Const","Variable","StateMachine"],c=this.getPropertyEditorParams(t,s,"readonly"),m=this.getPropertyEditorParams(t,s,"required"),u={readonly:{description:"",title:"只读",editor:c},required:{description:"",title:"必填",type:"boolean",editor:m,visible:!!((g=t.binding)!=null&&g.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const p in o)u[p]=Object.assign(u[p]||{},o[p]);const d=this;return{...a,properties:{...u},setPropertyRelates(p,y){if(p){switch(p.propertyID){case"readonly":case"required":d.afterMutilEditorChanged(t,p);break}r&&r.bind(d)(p,t,y)}}}}updateUnifiedLayoutAfterControlChanged(t,i,o){const r=t.split(" ");let a=r.find(d=>/^col-([1-9]|10|11|12)$/.test(d)),s=r.find(d=>/^col-md-([1-9]|10|11|12)$/.test(d)),c=r.find(d=>/^col-xl-([1-9]|10|11|12)$/.test(d)),m=r.find(d=>/^col-el-([1-9]|10|11|12)$/.test(d));a=a||"col-12",s=s||"col-md-"+a.replace("col-",""),c=c||"col-xl-"+s.replace("col-md-",""),m=m||"col-el-"+c.replace("col-xl-","");const u={id:i,columnInSM:parseInt(a.replace("col-",""),10),columnInMD:parseInt(s.replace("col-md-",""),10),columnInLG:parseInt(c.replace("col-xl-",""),10),columnInEL:parseInt(m.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(o,u)}updateUnifiedLayoutAfterResponseLayoutChanged(t,i){const{formNode:o}=this.responseLayoutEditorFunction.checkCanFindFormNode(t);if(!o||!o.unifiedLayout)return;const r=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(o,r,1),i){const p=r.find(y=>y.id===i.id);Object.assign(p||{},i)}const a=r.map(p=>p.columnInSM),s=r.map(p=>p.columnInMD),c=r.map(p=>p.columnInLG),m=r.map(p=>p.columnInEL),u=this.checkIsUniqueColumn(a)?a[0]:null,d=this.checkIsUniqueColumn(s)?s[0]:null,f=this.checkIsUniqueColumn(c)?c[0]:null,g=this.checkIsUniqueColumn(m)?m[0]:null;Object.assign(o.unifiedLayout,{uniqueColClassInSM:u,uniqueColClassInMD:d,uniqueColClassInLG:f,uniqueColClassInEL:g})}checkIsUniqueColumn(t){const i=new Set(t);return Array.from(i).length===1}getItemCollectionEditor(t,i,o){return i=i||"value",o=o||"name",{editor:{columns:[{field:i,title:"值",dataType:"string"},{field:o,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:i,nameField:o,requiredFields:[i,o],uniqueFields:[i,o],readonly:this.checkEnumDataReadonly(t)}}}checkEnumDataReadonly(t){return!t.binding||t.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===X.FormSchemaEntityFieldType$Type.EnumType)}appendFieldValueChangeEvents(t,i){t.binding&&t.binding.type===it.Form&&t.binding.field?(i.find(o=>o.label==="fieldValueChanging"),i.find(o=>o.label==="fieldValueChanged"),this.designViewModelField&&(t.fieldValueChanging=this.designViewModelField.valueChanging,t.fieldValueChanged=this.designViewModelField.valueChanged)):i=i.filter(o=>o.label!=="fieldValueChanging"&&o.label!=="fieldValueChanged")}getControlMethodType(t){if(!t.binding)return t.type;switch(t.binding.type){case it.Form:return t.binding.path||t.type;case it.Variable:return t.binding.fullPath||t.type}return t.type}getEventPropertyConfig(t,i="card",o,r){const a=this;let s=[];if(o&&(s=s.concat(o)),s.length===0)return{title:"事件",hideTitle:!0,properties:{},tabId:"commands",tabName:"交互",hide:!0};this.appendFieldValueChangeEvents(t,s);const c=a.eventsEditorUtils.formProperties(t,a.viewModelId,s);return{title:"事件",hideTitle:!0,properties:a.createBaseEventProperty(c),tabId:"commands",tabName:"交互",setPropertyRelates(d,f){const g=d.propertyValue;delete t[a.viewModelId],g&&(g.setPropertyRelates=this.setPropertyRelates,g.controlInfo={type:a.getControlMethodType(t),name:t.title},a.eventsEditorUtils.saveRelatedParameters(t,a.viewModelId,g.events,g)),r&&r(d,f,g);const p=a.designViewModelUtils.getDgViewModel(a.viewModelId);p&&a.designViewModelField&&p.changeField(a.designViewModelField.id,{valueChanging:t.fieldValueChanging,valueChanged:t.fieldValueChanged})}}}getExpressionConfig(t,i,o=["compute","dependency","validate"],r){return new Xt(this.formSchemaUtils).getExpressionConfig(t,i,o,r)}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(t,i,o){var r;t.editor[i]!==o?t.editor[i]=o:(r=this.getFormDesignerInstance())==null||r.reloadPropertyPanel()}setBooleanValue(t,i,o){let r=o;this.getBindingDataType()==="string"&&(r=(r||"").trim()||(i==="trueValue"?"true":"false"));const s=i==="trueValue"?"falseValue":"trueValue";t.editor[s]===r&&(r=r+1),this.updatePropertyValue(t,i,r)}getBooleanValueConverter(){return{convertFrom:(t,i)=>t.editor[i],convertTo:(t,i,o)=>{this.setBooleanValue(t,i,o)}}}}class $o extends Ft{constructor(e,t){super(e,t)}getEditorProperties(e){return this.getComponentConfig(e,{type:"number-range"},{editable:{description:"",title:"允许编辑",type:"boolean"}})}}class jo extends Le.InputBaseProperty{constructor(e,t){super(e,t)}getEditorProperties(e){var r,a,s,c,m,u,d,f;let t,i=!1;if(((r=e==null?void 0:e.binding)==null?void 0:r.type)==="Form"){const g=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(a=g==null?void 0:g.schemaField)!=null&&a.type&&(t=g.schemaField.type.precision,i=g.schemaField.type.name==="BigNumber")}return this.getComponentConfig(e,{type:"number-spinner"},{precision:{description:"",title:"精度",type:"number",editor:{readonly:t===0,min:0,max:t,needValid:!0},refreshPanelAfterChanged:!0},step:{description:"",title:"步长",type:"number",editor:{min:0,needValid:!0,precision:(s=e==null?void 0:e.editor)==null?void 0:s.precision}},min:{description:"",title:"最小值",type:"number",editor:{nullable:!0,max:(c=e==null?void 0:e.editor)==null?void 0:c.max,precision:(m=e==null?void 0:e.editor)==null?void 0:m.precision,bigNumber:i,needValid:!0},refreshPanelAfterChanged:!0,visible:this.designViewModelField!=null},max:{description:"",title:"最大值",type:"number",editor:{nullable:!0,min:((u=e==null?void 0:e.editor)==null?void 0:u.min)===void 0||(d=e==null?void 0:e.editor)==null?void 0:d.min,precision:(f=e==null?void 0:e.editor)==null?void 0:f.precision,bigNumber:i,needValid:!0},refreshPanelAfterChanged:!0,visible:this.designViewModelField!=null},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{editable:!1,data:[{id:"left",name:"左对齐"},{id:"center",name:"居中"},{id:"right",name:"右对齐"}]}},bigNumber:{description:"",title:"支持大数字",type:"boolean",readonly:!0,visible:i},showZero:{description:"",title:"显示0值",type:"boolean"},nullable:{description:"允许设置为 null",title:"允许为空",type:"boolean"},useThousands:{description:"",title:"启用千分位",type:"boolean"},showButton:{description:"",title:"显示加减按钮",type:"boolean"}},function(g,p,y){if(g)switch(g.propertyID){case"precision":{p.formatter&&(p.formatter.precision=g.propertyValue);break}}})}changeBindingField(e,t,i){var r;super.changeBindingField(e,t);const o=i;e.editor&&((r=o==null?void 0:o.type)==null?void 0:r.name)===X.FormSchemaEntityFieldTypeName.Number&&(e.editor.precision=o.type.precision)}}class Wo extends Ft{constructor(e,t){super(e,t)}getEditorProperties(e){const t=this;return t.getComponentConfig(e,{type:"radio-group"},{disabled:{visible:!1},placeholder:{visible:!1},direction:{description:"",title:"排列方向",type:"enum",editor:{data:[{id:"horizontal",name:"横向"},{id:"vertical",name:"纵向"}]}},dataSourceType:{description:"",title:"数据源类型",type:"enum",visible:!1,editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!e.editor.dataSourceType||e.editor.dataSourceType==="static",...t.getItemCollectionEditor(e,e.editor.valueField,e.editor.textField),refreshPanelAfterChanged:!0},bindDataSource:{description:"",title:"绑定数据源",type:"string",visible:e.editor.dataSourceType==="dynamic"},textField:{description:"",title:"文本字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"值字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"}},this.setEditorPropertyRelates)}setEditorPropertyRelates(e,t,i){if(!e||!t.editor)return;const o=this;switch(e.propertyID){case"dataSourceType":{e.propertyValue==="static"&&(t.editor.valueField="value",t.editor.textField="name");break}case"data":{!o.checkEnumDataReadonly(t)&&t.formatter&&(t.formatter.data=[...e.propertyValue]);break}}}changeBindingField(e,t,i){var r;super.changeBindingField(e,t);const o=i;e.editor&&((r=o==null?void 0:o.type)==null?void 0:r.$type)===X.FormSchemaEntityFieldType$Type.EnumType&&(e.editor.data=o.type.enumValues||[])}}class zo extends Le.InputBaseProperty{constructor(e,t){super(e,t)}getEditorProperties(e){var t,i;return this.getComponentConfig(e,{type:"switch"},{disabled:{visible:!1},placeholder:{visible:!1},onLabel:{description:"",title:"打开标签",type:"string"},offLabel:{description:"",title:"关闭标签",type:"string"},onBackground:{description:"值可以是颜色或者16进制颜色字符串,比如:blue或者#2A87FF",title:"打开背景色",type:"string"},offBackground:{description:"值可以是颜色或者16进制颜色字符串,比如:gray或者#D9DEE7",title:"关闭背景色",type:"string"},size:{description:"",title:"尺寸",type:"enum",editor:{data:[{id:"small",name:"小号"},{id:"medium",name:"中号"},{id:"large",name:"大号"}]}},trueValue:{description:"打开时的值",title:"打开的值",type:this.getBindingDataType(),visible:this.designViewModelField!=null&&((t=this.designViewModelField)==null?void 0:t.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()},falseValue:{description:"关闭时的值",title:"关闭的值",type:this.getBindingDataType(),visible:this.designViewModelField!=null&&((i=this.designViewModelField)==null?void 0:i.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()}})}changeBindingField(e,t,i){var r;super.changeBindingField(e,t);const o=i;if(e.editor&&((r=o==null?void 0:o.type)!=null&&r.name)){let a,s;o.type.name===X.FormSchemaEntityFieldTypeName.String&&(a="true",s="false"),o.type.name===X.FormSchemaEntityFieldTypeName.Number&&(a=1,s=0),!Object.prototype.hasOwnProperty.call(e.editor,"trueValue")&&a!==void 0&&(e.editor.trueValue=a),!Object.prototype.hasOwnProperty.call(e.editor,"falseValue")&&s!==void 0&&(e.editor.falseValue=s)}}}class Go extends Ft{constructor(e,t){super(e,t)}getEditorProperties(e){return this.getComponentConfig(e,{type:"time-picker"},{editable:{description:"",title:"允许编辑",type:"boolean"},use12Hours:{description:"",title:"是否使用12小时制",type:"boolean",refreshPanelAfterChanged:!0},format:{description:"",title:"格式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:e.editor.use12Hours?[{value:"hh:mm:ss",name:"hh:mm:ss"},{value:"hh:mm",name:"hh:mm"}]:[{value:"HH:mm:ss",name:"HH:mm:ss"},{value:"HH:mm",name:"HH:mm"}]}},showHeader:{description:"",title:"是否显示时分秒标题",type:"boolean"},hourStep:{description:"",title:"时步长",type:"number",editor:{min:1,max:12,useThousands:!1}},minuteStep:{description:"",title:"分步长",type:"number",editor:{min:1,max:30,useThousands:!1}},secondStep:{description:"",title:"秒步长",type:"number",editor:{min:1,max:30,useThousands:!1}}},(t,i)=>{t.propertyID==="use12Hours"&&(i.editor.format=i.editor.format||"hh:mm:ss",i.editor.format=t.propertyValue?i.editor.format.replace("HH","hh"):i.editor.format.replace("hh","HH"))})}}class Uo extends Le.InputBaseProperty{constructor(e,t){super(e,t)}getEditorProperties(e){return this.getComponentConfig(e,{type:"language-textbox"},{maxLength:{description:"文本字数最大长度",title:"最大长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,max:e.editor.maxLength,needValid:!0}}})}}class Do extends Zt{constructor(t,i){super(t,i);ie(this,"dataGridProps",null);ie(this,"notifyService",new Ct.FNotifyService)}getPropertyConfig(t,i){var s,c,m;this.dataGridProps=i,this.getBasicPropConfig(t),this.getAppearanceProperties(t,i);const r={formatterEnumData:{description:"",title:"枚举数据",type:"array",visible:!!(((s=t.formatter)==null?void 0:s.type)==="enum"&&((c=t.editor)==null?void 0:c.type)!=="combo-list"),$converter:"/converter/change-formatter-enum.converter",...this.getItemCollectionEditor(t,"value","name"),refreshPanelAfterChanged:!0}},a=(u,d)=>{if(u)switch(u.propertyID){case"formatterEnumData":{t.formatter&&(t.formatter.data=[...u.propertyValue]);break}}};return this.propertyConfig.categories.behavior=this.getBehaviorConfig(t,"gridFieldEditor",r,a),this.getFieldEditorProperties(t,i),this.propertyConfig.categories.templateFormat=this.getColumnTemplate(t),((m=t.formatter)==null?void 0:m.type)!=="multilingual"&&(this.propertyConfig.categories.formatter=this.getTemplateProperties(t)),this.getEventPropConfig(t),this.propertyConfig}getColumnTemplate(t){const i=t.columnTemplateType&&t.columnTemplateType==="custom"||!t.columnTemplateType&&t.columnTemplate&&!t.onClickLinkCommand,o=this;return{title:"列模板",description:"用于配置自定义列模板以及内置的格式化模板,如超链接、图片",properties:{columnTemplateType:{description:"列模板类型",title:"列模板类型",$converter:"/converter/change-formatter-type.converter",type:"enum",editor:{data:[{id:"default",name:"无"},{id:"hyperlink",name:"超链接"},{id:"custom",name:"自定义"}]}},columnTemplate:{description:"列模板",title:"列模板",type:"string",visible:!!i,editor:{type:"code-editor",language:"html"}}},setPropertyRelates(r,a,s){var c;if(r){switch(r&&r.propertyID){case"columnTemplateType":{r.propertyValue==="custom"&&a.columnTemplate&&o.notifyService.warning({position:"top-center",message:"注意:已自定义列模板,【列格式化】【悬浮提示】【数据水平对齐方式】【数据垂直对齐方式】等列属性会失效"});break}case"columnTemplate":{r.propertyValue&&o.notifyService.warning({position:"top-center",message:"注意:已自定义列模板,【列格式化】【悬浮提示】【数据水平对齐方式】【数据垂直对齐方式】等列属性会失效"});break}}(c=o.getFormDesignerInstance())==null||c.reloadPropertyPanel()}}}}getItemCollectionEditor(t,i,o){const r=i||"value",a=o||"name";return{editor:{columns:[{field:r,title:"值",dataType:"string"},{field:a,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:r,nameField:a,requiredFields:[r,a],uniqueFields:[r,a],readonly:this.checkEnumDataReadonly(t)}}}checkEnumDataReadonly(t){return!t.binding||t.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===X.FormSchemaEntityFieldType$Type.EnumType)}getEventPropConfig(t){var c,m,u;const i=t.columnTemplateType==="hyperlink"||!t.columnTemplateType&&t.columnTemplate&&t.onClickLinkCommand;let o=[];((c=t.editor)==null?void 0:c.type)==="combo-list"&&o.push({label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"下拉面板前事件"}),i&&o.push({label:"onClickLinkCommand",name:"超链接事件"}),((m=t==null?void 0:t.editor)==null?void 0:m.type)==="lookup"&&(o=[...o,...nn],t.editor.openType==="Popup"&&(o=o.filter(d=>d.label!=="beforeSelectData"))),((u=t==null?void 0:t.editor)==null?void 0:u.type)==="date-picker"&&(o=[{label:"onDatePicked",name:"日期选择后事件"}]);const r=this,a=r.eventsEditorUtils.formProperties(t,r.viewModelId,o),s=r.createBaseEventProperty(a);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:s,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(d,f){var p,y,T,S;const g=d.propertyValue;delete t[r.viewModelId],g&&(g.setPropertyRelates=this.setPropertyRelates,r.eventsEditorUtils.saveRelatedParameters(t,r.viewModelId,g.events,g)),t.remoteSort=!!t.columnSorted,t.onClickLinkCommand&&!t.onClickLinkCommand.includes("communication:")&&(t.columnTemplate=`<span class="f-pretend-link f-cursor-pointer"
18
+ `,M.children[1].style.cssText="width: 30px;padding: 0 14px 0 0",M.children[2].style.cssText="padding: 0 14px 0 0;",document.body.appendChild(M),M}function C(w,h,b){if(w.stopPropagation(),f(),h){if(g=S(w.target),w.dataTransfer){const M=new Image;M.src="",w.dataTransfer.setDragImage(M,0,0)}p=w.pageX,y=w.pageY,setTimeout(()=>{a.value=b,s.value=!0,h.moving=!0})}}function F(w,h){if(w.preventDefault(),a.value!==h){const b=r.value[a.value],M=r.value;M.splice(a.value,1),M.splice(h,0,b),a.value=h,T(w.pageX,w.pageY)}}function V(w){w.preventDefault(),w.dataTransfer&&(w.dataTransfer.dropEffect="move"),T(w.pageX,w.pageY)}function v(w,h){h&&(h.moving=!1,g&&(document.body.removeChild(g),g=null)),r.value.forEach((b,M)=>{b.__fv_index__=M}),s.value=!1,d(),u.value=h.raw.__fv_index__,c.value=h.raw.__fv_index__,m.value=h.raw[o.value],e.emit("change",r.value),e.emit("activeChange",[h.raw])}return{dragstart:C,dragenter:F,dragover:V,dragend:v,isDragging:s}}function Qi(n,e,t,i,o,r){const a=l.ref(n.idField),s=l.ref(n.disableField),c=l.ref(n.draggable);l.ref(n.itemClass);const m=l.ref(n.selection.multiSelect??!1),u=l.ref(n.selection.multiSelectMode),{isDragging:d}=i,{activeIndex:f,focusedItemId:g,hoverIndex:p}=o,{clearSelection:y,getSelectedItems:T,toggleSelectItem:S,currentSelectedDataId:C}=r,F=l.ref(T()),V=I=>F.value.length===0?!1:F.value.some(_=>{let x="";return _.data?x=_.data[a.value]:x=_[a.value],x===I});function v(){F.value=T()}function w(I,_){return I.raw[a.value]!=null?I.raw[a.value]:""}function h(I,_){const x={"f-list-view-group-item":!0,"f-list-view-draggable-item":c.value,"f-un-click":!I.checked,"f-un-select":!!I.raw[s.value],"f-listview-active":m.value&&V(w(I))||!m.value&&I.raw[a.value]===C.value,"f-listview-hover":!d.value&&_===p.value,moving:!!I.moving};if(typeof n.itemClass=="string")return X.getCustomClass(x,n.itemClass);if(typeof n.itemClass=="function"){const G=n.itemClass(I);return X.getCustomClass(x,G)}return x}function b(I,_){const x={};if(typeof n.itemStyle=="string")return X.getCustomStyle(x,n.itemStyle);if(typeof n.itemStyle=="function"){const G=n.itemStyle(I);return X.getCustomStyle(x,G)}return x}const M=l.computed(()=>!m.value);function B(I,_,x){I.checked=x,!I.raw[s.value]&&(M.value&&(g.value=I.raw[a.value]),S(I))}const P=l.computed(()=>m.value&&u.value==="OnCheckClearByClick"),E=l.computed(()=>!m.value||m.value&&(u.value==="OnCheckAndClick"||u.value==="OnClick"));function N(I,_,x){if(I.raw[s.value]){x==null||x.preventDefault(),x==null||x.stopPropagation();return}C.value=I.raw[a.value],g.value=I.raw[a.value],f.value=_,P.value&&y(),E.value&&(S(I),v()),e.emit("clickItem",{data:F.value,index:_,dataItem:I.raw}),e.emit("activeChange",F.value)}return{getKey:w,selectedItems:F,listViewItemClass:h,listViewItemStyle:b,updateSelectedItems:v,onCheckItem:B,onClickItem:N}}const Yt=l.defineComponent({name:"FListView",props:Wi,emits:["afterSearch","checkValuesChange","clickItem","selectItem","unSelectItem","selectionChange","removeItem","change","activeChange","pageIndexChanged","pageSizeChanged","changed","selectionUpdate"],setup(n,e){const t=l.ref(),i=l.ref(!0),o=l.ref(!1),r=l.ref([]),a=0,s=l.ref(n.columns),c=ke.useFilter(n,e),m=ke.useIdentify(n),u=ke.useHierarchy(n),d=ke.useGroupData(n,m),f=ke.useDataView(n,new Map,c,u,m),g=ke.useSelection(n,f,m,r,e),p=zi(n,t),y=ke.usePagination(n,f),T=l.computed(()=>f.dataView.value.length),S=ke.useRow(n,e,g,m),C=ke.useEdit(n,e,m,S,r),F=ke.useVisualDataBound(n),V=ke.useVisualDataCell(n,{},F),v=ke.useVisualDataRow(n,f,C,u,m,F,V),w=ke.useVisualGroupRow(n,m,V,v),h=ke.useVisualSummaryRow(n,m,V,v),b=ke.useVisualData(n,s,f,T,a,v,w,h),{getVisualData:M}=b;r.value=M(0,T.value+a-1);const B=l.computed(()=>{const D={"f-list-view":!0,"f-list-view-multiple":n.multiSelect};return n.size!=="default"&&(D[`${n.size}-item`]=!0),X.getCustomClass(D,n.customClass)}),P=l.computed(()=>!!e.slots.footer||i.value);function E(){return n.header==="SearchBar"?qt:n.header==="ContentHeader"?Xi:qt}const N=E(),{renderHeader:I}=N(n,e,p),_=Zi(),x=Ji(n,e,f,_),G=Qi(n,e,r,x,_,g),{renderListArea:k}=Yi(n,e,r,f,d,_,g,b,G,x);function $(D){p.search(D)}function Y(D){D&&(f.load(D),r.value=M(0,T.value+a-1))}function Q(){g.clearSelection(),_.clearActiveItem()}function oe(){return G.selectedItems.value}function Ve(){return G.selectedItems.value.map(D=>D[m.idField.value])}function Se(D){g.selectedValues.value=D,G.updateSelectedItems()}function xe(){return g.currentSelectedDataId.value}function H(D){S.activeRowById(D)}function O(D){const ye=m.idField.value,be=r.value.find(Ze=>Ze.raw[ye]===D),Re=r.value.findIndex(Ze=>Ze.raw[ye]===D);be&&Re>-1&&G.onClickItem(be,Re)}function R(D){const ye=m.idField.value,be=r.value.find(Re=>Re.raw[ye]===D);be&&S.changeRow(be)}function W(D){y.updatePagination(D)}function U(D){return r.value.filter(ye=>D.includes(ye.raw[n.idField]))}e.expose({search:$,updateDataSource:Y,clearSelection:Q,getSelections:oe,updateSelectionByIds:Se,getSelectionIds:Ve,activeRowById:H,getCurrentRowId:xe,clickRowItemById:O,updatePagination:W,getVisibleDataByIds:U,selectRowById:R});function ee(D){n.multiSelect&&(D.preventDefault(),D.stopPropagation())}l.watch(()=>n.selectionValues,(D,ye)=>{D!==ye&&Se(D)});const se=ke.useSidebar(n,g),{sidebarWidth:ce,showSidebarCheckBox:fe}=se,pe=ke.useColumn(n,e),{applyColumnSorter:me,columnContext:Pe,updateColumnRenderContext:We}=pe,Ce=ke.useVirtualScroll(n,f,r,Pe,b,T,a,ce,C),{shouldRenderPagination:A}=y,{renderDataGridPagination:J}=ke.getPagination(n,e,f,Ce,y,g);return()=>l.createVNode("div",{class:B.value,onClick:ee},[I(),l.createVNode("div",{ref:t,class:"f-list-view-content",onMouseover:()=>{o.value=!0},onMouseleave:()=>{o.value=!1}},[k()]),P.value&&l.createVNode("div",{class:"f-list-view-footer"},[n.footerTemplate?n.footerTemplate():e.slots.footer&&e.slots.footer()])])}}),Ki=l.defineComponent({name:"FTransfer",props:ji,emits:["change","activeChange","selectItem","unSelecteItem","removeItem"],setup(n,e){const t=l.ref(n.identifyField),i=l.ref(n.displayType),o=l.ref(!1),r=l.ref(n.dataSource),a=l.ref(n.textField),s=l.ref(n.selections||[]),c=l.computed(()=>s.value.map(N=>N[t.value])),m=new Map,u=l.ref(),d=l.ref(),f=l.ref();let g;function p(){const N=new Map,I=n.selectionValues||[];I.length&&I.reduce((x,G)=>(x.set(G,!0),x),N);const _=n.selections||[];_.length&&(N.clear(),_.reduce((x,G)=>(x.set(G[t.value],!0),x),N)),s.value.length||(s.value=r.value.filter(x=>N.has(x[t.value])).map(x=>Object.assign({},x))),r.value.forEach(x=>{const G=x[t.value],k=N.has(G);x.checked=k,k&&m.set(G,x)})}p(),l.watch(()=>n.selections,N=>{s.value=N,p()});const y=l.computed(()=>i.value==="List"),T=l.computed(()=>i.value==="Tree");function S(N){const I=ze.cloneDeep(s.value);s.value=N.map(_=>Object.assign({},_)),e.emit("change",s.value,I)}function C(N){e.emit("selectItem",N)}function F(N){e.emit("unSelectItem",N)}function V(){return l.createVNode(Yt,{class:"f-utils-fill",data:r.value,multiSelect:!0,itemClass:"f-transfer-list-item",textField:a.value,selection:{enableSelectRow:!0,multiSelect:!0,multiSelectMode:"OnCheckAndClick",showCheckbox:!0,showSelectAll:!1,showSelection:!0},draggable:!1,header:"Search",headerClass:"transfer-search-box",selectionValues:c.value,onSelectionUpdate:S},null)}function v(){return l.createVNode(vn,{ref:f,data:r.value,columns:n.columns,virtualized:n.virtualized,rowOption:n.rowOption,textField:a.value,selection:{enableSelectRow:!0,multiSelect:!0,multiSelectMode:"OnCheckAndClick",showCheckbox:!0,showSelectAll:!1,showSelection:!0},selectionValues:c.value,onSelectionUpdate:S,onSelectItem:C,onUnSelectItem:F},null)}function w(){return l.createVNode("div",{class:"f-utils-fill option-pane d-flex flex-column"},[l.createVNode("div",{class:"f-utils-flex-column option-pane-content f-utils-fill"},[l.createVNode("div",{class:"container columns-box d-flex f-utils-fill"},[y.value&&V(),T.value&&v()])])])}function h(N){const I=N[t.value];if(I!==null||I!==void 0){s.value=s.value.filter(x=>x[t.value]!==I);const _=m.get(I);_&&(_.checked=!1,m.delete(I)),e.emit("change",s.value),e.emit("removeItem",N)}}l.watch(s,N=>{u.value.updateDataSource(ze.cloneDeep(N));const I=g==null?void 0:g[t.value],_=N.find(x=>I===x[t.value]);_?u.value.activeRowById(_[t.value]):(g=null,u.value.activeRowById(""))});function b(N){const I=new Map;s.value.reduce((_,x)=>(_.set(x[t.value],x),_),I),s.value=N.map(_=>I.get(_[t.value])),e.emit("change",s.value)}function M(N){g=N[0],e.emit("activeChange",N)}function B(){var N;return l.createVNode(Yt,{ref:u,columns:n.columns,style:"flex:1",data:s.value,draggable:!0,view:"DraggableView","keep-order":!0,textField:a.value,itemClass:n.selectedItemClass,onChange:b,onRemoveItem:h,onActiveChange:M,checkBeforeRemoveItem:n.checkBeforeRemoveItem},{itemContent:(N=e.slots)!=null&&N.text?I=>{var _;return((_=e.slots)==null?void 0:_.text)&&e.slots.text(I)}:null})}function P(){return l.createVNode("div",{class:"f-utils-fill selection-pane d-flex flex-column"},[l.createVNode("div",{class:"f-utils-flex-column selection-pane-content f-utils-fill"},[l.createVNode("div",{class:"selection-pane-title"},[l.createVNode("span",{class:"selection-title"},[Ae.LocaleService.getLocaleValue("transfer.selectedStart")]),l.createVNode("span",{class:"selection-count"},[s.value&&s.value.length]),l.createVNode("span",{class:"selection-item-title"},[Ae.LocaleService.getLocaleValue("transfer.selectedEnd")])]),l.createVNode("div",{class:"container columns-box f-utils-fill d-flex"},[B()])])])}const E=l.computed(()=>({"f-transfer":!0,row:!0,"f-utils-fill":o.value}));return l.onMounted(()=>{d.value&&d.value.parentElement&&getComputedStyle(d.value.parentElement).display==="flex"&&(o.value=!0)}),()=>l.createVNode("div",{ref:d,class:E.value,style:"height:480px"},[e.slots.children?e.slots.children({selections:s.value}):w(),P()])}}),eo=l.defineComponent({name:"FGridFieldEditor",props:St,emits:["change"],setup(n,e){const t=l.ref(n.viewModelId),i=l.inject("designViewModelUtils"),o=l.inject("useFormSchema"),r=l.inject("schemaService"),a=l.inject("controlCreatorUtils"),s=l.inject("designerContext");let c=n.gridData.columns;const{fieldEditable:m}=n.gridData,u=l.ref(`共 ${(c||[]).length} 项`),d=l.ref([]),f=l.ref([]);let g=[];function p(I,_=!0){if(s.checkCanDeleteControl){const x=g.find(G=>{var k;return((k=G.data)==null?void 0:k.id)===I.id});return s.checkCanDeleteControl(x,_)}return!0}const y={customRowStatus:I=>{const _=I.raw;_.type&&_.type.fields&&_.type.fields.length>0&&(I.disabled=!0),p(_,!1)||(I.disabled=!0)}};function T(){if(d.value=[],!c||c.length===0)return[];const I="[绑定字段不存在,待移除]";c.forEach(_=>{if(_.binding&&_.binding.field){const x=g.find(G=>G.data.id===_.binding.field);x?x.data.$type===X.FormSchemaEntityField$Type.ComplexField?d.value.push(Object.assign({isInValidBinding:!0},x.data,{name:x.data.name+I})):d.value.push(Object.assign({},x.data)):d.value.push({id:_.binding.field,name:_.title+I,label:_.field,bindingField:null,isInValidBinding:!0})}}),u.value=`共 ${d.value.length} 项`}function S(I,_=[]){return I&&I.forEach(x=>{if(_.push(x),x.children&&S(x.children,_),s.appendIdentifyForNewControl){const G=c.find(k=>{var $;return(($=k.binding)==null?void 0:$.field)===x.data.id});(!G||G[s.identifyForNewControl])&&s.appendIdentifyForNewControl(x)}}),_}function C(){if(o.designerMode==="PC_RTC"&&r.rtcAddedTreeNodes.value){const I=r.getTableInfoByViewModelId(t.value);if(I!=null&&I.id){const _=r.rtcAddedTreeNodes.value[I.id];_!=null&&_.length&&(f.value=f.value.concat(_))}}}function F(){f.value=i.getAllFields2TreeByVMId(t.value),C(),g=S(f.value)}function V(I,_,x){if(o.getComponents().find(k=>{let $=o.getControlsInCmpWidthBinding(k.viewModel,I);if($=$.filter(Y=>{var oe;if(Y.id===x)return!1;const Q=_.type==="visible"?Y[_.type]:(oe=Y.editor)==null?void 0:oe[_.type];if(Q&&Q.type==="Expression"&&Q.expressionId===_.id)return!0}),$.length)return!0}))return!0}function v(I){I.map(_=>{var G;const x=c.find(k=>{var $;return(($=k.binding)==null?void 0:$.field)===_});if(x&&o.getExpressions().length){const k=o.getExpressions(),$=k.findIndex(Y=>Y.target===_);$>-1&&((G=k[$].rules)==null||G.map(Y=>{var Q;switch(Y.type){case"visible":case"readonly":case"required":{const oe=Y.type==="visible"?x[Y.type]:(Q=x.editor)==null?void 0:Q[Y.type];oe&&oe.type==="Expression"&&oe.expressionId===Y.id&&(V(_,Y,x.id)||(Y.needDelete=!0));break}default:V(_,Y,x.id)||(Y.needDelete=!0)}}),k[$].rules=k[$].rules.filter(Y=>!Y.needDelete))}})}function w(){const I=i.getDgViewModel(t.value),_=[],x=[],G=d.value;G.forEach($=>{const Y=c==null?void 0:c.find(Q=>{if(Q.binding&&Q.binding.field)return Q.binding.field===$.id});if(Y)_.push(Y);else{const Q=a.setGridFieldProperty(n.gridType,$.data,null,m);I.addField($),_.push(Q)}x.push($.id)});const k=I.fields.filter($=>!x.includes($.id));if(k&&k.length>0){const $=k.map(Y=>Y.id);I.removeField($),v($)}G.length!==d.value.length&&(d.value=G),u.value=`共 ${_.length} 项`,e.emit("change",_)}const h={fitContent:!1,width:900,height:600,title:"列编辑器",draggable:!0,acceptCallback:()=>{w()},rejectCallback:()=>{}};function b(){return n.getLatestGridData?c=n.getLatestGridData().columns:c=n.gridData.columns,F(),T(),Promise.resolve(!0)}function M(I){d.value=[...d.value,I.raw]}function B(I){const _=d.value.findIndex(x=>x.id===I.raw.id);_>-1&&(d.value=[...d.value.slice(0,_),...d.value.slice(_+1)])}function P(I){const _=d.value.findIndex(x=>x.id===I.id);_>-1&&(d.value=[...d.value.slice(0,_),...d.value.slice(_+1)])}function E(I){const _=I[0].__fv_index__,x=d.value.findIndex(k=>k.id===I[0].id),G=d.value.find(k=>k.id===I[0].id);d.value.splice(x,1),d.value.splice(_,0,G)}const N=[{field:"name",title:"",dataType:"string",width:"100%",formatter:(I,_)=>I.data+` [${_.data.bindingField.data}]`},{field:"bindingField",visible:!1,title:"",dataType:"string"}];return l.onMounted(()=>{F()}),()=>l.createVNode(Hi,{"button-behavior":"Modal","modal-options":h,modelValue:u.value,"onUpdate:modelValue":I=>u.value=I,editable:!1,beforeOpen:b},{default:()=>[l.createVNode("div",{class:"f-utils-absolute-all"},[l.createVNode(Ki,{selections:d.value,"data-source":f.value,rowOption:y,class:"mx-2",columns:N,displayType:"Tree",onRemoveItem:P,onSelectItem:M,onUnSelectItem:B,onActiveChange:E,checkBeforeRemoveItem:p},{text:I=>l.createVNode("div",{style:"margin: 10px 0px 10px 14px;"},[I.data.name.data,l.createTextVNode(" ["),I.data.bindingField.data,l.createTextVNode("]")])})])]})}}),to={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid-column.schema.json",title:"data-grid-column",description:"A Farris data-grid-column Component",type:"object",properties:{id:{description:"The unique identifier for a data-grid-column",type:"string",default:""},type:{description:"The type string of data-grid-column component",type:"string",default:"data-grid-column"},binding:{description:"",type:"object",default:{}},allowGrouping:{description:"",type:"boolean",default:!0},colspan:{description:"",type:"number"},dataType:{type:"string"},editor:{description:"",type:"object",default:{}},field:{description:"",type:"string"},filterable:{description:"",type:"boolean",default:!1},fixed:{description:"",type:"string",enum:["left","right"]},align:{description:"",type:"enum",default:"left",enum:["left","center","right"]},halign:{description:"",type:"enum",default:"left",enum:["left","center","right"]},title:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!0},resizable:{description:"",type:"boolean",default:!0},rowspan:{description:"",type:"number"},showTips:{description:"",type:"boolean",default:!0},sort:{description:"",type:"string",default:"none",enum:["asc","desc","none"]},sortable:{description:"",type:"boolean",default:!1},sortOrder:{description:"",type:"number"},tipMode:{description:"",type:"string",enum:["allways","auto"]},valign:{description:"",type:"enum",default:"middle",enum:["top","middle","bottom"]},visible:{description:"",type:"boolean",default:!0},width:{description:"",type:"number",default:120},formatter:{description:"列格式化",type:"object",default:{type:"none",customFormat:"",trueText:"是",falseText:"否",dateFormat:"yyyy-MM-dd"}},columnTemplate:{description:"列模板",type:"string",default:""},summaryType:{description:"合计类型",type:"enum",default:"none"},formatterEnumData:{description:"",type:"array"},multiLanguage:{description:"是否启用多语",type:"boolean"},draggable:{description:"是否允许拖拽",type:"boolean",default:!1},enableGroup:{description:"",type:"boolean",default:!1},onClickLinkCommand:{description:"超链接事件",type:"string",default:""},columnTemplateType:{description:"列模板类型",type:"string"}},required:["id","type"],events:{onClickLinkCommand:"超链接事件"}},no={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid-column.schema.json",title:"tree-grid-column",description:"A Farris data-grid-column Component",type:"object",properties:{id:{description:"The unique identifier for a data-grid-column",type:"string"},type:{description:"The type string of data-grid-column component",type:"string",default:"tree-grid-column"},binding:{description:"",type:"object",default:{}},allowGrouping:{description:"",type:"boolean",default:!0},colspan:{description:"",type:"number"},dataType:{type:"string"},editor:{description:"",type:"object"},field:{description:"",type:"string"},filterable:{description:"",type:"boolean",default:!1},fixed:{description:"",type:"string",enum:["left","right"]},align:{description:"",type:"enum",default:"left",enum:["left","center","right"]},halign:{description:"",type:"enum",default:"left",enum:["left","center","right"]},title:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!0},resizable:{description:"",type:"boolean",default:!0},rowspan:{description:"",type:"number"},showTips:{description:"",type:"boolean",default:!0},sort:{description:"",type:"string",enum:["asc","desc","none"]},sortable:{description:"",type:"boolean",default:!1},sortOrder:{description:"",type:"number"},tipMode:{description:"",type:"string",enum:["allways","auto"]},valign:{description:"",type:"enum",default:"middle",enum:["top","middle","bottom"]},visible:{description:"",type:"boolean",default:!0},width:{description:"",type:"number",default:120},formatter:{description:"列格式化",type:"object",default:{type:"none",customFormat:"",trueText:"是",falseText:"否",dateFormat:"yyyy-MM-dd"}},formatterType:{description:"启用列格式化",type:"string",default:""},columnTemplate:{description:"列模板",type:"string",default:""},summaryType:{description:"合计类型",type:"enum",default:"none"},formatterEnumData:{description:"",type:"array"},draggable:{description:"是否允许拖拽",type:"boolean",default:!1},onClickLinkCommand:{description:"超链接事件",type:"string",default:""},columnTemplateType:{description:"列模板类型",type:"string",default:"default"}},required:["id","type"]},Mt={id:{type:String,default:""},type:{type:String,default:""},allowGrouping:{type:Boolean,default:!0},colspan:{type:Number,default:1},dataType:{type:String,default:""},parentId:{type:String,default:""},editor:{type:Object},field:{type:String,default:""},filterable:{type:Boolean,default:!0},fixed:{type:String,default:""},halign:{type:String,default:"left"},title:{type:String,default:""},readonly:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},rowspan:{type:Boolean,default:!0},showTips:{type:Boolean,default:!0},sort:{type:String,default:"none"},sortable:{type:Boolean,default:!0},sortOrder:{type:Number},tipMode:{type:String,default:"auto"},valign:{type:String,default:"middle"},visible:{type:Boolean,default:!0},width:{type:Number},actualWidth:{type:Number},align:{type:String,default:"left"},left:{type:Number},sorter:{type:Function,default:()=>{}},origianlColSpan:{type:Number},index:{type:Number},commands:{type:Array,default:[]},filter:{type:String,default:""},showSetting:{type:Boolean,default:!0},formatter:{type:Function,default:()=>{}},componentId:{type:String,default:""}},io=Ge.createPropsResolver(Mt,to,zt,Gt),oo=Ge.createPropsResolver(Mt,no,zt,Gt);function lo(n){const{formSchemaUtils:e,formStateMachineUtils:t}=n;function i(c,m=""){return{path:m+c.code,field:c.id,fullPath:c.code}}function o(c,m=""){const u=e.getViewModelById(c);return u?u.states.map(d=>i(d,m)):[]}function r(c){const m=e.getRootViewModelId(),u=o(c);if(c===m)return u;const d=o(m,"root-component.");return[...u,...d]}function a(c){return c.binding&&c.binding.path||c.id||""}function s(){return t&&t.getRenderStates()||[]}return{getVariables:r,getControlName:a,getStateMachines:s}}class Xt{constructor(e){ie(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'"}]);ie(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});ie(this,"getExpressionConverter",(e,t)=>({convertFrom:(i,o,r,a)=>{const s=r.getExpressionRuleValue(e,t||o);return s&&s.value||""},convertTo:(i,o,r,a,s)=>{var c;if(o==="dataPicking"&&(r!=null&&r.target)){const m=`${r.target}_dataPicking`;((c=r.rules)==null?void 0:c.some(d=>d.id===m&&d.value))?i.dictPickingExpressionId=m:delete i.dictPickingExpressionId}a.updateExpression(r)}}));this.formSchemaService=e}getExpressionRule(e,t){const i=this.formSchemaService.getExpressions();if(!i)return"";const o=i.find(a=>a.target===e);if(!o)return"";const r=o.rules.find(a=>a.type===t);return r||""}getContextFormVariables(){const{module:e}=this.formSchemaService.getFormSchema();if(!e.viewmodels||e.viewmodels.length===0)return[];const t=this.formSchemaService.getRootViewModelId(),i=this.formSchemaService.getViewModelById(t);if(!i||!i.states||i.states.length===0)return[];const o=[];return i.states.filter(r=>r.category==="remote").forEach(r=>{o.push({key:r.code,name:r.name,description:r.name,category:r.category})}),o}createTreeNode(e,t,i="label"){return{id:e.id,name:e.name,bindingPath:e[i],parents:t,type:"field"}}buildEntityFieldsTreeData(e=null,t){const i=[];return e==null||e.forEach(o=>{var s;const r=this.createTreeNode(o,t);let a=[];(s=o.type)!=null&&s.fields&&(a=this.buildEntityFieldsTreeData(o.type.fields,[...t,o.label])),i.push({data:r,children:a,expanded:!0})}),i}buildChildEntityTreeData(e=null,t){const i=[];return e==null||e.forEach(o=>{var c,m;const r=this.createTreeNode(o,t);r.type="entity";const a=this.buildEntityFieldsTreeData((c=o.type)==null?void 0:c.fields,[...t,o.label]),s=this.buildChildEntityTreeData((m=o.type)==null?void 0:m.entities,[...t,o.label]);s!=null&&s.length&&(a==null||a.push(...s)),i.push({data:r,children:a||[],expanded:!0})}),i}getEntitiesTreeData(){const e=this.formSchemaService.getSchemaEntities();if(!(e!=null&&e.length))return[];const t=e[0];if(!(t!=null&&t.type))return[];const i=this.buildEntityFieldsTreeData(t.type.fields,[t.code]),o=this.buildChildEntityTreeData(t.type.entities,[t.code]);return o!=null&&o.length&&(i==null||i.push(...o)),{entityCode:t.code,fields:[{data:this.createTreeNode(t,[],"code"),children:i||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(e,t,i){const o=i==="Field"?e.binding.field:e.id,r=this.getExpressionRule(o,t),a=this.getEntitiesAndVariables(),s={message:["validate","required","dataPicking"].includes(t)&&r?r.message:"",...a};return r.messageType!=null&&(s.messageType=r.messageType),s}buildRule(e,t,i,o){const{expression:r,message:a,messageType:s}=t,c={id:`${e}_${i}`,type:i,value:r};return(i==="validate"||i==="dataPicking"||i==="required")&&(c.message=a),i==="dataPicking"&&(c.messageType=s),i==="validate"&&o&&(c.elementId=o),c}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,t,i,o){const r=t==="Field"?e.binding.field:e.id,a=this.buildRule(r,i,o,e.type==="form-group"?e.id:"");let c=this.getExpressionData().find(u=>u.targetType===t&&u.target===r);const m=u=>u.value.trim()==="";if(c){const u=c.rules.find(d=>d.id===a.id);if(u)m(a)?c.rules=c.rules.filter(d=>d.id!==a.id):(Object.assign(u,a),o==="validate"&&e.type==="form-group"&&(u.elementId=e.id));else{if(m(a))return null;c.rules=c.rules||[],c.rules.push(a)}}else{if(m(a))return null;c={target:`${r}`,rules:[a],targetType:t}}return c}getExpressionEditorOptions(e,t,i,o){return i.reduce((r,a)=>{var c,m;const s=t==="Field"?(c=e==null?void 0:e.binding)==null?void 0:c.field:e.id;return r[a]={hide:t==="Field"?!!((m=e==null?void 0:e.binding)!=null&&m.field):!1,description:"",title:this.expressionNames[a],type:"string",$converter:this.getExpressionConverter(s),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[a]}编辑器`,showMessage:a==="validate"||a==="dataPicking"||a==="required",showMessageType:a==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(e,a,t),onSubmitModal:u=>{const d=this.updateExpression(e,t,u,a);if(o){const f=this.buildRule(s,u,a);o(f)}return d}}},r},{})}getExpressionInfo(e,t,i){const o=t==="Field"?e.binding.field:e.id,r=this.getExpressionRule(o,i),a={value:r&&r.value,targetId:o,targetType:t,expressionType:i};return r&&r.message&&(a.message=r.message),a}getExpressionConfig(e,t,i=["compute","dependency","validate"],o){return{description:"表达式",title:"表达式",hide:!e.binding,properties:{...this.getExpressionEditorOptions(e,t,i,o)}}}getExpressionOptions(e,t,i){const o=this.getExpressionInfo(e,t,i);return{dialogTitle:`${this.expressionNames[i]}编辑器`,singleExpand:!1,showMessage:i==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,i,t),expressionInfo:o}}}class Zt{constructor(e,t){ie(this,"componentId");ie(this,"viewModelId");ie(this,"eventsEditorUtils");ie(this,"formSchemaUtils");ie(this,"formMetadataConverter");ie(this,"designViewModelUtils");ie(this,"designViewModelField");ie(this,"controlCreatorUtils");ie(this,"designerHostService");ie(this,"designerContext");ie(this,"schemaService",null);ie(this,"metadataService",null);ie(this,"propertyConfig",{type:"object",categories:{}});var i;this.componentId=e,this.designerHostService=t,this.eventsEditorUtils=t.eventsEditorUtils,this.formSchemaUtils=t.formSchemaUtils,this.formMetadataConverter=t.formMetadataConverter,this.viewModelId=((i=this.formSchemaUtils)==null?void 0:i.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=t.designViewModelUtils,this.controlCreatorUtils=t.controlCreatorUtils,this.metadataService=t.metadataService,this.schemaService=t.schemaService,this.designerContext=t.designerContext}getFormDesignerInstance(){var e,t;return(t=(e=this.designerContext)==null?void 0:e.instances)==null?void 0:t.formDesigner.value}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){var i;const t=e.binding&&e.binding.type==="Form"&&e.binding.field;if(t){if(!this.designViewModelField){const o=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=o.fields.find(r=>r.id===t)}e.updateOn=(i=this.designViewModelField)==null?void 0:i.updateOn}}getBasicPropConfig(e){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",idField:"value",editable:!1,data:[{value:e.type,name:j.DgControl[e.type]&&j.DgControl[e.type].name}]}}}}}getAppearanceConfig(e=null,t={},i){const o={title:"外观",description:"Appearance"},r={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 t)r[a]=Object.assign(r[a]||{},t[a]);return{...o,properties:{...r},setPropertyRelates(a,s){if(a){switch(a&&a.propertyID){case"class":case"style":{j.canvasChanged.value++;break}}i&&i(a,e,s)}}}}getPropertyEditorParams(e,t=[],i="visible",o={},r={},a=""){const{getVariables:s,getControlName:c,getStateMachines:m}=lo(this.designerHostService),u=this.getRealTargetType(e),d=t&&t.length>0?t:["Const","Variable","StateMachine","Expression"],f={type:"property-editor",propertyTypes:d};return d.map(g=>{switch(g){case"Const":Object.assign(f,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},o);break;case"Expression":f.expressionConfig=this.getExpressionOptions(e,u,a||i);break;case"StateMachine":f.stateMachines=m();break;case"Variable":Object.assign(f,{controlName:c(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:s(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:p=>{p.value=s(this.viewModelId)}},r),this.designerContext.designerMode==="PC_RTC"&&(f.newVariablePrefix="ext_"+f.newVariablePrefix);break}}),f}getVisibleProperty(e,t=""){var r;let i=["Const","Variable","StateMachine","Expression"];return t==="gridFieldEditor"?i=["Const","Expression"]:t==="form-group"&&!((r=e.binding)!=null&&r.field)&&(i=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,i,"visible")}}}getBehaviorConfig(e,t="",i={},o){const r={title:"行为",description:""},a=this.getVisibleProperty(e,t);for(const c in i)a[c]=Object.assign(a[c]||{},i[c]);const s=this;return{...r,properties:{...a},setPropertyRelates(c,m){if(c){switch(c.propertyID){case"disabled":case"readonly":case"visible":s.afterMutilEditorChanged(e,c);break}o&&o(c,m)}}}}afterMutilEditorChanged(e,t){this.addNewVariableToViewModel(t,this.viewModelId),this.updateExpressionValue(t),this.clearExpression(t,e)}updateElementByParentContainer(e,t){const i=t&&t.parent&&t.parent.schema;if(!i)return;const o=i.contents.findIndex(a=>a.id===e),r=ze.cloneDeep(i.contents[o]);i.contents.splice(o,1),i.contents.splice(o,0,r),j.refreshCanvas()}addNewVariableToViewModel(e,t){const i=e.propertyValue;if(!(i&&typeof i=="object")||!(i.type==="Variable"&&i.isNewVariable))return;const a={id:i.field,category:"locale",code:i.fullPath,name:i.fullPath,type:i.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete i.newVariableType,delete i.isNewVariable,this.formSchemaUtils.getVariableByCode(a.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(a)}updateExpressionValue(e){const t=e.propertyValue;if(!((t&&t.type)==="Expression"&&t.expressionInfo))return;const{expressionId:r,expressionInfo:a}=t,{targetId:s,targetType:c,expressionType:m,value:u,message:d}=a,f=this.formSchemaUtils.getModule();f.expressions=f.expressions||[];const{expressions:g}=f;let p=g.find(T=>T.target===s);p||(p={target:s,rules:[],targetType:c},g.push(p));const y=p.rules.find(T=>T.type===m);if(y)y.value=u,y.message=d;else{const T={id:r,type:m,value:u,message:d};p.rules.push(T)}delete t.expressionInfo}clearExpression(e,t){const i=e.propertyValue;if(i&&i.type==="Expression")return;const r=e.propertyID,a=this.formSchemaUtils.getExpressions(),s=t.binding?t.binding.field:t.id,c=a.find(m=>m.target===s);!c||!c.rules||(c.rules=c.rules.filter(m=>m.type!==r))}getExpressionOptions(e,t,i){return new Xt(this.formSchemaUtils).getExpressionOptions(e,t,i)}getRealTargetType(e){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(e.type)>-1?"Button":e.binding&&e.binding.field?"Field":"Container"}createBaseEventProperty(e){const t={};return t[this.viewModelId]={type:"events-editor",editor:{initialData:e,viewSourceHandle:i=>{var o;((o=i.controller)==null?void 0:o.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(i)}}},t}}const Jt=[{key:"none",value:"无"},{key:"cellNumber",value:"手机号"},{key:"tel",value:"座机号/传真号"},{key:"telOrCell",value:"手机号/座机号/传真号"},{key:"postCode",value:"邮编"},{key:"email",value:"电子邮箱"},{key:"idCode",value:"身份证号"},{key:"carCode",value:"车牌号"},{key:"subjectCode",value:"10位数字会计科目代码"},{key:"custom",value:"自定义"}];function ro(n){switch(n){case"none":return"";case"cellNumber":return"^1[0-9]{10}$";case"tel":return"^(0[0-9]{2,3}\\-)?([2-9][0-9]{6,7})+(\\-[0-9]{1,4})?$";case"telOrCell":return"^(0[0-9]{2,3}\\-)?([2-9][0-9]{6,7})+(\\-[0-9]{1,4})?$|^1[0-9]{10}$";case"postCode":return"^[1-9]\\d{5}(?!\\d)$";case"workCode":return"^\\d{8}$";case"email":return"^[A-Za-z\\d]+([-_.][A-Za-z\\d]+)*@([A-Za-z\\d]+[-.])+[A-Za-z]{2,5}$";case"idCode":return"^[1-9]\\d{5}[1-9]\\d{3}((0[1-9])|(1[0-2]))(0[1-9]|([1|2][0-9])|3[0-1])((\\d{4})|\\d{3}X)$";case"carCode":return"^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z][·\\s]?[A-HJ-NP-Z0-9]{4,5}[挂学警港澳]?|粤[Z港澳][·\\s]?[港澳][0-9A-HJ-NP-Z]{4}|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼][A-Z][·\\s]?([DF][0-9A-HJ-NP-Z][0-9]{4}|[0-9]{5}[DF])[挂港澳]?|[使领][0-9]{3}[·\\s]?[0-9]{3}|临[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼][A-Z][·\\s]?[0-9A-Z]{4,5}|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼][A-Z]?[·\\s]?警[0-9A-Z]{4}|[军海空][A-Z][·\\s]?[0-9]{4,5}|WJ(?:[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼]|\\d{2})[·\\s]?[0-9A-Z]{4,5})$";case"carCodeNew":return"^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF])|([DF][A-HJ-NP-Z0-9][0-9]{4}))$";case"subjectCode":return"^\\d{10}$"}return""}function ao(n){var e;return"请输入正确的"+((e=Jt.find(t=>t.key===n))==null?void 0:e.value)}const so={convertTo:(n,e,t,i)=>{n.editor.formatValidation||(n.editor.formatValidation={type:"none"}),n.editor.formatValidation.type=t,n.editor.formatValidation.expression=ro(t),n.editor.formatValidation.message=ao(t)},convertFrom:(n,e,t)=>n.editor.formatValidation?e==="type"?n.editor.formatValidation[e]||"none":n.editor.formatValidation[e]:"none"},Qt={convertTo:(n,e,t,i)=>{n.editor.formatValidation||(n.editor.formatValidation={type:"none"}),n.editor.formatValidation[e]=t},convertFrom:(n,e,t)=>n.editor.formatValidation?n.editor.formatValidation[e]:n.editor[e]};class co extends Le.InputBaseProperty{constructor(e,t){super(e,t)}getPropertyConfig(e,t){return super.getPropertyConfig(e,t),this.propertyConfig.categories.formatValidation=this.getFormatValidation(e),this.propertyConfig}getEditorProperties(e){var i,o;let t;if(((i=e==null?void 0:e.binding)==null?void 0:i.type)==="Form"){const r=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(o=r==null?void 0:r.schemaField)!=null&&o.type&&(t=r.schemaField.type.length)}return this.getComponentConfig(e,{},{maxLength:{description:"文本字数最大长度",title:"最大长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,max:t,needValid:!0}},showType:{description:"指定是文本框还是密码框",title:"展示类型",type:"enum",editor:{type:"combo-list",data:[{id:"text",name:"文本框"},{id:"password",name:"密码框"}]},refreshPanelAfterChanged:!0,defaultValue:"text"},enableViewPassword:{description:"",title:"能否查看密码",visible:e.editor.showType==="password",type:"boolean"}})}getGridFieldEdtiorProperties(e){var i,o;let t;if(((i=e==null?void 0:e.binding)==null?void 0:i.type)==="Form"){const r=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(o=r==null?void 0:r.schemaField)!=null&&o.type&&(t=r.schemaField.type.length)}return this.getComponentConfig(e,{},{maxLength:{description:"文本字数最大长度",title:"最大长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,max:t}},showType:{description:"指定是文本框还是密码框",title:"展示类型",type:"enum",editor:{type:"combo-list",data:[{id:"text",name:"文本框"},{id:"password",name:"密码框"}]},refreshPanelAfterChanged:!0,defaultValue:"text"},enableViewPassword:{description:"",title:"能否查看密码",visible:e.editor.showType==="password",type:"boolean"}})}getFormatValidation(e){var i,o,r,a;const t={title:"输入格式校验",description:"输入校验",hide:!((i=e.binding)!=null&&i.field),properties:{type:{title:"格式类型",type:"enum",description:"格式类型",defaultValue:"",editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",editable:!1,data:Jt},refreshPanelAfterChanged:!0,$converter:so,parentPropertyID:"formatValidation"}}};return(o=e.editor.formatValidation)!=null&&o.type&&((r=e.editor.formatValidation)==null?void 0:r.type)!=="none"&&(t.properties.message={title:"输入错误提示",type:"string",description:"输入错误提示",$converter:Qt,parentPropertyID:"formatValidation"}),((a=e.editor.formatValidation)==null?void 0:a.type)==="custom"&&(t.properties.expression={title:"匹配正则",type:"string",description:"匹配正则",$converter:Qt,parentPropertyID:"formatValidation"}),t}}const ot=class ot{static getEditorTypesByMDataType(e,t=!1,i=""){if(t)return[{key:j.DgControl["language-textbox"].type,value:j.DgControl["language-textbox"].name}];let o=ot.fieldControlTypeMapping[e];if(i==="data-grid-column"&&(o!=null&&o.length)){const r=[j.DgControl["check-group"].type,j.DgControl["radio-group"].type,j.DgControl.image.type,j.DgControl["rich-text-editor"].type];o=o.filter(a=>!r.includes(a.key))}return o}static getAllInputTypes(){const e=[];for(const t in ot.fieldControlTypeMapping)ot.fieldControlTypeMapping[t].forEach(i=>{e.find(o=>o.key===i.key&&o.value===i.value)||e.push({key:i.key,value:i.value})});return e}static mappingDomPropAndSchemaProp(e,t){var r;const i=(r=e.editor)==null?void 0:r.type,o=[];return(e.type===j.DgControl["data-grid-column"].type||e.type===j.DgControl["tree-grid-column"].type)&&t&&t.categoryId&&t.categoryId.indexOf("gridFieldEditor")<0&&o.push({domField:"title",schemaField:"name"}),o.push({domField:"label",schemaField:"name"}),o.push({domField:"editor.required",schemaField:"require"}),o.push({domField:"editor.readonly",schemaField:"readonly"}),(i===j.DgControl["input-group"].type||i===j.DgControl.textarea.type||i===j.DgControl["number-spinner"].type)&&o.push({domField:"editor.maxLength",schemaField:"type.length"}),i===j.DgControl["number-spinner"].type&&o.push({domField:"editor.precision",schemaField:"type.precision"}),(e.type===j.DgControl["data-grid-column"].type||e.type===j.DgControl["tree-grid-column"].type)&&o.push({domField:"formatter.precision",schemaField:"type.precision"}),(i===j.DgControl["combo-list"].type||i===j.DgControl["radio-group"].type)&&o.push({domField:"editor.data",schemaField:"type.enumValues"}),(e.type===j.DgControl["data-grid-column"].type||e.type===j.DgControl["tree-grid-column"].type)&&o.push({domField:"formatter.data",schemaField:"type.enumValues"}),i===j.DgControl["date-picker"].type&&(o.push({domField:"editor.displayFormat",schemaField:"editor.format"}),o.push({domField:"editor.fieldType",schemaField:"type.name"})),i===j.DgControl["number-spinner"].type&&(o.push({domField:"editor.max",schemaField:"editor.maxValue"}),o.push({domField:"editor.min",schemaField:"editor.minValue"})),i===j.DgControl.lookup.type&&(o.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),o.push({domField:"editor.valueField",schemaField:"editor.valueField"}),o.push({domField:"editor.textField",schemaField:"editor.textField"}),o.push({domField:"editor.displayType",schemaField:"editor.displayType"}),o.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),o.push({domField:"editor.helpId",schemaField:"editor.helpId"})),o.push({domField:"path",schemaField:"bindingPath"}),o.push({domField:"binding.path",schemaField:"bindingField"}),o.push({domField:"binding.fullPath",schemaField:"path"}),(e.type===j.DgControl["data-grid-column"].type||e.type===j.DgControl["tree-grid-column"].type)&&o.push({domField:"field",schemaField:"bindingPath"}),o}};ie(ot,"fieldControlTypeMapping",{String:[{key:j.DgControl["input-group"].type,value:j.DgControl["input-group"].name},{key:j.DgControl.lookup.type,value:j.DgControl.lookup.name},{key:j.DgControl.image.type,value:j.DgControl.image.name},{key:j.DgControl["date-picker"].type,value:j.DgControl["date-picker"].name},{key:j.DgControl.switch.type,value:j.DgControl.switch.name},{key:j.DgControl["check-box"].type,value:j.DgControl["check-box"].name},{key:j.DgControl["check-group"].type,value:j.DgControl["check-group"].name},{key:j.DgControl["radio-group"].type,value:j.DgControl["radio-group"].name},{key:j.DgControl["combo-list"].type,value:j.DgControl["combo-list"].name},{key:j.DgControl.textarea.type,value:j.DgControl.textarea.name},{key:j.DgControl["time-picker"].type,value:j.DgControl["time-picker"].name}],Text:[{key:j.DgControl.textarea.type,value:j.DgControl.textarea.name},{key:j.DgControl.lookup.type,value:j.DgControl.lookup.name},{key:j.DgControl.image.type,value:j.DgControl.image.name},{key:j.DgControl["rich-text-editor"].type,value:j.DgControl["rich-text-editor"].name}],Decimal:[{key:j.DgControl["number-spinner"].type,value:j.DgControl["number-spinner"].name}],Integer:[{key:j.DgControl["number-spinner"].type,value:j.DgControl["number-spinner"].name}],Number:[{key:j.DgControl["number-spinner"].type,value:j.DgControl["number-spinner"].name},{key:j.DgControl.switch.type,value:j.DgControl.switch.name},{key:j.DgControl["check-box"].type,value:j.DgControl["check-box"].name}],BigNumber:[{key:j.DgControl["number-spinner"].type,value:j.DgControl["number-spinner"].name}],Date:[{key:j.DgControl["date-picker"].type,value:j.DgControl["date-picker"].name}],DateTime:[{key:j.DgControl["date-picker"].type,value:j.DgControl["date-picker"].name}],Boolean:[{key:j.DgControl.switch.type,value:j.DgControl.switch.name},{key:j.DgControl["check-box"].type,value:j.DgControl["check-box"].name}],Enum:[{key:j.DgControl["combo-list"].type,value:j.DgControl["combo-list"].name},{key:j.DgControl["radio-group"].type,value:j.DgControl["radio-group"].name}],Object:[{key:j.DgControl.lookup.type,value:j.DgControl.lookup.name},{key:j.DgControl["combo-list"].type,value:j.DgControl["combo-list"].name},{key:j.DgControl["radio-group"].type,value:j.DgControl["radio-group"].name}]});let rt=ot;var it=(n=>(n.Form="Form",n.Variable="Variable",n))(it||{});class uo{constructor(){ie(this,"label","");ie(this,"id","");ie(this,"columnInSM",12);ie(this,"columnInMD",6);ie(this,"columnInLG",3);ie(this,"columnInEL",2);ie(this,"displayWidthInSM",1);ie(this,"displayWidthInMD",1);ie(this,"displayWidthInLG",1);ie(this,"displayWidthInEL",1);ie(this,"displayColumnCountAtBreakPoint","md");ie(this,"tagRow",0);ie(this,"showTopBorder",0);ie(this,"group",1);ie(this,"isSupportedClass",!0);ie(this,"fieldSetId","")}}function fo(n){let e,t;const i=new Map;let o=[];function r(u,d){const g=u.split(" ").filter(C=>C.startsWith("col-"));if(g.length===0){d.isSupportedClass=!1;return}let p=g.find(C=>/^col-([1-9]|10|11|12)$/.test(C)),y=g.find(C=>/^col-md-([1-9]|10|11|12)$/.test(C)),T=g.find(C=>/^col-xl-([1-9]|10|11|12)$/.test(C)),S=g.find(C=>/^col-el-([1-9]|10|11|12)$/.test(C));p=p||"col-12",d.columnInSM=parseInt(p.replace("col-",""),10),d.displayWidthInSM=d.columnInSM/12,d.displayWidthInSM!==1&&(d.isSupportedClass=!1),y=y||"col-md-"+d.columnInSM,d.columnInMD=parseInt(y.replace("col-md-",""),10),d.displayWidthInMD=d.columnInMD/6,[1,2].includes(d.displayWidthInMD)||(d.isSupportedClass=!1),T=T||"col-xl-"+d.columnInMD,d.columnInLG=parseInt(T.replace("col-xl-",""),10),d.displayWidthInLG=d.columnInLG/3,[1,2,3,4].includes(d.displayWidthInLG)||(d.isSupportedClass=!1),S=S||"col-el-"+d.columnInLG,d.columnInEL=parseInt(S.replace("col-el-",""),10),d.displayWidthInEL=d.columnInEL/2,[1,2,3,4,5,6].includes(d.displayWidthInEL)||(d.isSupportedClass=!1)}function a(u,d,f,g=!1){let p=!1;u.contents.forEach(y=>{if(y.type==="fieldset"){f+=1,a(y,d,f,!0),p=!0;return}p&&(f+=1,p=!1);const T=y.appearance&&y.appearance.class,S=new uo;T?r(T,S):S.isSupportedClass=!1,S.label=y.label||y.id,S.id=y.id,S.group=f,g&&(S.fieldSetId=u.id),t===y.id&&(e=f),i.set(y.id,y),d.push(S)})}function s(u){const d=n.getComponentById(u);if(!d||!d.componentType||!d.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const f=n.selectNode(d,g=>g.type===j.DgControl["response-form"].type);return!f||!f.contents||f.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:f}}function c(u,d){d=d||u.id;const{result:f,message:g,formNode:p}=s(d);if(!f)return{result:f,message:g};t=u.id,o=[],i.clear();const y=p.contents[0].type===j.DgControl.fieldset.type?0:1;a(p,o,y);const T=o.find(C=>!C.isSupportedClass);return{defaultState:{defaultGroupNumber:e||1,model:T?"customize":"standard"},importData:o}}function m(u,d){d=d;const{result:f,formNode:g}=s(d);if(!f)return"";const p=[];return u.forEach(y=>{var C;const T=i.get(y.id),S=T.appearance&&T.appearance.class;if(S){const V=S.split(" ").filter(B=>!B.startsWith("col-")),v="col-"+y.columnInSM,w="col-md-"+y.columnInMD,h="col-xl-"+y.columnInLG,b="col-el-"+y.columnInEL,M=[v,w,h,b].concat(V);T.appearance.class=M.join(" ")}if(y.fieldSetId){const F=g.contents.find(v=>v.id===y.fieldSetId),V=p.find(v=>v.id===y.fieldSetId);V?(C=V.contents)==null||C.push(T):(p.push(F),F.contents=[T])}else p.push(T)}),g.contents=p,g.id}return{checkCanFindFormNode:s,checkCanOpenLayoutEditor:c,changeFormControlsByResponseLayoutConfig:m,getResonseFormLayoutConfig:a}}class ht extends Zt{constructor(t,i){super(t,i);ie(this,"responseLayoutEditorFunction");ie(this,"bindingVarible");ie(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});this.responseLayoutEditorFunction=fo(this.formSchemaUtils)}getCommonPropertyConfig(t,i,o="Card"){this.propertyConfig.categories.basic=this.getBasicProperties(t,i,o),this.propertyConfig.categories.appearance=this.getAppearanceProperties(t,i),this.propertyConfig.categories.behavior=this.getBehaviorConfig(t,"form-group")}getPropertyConfig(t,i){return this.getCommonPropertyConfig(t,i,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(t),this.propertyConfig.categories.expressions=this.getExpressionConfig(t,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(t),this.propertyConfig}getGridFieldEdtiorPropConfig(t,i){return this.propertyConfig.categories={},this.getCommonPropertyConfig(t,i,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(t):this.propertyConfig.categories.editor=this.getEditorProperties(t),this.propertyConfig.categories.expressons=this.getExpressionConfig(t,"Field"),this.propertyConfig.categories}getBasicProperties(t,i,o="Card"){var m;const r=this;this.setDesignViewModelField(t);const{canChangeControlType:a,editorTypeList:s}=this.getAvailableEditorType(t),c={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:s,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:((m=t.editor)==null?void 0:m.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:t,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!t.isRtcControl}},setPropertyRelates(u,d,f){if(u)switch(u&&u.propertyID){case"type":{r.changeControlType(t,u,i);break}case"label":{u.needRefreshControlTree=!0;break}case"binding":{r.changeBindingField(t,u,f);break}}}};return o.toLocaleLowerCase()!=="card"&&delete c.properties.showLabelType,c}checkCanChangeControlType(t,i){if(!t.binding)return!1;if(t.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(t.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==X.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(t){var r;const i=this.checkCanChangeControlType(t,this.viewModelId);if(!i)return{canChangeControlType:!1,editorTypeList:[{key:t.editor.type,value:((r=j.DgControl[t.editor.type])==null?void 0:r.name)||t.editor.type}]};let o=[];return this.designViewModelField&&this.designViewModelField.$type===X.FormSchemaEntityField$Type.SimpleField?o=rt.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(o=rt.getEditorTypesByMDataType(this.bindingVarible.type,this.designViewModelField.multiLanguage)),{canChangeControlType:i,editorTypeList:o}}changeBindingField(t,i,o){i.needRefreshEntityTree=!0}getAppearanceProperties(t,i){const o=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:()=>o.responseLayoutEditorFunction.checkCanOpenLayoutEditor(t,o.componentId)}}},setPropertyRelates(r,a){if(r)switch(r&&r.propertyID){case"responseLayout":o.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(r.propertyValue,o.componentId||t.id),o.updateUnifiedLayoutAfterResponseLayoutChanged(o.componentId),o.updateElementByParentContainer(t.id,i),delete t.responseLayout;break;case"class":o.updateUnifiedLayoutAfterControlChanged(r.propertyValue,t.id,this.componentId),j.canvasChanged.value++;break;case"style":{j.canvasChanged.value++;break}}}}}getEditorProperties(t){return this.getComponentConfig(t)}changeControlType(t,i,o){const r=i.propertyValue,a=o&&o.parent&&o.parent.schema;if(!a)return;const s=a.contents.findIndex(u=>u.id===t.id);if(s===-1)return;const c=a.contents[s];let m;if(this.designViewModelField){const f=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(p=>p.id===this.designViewModelField.id).fieldSchema||{};f.editor||(f.editor={}),f.editor.$type=r,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,f,!1),m=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,r)}m||(m=this.controlCreatorUtils.createFormGroupWithoutField(r)),Object.assign(m,{id:c.id,appearance:c.appearance,size:c.size,label:c.label,binding:c.binding}),Object.prototype.hasOwnProperty.call(c,"visible")&&Object.assign(m,{visible:c.visible}),c.editor&&["readonly","required","placeholder"].map(u=>{Object.prototype.hasOwnProperty.call(c.editor,u)&&(m.editor[u]=c.editor[u])}),o!=null&&o.updateContextSchema?o.updateContextSchema(m):(o.schema=Object.assign(c,m),Object.assign(t,m)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(u=>u.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(u=>u.classList.remove("dgComponentFocused")),j.canvasChanged.value++,l.nextTick(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}getComponentConfig(t,i={},o={},r){var f,g;const a=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},i),s=(f=t.binding)!=null&&f.field?[]:["Const","Variable","StateMachine"],c=this.getPropertyEditorParams(t,s,"readonly"),m=this.getPropertyEditorParams(t,s,"required"),u={readonly:{description:"",title:"只读",editor:c},required:{description:"",title:"必填",type:"boolean",editor:m,visible:!!((g=t.binding)!=null&&g.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const p in o)u[p]=Object.assign(u[p]||{},o[p]);const d=this;return{...a,properties:{...u},setPropertyRelates(p,y){if(p){switch(p.propertyID){case"readonly":case"required":d.afterMutilEditorChanged(t,p);break}r&&r.bind(d)(p,t,y)}}}}updateUnifiedLayoutAfterControlChanged(t,i,o){const r=t.split(" ");let a=r.find(d=>/^col-([1-9]|10|11|12)$/.test(d)),s=r.find(d=>/^col-md-([1-9]|10|11|12)$/.test(d)),c=r.find(d=>/^col-xl-([1-9]|10|11|12)$/.test(d)),m=r.find(d=>/^col-el-([1-9]|10|11|12)$/.test(d));a=a||"col-12",s=s||"col-md-"+a.replace("col-",""),c=c||"col-xl-"+s.replace("col-md-",""),m=m||"col-el-"+c.replace("col-xl-","");const u={id:i,columnInSM:parseInt(a.replace("col-",""),10),columnInMD:parseInt(s.replace("col-md-",""),10),columnInLG:parseInt(c.replace("col-xl-",""),10),columnInEL:parseInt(m.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(o,u)}updateUnifiedLayoutAfterResponseLayoutChanged(t,i){const{formNode:o}=this.responseLayoutEditorFunction.checkCanFindFormNode(t);if(!o||!o.unifiedLayout)return;const r=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(o,r,1),i){const p=r.find(y=>y.id===i.id);Object.assign(p||{},i)}const a=r.map(p=>p.columnInSM),s=r.map(p=>p.columnInMD),c=r.map(p=>p.columnInLG),m=r.map(p=>p.columnInEL),u=this.checkIsUniqueColumn(a)?a[0]:null,d=this.checkIsUniqueColumn(s)?s[0]:null,f=this.checkIsUniqueColumn(c)?c[0]:null,g=this.checkIsUniqueColumn(m)?m[0]:null;Object.assign(o.unifiedLayout,{uniqueColClassInSM:u,uniqueColClassInMD:d,uniqueColClassInLG:f,uniqueColClassInEL:g})}checkIsUniqueColumn(t){const i=new Set(t);return Array.from(i).length===1}getItemCollectionEditor(t,i,o){return i=i||"value",o=o||"name",{editor:{columns:[{field:i,title:"值",dataType:"string"},{field:o,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:i,nameField:o,requiredFields:[i,o],uniqueFields:[i,o],readonly:this.checkEnumDataReadonly(t)}}}checkEnumDataReadonly(t){return!t.binding||t.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===X.FormSchemaEntityFieldType$Type.EnumType)}appendFieldValueChangeEvents(t,i){t.binding&&t.binding.type===it.Form&&t.binding.field?(i.find(o=>o.label==="fieldValueChanging"),i.find(o=>o.label==="fieldValueChanged"),this.designViewModelField&&(t.fieldValueChanging=this.designViewModelField.valueChanging,t.fieldValueChanged=this.designViewModelField.valueChanged)):i=i.filter(o=>o.label!=="fieldValueChanging"&&o.label!=="fieldValueChanged")}getControlMethodType(t){if(!t.binding)return t.type;switch(t.binding.type){case it.Form:return t.binding.path||t.type;case it.Variable:return t.binding.fullPath||t.type}return t.type}getEventPropertyConfig(t,i="card",o,r){const a=this;let s=[];if(o&&(s=s.concat(o)),s.length===0)return{title:"事件",hideTitle:!0,properties:{},tabId:"commands",tabName:"交互",hide:!0};this.appendFieldValueChangeEvents(t,s);const c=a.eventsEditorUtils.formProperties(t,a.viewModelId,s);return{title:"事件",hideTitle:!0,properties:a.createBaseEventProperty(c),tabId:"commands",tabName:"交互",setPropertyRelates(d,f){const g=d.propertyValue;delete t[a.viewModelId],g&&(g.setPropertyRelates=this.setPropertyRelates,g.controlInfo={type:a.getControlMethodType(t),name:t.title},a.eventsEditorUtils.saveRelatedParameters(t,a.viewModelId,g.events,g)),r&&r(d,f,g);const p=a.designViewModelUtils.getDgViewModel(a.viewModelId);p&&a.designViewModelField&&p.changeField(a.designViewModelField.id,{valueChanging:t.fieldValueChanging,valueChanged:t.fieldValueChanged})}}}getExpressionConfig(t,i,o=["compute","dependency","validate"],r){return new Xt(this.formSchemaUtils).getExpressionConfig(t,i,o,r)}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(t,i,o){var r;t.editor[i]!==o?t.editor[i]=o:(r=this.getFormDesignerInstance())==null||r.reloadPropertyPanel()}setBooleanValue(t,i,o){let r=o;this.getBindingDataType()==="string"&&(r=(r||"").trim()||(i==="trueValue"?"true":"false"));const s=i==="trueValue"?"falseValue":"trueValue";t.editor[s]===r&&(r=r+1),this.updatePropertyValue(t,i,r)}getBooleanValueConverter(){return{convertFrom:(t,i)=>t.editor[i],convertTo:(t,i,o)=>{this.setBooleanValue(t,i,o)}}}}class mo extends ht{constructor(e,t){super(e,t)}getEditorProperties(e){return{description:"编辑器",title:"编辑器",type:"avatar",$converter:"/converter/property-editor.converter",parentPropertyID:"editor",properties:{readonly:{description:"",title:"只读",type:"boolean"},avatarWidth:{description:"",title:"头像宽度",type:"number"},avatarHeight:{description:"",title:"头像高度",type:"number"},cover:{description:"",title:"封面",type:"string"}}}}}class po extends Le.InputBaseProperty{constructor(e,t){super(e,t)}getEditorProperties(e){const t=this;return t.getComponentConfig(e,{type:"check-group"},{placeholder:{visible:!1},disabled:{visible:!1},direction:{description:"",title:"排列方向",type:"enum",editor:{data:[{id:"horizontal",name:"横向"},{id:"vertical",name:"纵向"}]}},dataSourceType:{description:"",title:"数据源类型",type:"enum",visible:!1,editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!e.editor.dataSourceType||e.editor.dataSourceType==="static",...t.getItemCollectionEditor(e,e.editor.valueField,e.editor.textField),refreshPanelAfterChanged:!0},bindDataSource:{description:"",title:"绑定数据源",type:"string",visible:e.editor.dataSourceType==="dynamic"},textField:{description:"",title:"文本字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"值字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"}},(o,r)=>{if(o)switch(o.propertyID){case"dataSourceType":{o.propertyValue==="static"&&(e.editor.valueField="value",e.editor.textField="name");break}case"data":{e.formatter&&(e.formatter.data=[...o.propertyValue]);break}}})}}class ho extends Le.InputBaseProperty{constructor(e,t){super(e,t)}getEditorProperties(e){var t,i;return this.getComponentConfig(e,{type:"check-box"},{placeholder:{visible:!1},disabled:{visible:!1},label:{description:"",title:"名称",type:"string"},trueValue:{description:"选中的值",title:"选中的值",type:this.getBindingDataType(),visible:this.designViewModelField!=null&&((t=this.designViewModelField)==null?void 0:t.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()},falseValue:{description:"未选中的值",title:"未选中的值",type:this.getBindingDataType(),visible:this.designViewModelField!=null&&((i=this.designViewModelField)==null?void 0:i.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()}})}changeBindingField(e,t,i){var r;super.changeBindingField(e,t);const o=i;if(e.editor&&((r=o==null?void 0:o.type)!=null&&r.name)){let a,s;o.type.name===X.FormSchemaEntityFieldTypeName.String&&(a="true",s="false"),o.type.name===X.FormSchemaEntityFieldTypeName.Number&&(a=1,s=0),!Object.prototype.hasOwnProperty.call(e.editor,"trueValue")&&a!==void 0&&(e.editor.trueValue=a),!Object.prototype.hasOwnProperty.call(e.editor,"falseValue")&&s!==void 0&&(e.editor.falseValue=s)}}}const Kt={convertFrom:(n,e)=>(n.editor.remote||{})[e],convertTo:(n,e,t)=>{n.editor.remote=n.editor.remote||{},n.editor.remote[e]=t}};class go extends Le.InputBaseProperty{constructor(e,t){super(e,t)}getCommonEditorProperties(e){var t,i,o;return{viewType:{visible:!!((t=e.editor)!=null&&t.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((i=e.editor)!=null&&i.multiSelect)&&((o=e.editor)==null?void 0:o.viewType)==="text",description:"下拉列表启用多选且数据展示类型为文本时的分隔符",title:"分隔符",type:"enum",editor:{data:[{id:",",name:"逗号(,)"},{id:"#",name:"井号(#)"},{id:".",name:"句号(.)"},{id:"|",name:"竖线(|)"}]}},editable:{description:"",title:"允许编辑",type:"boolean",refreshPanelAfterChanged:!0,readonly:!0}}}getEditorProperties(e){var r,a;const t=this;let i="";if(((r=e==null?void 0:e.binding)==null?void 0:r.type)==="Form"){const s=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(a=s==null?void 0:s.schemaField)!=null&&a.type&&(i=s.schemaField.type.$type)}return t.getComponentConfig(e,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!e.editor.dataSourceType||e.editor.dataSourceType==="static",...t.getItemCollectionEditor(e,e.editor.valueField,e.editor.textField),refreshPanelAfterChanged:!0},url:{visible:e.editor.dataSourceType==="dynamic",$converter:Kt,description:"",title:"服务端API",type:"string"},body:{visible:!1,$converter:Kt,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!i||i==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(e)},(s,c)=>{if(!s||!c.editor)return;const m=this;switch(s.propertyID){case"dataSourceType":{s.propertyValue==="static"?(c.editor.valueField="value",c.editor.textField="name",c.editor.remote=null):s.propertyValue==="dynamic"&&(c.editor.remote={method:"GET"},c.editor.valueField="value",c.editor.textField="name");break}case"data":{!m.checkEnumDataReadonly(c)&&c.formatter&&(c.formatter.data=[...s.propertyValue]);break}case"viewType":s.propertyValue==="tag"&&(c.editor.editable=!1)}})}getGridFieldEdtiorProperties(e,t){var a,s,c,m,u,d;const i=this;let o="";if(((a=e==null?void 0:e.binding)==null?void 0:a.type)==="Form"){const f=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(s=f==null?void 0:f.schemaField)!=null&&s.type&&(o=f.schemaField.type.$type)}return i.getComponentConfig(e,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},data:{description:"",title:"数据",type:"array",visible:!((c=e.editor)!=null&&c.dataSourceType)||((m=e.editor)==null?void 0:m.dataSourceType)==="static",...i.getItemCollectionEditor(e,(u=e.editor)==null?void 0:u.valueField,(d=e.editor)==null?void 0:d.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:o==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(e)},(f,g)=>{if(!f||!g.editor)return;const p=this;switch(f.propertyID){case"dataSourceType":{f.propertyValue==="static"?(g.editor.valueField="value",g.editor.textField="name",g.editor.remote=null):f.propertyValue==="dynamic"&&(g.editor.remote={method:"GET"},g.editor.valueField="value",g.editor.textField="name");break}case"data":{!p.checkEnumDataReadonly(g)&&g.formatter&&(g.formatter.data=[...f.propertyValue]);break}}})}setEditorPropertyRelates(e,t,i){if(!e||!t.editor)return;const o=this;switch(e.propertyID){case"dataSourceType":{e.propertyValue==="static"&&(t.editor.valueField="value",t.editor.textField="name",t.editor.remote={});break}case"data":{!o.checkEnumDataReadonly(t)&&t.formatter&&(t.formatter.data=[...e.propertyValue]);break}}}changeBindingField(e,t,i){var r;super.changeBindingField(e,t);const o=i;e.editor&&((r=o==null?void 0:o.type)==null?void 0:r.$type)===X.FormSchemaEntityFieldType$Type.EnumType&&(e.editor.data=o.type.enumValues||[])}getEventPropertyConfig(e,t="card",i,o){const r=this;let a=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"下拉面板前事件"}];i&&(a=a.concat(i)),this.appendFieldValueChangeEvents(e,a);const s=r.eventsEditorUtils.formProperties(e,r.viewModelId,a);return{title:"事件",hideTitle:!0,properties:r.createBaseEventProperty(s),tabId:"commands",tabName:"交互",setPropertyRelates(u,d){const f=u.propertyValue;delete e[r.viewModelId],f&&(f.setPropertyRelates=this.setPropertyRelates,r.eventsEditorUtils.saveRelatedParameters(e,r.viewModelId,f.events,f)),o&&o(u,d,f);const g=r.designViewModelUtils.getDgViewModel(r.viewModelId);g&&r.designViewModelField&&g.changeField(r.designViewModelField.id,{valueChanging:e.fieldValueChanging,valueChanged:e.fieldValueChanged}),e.editor.beforeOpen!==e.beforeOpen&&(e.editor.beforeOpen=e.beforeOpen),e.editor.onChange!==e.onChange&&(e.editor.onChange=e.onChange),e.editor.onClear!==e.onClear&&(e.editor.onClear=e.onClear)}}}}class yo extends Le.InputBaseProperty{constructor(e,t){super(e,t)}getEditorProperties(e){return this.getComponentConfig(e,{type:"textarea"},{resizable:{description:"",title:"拖拽调整大小",type:"boolean"},autoHeight:{description:"",title:"自动高度",visible:!1,type:"boolean"}})}getGridFieldEdtiorProperties(e){return this.getComponentConfig(e,{type:"textarea"},{autoHeight:{description:"",title:"自动高度",visible:!1,type:"boolean"}})}}function vo(){let n="zh-CHS";window&&window.top&&window.top.localStorage&&window.top.localStorage.languageCode&&({languageCode:n}=window.top.localStorage);const e=[{id:"yyyy-MM-dd HH:mm:ss",name:"yyyy-MM-dd HH:mm:ss"},{id:"yyyy/MM/dd HH:mm:ss",name:"yyyy/MM/dd HH:mm:ss"},{id:"yyyyMMddHHmmss",name:"yyyyMMddHHmmss"},{id:"yyyy-MM-dd HH:mm",name:"yyyy-MM-dd HH:mm"},{id:"yyyy/MM/dd HH:mm",name:"yyyy/MM/dd HH:mm"},{id:"yyyyMMddHHmm",name:"yyyyMMddHHmm"}],t=[{id:"yyyy-MM-dd",name:"yyyy-MM-dd"},{id:"yyyy/MM/dd",name:"yyyy/MM/dd"},{id:"yyyyMMdd",name:"yyyyMMdd"},{id:"MM/dd/yyyy",name:"MM/dd/yyyy"}],i=[{id:"yyyy-MM",name:"yyyy-MM"},{id:"yyyy/MM",name:"yyyy/MM"},{id:"yyyyMM",name:"yyyyMM"}],o=[{id:"MM/dd",name:"MM/dd"},{id:"MMdd",name:"MMdd"},{id:"MM-dd",name:"MM-dd"}],r=[{id:"yyyy",name:"yyyy"}];return n==="zh-CHS"&&(e.push({id:"yyyy年MM月dd日 HH时mm分ss秒",name:"yyyy年MM月dd日 HH时mm分ss秒"},{id:"yyyy年MM月dd日 HH时mm分",name:"yyyy年MM月dd日 HH时mm分"}),t.push({id:"yyyy年MM月dd日",name:"yyyy年MM月dd日"}),i.push({id:"yyyy年MM月",name:"yyyy年MM月"}),o.push({id:"MM月dd日",name:"MM月dd日"}),r.push({id:"yyyy年",name:"yyyy年"})),n==="zh-CHT"&&(e.push({id:"yyyy年MM月dd日 HH時mm分ss秒",name:"yyyy年MM月dd日 HH時mm分ss秒"},{id:"yyyy年MM月dd日 HH時mm分",name:"yyyy年MM月dd日 HH時mm分"}),t.push({id:"yyyy年MM月dd日",name:"yyyy年MM月dd日"}),i.push({id:"yyyy年MM月",name:"yyyy年MM月"}),o.push({id:"MM月dd日",name:"MM月dd日"}),r.push({id:"yyyy年",name:"yyyy年"})),{timeFormats:e,yMFormats:i,yMdFormats:t,mdFormats:o,yFormats:r}}const bo=[{id:"yyyy-MM-dd",name:"yyyy-MM-dd"},{id:"yyyy/MM/dd",name:"yyyy/MM/dd"},{id:"MM/dd/yyyy",name:"MM/dd/yyyy"}],Co=[{id:"yyyy-MM-dd HH:mm:ss",name:"yyyy-MM-dd HH:mm:ss"},{id:"yyyy/MM/dd HH:mm:ss",name:"yyyy/MM/dd HH:mm:ss"}],wo=[{id:"yyyy-MM",name:"yyyy-MM"},{id:"yyyy/MM",name:"yyyy/MM"},{id:"yyyyMM",name:"yyyyMM"}],So=[{id:"yyyy",name:"yyyy"}],{timeFormats:Mo,yMdFormats:Fo,yMFormats:en,mdFormats:To,yFormats:Ft}=vo();class _o extends Le.InputBaseProperty{constructor(e,t){super(e,t)}getDatePickerModes(e){return e==="Date"||e==="DateTime"?[{label:"年月日",value:"day"}]:[{label:"年月日",value:"day"},{label:"年月",value:"month"},{label:"年",value:"year"}]}checkMaxMinDate(e){const{minDate:t,maxDate:i,showTime:o}=(e==null?void 0:e.editor)||{},{parseToDate:r,formatTo:a}=X.useDateFormat();if(i){const s=r(i,"yyyy-MM-dd HH:mm:ss");s&&(e.editor.maxDate=a(s,o?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd"))}if(t){const s=r(t,"yyyy-MM-dd HH:mm:ss");s&&(e.editor.minDate=a(s,o?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd"))}}getEditorProperties(e){var s,c,m,u,d,f,g,p,y,T,S,C,F,V,v;const t=this.getDateFormatOptions(e==null?void 0:e.editor),i=this.getValueFormatOptions(e==null?void 0:e.editor),o=(c=(s=this.designViewModelField)==null?void 0:s.type)==null?void 0:c.name,r=this.getDatePickerModes(o),a=this.getExtremeDateFormat(e);return(m=e==null?void 0:e.editor)!=null&&m.selectMode||(e.editor.selectMode="day"),this.checkMaxMinDate(e),this.getComponentConfig(e,{type:"date-picker"},{enableClear:{description:"是否显示清除按钮",title:"启用清除",type:"boolean"},selectMode:{description:"",title:"显示类型",type:"string",refreshPanelAfterChanged:!0,editor:{type:"combo-list",idField:"value",textField:"label",valueField:"value",data:r}},showWeekNumber:{description:"",title:"显示第几周",type:"boolean",visible:((u=e==null?void 0:e.editor)==null?void 0:u.selectMode)==="day"},firstDayOfTheWeek:{description:"",title:"每周起始日",type:"string",editor:{type:"combo-list",idField:"value",valueField:"value",textField:"label",data:[{label:"星期日",value:"Sun"},{label:"星期一",value:"Mon"}]},visible:((d=e==null?void 0:e.editor)==null?void 0:d.selectMode)==="day"},showTime:{description:"",title:"启用时间选择",type:"boolean",readonly:((f=e==null?void 0:e.editor)==null?void 0:f.fieldType)==="Date",refreshPanelAfterChanged:!0,visible:((g=e==null?void 0:e.editor)==null?void 0:g.selectMode)==="day"},displayFormat:{description:"",title:"展示格式",type:"enum",editor:{data:t}},valueFormat:{description:"",title:"存储格式",type:"enum",editor:{data:i},visible:((p=e==null?void 0:e.editor)==null?void 0:p.fieldType)==="String"},minDate:{description:"",title:"最小日期",type:"string",editor:{type:"date-picker",enableClear:!0,selectMode:((y=e==null?void 0:e.editor)==null?void 0:y.selectMode)||"day",displayFormat:a,valueFormat:a,minDate:"1900-01-01 00:00:00",maxDate:((T=e==null?void 0:e.editor)==null?void 0:T.maxDate)||"9999-12-31 23:59:59",showTime:(S=e==null?void 0:e.editor)==null?void 0:S.showTime},refreshPanelAfterChanged:!0},maxDate:{description:"",title:"最大日期",type:"string",editor:{type:"date-picker",enableClear:!0,selectMode:((C=e==null?void 0:e.editor)==null?void 0:C.selectMode)||"day",displayFormat:a,valueFormat:a,minDate:((F=e==null?void 0:e.editor)==null?void 0:F.minDate)||"1900-01-01 00:00:00",maxDate:"9999-12-31 23:59:59",showTime:(V=e==null?void 0:e.editor)==null?void 0:V.showTime},refreshPanelAfterChanged:!0},enableQuickSelect:{description:"",title:"启用快速选择",type:"boolean",visible:((v=e==null?void 0:e.editor)==null?void 0:v.selectMode)==="day"}},this.setEditorPropertyRelates)}getExtremeDateFormat(e){var t,i,o,r;if(((t=e==null?void 0:e.editor)==null?void 0:t.selectMode)==="day")return"yyyy-MM-dd"+((i=e==null?void 0:e.editor)!=null&&i.showTime?" HH:mm:ss":"");if(((o=e==null?void 0:e.editor)==null?void 0:o.selectMode)==="month")return"yyyy-MM";if(((r=e==null?void 0:e.editor)==null?void 0:r.selectMode)==="year")return"yyyy"}getEventPropertyConfig(e){const t=this,i=[{label:"onDatePicked",name:"日期选择后事件"}],o=t.eventsEditorUtils.formProperties(e,t.viewModelId,i);return{title:"事件",hideTitle:!0,properties:t.createBaseEventProperty(o),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,s){const c=a.propertyValue;delete s[t.viewModelId],c&&t.eventsEditorUtils.saveRelatedParameters(s,t.viewModelId,c.events,c);const m=t.designViewModelUtils.getDgViewModel(t.viewModelId);m&&t.designViewModelField&&m.changeField(t.designViewModelField.id,{valueChanging:s.fieldValueChanging,valueChanged:s.fieldValueChanged})}}}setEditorPropertyRelates(e,t,i){if(!(!e||!t.editor))switch(e.propertyID){case"showTime":{const o=t.editor;e.propertyValue?(o.displayFormat="yyyy-MM-dd HH:mm:ss",o.valueFormat="yyyy-MM-dd HH:mm:ss"):(o.displayFormat="yyyy-MM-dd",o.valueFormat="yyyy-MM-dd"),t.formatter&&(t.formatter.dateFormat=o.displayFormat);break}case"displayFormat":{t.formatter&&(t.formatter.dateFormat=e.propertyValue);break}case"selectMode":{e.propertyValue!=="day"?(t.editor.showWeekNumber=!1,t.editor.showTime=!1,t.editor.enableQuickSelect=!1,e.propertyValue==="month"?(t.editor.displayFormat="yyyy-MM",t.editor.valueFormat="yyyy-MM"):(t.editor.displayFormat="yyyy",t.editor.valueFormat="yyyy")):(t.editor.displayFormat="yyyy-MM-dd",t.editor.valueFormat="yyyy-MM-dd");break}}}getDateFormatOptions(e){const t=e.selectMode||"day";let i=[];switch(t){case"day":{const o=[];e.showTime&&o.push(...Mo),o.push(...Fo,...en,...Ft,...To),i=o;break}case"month":{i=[...en,...Ft];break}case"year":{i=[...Ft];break}}return i}getValueFormatOptions(e){switch(e.selectMode||"day"){case"day":{let i=[...bo];return e.showTime&&(i=[...Co]),i}case"month":return wo;case"year":return So;default:return[]}}changeBindingField(e,t,i){var r;super.changeBindingField(e,t);const o=i;e.editor&&((r=o==null?void 0:o.type)!=null&&r.name)&&(e.editor.fieldType=o.type.name,o.type.name===X.FormSchemaEntityFieldTypeName.DateTime&&(Object.prototype.hasOwnProperty.call(e.editor,"showTime")||(e.editor.showTime=!0),Object.prototype.hasOwnProperty.call(e.editor,"displayFormat")||(e.editor.displayFormat="yyyy-MM-dd HH:mm:ss"),Object.prototype.hasOwnProperty.call(e.editor,"valueFormat")||(e.editor.valueFormat="yyyy-MM-dd HH:mm:ss")))}}const xo=[{value:"both",text:"同步选择"},{value:"up",text:"包含上级"},{value:"down",text:"包含下级"},{value:"disable",text:"仅选择自身"}],Vo="";function gt(n){let e=[10,20,30,50,100];return n&&(typeof n=="string"&&(e=n.replaceAll("[","").replaceAll("]","").replaceAll(" ","").split(",")),Array.isArray(n)&&(e=n)),e.map(t=>({value:parseInt(t,10)})).sort((t,i)=>t.value-i.value)}const ve={convertFrom:(n,e)=>{const t=n.editor?n.editor:n;return e==="multiSelect"||e==="enableTitle"?!!t[e]:e==="separator"?t[e]||",":e==="onlySelectLeaf"?t[e]==null?!1:t[e]:e==="loadTreeDataType"?t[e]||"default":e==="placeholder"?ze.isNil(t[e])?"请选择":t[e]:e==="openType"?t[e]||"Modal":t[e]},convertTo:(n,e,t)=>{const i=n.editor?n.editor:n;if(i[e]=t,e==="multiSelect"&&!t&&(i.enableCascade=!1),e==="openType"){if(t==="Popup")i.showSelections=!1,i.enableCascade=!1;else if(i.dialog){const{width:o}=i.dialog,{displayType:r}=i;r&&r.toUpperCase().indexOf("NAV")>-1&&(!o||o<520)&&(i.dialog.width=960)}}i.multiSelect&&i.openType==="Popup"&&(i.editable=!1,i.allowFreeInput=!1)}};function Io(n){let e="form_group_"+Date.now();return n&&(e=n.replaceAll("-","_").replaceAll(".","_")),"lookup."+e}function ko(n,e){const{enablePager:t,pageSize:i,pageList:o}=e;n.pagination=n.pagination||{},Object.assign(n.pagination,{enable:t,sizeLimits:gt(o).map(r=>r.value),size:i,showLimits:!0,showGoto:!1,mode:"server"})}const tn={convertFrom:(n,e)=>{var i;return(i=(n.editor?n.editor:n).dataSource)==null?void 0:i.displayName},convertTo:(n,e,t)=>{if(t&&t.length>0){const i=n.editor?n.editor:n,o=t[0],{name:r,id:a,metadataContent:s,code:c}=o;i.dataSource||(i.dataSource={}),i.dataSource.displayName=`${r}(${c})`,i.helpId=a;const{displayType:m,idField:u,textField:d}=s;i.displayType=m,i.dataSource.idField=u,i.textField=d,i.dataSource.type="ViewObject",i.enableEqualSearch=!1;const{pageInfo:f}=s.dataSource;ko(i,f);const{treeInfo:g}=m.toUpperCase()==="NAVTREELIST"?s.navigation:s.dataSource;if(g){const{onlySelectLeaf:p,loadDataType:y}=g;i.loadTreeDataType="default",i.onlySelectLeaf=p??!1}if(i.dataSource.uri||(i.dataSource.uri=Io(n.id)),i.dialog){const{width:p}=i.dialog;m&&m.toUpperCase().indexOf("NAV")>-1&&(!p||p<520)&&(i.dialog.width=960)}}}},Eo={convertFrom:(n,e)=>{var t;return(t=n.editor.dataSource)==null?void 0:t.idField},convertTo:(n,e,t)=>{if(t&&t.length>0){const i=t[0];n.editor.dataSource.idField=i==null?void 0:i.bindingPath}}},Po={convertFrom:(n,e)=>{var t;return(t=n.editor)==null?void 0:t.textField},convertTo:(n,e,t)=>{if(t&&t.length>0){const i=t[0];n.editor.textField=i==null?void 0:i.bindingPath}}},No={convertFrom:(n,e)=>n.editor.displayType?n.editor.displayType.toUpperCase():"LIST",convertTo:(n,e,t)=>{n.editor.displayType=t}},qe={convertFrom:(n,e)=>{var r;let t=n.editor?n.editor.dialog:n.dialog;const i=n.editor?n.editor.openType:n.openType;if(t||(t={}),e==="title")return t[e]||Vo;if(!i||i==="Modal"){if(e==="width")return(r=t.displayType)!=null&&r.toUpperCase().startsWith("NAV")?t[e]||960:t[e]||590;if(e==="height")return t[e]||620;if(e==="navigatorWidth")return t[e]||320}else{if(e==="width")return t[e]||460;if(e==="height")return t[e]||380}if(e==="draggable")return!0;if(["showMaxButton","showCloseButton","resizeable","enableEsc","rememberSize"].includes(e))return t[e]==null?!0:t[e]},convertTo:(n,e,t)=>{const i=n.editor?n.editor:n;i.dialog=i.dialog||{},i.dialog[e]=t}},Bo={convertFrom:(n,e)=>{const t=n.editor?n.editor:n;if(t.pagination=t.pagination||{},e==="enable"||e==="showLimits")return t.pagination[e]==null?!1:t.pagination[e];if(e==="sizeLimits"){const i=t.pagination[e];return gt(i)}if(e==="size")return t.pagination[e]||20},convertTo:(n,e,t)=>{var o;const i=n.editor?n.editor.pagination||{}:n;if(i.pagination=i.pagination||{},e==="sizeLimits"){const r=t.map(s=>s.value);i.pagination[e]=r;const a=((o=i.pagination)==null?void 0:o.size)??20;r.includes(a)||(i.pagination.size=r[0]);return}i.pagination[e]=t}},nn=[{label:"clear",name:"清空事件"},{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],Oo=Symbol("schema_repository_token");function Ro(n,e){const t=i=>i&&i.length?i.map(o=>`${o.name}[${o.bindingPath}]`).join(","):"";return{dataSourceEditor:{type:"schema-selector",title:"选择数据源",editorParams:{propertyData:n,formBasicInfo:e.formSchemaUtils.getFormMetadataBasicInfo()},viewOptions:e.formSchemaUtils.designerMode==="PC_RTC"?[{id:"total",title:"全部",type:"List",dataSource:"Total"}]:[{id:"recommend",title:"推荐",type:"List",dataSource:"Recommand",enableGroup:!0,groupField:"category",groupFormatter:(i,o)=>`${i==="local"?"本地元数据":"最近使用"}`},{id:"total",title:"全部",type:"List",dataSource:"Total"}],repositoryToken:Oo},dataSourceConverter:tn,defaultConverter:ve,idFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",disabled:!1,editorParams:{propertyData:n,formBasicInfo:e.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:ut.FieldSelectorRepositoryToken},textFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",editorParams:{propertyData:n,formBasicInfo:e.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:ut.FieldSelectorRepositoryToken},mappingFieldsEditor:{type:"mapping-editor",modalWidth:800,modalHeight:600,editable:!1,editorParams:{propertyData:n,formBasicInfo:e.formSchemaUtils.getFormMetadataBasicInfo()},fromData:{editable:!0,formatter:(i,o)=>`${o.raw.name} [${o.raw.bindingPath}]`,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],repositoryToken:ut.FieldSelectorRepositoryToken,displayFormatter:t},toData:{editable:!1,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],dataSource:()=>{const i=e.designViewModelUtils.getAllFields2TreeByVMId(e.viewModelId),o=e.schemaService.getPrimaryField();return o?i.filter(r=>r.data.bindingPath!==o):i},formatter:(i,o)=>`${o.raw.name} [${o.raw.bindingPath}]`,displayFormatter:t}}}}function Ho(n){var r,a;const e={type:"combo-list",enableClear:!1,editable:!1},t={type:"number-spinner",useThousands:!1},i=()=>n.displayType?n.displayType.toUpperCase():"",o=()=>i().startsWith("NAV")?n.showNavigation===void 0?!0:!!n.showNavigation:!1;return{openType:{description:"窗口展示方式:弹出窗口、下拉面板",title:"打开方式",type:"string",refreshPanelAfterChanged:!0,$converter:ve,editor:{...e,data:[{text:"弹出窗口",value:"Modal"},{text:"下拉面板",value:"Popup"}],valueField:"value",textField:"text",idField:"value"},visible:!0,defaultValue:"Modal"},title:{description:"帮助标题",title:"标题",type:"string",visible:n.openType!=="Popup",$converter:qe},width:{description:"窗口宽度,单位:px,最小值:300px",title:"宽度",type:"number",editor:{...t,min:o()?520:300,needValid:!0},$converter:qe},height:{description:"窗口高度,单位:px,最小值:200px",title:"高度",type:"number",editor:{...t,min:200,needValid:!0},$converter:qe},showNavigation:{description:"显示导航栏",$converter:ve,refreshPanelAfterChanged:!0,title:"显示导航栏",type:"boolean",visible:i().includes("NAV")&&n.openType!=="Popup"},navigatorWidth:{description:"导航栏宽度,最小200px, 最大为窗口宽度减去200px",title:"导航栏宽度",type:"number",visible:o()&&n.openType!=="Popup",editor:{...t,min:200,max:(((r=n==null?void 0:n.dialog)==null?void 0:r.width)??960)-200,needValid:!0},$converter:qe},resizeable:{description:"允许鼠标拖拽窗口边缘调整尺寸",title:"允许调整窗口尺寸",type:"boolean",visible:n.openType!=="Popup",$converter:qe},rememberSize:{description:"记录窗口尺寸",title:"记录窗口尺寸",type:"boolean",visible:!!n.enableUserData&&(((a=n==null?void 0:n.dialog)==null?void 0:a.resizeable)??!0)&&n.openType!=="Popup",$converter:qe},enableEsc:{description:"允许ESC关闭",title:"允许ESC关闭",type:"boolean",visible:n.openType!=="Popup",$converter:qe},showMaxButton:{description:"显示最大化按钮",title:"显示最大化按钮",type:"boolean",visible:n.openType!=="Popup",$converter:qe},showCloseButton:{description:"显示关闭按钮",title:"显示关闭按钮",type:"boolean",visible:n.openType!=="Popup",$converter:qe}}}function Ao(n,e=!0){var r,a,s,c;const t=!((r=n.pagination)!=null&&r.enable),i=()=>n.displayType?n.displayType.toUpperCase():"",o=(m,u)=>{const d=i()!=="TREELIST"||m.treeToList;return u&&d?m.pagination&&m.pagination[u]:d};return{hide:!o(n)||t,description:"分页配置",title:"分页",parentPropertyID:"pagination",$converter:Bo,properties:{showLimits:{description:"显示每页条数选择器",title:"显示条数选择器",type:"boolean",refreshPanelAfterChanged:e,visible:o(n)},sizeLimits:{description:"每页可显示条数",title:"每页显示条数",type:"array",refreshPanelAfterChanged:e,visible:o(n,"showLimits"),editor:{columns:[{field:"value",title:"显示条数",dataType:"number",editor:{type:"number-spinner",useThousands:!1,min:10,max:1e4}}],title:"每页显示条数编辑器",modalWidth:400,modalHeight:500,type:"item-collection-editor",valueField:"value",nameField:"value",requiredFields:["value"],uniqueFields:["value"],modelValue:gt((a=n.pagination)==null?void 0:a.sizeLimits),beforeSubmit:({notifyService:m,data:u})=>!u||!u.length?(m==null||m.warning({message:"每页显示条数不能为空!"}),!1):new Set(u.map(f=>parseInt(f.value,10))).size===u.length?!0:(m==null||m.warning({message:"每页显示条数不能重复!"}),!1)}},size:{description:"默认显示条数",title:"默认显示条数",type:"number",visible:o(n),editor:{type:"combo-list",enableClear:!1,editable:!1,data:gt((s=n.pagination)==null?void 0:s.sizeLimits),textField:"value",idField:"value",valueField:"value",modelValue:(c=n.pagination)==null?void 0:c.size}}}}}class Lo extends Le.InputBaseProperty{constructor(){super(...arguments);ie(this,"comboListEditor",{type:"combo-list",enableClear:!1,editable:!1});ie(this,"numberEditor",{type:"number-spinner",useThousands:!1});ie(this,"readonlyEditor",{...this.comboListEditor,editable:!0});ie(this,"visibleEditor",{...this.comboListEditor,editable:!1});ie(this,"requiredEditor",{...this.comboListEditor,editable:!1});ie(this,"freeInputEditor",{...this.comboListEditor,editable:!1})}getExpressionConfig(t,i){const o=["validate"];return t.type==="form-group"&&o.push("dataPicking"),new Le.ExpressionProperty(this.formSchemaUtils).getExpressionConfig(t,"Field",o)}getPropertyConfig(t,i,o="Card"){var S;const r=(S=t.binding)!=null&&S.field?[]:["Const","Variable","StateMachine"];this.readonlyEditor=this.getPropertyEditorParams(t,r,"readonly"),this.visibleEditor=this.getPropertyEditorParams(t,r,"visible"),this.requiredEditor=this.getPropertyEditorParams(t,r,"required"),this.freeInputEditor=this.getPropertyEditorParams(t,["Const","Variable"],"allowFreeInput");const a=this.getBasicProperties(t,i,o),s=this.getBehaviorConfig(t),c=this.getAppearanceProperties(t,i),m=this.getLookupConfig(t),u=this.getEventPropConfig(t),d=this.getDialogPropertyConfig(t),f=this.getPageConfig(t.editor),g=this.getTreePropConfig(t.editor),p=this.getSearchConfig(t),y=this.getExpressionConfig(t,"Field"),T={basic:a,appearance:c,behavior:s,lookup:m,treeConfig:g,dialog:d,pager:f,searchConfig:p,expressions:y};return t.type==="form-group"&&(T.eventsEditor=u),{type:"object",categories:T}}getGridFieldEdtiorPropConfig(t){return this.getPropertyConfig(t,null,"Grid").categories}flattenTreeNodes(t){return t.reduce((i,o)=>{var r;return i.push(o),(r=o.children)!=null&&r.length&&i.push(...this.flattenTreeNodes(o.children)),i},[])}isSimpleStringField(){var s;const t=((s=this.designViewModelField)==null?void 0:s.path)||"";if(!t||!t.includes("."))return!0;const i=t.split("."),o=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);if(!(o!=null&&o.length))return!1;const r=o.find(c=>c.data.code===i[0]);if(!r)return!1;const a=[r,...this.flattenTreeNodes(r.children)];return!i.reduce((c,m,u)=>[...c,u?`${c[u-1]}.${m}`:m],[]).some(c=>{var m,u,d;return((d=(u=(m=a.find(f=>f.data.path===c))==null?void 0:m.data)==null?void 0:u.type)==null?void 0:d.$type)==="EntityType"})}getBehaviorConfig(t){return{description:"Basic Infomation",title:"行为",properties:{visible:{description:"运行时组件是否可见",title:"是否可见",type:"boolean",editor:this.visibleEditor}},setPropertyRelates:(i,o)=>{this.afterMutilEditorChanged(o,i)}}}changeBindingField(t,i){super.changeBindingField(t,i),t.editor.multiSelect=!1}getDisplayType(t){return t.displayType?t.displayType.toUpperCase():""}mapFieldsDisplayFormatter(t){return t&&t.length?t.map(i=>`${i.name}[${i.bindingPath}]`).join(","):""}getSearchConfig(t){var i;return{description:"Lookup Search Infomation",title:"搜索",parentPropertyID:"editor",properties:{enableSearchBar:{$converter:ve,description:"是否启用搜索栏",refreshPanelAfterChanged:!0,title:"启用搜索栏",type:"boolean",visible:!1},searchAnyField:{description:"显示所有列",$converter:ve,title:"允许查询所有列",type:"boolean",visible:t.editor.openType!=="Popup"&&t.editor.enableSearchBar==null?!0:!!t.editor.enableSearchBar},enableEqualSearch:{$converter:ve,description:"是否启用等于搜索",title:"启用精确搜索",type:"boolean",visible:t.editor.openType!=="Popup"&&(((i=t.editor)==null?void 0:i.enableSearchBar)??!0)!==!1&&this.getDisplayType(t.editor)!=="TREELIST"}},hide:t.editor.openType==="Popup"}}getLookupConfig(t){var m;const i=t.editor,o=()=>{const u=this.formSchemaUtils.getFormSchema().module.entity[0].id,d=this.formSchemaUtils.getFormMetadataBasicInfo();return{propertyData:i,formBasicInfo:d,viewModelId:u,dataSourceId:i.helpId}},{dataSourceEditor:r,idFieldEditor:a,textFieldEditor:s,mappingFieldsEditor:c}=Ro(i,this);return{description:"Basic Infomation",title:"编辑器",setPropertyRelates:(u,d)=>{if(u)switch(u.propertyID){case"readonly":case"required":this.afterMutilEditorChanged(d,u);break}},parentPropertyID:"editor",properties:{readonly:{description:"",title:"只读",type:"boolean",$converter:"/converter/property-editor.converter",editor:this.readonlyEditor},required:{description:"",title:"必填",type:"boolean",$converter:"/converter/property-editor.converter",editor:this.requiredEditor,visible:!!((m=t.binding)!=null&&m.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string",$converter:ve},enableTitle:{description:"鼠标悬停显示文本内容",title:"悬停提示",type:"boolean",$converter:ve,editor:this.comboListEditor},editable:{description:"",title:"允许编辑",type:"boolean",$converter:ve,refreshPanelAfterChanged:!0,editor:this.comboListEditor,visible:!(i.multiSelect&&i.openType==="Popup")},allowFreeInput:{description:"",title:"任意输入",type:"boolean",$converter:ve,editor:this.freeInputEditor,visible:!!i.editable&&this.isSimpleStringField()},enableClear:{title:"启用清除按钮",type:"boolean",$converter:ve},dataSource:{description:"数据源",title:"数据源",type:"string",refreshPanelAfterChanged:!0,editor:{...r,displayFormatter:u=>u&&u.length?u.map(d=>`${d.name}(${d.code})`).join(","):"",validateFunction:async u=>this.formSchemaUtils.designerMode!=="PC_RTC"?!0:this.checkSameBESource(u,t),onSubmitModal:u=>{if(u){delete i.mappingFields;const d=this.formSchemaUtils.getFormMetadataBasicInfo();return this.metadataService.getPickMetadata(d.relativePath,u[0].data).then(f=>JSON.parse(f==null?void 0:f.metadata.content))}}},$converter:tn},filterConditions:{descriptions:"帮助过滤条件",title:"过滤条件",type:"string",$converter:ve,editor:{type:"filter-condition-editor",editable:!1,displayText:"点击配置",enableClear:!1,enableExpression:!0,editorParams:{propertyData:i,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo(),viewModelId:this.formSchemaUtils.getFormSchema().module.entity[0].id},idField:"path",repositoryToken:ut.FieldSelectorRepositoryToken,beforeOpen:async({repository:u,notifyService:d})=>{var S;if(!(i==null?void 0:i.helpId))return d==null||d.warning({message:"请先配置数据源!"}),!1;const g=o(),y=new Le.ExpressionProperty(this.formSchemaUtils).getEntitiesAndVariables();let T={};if(u){const C=await u.getData(g),F=await u.getLookupConditions(g);T={fieldList:C,conditionList:F}}return(S=y.variables)!=null&&S.forms&&(y.variables.forms.items=y.variables.forms.items.filter(C=>C.category==="remote")),{...T,...y,isServerSide:!0}},onSubmitModal:async({loadingService:u,repository:d,conditions:f,originalConditions:g,FMessageBoxService:p})=>{if(d)try{const y=o(),T=await d.getLookupConditions(y)||[];return JSON.stringify(T)!==JSON.stringify(g.value)?(u==null||u.clearAll(),p.question("视图对象中的帮助过滤条件已更改,请点击确定同步过滤数据","",()=>{f.value=T,g.value=JSON.parse(JSON.stringify(f.value))},()=>{}),!1):(JSON.stringify(f.value)===JSON.stringify(g.value)||await d.saveFilterCondition(f.value,y,this.formSchemaUtils.getFormMetadataBasicInfo()),!0)}catch{return p==null||p.error("保存失败",""),!1}finally{u==null||u.clearAll()}}},visible:!!i.helpId},displayType:{description:"类型: 树列表、列表、双列表、左树右列表",title:"展示类型",type:"string",$converter:No,editor:{type:"combo-list",editable:!1,disabled:!0,data:[{text:"列表",value:"LIST"},{text:"树列表",value:"TREELIST"},{text:"双列表",value:"NAVLIST"},{text:"左树右列表",value:"NAVTREELIST"}],textField:"text",idField:"value",valueField:"value"}},idField:{description:"数据源标识字段",title:"标识字段",type:"string",editor:{...a},$converter:Eo},textField:{description:"显示文本字段",title:"文本字段",type:"string",$converter:Po,editor:s},mappingFields:{description:"字段映射",title:"字段映射",type:"string",$converter:ve,editor:{...c}},enableToSelect:{description:"数据加载后是否选中现有值",$converter:ve,title:"选中已选值",type:"boolean",editor:this.comboListEditor},multiSelect:{description:"启用多选",$converter:ve,title:"启用多选",type:"boolean",editor:this.comboListEditor,refreshPanelAfterChanged:!0,visible:this.isSimpleStringField()},showSelections:{description:"显示已选记录",$converter:ve,title:"显示已选记录",type:"boolean",visible:!!i.multiSelect&&i.openType!=="Popup"},separator:{description:"多选分隔符",$converter:ve,title:"多选分隔符",type:"string",editor:{type:"combo-list",editable:!1,disabled:!1,data:[{text:",",value:","},{text:"|",value:"|"},{text:"#",value:"#"}],textField:"text",idField:"value",valueField:"value",separator:"@"},visible:!!i.multiSelect},enableSearchBar:{description:"显示搜索工具条",$converter:ve,refreshPanelAfterChanged:!0,title:"启用搜索框",type:"boolean",visible:!1},enableFavorite:{description:"启用收藏夹",$converter:ve,title:"启用收藏夹",type:"boolean",visible:i.openType!=="Popup"},enableUserData:{description:"保存界面状态",$converter:ve,refreshPanelAfterChanged:!0,title:"保存界面状态",type:"boolean",visible:i.openType!=="Popup"}}}}showNavigatiorWidth(t){return this.getDisplayType(t).startsWith("NAV")&&t.openType!=="Popup"?t.showNavigation===void 0?!0:!!t.showNavigation:!1}getDialogPropertyConfig(t){const i=Ho(t.editor);return i.openType.$converter=ve,{description:"帮助窗口尺寸配置",title:"帮助窗口",parentPropertyID:"dialog",$converter:qe,properties:i}}showPagerProperty(t,i){const o=this.getDisplayType(t)!=="TREELIST"||t.treeToList;return i&&o?t.pagination&&t.pagination[i]:o}getPageConfig(t){return Ao(t)}showLoadType(t){const i=this.getDisplayType(t);return(i==="TREELIST"||i==="NAVTREELIST")&&!t.treeToList&&!t.navTreeToList}isTree(t){return this.getDisplayType(t)==="TREELIST"&&!t.treeToList}getTreePropConfig(t){return{hide:this.getDisplayType(t)!=="TREELIST"&&this.getDisplayType(t)!=="NAVTREELIST",description:"树形数据配置",title:"树形数据配置",parentPropertyID:"editor",properties:{treeToList:{description:"以列表的形式展示树结构数据",$converter:ve,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(t)==="TREELIST"},navTreeToList:{description:"以列表的形式展示树结构数据",$converter:ve,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(t)==="NAVTREELIST"},loadTreeDataType:{description:"树形数据加载方式",$converter:ve,title:"数据加载方式",type:"string",editor:{...this.comboListEditor,data:[{value:"default",text:"默认"},{value:"all",text:"全部加载"},{value:"async",text:"分层加载"}],textField:"text",valueField:"value"},visible:this.showLoadType(t)},enableFullTree:{description:"启用构造完整树",$converter:ve,title:"构造完整树",type:"boolean",visible:this.showLoadType(t)},onlySelectLeaf:{description:"仅选择叶子节点",$converter:ve,title:"仅选择叶子节点",type:"boolean",visible:this.isTree(t)},enableCascade:{description:"启用级联选择",$converter:ve,refreshPanelAfterChanged:!0,title:"启用级联选择",type:"boolean",visible:this.isTree(t)&&!!t.multiSelect&&t.openType!=="Popup"},showCascadeControl:{description:"是否在界面中显示级联状态",$converter:ve,title:"显示级联状态",type:"boolean",visible:!!t.enableCascade&&this.isTree(t)},cascadeValue:{description:"缺省级联选择模式",$converter:ve,title:"缺省级联选择模式",type:"string",visible:!!t.enableCascade&&this.isTree(t),editor:{...this.comboListEditor,data:xo,textField:"text",valueField:"value"}},expandLevel:{description:"默认展开层级: 0: 不展开; -1: 全部展开;>0: 展开到指定级数 ",$converter:ve,title:"默认展开层级",type:"number",visible:this.showLoadType(t),editor:{...this.numberEditor,min:-1,max:99,needValid:!0}}}}}getEventPropConfig(t){const i=this;let o=nn;t.editor.openType==="Popup"&&(o=o.filter(s=>s.label!=="beforeSelectData"));const r=i.eventsEditorUtils.formProperties(t,i.viewModelId,o);return{title:"事件",hideTitle:!0,properties:i.createBaseEventProperty(r),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(s,c){const m=s.propertyValue;delete c[i.viewModelId],m&&i.eventsEditorUtils.saveRelatedParameters(c,i.viewModelId,m.events,m);const u=i.designViewModelUtils.getDgViewModel(i.viewModelId);u&&i.designViewModelField&&u.changeField(i.designViewModelField.id,{valueChanging:c.fieldValueChanging,valueChanged:c.fieldValueChanged})}}}async checkSameBESource(t,i){var o,r,a,s,c;if(t&&((o=i==null?void 0:i.editor)!=null&&o.helpId)&&!i.isRtcControl){if(t.data.id===i.editor.helpId)return!0;const m=await this.metadataService.getPickMetadata("",t.data).then(y=>{var T;if((T=y==null?void 0:y.metadata)!=null&&T.content)return JSON.parse(y.metadata.content)}),u=await this.metadataService.getPickMetadata("",{id:i.editor.helpId}).then(y=>{var T;if((T=y==null?void 0:y.metadata)!=null&&T.content)return JSON.parse(y.metadata.content)}),d=(r=m==null?void 0:m.dataSource)==null?void 0:r.sourceType,f=(a=u.dataSource)==null?void 0:a.sourceType,g=(s=m==null?void 0:m.dataSource)==null?void 0:s.sourceId,p=(c=u==null?void 0:u.dataSource)==null?void 0:c.sourceId;if(d==="BE"&&f==="BE"&&g!==p)return new wt.FNotifyService().error({message:"只允许更换同数据源的帮助元数据",position:"top-center"}),!1}return!0}}class $o extends ht{constructor(e,t){super(e,t)}getEditorProperties(e){return this.getComponentConfig(e,{type:"number-range"},{editable:{description:"",title:"允许编辑",type:"boolean"}})}}class jo extends Le.InputBaseProperty{constructor(e,t){super(e,t)}getEditorProperties(e){var r,a,s,c,m,u,d,f;let t,i=!1;if(((r=e==null?void 0:e.binding)==null?void 0:r.type)==="Form"){const g=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(a=g==null?void 0:g.schemaField)!=null&&a.type&&(t=g.schemaField.type.precision,i=g.schemaField.type.name==="BigNumber")}return this.getComponentConfig(e,{type:"number-spinner"},{precision:{description:"",title:"精度",type:"number",editor:{readonly:t===0,min:0,max:t,needValid:!0},refreshPanelAfterChanged:!0},step:{description:"",title:"步长",type:"number",editor:{min:0,needValid:!0,precision:(s=e==null?void 0:e.editor)==null?void 0:s.precision}},min:{description:"",title:"最小值",type:"number",editor:{nullable:!0,max:(c=e==null?void 0:e.editor)==null?void 0:c.max,precision:(m=e==null?void 0:e.editor)==null?void 0:m.precision,bigNumber:i,needValid:!0},refreshPanelAfterChanged:!0,visible:this.designViewModelField!=null},max:{description:"",title:"最大值",type:"number",editor:{nullable:!0,min:((u=e==null?void 0:e.editor)==null?void 0:u.min)===void 0||(d=e==null?void 0:e.editor)==null?void 0:d.min,precision:(f=e==null?void 0:e.editor)==null?void 0:f.precision,bigNumber:i,needValid:!0},refreshPanelAfterChanged:!0,visible:this.designViewModelField!=null},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{editable:!1,data:[{id:"left",name:"左对齐"},{id:"center",name:"居中"},{id:"right",name:"右对齐"}]}},bigNumber:{description:"",title:"支持大数字",type:"boolean",readonly:!0,visible:i},showZero:{description:"",title:"显示0值",type:"boolean"},nullable:{description:"允许设置为 null",title:"允许为空",type:"boolean"},useThousands:{description:"",title:"启用千分位",type:"boolean"},showButton:{description:"",title:"显示加减按钮",type:"boolean"}},function(g,p,y){if(g)switch(g.propertyID){case"precision":{p.formatter&&(p.formatter.precision=g.propertyValue);break}}})}changeBindingField(e,t,i){var r;super.changeBindingField(e,t);const o=i;e.editor&&((r=o==null?void 0:o.type)==null?void 0:r.name)===X.FormSchemaEntityFieldTypeName.Number&&(e.editor.precision=o.type.precision)}}class Wo extends ht{constructor(e,t){super(e,t)}getEditorProperties(e){const t=this;return t.getComponentConfig(e,{type:"radio-group"},{disabled:{visible:!1},placeholder:{visible:!1},direction:{description:"",title:"排列方向",type:"enum",editor:{data:[{id:"horizontal",name:"横向"},{id:"vertical",name:"纵向"}]}},dataSourceType:{description:"",title:"数据源类型",type:"enum",visible:!1,editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!e.editor.dataSourceType||e.editor.dataSourceType==="static",...t.getItemCollectionEditor(e,e.editor.valueField,e.editor.textField),refreshPanelAfterChanged:!0},bindDataSource:{description:"",title:"绑定数据源",type:"string",visible:e.editor.dataSourceType==="dynamic"},textField:{description:"",title:"文本字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"值字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"}},this.setEditorPropertyRelates)}setEditorPropertyRelates(e,t,i){if(!e||!t.editor)return;const o=this;switch(e.propertyID){case"dataSourceType":{e.propertyValue==="static"&&(t.editor.valueField="value",t.editor.textField="name");break}case"data":{!o.checkEnumDataReadonly(t)&&t.formatter&&(t.formatter.data=[...e.propertyValue]);break}}}changeBindingField(e,t,i){var r;super.changeBindingField(e,t);const o=i;e.editor&&((r=o==null?void 0:o.type)==null?void 0:r.$type)===X.FormSchemaEntityFieldType$Type.EnumType&&(e.editor.data=o.type.enumValues||[])}}class zo extends Le.InputBaseProperty{constructor(e,t){super(e,t)}getEditorProperties(e){var t,i;return this.getComponentConfig(e,{type:"switch"},{disabled:{visible:!1},placeholder:{visible:!1},onLabel:{description:"",title:"打开标签",type:"string"},offLabel:{description:"",title:"关闭标签",type:"string"},onBackground:{description:"值可以是颜色或者16进制颜色字符串,比如:blue或者#2A87FF",title:"打开背景色",type:"string"},offBackground:{description:"值可以是颜色或者16进制颜色字符串,比如:gray或者#D9DEE7",title:"关闭背景色",type:"string"},size:{description:"",title:"尺寸",type:"enum",editor:{data:[{id:"small",name:"小号"},{id:"medium",name:"中号"},{id:"large",name:"大号"}]}},trueValue:{description:"打开时的值",title:"打开的值",type:this.getBindingDataType(),visible:this.designViewModelField!=null&&((t=this.designViewModelField)==null?void 0:t.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()},falseValue:{description:"关闭时的值",title:"关闭的值",type:this.getBindingDataType(),visible:this.designViewModelField!=null&&((i=this.designViewModelField)==null?void 0:i.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()}})}changeBindingField(e,t,i){var r;super.changeBindingField(e,t);const o=i;if(e.editor&&((r=o==null?void 0:o.type)!=null&&r.name)){let a,s;o.type.name===X.FormSchemaEntityFieldTypeName.String&&(a="true",s="false"),o.type.name===X.FormSchemaEntityFieldTypeName.Number&&(a=1,s=0),!Object.prototype.hasOwnProperty.call(e.editor,"trueValue")&&a!==void 0&&(e.editor.trueValue=a),!Object.prototype.hasOwnProperty.call(e.editor,"falseValue")&&s!==void 0&&(e.editor.falseValue=s)}}}class Go extends ht{constructor(e,t){super(e,t)}getEditorProperties(e){return this.getComponentConfig(e,{type:"time-picker"},{editable:{description:"",title:"允许编辑",type:"boolean"},use12Hours:{description:"",title:"是否使用12小时制",type:"boolean",refreshPanelAfterChanged:!0},format:{description:"",title:"格式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:e.editor.use12Hours?[{value:"hh:mm:ss",name:"hh:mm:ss"},{value:"hh:mm",name:"hh:mm"}]:[{value:"HH:mm:ss",name:"HH:mm:ss"},{value:"HH:mm",name:"HH:mm"}]}},showHeader:{description:"",title:"是否显示时分秒标题",type:"boolean"},hourStep:{description:"",title:"时步长",type:"number",editor:{min:1,max:12,useThousands:!1}},minuteStep:{description:"",title:"分步长",type:"number",editor:{min:1,max:30,useThousands:!1}},secondStep:{description:"",title:"秒步长",type:"number",editor:{min:1,max:30,useThousands:!1}}},(t,i)=>{t.propertyID==="use12Hours"&&(i.editor.format=i.editor.format||"hh:mm:ss",i.editor.format=t.propertyValue?i.editor.format.replace("HH","hh"):i.editor.format.replace("hh","HH"))})}}class Uo extends Le.InputBaseProperty{constructor(e,t){super(e,t)}getEditorProperties(e){return this.getComponentConfig(e,{type:"language-textbox"},{maxLength:{description:"文本字数最大长度",title:"最大长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,max:e.editor.maxLength,needValid:!0}}})}}class Do extends Zt{constructor(t,i){super(t,i);ie(this,"dataGridProps",null);ie(this,"notifyService",new wt.FNotifyService)}getPropertyConfig(t,i){var s,c,m;this.dataGridProps=i,this.getBasicPropConfig(t),this.getAppearanceProperties(t,i);const r={formatterEnumData:{description:"",title:"枚举数据",type:"array",visible:!!(((s=t.formatter)==null?void 0:s.type)==="enum"&&((c=t.editor)==null?void 0:c.type)!=="combo-list"),$converter:"/converter/change-formatter-enum.converter",...this.getItemCollectionEditor(t,"value","name"),refreshPanelAfterChanged:!0}},a=(u,d)=>{if(u)switch(u.propertyID){case"formatterEnumData":{t.formatter&&(t.formatter.data=[...u.propertyValue]);break}}};return this.propertyConfig.categories.behavior=this.getBehaviorConfig(t,"gridFieldEditor",r,a),this.getFieldEditorProperties(t,i),this.propertyConfig.categories.templateFormat=this.getColumnTemplate(t),((m=t.formatter)==null?void 0:m.type)!=="multilingual"&&(this.propertyConfig.categories.formatter=this.getTemplateProperties(t)),this.getEventPropConfig(t),this.propertyConfig}getColumnTemplate(t){const i=t.columnTemplateType&&t.columnTemplateType==="custom"||!t.columnTemplateType&&t.columnTemplate&&!t.onClickLinkCommand,o=this;return{title:"列模板",description:"用于配置自定义列模板以及内置的格式化模板,如超链接、图片",properties:{columnTemplateType:{description:"列模板类型",title:"列模板类型",$converter:"/converter/change-formatter-type.converter",type:"enum",editor:{data:[{id:"default",name:"无"},{id:"hyperlink",name:"超链接"},{id:"custom",name:"自定义"}]}},columnTemplate:{description:"列模板",title:"列模板",type:"string",visible:!!i,editor:{type:"code-editor",language:"html"}}},setPropertyRelates(r,a,s){var c;if(r){switch(r&&r.propertyID){case"columnTemplateType":{r.propertyValue==="custom"&&a.columnTemplate&&o.notifyService.warning({position:"top-center",message:"注意:已自定义列模板,【列格式化】【悬浮提示】【数据水平对齐方式】【数据垂直对齐方式】等列属性会失效"});break}case"columnTemplate":{r.propertyValue&&o.notifyService.warning({position:"top-center",message:"注意:已自定义列模板,【列格式化】【悬浮提示】【数据水平对齐方式】【数据垂直对齐方式】等列属性会失效"});break}}(c=o.getFormDesignerInstance())==null||c.reloadPropertyPanel()}}}}getItemCollectionEditor(t,i,o){const r=i||"value",a=o||"name";return{editor:{columns:[{field:r,title:"值",dataType:"string"},{field:a,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:r,nameField:a,requiredFields:[r,a],uniqueFields:[r,a],readonly:this.checkEnumDataReadonly(t)}}}checkEnumDataReadonly(t){return!t.binding||t.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===X.FormSchemaEntityFieldType$Type.EnumType)}getEventPropConfig(t){var c,m,u;const i=t.columnTemplateType==="hyperlink"||!t.columnTemplateType&&t.columnTemplate&&t.onClickLinkCommand;let o=[];((c=t.editor)==null?void 0:c.type)==="combo-list"&&o.push({label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"下拉面板前事件"}),i&&o.push({label:"onClickLinkCommand",name:"超链接事件"}),((m=t==null?void 0:t.editor)==null?void 0:m.type)==="lookup"&&(o=[...o,...nn],t.editor.openType==="Popup"&&(o=o.filter(d=>d.label!=="beforeSelectData"))),((u=t==null?void 0:t.editor)==null?void 0:u.type)==="date-picker"&&(o=[{label:"onDatePicked",name:"日期选择后事件"}]);const r=this,a=r.eventsEditorUtils.formProperties(t,r.viewModelId,o),s=r.createBaseEventProperty(a);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:s,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(d,f){var p,y,T,S;const g=d.propertyValue;delete t[r.viewModelId],g&&(g.setPropertyRelates=this.setPropertyRelates,r.eventsEditorUtils.saveRelatedParameters(t,r.viewModelId,g.events,g)),t.remoteSort=!!t.columnSorted,t.onClickLinkCommand&&!t.onClickLinkCommand.includes("communication:")&&(t.columnTemplate=`<span class="f-pretend-link f-cursor-pointer"
19
19
  @click="(ctx)=>viewModel.current.${t.onClickLinkCommand}({id: rowData.id,context: ctx})">
20
20
  {{rowData.${t.field}}}
21
21
  </span>`,(p=r.getFormDesignerInstance())==null||p.reloadPropertyPanel()),!t.onClickLinkCommand&&t.columnTemplate&&t.columnTemplateType==="hyperlink"&&(t.columnTemplate=`<span class="f-pretend-link f-cursor-pointer">
22
22
  {{rowData.${t.field}}}
23
- </span>`,(y=r.getFormDesignerInstance())==null||y.reloadPropertyPanel()),((T=t.editor)==null?void 0:T.beforeOpen)!==t.beforeOpen&&(t.editor.beforeOpen=t.beforeOpen),((S=t.editor)==null?void 0:S.onChange)!==t.onChange&&(t.editor.onChange=t.onChange)}}}getBasicPropConfig(t){const i=this;this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},title:{description:"标题",title:"标题",type:"string"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:t,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0}},setPropertyRelates(o,r,a){if(o)switch(o&&o.propertyID){case"binding":{i.afterChangeBindingType(t,a),o.needRefreshEntityTree=!0;break}}}}}getAppearanceProperties(t,i){var o,r,a,s;this.propertyConfig.categories.appearance={description:"",title:"外观",properties:{resizable:{description:"允许拖拽改变列宽",title:"拖拽改变列宽",type:"boolean"},filterable:{visible:t.dataType!=="enum",description:"启用过滤",title:"启用过滤",type:"boolean"},sortable:{description:"启用排序",title:"启用排序",type:"boolean",visible:i.type!=="tree-grid"},draggable:{description:"允许列拖拽",title:"启用拖拽",type:"boolean"},width:{description:"列宽",title:"列宽",type:"number"},showTips:{description:"启用鼠标悬浮提示",title:"鼠标悬浮提示",type:"boolean"},halign:{description:"标题对齐方式",title:"标题对齐方式",type:"enum",editor:{data:[{id:"left",name:"左对齐"},{id:"center",name:"居中"},{id:"right",name:"右对齐"}]}},align:{description:"数据水平对齐方式选择",title:"数据水平对齐方式",type:"enum",editor:{data:[{id:"left",name:"左对齐"},{id:"center",name:"居中"},{id:"right",name:"右对齐"}]}},valign:{description:"数据垂直对齐方式选择",title:"数据垂直对齐方式",type:"enum",editor:{data:[{id:"top",name:"顶对齐"},{id:"middle",name:"居中"},{id:"bottom",name:"底对齐"}]}},summaryType:{description:"合计类型",title:"合计类型",visible:!!((r=(o=this.dataGridProps)==null?void 0:o.summary)!=null&&r.enable)&&t.dataType==="number",type:"enum",editor:{data:[{id:"none",name:"无"},{id:"sum",name:"求和"}]},refreshPanelAfterChanged:!0},enableGroup:{description:"启用分组",title:"分组",visible:!!((s=(a=this.dataGridProps)==null?void 0:a.group)!=null&&s.enable),type:"boolean",refreshPanelAfterChanged:!0}},setPropertyRelates(c,m,u){if(c)switch(c&&c.propertyID){case"width":{m.actualWidth=c.propertyValue;break}case"summaryType":{const{groupFields:d}=i.summary;!d.includes(m.field)&&c.propertyValue==="sum"&&d.push(m.field),d.includes(m.field)&&c.propertyValue==="none"&&d.splice(d.indexOf(m.field),1);break}case"columnTemplate":{c.propertyValue;break}case"enableGroup":c.propertyValue?i.group.groupFields=[m.field]:i.group.groupFields=[]}}}}getFieldEditorProperties(t,i){i.fieldEditable&&t.editor&&this.getFieldEditorProp(t)}setFormatterEnumData(t){var i,o;(i=t.formatter)!=null&&i.data&&!t.formatterEnumData&&(t.formatterEnumData=(o=t.formatter)==null?void 0:o.data)}getTemplateProperties(t){var r,a,s,c,m,u,d,f,g;const i=Object.prototype.hasOwnProperty;return{title:"格式化",description:"",properties:{type:{description:"",title:"类型",type:"enum",$converter:"/converter/change-formatter.converter",refreshPanelAfterChanged:!0,editor:{data:{enum:[{id:"enum",name:"枚举"},{id:"none",name:"无"}],boolean:[{id:"boolean",name:"布尔"},{id:"none",name:"无"}],number:[{id:"number",name:"数字"},{id:"none",name:"无"}],date:[{id:"date",name:"日期"},{id:"none",name:"无"}],datetime:[{id:"date",name:"日期"},{id:"none",name:"无"}],string:[{id:"enum",name:"枚举"},{id:"date",name:"日期"},{id:"none",name:"无"}]}[t.dataType]}},trueText:{title:"布尔为true时文本",$converter:"/converter/change-formatter.converter",type:"string",visible:((r=t.formatter)==null?void 0:r.type)==="boolean",refreshPanelAfterChanged:!0,description:"布尔为true时文本"},falseText:{title:"布尔为false时文本",$converter:"/converter/change-formatter.converter",type:"string",visible:((a=t.formatter)==null?void 0:a.type)==="boolean",refreshPanelAfterChanged:!0,description:"布尔为false时文本"},prefix:{title:"前缀",$converter:"/converter/change-formatter.converter",type:"string",visible:((s=t.formatter)==null?void 0:s.type)==="number",refreshPanelAfterChanged:!0,description:"前缀"},suffix:{title:"后缀",$converter:"/converter/change-formatter.converter",type:"string",visible:((c=t.formatter)==null?void 0:c.type)==="number",refreshPanelAfterChanged:!0,description:"后缀"},precision:{title:"精度",$converter:"/converter/change-formatter.converter",type:"number",visible:((m=t.formatter)==null?void 0:m.type)==="number",refreshPanelAfterChanged:!0,description:"精度"},decimal:{title:"小数分隔符",$converter:"/converter/change-formatter.converter",type:"string",visible:((u=t.formatter)==null?void 0:u.type)==="number",refreshPanelAfterChanged:!0,description:"小数分隔符"},thousand:{title:"千分位",$converter:"/converter/change-formatter.converter",type:"string",visible:((d=t.formatter)==null?void 0:d.type)==="number",refreshPanelAfterChanged:!0,description:"千分位"},dateFormat:{title:"日期格式",$converter:"/converter/change-formatter.converter",visible:((f=t.formatter)==null?void 0:f.type)==="date"||((g=t.formatter)==null?void 0:g.type)==="datetime",refreshPanelAfterChanged:!0,description:"日期格式",type:"enum",editor:{data:[{id:"yyyy-MM-dd",name:"yyyy-MM-dd"},{id:"yyyy/MM/dd",name:"yyyy/MM/dd"},{id:"dd/MM/yyyy",name:"dd/MM/yyyy"},{id:"MM/dd/yyyy",name:"MM/dd/yyyy"},{id:"yyyyMMdd",name:"yyyyMMdd"},{id:"yyyy年MM月dd日",name:"yyyy年MM月dd日"},{id:"yyyy-MM",name:"yyyy-MM"},{id:"yyyy/MM",name:"yyyy/MM"},{id:"yyyyMM",name:"yyyyMM"},{id:"yyyy年MM月",name:"yyyy年MM月"},{id:"MM/dd",name:"MM/dd"},{id:"MMdd",name:"MMdd"},{id:"MM-dd",name:"MM-dd"},{id:"MM月dd日",name:"MM月dd日"},{id:"yyyy",name:"yyyy"},{id:"yyyy年",name:"yyyy年"},{id:"yyyy-MM-dd HH:mm:ss",name:"yyyy-MM-dd HH:mm:ss"},{id:"yyyy/MM/dd HH:mm:ss",name:"yyyy/MM/dd HH:mm:ss"},{id:"yyyyMMddHHmmss",name:"yyyyMMddHHmmss"},{id:"yyyy-MM-dd HH:mm",name:"yyyy-MM-dd HH:mm"},{id:"yyyy/MM/dd HH:mm",name:"yyyy/MM/dd HH:mm"},{id:"yyyyMMddHHmm",name:"yyyyMMddHHmm"},{id:"yyyy年MM月dd日 HH时mm分ss秒",name:"yyyy年MM月dd日 HH时mm分ss秒"},{id:"yyyy年MM月dd日 HH时mm分",name:"yyyy年MM月dd日 HH时mm分"}]}}},setPropertyRelates(p,y,T){var S;if(p)switch(p&&p.propertyID){case"type":{p.propertyValue!=="none"&&y.columnTemplate,p.propertyValue==="boolean"&&(i.call(y.formatter,"trueText")||(y.formatter.trueText="是"),i.call(y.formatter,"falseText")||(y.formatter.falseText="否")),p.propertyValue==="number"&&(i.call(y.formatter,"prefix")||(y.formatter.prefix=""),i.call(y.formatter,"suffix")||(y.formatter.suffix=""),i.call(y.formatter,"precision")||(y.formatter.precision=0),i.call(y.formatter,"decimal")||(y.formatter.decimal="."),i.call(y.formatter,"thousand")||(y.formatter.thousand=",")),p.propertyValue==="date"&&(i.call(y.formatter,"dateFormat")||(y.formatter.dateFormat="yyyy-MM-dd")),p.propertyValue==="enum"&&(i.call(y.formatter,"data")||(y.formatter.data=[],(S=y.formatterEnumData)!=null&&S.length&&(y.formatterEnumData=[])));break}}}}}getFieldEditorProp(t,i="gridFieldEditor",o=!1){const r=this.formMetadataConverter.getRealEditorType(t.editor.type);let a;switch(r){case"avatar":a=new uo(this.componentId,this.designerHostService);break;case"check-group":a=new fo(this.componentId,this.designerHostService);break;case"check-box":a=new mo(this.componentId,this.designerHostService);break;case"combo-list":a=new po(this.componentId,this.designerHostService);break;case"date-picker":a=new Fo(this.componentId,this.designerHostService);break;case"lookup":a=new Ho(this.componentId,this.designerHostService);break;case"number-range":a=new $o(this.componentId,this.designerHostService);break;case"number-spinner":a=new jo(this.componentId,this.designerHostService);break;case"radio-group":a=new Wo(this.componentId,this.designerHostService);break;case"switch":a=new zo(this.componentId,this.designerHostService);break;case"textarea":a=new ho(this.componentId,this.designerHostService);break;case"time-picker":a=new Go(this.componentId,this.designerHostService);break;case"language-textbox":a=new Uo(this.componentId,this.designerHostService);break;default:a=new co(this.componentId,this.designerHostService)}this.setDesignViewModelField(t);const s=this,{canChangeControlType:c,editorTypeList:m}=this.getAvailableEditorType(t);this.propertyConfig.categories[`${i}_editorType`]={description:"",title:"编辑器类型",propertyData:t.editor,tabId:"gridFieldEditor",tabName:"编辑器",properties:{type:{description:"",title:"编辑器类型",type:"enum",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",refreshPanelAfterChanged:!0,editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",data:m,readonly:!c}}},setPropertyRelates(f,g){if(f)switch(f&&f.propertyID){case"type":{s.changeFieldEditorType(t,f.propertyValue);break}}}};const u=["id","type","class","style","binding","label","responseLayout","visible","fill"],d=a.getGridFieldEdtiorPropConfig(t);Object.keys(d).map(f=>{const g=d[f],p={};if(Object.keys(g.properties).map(y=>{u.findIndex(T=>T===y)===-1&&g.properties[y]!==!1&&(p[y]=g.properties[y])}),Object.keys(p).length!==0){const y=g==null?void 0:g.title,T="gridFieldEditor",S="编辑器",C=g==null?void 0:g.description,F=(g==null?void 0:g.$converter)||"";s.propertyConfig.categories[i+"_"+f]={title:y,hide:Object.prototype.hasOwnProperty.call(g,"hide")?g.hide:!1,hideTitle:Object.prototype.hasOwnProperty.call(g,"hideTitle")?g.hideTitle:!1,tabId:g.tabId||T,tabName:g.tabName||S,description:C,$converter:F,parentPropertyID:"editor",propertyData:t,properties:p,setPropertyRelates:g==null?void 0:g.setPropertyRelates}}})}changeFieldEditorType(t,i){const o=this.designViewModelUtils.getDgViewModel(this.viewModelId);o.changeField(this.designViewModelField.id,{editor:{$type:i},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1);const r=this.formSchemaUtils.getComponentByViewModelId(this.viewModelId),a=this.formSchemaUtils.selectNode(r,d=>d.type===j.DgControl["data-grid"].type||d.type===j.DgControl["tree-grid"].type);if(!a)return;const s=o.fields.find(d=>d.id===this.designViewModelField.id),c=this.controlCreatorUtils.setGridFieldProperty(i,s,null,!0),m=Object.prototype.hasOwnProperty.call(a,"columns")?a.columns:a.fields,u=m.findIndex(d=>d.id===t.id);if(u>-1&&m[u].editor){const d={};["readonly","required","placeholder"].map(f=>{Object.prototype.hasOwnProperty.call(m[u].editor,f)&&(d[f]=m[u].editor[f])}),m[u].editor=Object.assign(c.editor,d)}Object.assign(m[u],{dataType:c.dataType},c.formatter?{formatter:c.formatter}:{}),!c.formatter&&m[u].formatter&&delete m[u].formatter}checkCanChangeControlType(t,i){return!(!t.binding||!this.designViewModelField||this.designViewModelField.$type!==X.FormSchemaEntityField$Type.SimpleField)}getAvailableEditorType(t){var r;const i=this.checkCanChangeControlType(t,this.viewModelId);if(!i)return{canChangeControlType:!1,editorTypeList:[{key:t.editor.type,value:((r=j.DgControl[t.editor.type])==null?void 0:r.name)||t.editor.type}]};let o=[];return this.designViewModelField&&this.designViewModelField.$type===X.FormSchemaEntityField$Type.SimpleField&&(o=rt.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage,t.type)),{canChangeControlType:i,editorTypeList:o}}afterChangeBindingType(t,i){!t||!i||(t.dataType=this.controlCreatorUtils.mapControlType2GridFieldType(i),this.controlCreatorUtils.setGridFieldFormatter(t.dataType,t,i))}}function qo(n,e,t){const i=n.schema,o=l.ref(!0),r=l.ref(!0);function a(f){return!1}function s(){return!1}function c(){return!1}function m(){return!0}function u(f){var y,T;const g=new Do(f,e),p=(y=n==null?void 0:n.parent)==null?void 0:y.schema;return p!=null&&p.groupFields&&p!=null&&p.groupFields.includes(i.field)&&(i.enableSummary=!0),g.getPropertyConfig(i,(T=n==null?void 0:n.parent)==null?void 0:T.schema)}function d(){var T,S;if(!e||!n)return;const{formSchemaUtils:f}=e;let g=ft["data-grid"].name;const p=f.getControlBasicInfoMap(),y=p.get((S=(T=n.parent)==null?void 0:T.schema)==null?void 0:S.id);y&&y.parentPathName&&(g=y.parentPathName),p.set(i.id,{showName:i.title,parentPathName:`${g} > ${i.title}`,reliedComponentId:y.reliedComponentId})}return{canAccepts:a,checkCanDeleteComponent:s,checkCanMoveComponent:c,hideNestedPaddingInDesginerView:m,triggerBelongedComponentToMoveWhenMoved:o,triggerBelongedComponentToDeleteWhenDeleted:r,getPropsConfig:u,setComponentBasicInfoMap:d}}var on=(n=>(n.SimpleField="SimpleField",n.ComplexField="ComplexField",n))(on||{});function Yo(n,e,t){function i(){const a=t.componentId;if(!a)return!1;const s=n.formSchemaUtils.getViewModelIdByComponentId(a);if(!s)return!1;const{schema:c}=e,{designViewModelUtils:m}=n,u=m.getDgViewModel(s),d=u==null?void 0:u.fields.find(f=>f.id===c.binding.field);return!(!d||d.$type!==on.SimpleField)}function o(){const{schema:a}=e;return!!n.formSchemaUtils.getVariableById(a.binding.field)}function r(){var c;const{schema:a}=e;let s=!0;if(!n||!((c=a.binding)!=null&&c.field))return s;switch(a.binding.type){case it.Form:{s=i();break}case it.Variable:s=o()}return s}return{checkBindingFieldValidation:r}}const ln=l.defineComponent({name:"FDataGridColumnDesign",props:St,emits:[],setup(n,e){const t=l.ref(),i=l.inject("designer-host-service"),o=l.inject("design-item-context");l.inject("data-grid-context");const r=qo(o,i),a=j.useDesignerComponent(t,o,r);l.onMounted(()=>{t.value.componentInstance=a}),e.expose(a.value);function s(d){var f;(f=o==null?void 0:o.setupContext)==null||f.emit("selectionChange",a.value.schema,o.schema,n.componentId,a.value)}const{checkBindingFieldValidation:c}=Yo(i,o,n),u=!l.inject("external-container-id");return()=>{var p;const d=u?c():!0,f="绑定信息已失效,请手动移除列",g=d?"":"color:red";return l.createVNode(l.Fragment,null,[d?"":l.createVNode("span",{class:"f-icon f-icon-warning mr-1",style:"color: red; min-width: 16px;",title:f},null),l.createVNode("span",{class:"fv-column-title",style:g,ref:t,onClick:y=>s()},[((p=n.editor)==null?void 0:p.required)===!0&&l.createVNode("span",{class:"text-danger"},[l.createTextVNode("*")]),n.title])])}}}),rn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid.schema.json",title:"data-grid",description:"A Farris Data Grid Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"data-grid"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},fit:{type:"boolean",default:!1},showStripe:{type:"boolean",default:!0},showBorder:{type:"boolean",default:!1},showSetting:{type:"boolean",default:!1},size:{description:"",type:"object",properties:{width:{type:"number"},height:{type:"number"}},default:null},dataSource:{description:"",type:"string",default:""},columns:{description:"",type:"array",default:[]},identifyField:{description:"",type:"string"},editable:{description:"",type:"boolean",default:!1},disabled:{description:"",type:"boolean",default:!1},visible:{description:"",type:"boolean",default:!0},fieldEditable:{description:"是否可编辑",type:"boolean",default:!1},cell:{type:"object",properties:{highlightFocusingCell:{description:"",type:"boolean",default:!1},mergeCell:{description:"",type:"boolean",default:!1},showEditableIcon:{description:"",type:"boolean",default:!1}}},column:{type:"object",properties:{fitColumns:{description:"",type:"boolean",default:!1},fitMode:{description:"",type:"string",default:"average"},groups:{description:"",type:"array",default:[]},reorderColumn:{description:"Enable to drag column to reorder",type:"boolean",default:!1},resizeColumn:{type:"boolean",default:!0},resizeColumnOnDoubleClick:{description:"",type:"boolean",default:!0}}},command:{type:"object",properties:{enableType:{type:"string",default:"unable"},enable:{description:"",type:"boolean",default:!1},commands:{type:"array",default:[]},formatter:{description:"自定义操作列模板",type:"string",default:""},commandColumnWidth:{description:"",type:"number",default:120},onClickDeleteCommand:{description:"",type:"string",default:""},onClickEditCommand:{description:"",type:"string",default:""},onHandleAction:{description:"",type:"string",default:""},count:{description:"",type:"number",default:2}}},contextMenu:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1}}},customizaiton:{type:"object",properties:{enableScheme:{description:"",type:"boolean",default:!1},enableSetting:{description:"",type:"boolean",default:!1}}},edit:{type:"object",properties:{mode:{description:"",type:"string",default:"cell",enum:["cell","row","card"]},selectOnEditing:{description:"",type:"boolean",default:!1},onAppendRow:{description:"",type:"string",default:""},onBeforeEdit:{description:"",type:"string",default:""}}},filter:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},filterStyle:{description:"",type:"string",default:"filter-column",enum:["filter-column","filter-row"]},mode:{description:"",type:"string",default:"server",enum:["client","server"]},showSummary:{description:"",type:"boolean",default:!1},onFilterChange:{description:"",type:"string",default:""}}},footer:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customFooterStyle:{description:"",type:"object"},footerDataCommand:{description:"",type:"string",default:""},footerDataFrom:{description:"",type:"string",default:"client"},footerHeight:{description:"",type:"number",default:29},footerPosition:{description:"",type:"string",default:"bottom"},footerTemplate:{description:"",type:"string",default:""}}},group:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customGroupRow:{description:"",type:"object"},customGroupRowStyle:{description:"",type:"object"},customSummaryStyle:{description:"",type:"object"},groupColSpan:{description:"",type:"number",default:1},groupFields:{description:"",type:"array",default:[]},showGroupedColumn:{description:"",type:"boolean",default:!0},showGroupPanel:{description:"",type:"boolean",default:!1},showSummary:{description:"",type:"boolean",default:!1},summaryPosition:{description:"",type:"string",default:"separate",enum:["separate","merge-to-group"]},disableGroupOnEditing:{description:"",type:"boolean",default:!0},expandGroupRows:{description:"",type:"boolean",default:!0}}},header:{type:"object",properties:{wrapHeadings:{description:"",type:"boolean",default:!1}}},pagination:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},disablePagination:{description:"",type:"string",default:""},contentTemplate:{description:"",type:"string",default:""},index:{description:"",type:"number",default:1},mode:{description:"",type:"enum",default:"server",enum:["server","client"]},showGoto:{description:"",type:"boolean",default:!1},showIndex:{description:"",type:"boolean",default:!0},showLimits:{description:"",type:"boolean",default:!1},showPageInfo:{description:"",type:"boolean",default:!0},size:{description:"",type:"number",default:20},sizeLimits:{description:"",type:"array",default:[10,20,30,50,100]},onPageChange:{description:"",type:"string",default:""},onPageSizeChange:{description:"",type:"string",default:""}}},rowOption:{type:"object",properties:{customRowStyle:{description:"",type:"string",default:""},customCellStyle:{description:"",type:"string",default:""},disable:{description:"",type:"object"},height:{description:"",type:"number",default:30},showHovering:{type:"boolean",default:!0},wrapContent:{type:"boolean",default:!1}}},rowNumber:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!0},heading:{description:"",type:"string",default:"序号"},width:{description:"",type:"number",default:36},showEllipsis:{description:"",type:"boolean",default:!0}}},onClickRow:{description:"行点击事件",type:"string",default:""},onSelectionChange:{description:"行切换事件",type:"string",default:""},onPageIndexChanged:{description:"切换页码事件",type:"string",default:""},onPageSizeChanged:{description:"分页条数变化事件",type:"string",default:""},selection:{type:"object",properties:{enableSelectRow:{description:"允许选中行",type:"boolean",default:!0},enable:{description:"",type:"boolean",default:!0},checkOnSelect:{description:"",type:"boolean",default:!1},clearSelectionOnEmpty:{description:"",type:"boolean",default:!0},customSelectionItem:{description:"",type:"object"},focusSelection:{description:"",type:"string",default:"current",enum:["current","all"]},keepSelectingOnClick:{description:"",type:"boolean",default:!0},keepSelectingOnPaging:{description:"",type:"boolean",default:!0},multiSelect:{description:"",type:"boolean",default:!1},selectionMode:{description:"",type:"string",default:"default"},selectOnCheck:{description:"",type:"boolean",default:!1},selectOnEditing:{description:"",type:"boolean",default:!1},showCheckbox:{description:"",type:"boolean",default:!1},showSelectAll:{description:"",type:"boolean",default:!1},showSelection:{description:"",type:"boolean",default:!1},multiSelectMode:{description:"多选模式",type:"string",default:"DependOnCheck"},onBeforeSelect:{description:"",type:"string",default:""},onBeforeUnCheck:{description:"",type:"",default:""},onBeforeUnSelect:{description:"",type:"string",default:""},onCheckAll:{description:"",type:"string",default:""},onChecked:{description:"",type:"string",default:""},onSelectionChange:{description:"",type:"string",default:""},onUnCheckAll:{description:"",type:"string",default:""},onUnChecked:{description:"",type:"string",default:""},onCheckedChange:{description:"",type:"string"}}},sort:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},fields:{description:"",type:"array",default:[]},mode:{description:"",type:"enum",default:"client"},multiSort:{description:"",type:"boolean",default:!0}}},summary:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customSummaryStyle:{description:"",type:"object"},groupFields:{description:"",type:"array",default:[]},mode:{description:"",type:"string",default:"client",enum:["client","server"]},position:{description:"",type:"boolean",default:"bottom",enum:["bottom","top","both"]}}},toolbar:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1}}},visualization:{autoHeight:{description:"",type:"boolean",default:!1},emptyDataHeight:{description:"",type:"number",default:36},emptyTemplate:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:300},scrollBarShowMode:{description:"",type:"string",default:"auto"},showBorder:{description:"",type:"boolean",default:!1},showScrollArrow:{description:"",type:"boolean",default:!1},striped:{description:"",type:"boolean",default:!0},useBlankWhenDataIsEmpty:{description:"",type:"boolean",default:!1}},emptyTemplate:{description:"",type:"string",default:""},beforeUpdate:{description:"",type:"string",default:""}},required:["id","type","columns"],events:{onClickRow:"行点击事件",onSelectionChange:"行切换事件",onDoubleClickRow:"行双击事件",onPageIndexChanged:"切换页码事件",onPageSizeChanged:"分页条数变化事件",onClickEditCommand:"操作列编辑事件",onClickDeleteCommand:"操作列删除事件",onFilterChanged:"过滤事件",onSortChanged:"排序事件",onSelectItem:"选中行事件",onUnSelectItem:"取消选中行事件",onSelectAll:"全选事件",onUnSelectAll:"取消全选事件",onEndEditCell:"单元格结束编辑事件"}};function Xo(){function n(e,t){const i={};return i.beforeEditCell=o=>t.call("beforeEditCell",e,[o,e]),i.beforeUpdate=o=>t.call("beforeUpdate",e,[o,e]),i}return{resolve:n}}const an=Ge.getPropsResolverGenerator(Je.dataGridProps,rn,mt,pt),sn=Ge.createPropsResolver(Je.dataGridProps,rn,mt,pt),dn=Ge.createCollectionBindingResolver(),cn=Ge.createDataGridSelectionItemResolver(),un=Ge.createDataViewUpdateColumnsResolver(),fn=Xo();Qe.install=n=>{n.component(Qe.name,Qe)},Qe.register=(n,e,t,i,o)=>{n["data-grid"]=Je,e["data-grid"]=an(o),n["grid-field-editor"]=eo,e["grid-field-editor"]=$i(o),i["data-grid"]={bindingResolver:dn,selectionItemResolver:cn,updateColumnsResolver:un,callbackResolver:fn}},Qe.registerDesigner=(n,e,t)=>{n["data-grid"]=Qe,e["data-grid"]=sn,e["data-grid-column"]=io,n["data-grid-column"]=ln,e["tree-grid-column"]=oo,n["tree-grid-column"]=ln};const Zo=X.withInstall(Qe);re.FDataGridDesign=Qe,re.bindingResolver=dn,re.callbackResolver=fn,re.default=Zo,re.getColumnHeader=At,re.propsResolver=sn,re.propsResolverGenerator=an,re.selectionItemResolver=cn,re.updateColumnsResolver=un,Object.defineProperties(re,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
23
+ </span>`,(y=r.getFormDesignerInstance())==null||y.reloadPropertyPanel()),((T=t.editor)==null?void 0:T.beforeOpen)!==t.beforeOpen&&(t.editor.beforeOpen=t.beforeOpen),((S=t.editor)==null?void 0:S.onChange)!==t.onChange&&(t.editor.onChange=t.onChange)}}}getBasicPropConfig(t){const i=this;this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},title:{description:"标题",title:"标题",type:"string"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:t,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0}},setPropertyRelates(o,r,a){if(o)switch(o&&o.propertyID){case"binding":{i.afterChangeBindingType(t,a),o.needRefreshEntityTree=!0;break}}}}}getAppearanceProperties(t,i){var o,r,a,s;this.propertyConfig.categories.appearance={description:"",title:"外观",properties:{resizable:{description:"允许拖拽改变列宽",title:"拖拽改变列宽",type:"boolean"},filterable:{visible:t.dataType!=="enum",description:"启用过滤",title:"启用过滤",type:"boolean"},sortable:{description:"启用排序",title:"启用排序",type:"boolean",visible:i.type!=="tree-grid"},draggable:{description:"允许列拖拽",title:"启用拖拽",type:"boolean"},width:{description:"列宽",title:"列宽",type:"number"},showTips:{description:"启用鼠标悬浮提示",title:"鼠标悬浮提示",type:"boolean"},halign:{description:"标题对齐方式",title:"标题对齐方式",type:"enum",editor:{data:[{id:"left",name:"左对齐"},{id:"center",name:"居中"},{id:"right",name:"右对齐"}]}},align:{description:"数据水平对齐方式选择",title:"数据水平对齐方式",type:"enum",editor:{data:[{id:"left",name:"左对齐"},{id:"center",name:"居中"},{id:"right",name:"右对齐"}]}},valign:{description:"数据垂直对齐方式选择",title:"数据垂直对齐方式",type:"enum",editor:{data:[{id:"top",name:"顶对齐"},{id:"middle",name:"居中"},{id:"bottom",name:"底对齐"}]}},summaryType:{description:"合计类型",title:"合计类型",visible:!!((r=(o=this.dataGridProps)==null?void 0:o.summary)!=null&&r.enable)&&t.dataType==="number",type:"enum",editor:{data:[{id:"none",name:"无"},{id:"sum",name:"求和"}]},refreshPanelAfterChanged:!0},enableGroup:{description:"启用分组",title:"分组",visible:!!((s=(a=this.dataGridProps)==null?void 0:a.group)!=null&&s.enable),type:"boolean",refreshPanelAfterChanged:!0}},setPropertyRelates(c,m,u){if(c)switch(c&&c.propertyID){case"width":{m.actualWidth=c.propertyValue;break}case"summaryType":{const{groupFields:d}=i.summary;!d.includes(m.field)&&c.propertyValue==="sum"&&d.push(m.field),d.includes(m.field)&&c.propertyValue==="none"&&d.splice(d.indexOf(m.field),1);break}case"columnTemplate":{c.propertyValue;break}case"enableGroup":c.propertyValue?i.group.groupFields=[m.field]:i.group.groupFields=[]}}}}getFieldEditorProperties(t,i){i.fieldEditable&&t.editor&&this.getFieldEditorProp(t)}setFormatterEnumData(t){var i,o;(i=t.formatter)!=null&&i.data&&!t.formatterEnumData&&(t.formatterEnumData=(o=t.formatter)==null?void 0:o.data)}getTemplateProperties(t){var r,a,s,c,m,u,d,f,g;const i=Object.prototype.hasOwnProperty;return{title:"格式化",description:"",properties:{type:{description:"",title:"类型",type:"enum",$converter:"/converter/change-formatter.converter",refreshPanelAfterChanged:!0,editor:{data:{enum:[{id:"enum",name:"枚举"},{id:"none",name:"无"}],boolean:[{id:"boolean",name:"布尔"},{id:"none",name:"无"}],number:[{id:"number",name:"数字"},{id:"none",name:"无"}],date:[{id:"date",name:"日期"},{id:"none",name:"无"}],datetime:[{id:"date",name:"日期"},{id:"none",name:"无"}],string:[{id:"enum",name:"枚举"},{id:"date",name:"日期"},{id:"none",name:"无"}]}[t.dataType]}},trueText:{title:"布尔为true时文本",$converter:"/converter/change-formatter.converter",type:"string",visible:((r=t.formatter)==null?void 0:r.type)==="boolean",refreshPanelAfterChanged:!0,description:"布尔为true时文本"},falseText:{title:"布尔为false时文本",$converter:"/converter/change-formatter.converter",type:"string",visible:((a=t.formatter)==null?void 0:a.type)==="boolean",refreshPanelAfterChanged:!0,description:"布尔为false时文本"},prefix:{title:"前缀",$converter:"/converter/change-formatter.converter",type:"string",visible:((s=t.formatter)==null?void 0:s.type)==="number",refreshPanelAfterChanged:!0,description:"前缀"},suffix:{title:"后缀",$converter:"/converter/change-formatter.converter",type:"string",visible:((c=t.formatter)==null?void 0:c.type)==="number",refreshPanelAfterChanged:!0,description:"后缀"},precision:{title:"精度",$converter:"/converter/change-formatter.converter",type:"number",visible:((m=t.formatter)==null?void 0:m.type)==="number",refreshPanelAfterChanged:!0,description:"精度"},decimal:{title:"小数分隔符",$converter:"/converter/change-formatter.converter",type:"string",visible:((u=t.formatter)==null?void 0:u.type)==="number",refreshPanelAfterChanged:!0,description:"小数分隔符"},thousand:{title:"千分位",$converter:"/converter/change-formatter.converter",type:"string",visible:((d=t.formatter)==null?void 0:d.type)==="number",refreshPanelAfterChanged:!0,description:"千分位"},dateFormat:{title:"日期格式",$converter:"/converter/change-formatter.converter",visible:((f=t.formatter)==null?void 0:f.type)==="date"||((g=t.formatter)==null?void 0:g.type)==="datetime",refreshPanelAfterChanged:!0,description:"日期格式",type:"enum",editor:{data:[{id:"yyyy-MM-dd",name:"yyyy-MM-dd"},{id:"yyyy/MM/dd",name:"yyyy/MM/dd"},{id:"dd/MM/yyyy",name:"dd/MM/yyyy"},{id:"MM/dd/yyyy",name:"MM/dd/yyyy"},{id:"yyyyMMdd",name:"yyyyMMdd"},{id:"yyyy年MM月dd日",name:"yyyy年MM月dd日"},{id:"yyyy-MM",name:"yyyy-MM"},{id:"yyyy/MM",name:"yyyy/MM"},{id:"yyyyMM",name:"yyyyMM"},{id:"yyyy年MM月",name:"yyyy年MM月"},{id:"MM/dd",name:"MM/dd"},{id:"MMdd",name:"MMdd"},{id:"MM-dd",name:"MM-dd"},{id:"MM月dd日",name:"MM月dd日"},{id:"yyyy",name:"yyyy"},{id:"yyyy年",name:"yyyy年"},{id:"yyyy-MM-dd HH:mm:ss",name:"yyyy-MM-dd HH:mm:ss"},{id:"yyyy/MM/dd HH:mm:ss",name:"yyyy/MM/dd HH:mm:ss"},{id:"yyyyMMddHHmmss",name:"yyyyMMddHHmmss"},{id:"yyyy-MM-dd HH:mm",name:"yyyy-MM-dd HH:mm"},{id:"yyyy/MM/dd HH:mm",name:"yyyy/MM/dd HH:mm"},{id:"yyyyMMddHHmm",name:"yyyyMMddHHmm"},{id:"yyyy年MM月dd日 HH时mm分ss秒",name:"yyyy年MM月dd日 HH时mm分ss秒"},{id:"yyyy年MM月dd日 HH时mm分",name:"yyyy年MM月dd日 HH时mm分"}]}}},setPropertyRelates(p,y,T){var S;if(p)switch(p&&p.propertyID){case"type":{p.propertyValue!=="none"&&y.columnTemplate,p.propertyValue==="boolean"&&(i.call(y.formatter,"trueText")||(y.formatter.trueText="是"),i.call(y.formatter,"falseText")||(y.formatter.falseText="否")),p.propertyValue==="number"&&(i.call(y.formatter,"prefix")||(y.formatter.prefix=""),i.call(y.formatter,"suffix")||(y.formatter.suffix=""),i.call(y.formatter,"precision")||(y.formatter.precision=0),i.call(y.formatter,"decimal")||(y.formatter.decimal="."),i.call(y.formatter,"thousand")||(y.formatter.thousand=",")),p.propertyValue==="date"&&(i.call(y.formatter,"dateFormat")||(y.formatter.dateFormat="yyyy-MM-dd")),p.propertyValue==="enum"&&(i.call(y.formatter,"data")||(y.formatter.data=[],(S=y.formatterEnumData)!=null&&S.length&&(y.formatterEnumData=[])));break}}}}}getFieldEditorProp(t,i="gridFieldEditor",o=!1){const r=this.formMetadataConverter.getRealEditorType(t.editor.type);let a;switch(r){case"avatar":a=new mo(this.componentId,this.designerHostService);break;case"check-group":a=new po(this.componentId,this.designerHostService);break;case"check-box":a=new ho(this.componentId,this.designerHostService);break;case"combo-list":a=new go(this.componentId,this.designerHostService);break;case"date-picker":a=new _o(this.componentId,this.designerHostService);break;case"lookup":a=new Lo(this.componentId,this.designerHostService);break;case"number-range":a=new $o(this.componentId,this.designerHostService);break;case"number-spinner":a=new jo(this.componentId,this.designerHostService);break;case"radio-group":a=new Wo(this.componentId,this.designerHostService);break;case"switch":a=new zo(this.componentId,this.designerHostService);break;case"textarea":a=new yo(this.componentId,this.designerHostService);break;case"time-picker":a=new Go(this.componentId,this.designerHostService);break;case"language-textbox":a=new Uo(this.componentId,this.designerHostService);break;default:a=new co(this.componentId,this.designerHostService)}this.setDesignViewModelField(t);const s=this,{canChangeControlType:c,editorTypeList:m}=this.getAvailableEditorType(t);this.propertyConfig.categories[`${i}_editorType`]={description:"",title:"编辑器类型",propertyData:t.editor,tabId:"gridFieldEditor",tabName:"编辑器",properties:{type:{description:"",title:"编辑器类型",type:"enum",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",refreshPanelAfterChanged:!0,editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",data:m,readonly:!c}}},setPropertyRelates(f,g){if(f)switch(f&&f.propertyID){case"type":{s.changeFieldEditorType(t,f.propertyValue);break}}}};const u=["id","type","class","style","binding","label","responseLayout","visible","fill"],d=a.getGridFieldEdtiorPropConfig(t);Object.keys(d).map(f=>{const g=d[f],p={};if(Object.keys(g.properties).map(y=>{u.findIndex(T=>T===y)===-1&&g.properties[y]!==!1&&(p[y]=g.properties[y])}),Object.keys(p).length!==0){const y=g==null?void 0:g.title,T="gridFieldEditor",S="编辑器",C=g==null?void 0:g.description,F=(g==null?void 0:g.$converter)||"";s.propertyConfig.categories[i+"_"+f]={title:y,hide:Object.prototype.hasOwnProperty.call(g,"hide")?g.hide:!1,hideTitle:Object.prototype.hasOwnProperty.call(g,"hideTitle")?g.hideTitle:!1,tabId:g.tabId||T,tabName:g.tabName||S,description:C,$converter:F,parentPropertyID:"editor",propertyData:t,properties:p,setPropertyRelates:g==null?void 0:g.setPropertyRelates}}})}changeFieldEditorType(t,i){const o=this.designViewModelUtils.getDgViewModel(this.viewModelId);o.changeField(this.designViewModelField.id,{editor:{$type:i},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1);const r=this.formSchemaUtils.getComponentByViewModelId(this.viewModelId),a=this.formSchemaUtils.selectNode(r,d=>d.type===j.DgControl["data-grid"].type||d.type===j.DgControl["tree-grid"].type);if(!a)return;const s=o.fields.find(d=>d.id===this.designViewModelField.id),c=this.controlCreatorUtils.setGridFieldProperty(i,s,null,!0),m=Object.prototype.hasOwnProperty.call(a,"columns")?a.columns:a.fields,u=m.findIndex(d=>d.id===t.id);if(u>-1&&m[u].editor){const d={};["readonly","required","placeholder"].map(f=>{Object.prototype.hasOwnProperty.call(m[u].editor,f)&&(d[f]=m[u].editor[f])}),m[u].editor=Object.assign(c.editor,d)}Object.assign(m[u],{dataType:c.dataType},c.formatter?{formatter:c.formatter}:{}),!c.formatter&&m[u].formatter&&delete m[u].formatter}checkCanChangeControlType(t,i){return!(!t.binding||!this.designViewModelField||this.designViewModelField.$type!==X.FormSchemaEntityField$Type.SimpleField)}getAvailableEditorType(t){var r;const i=this.checkCanChangeControlType(t,this.viewModelId);if(!i)return{canChangeControlType:!1,editorTypeList:[{key:t.editor.type,value:((r=j.DgControl[t.editor.type])==null?void 0:r.name)||t.editor.type}]};let o=[];return this.designViewModelField&&this.designViewModelField.$type===X.FormSchemaEntityField$Type.SimpleField&&(o=rt.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage,t.type)),{canChangeControlType:i,editorTypeList:o}}afterChangeBindingType(t,i){!t||!i||(t.dataType=this.controlCreatorUtils.mapControlType2GridFieldType(i),this.controlCreatorUtils.setGridFieldFormatter(t.dataType,t,i))}}function qo(n,e,t){const i=n.schema,o=l.ref(!0),r=l.ref(!0);function a(f){return!1}function s(){return!1}function c(){return!1}function m(){return!0}function u(f){var y,T;const g=new Do(f,e),p=(y=n==null?void 0:n.parent)==null?void 0:y.schema;return p!=null&&p.groupFields&&p!=null&&p.groupFields.includes(i.field)&&(i.enableSummary=!0),g.getPropertyConfig(i,(T=n==null?void 0:n.parent)==null?void 0:T.schema)}function d(){var T,S;if(!e||!n)return;const{formSchemaUtils:f}=e;let g=ft["data-grid"].name;const p=f.getControlBasicInfoMap(),y=p.get((S=(T=n.parent)==null?void 0:T.schema)==null?void 0:S.id);y&&y.parentPathName&&(g=y.parentPathName),p.set(i.id,{showName:i.title,parentPathName:`${g} > ${i.title}`,reliedComponentId:y.reliedComponentId})}return{canAccepts:a,checkCanDeleteComponent:s,checkCanMoveComponent:c,hideNestedPaddingInDesginerView:m,triggerBelongedComponentToMoveWhenMoved:o,triggerBelongedComponentToDeleteWhenDeleted:r,getPropsConfig:u,setComponentBasicInfoMap:d}}var on=(n=>(n.SimpleField="SimpleField",n.ComplexField="ComplexField",n))(on||{});function Yo(n,e,t){function i(){const a=t.componentId;if(!a)return!1;const s=n.formSchemaUtils.getViewModelIdByComponentId(a);if(!s)return!1;const{schema:c}=e,{designViewModelUtils:m}=n,u=m.getDgViewModel(s),d=u==null?void 0:u.fields.find(f=>f.id===c.binding.field);return!(!d||d.$type!==on.SimpleField)}function o(){const{schema:a}=e;return!!n.formSchemaUtils.getVariableById(a.binding.field)}function r(){var c;const{schema:a}=e;let s=!0;if(!n||!((c=a.binding)!=null&&c.field))return s;switch(a.binding.type){case it.Form:{s=i();break}case it.Variable:s=o()}return s}return{checkBindingFieldValidation:r}}const ln=l.defineComponent({name:"FDataGridColumnDesign",props:Mt,emits:[],setup(n,e){const t=l.ref(),i=l.inject("designer-host-service"),o=l.inject("design-item-context");l.inject("data-grid-context");const r=qo(o,i),a=j.useDesignerComponent(t,o,r);l.onMounted(()=>{t.value.componentInstance=a}),e.expose(a.value);function s(d){var f;(f=o==null?void 0:o.setupContext)==null||f.emit("selectionChange",a.value.schema,o.schema,n.componentId,a.value)}const{checkBindingFieldValidation:c}=Yo(i,o,n),u=!l.inject("external-container-id");return()=>{var p;const d=u?c():!0,f="绑定信息已失效,请手动移除列",g=d?"":"color:red";return l.createVNode(l.Fragment,null,[d?"":l.createVNode("span",{class:"f-icon f-icon-warning mr-1",style:"color: red; min-width: 16px;",title:f},null),l.createVNode("span",{class:"fv-column-title",style:g,ref:t,onClick:y=>s()},[((p=n.editor)==null?void 0:p.required)===!0&&l.createVNode("span",{class:"text-danger"},[l.createTextVNode("*")]),n.title])])}}}),rn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid.schema.json",title:"data-grid",description:"A Farris Data Grid Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"data-grid"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},fit:{type:"boolean",default:!1},showStripe:{type:"boolean",default:!0},showBorder:{type:"boolean",default:!1},showSetting:{type:"boolean",default:!1},size:{description:"",type:"object",properties:{width:{type:"number"},height:{type:"number"}},default:null},dataSource:{description:"",type:"string",default:""},columns:{description:"",type:"array",default:[]},identifyField:{description:"",type:"string"},editable:{description:"",type:"boolean",default:!1},disabled:{description:"",type:"boolean",default:!1},visible:{description:"",type:"boolean",default:!0},fieldEditable:{description:"是否可编辑",type:"boolean",default:!1},cell:{type:"object",properties:{highlightFocusingCell:{description:"",type:"boolean",default:!1},mergeCell:{description:"",type:"boolean",default:!1},showEditableIcon:{description:"",type:"boolean",default:!1}}},column:{type:"object",properties:{fitColumns:{description:"",type:"boolean",default:!1},fitMode:{description:"",type:"string",default:"average"},groups:{description:"",type:"array",default:[]},reorderColumn:{description:"Enable to drag column to reorder",type:"boolean",default:!1},resizeColumn:{type:"boolean",default:!0},resizeColumnOnDoubleClick:{description:"",type:"boolean",default:!0}}},command:{type:"object",properties:{enableType:{type:"string",default:"unable"},enable:{description:"",type:"boolean",default:!1},commands:{type:"array",default:[]},formatter:{description:"自定义操作列模板",type:"string",default:""},commandColumnWidth:{description:"",type:"number",default:120},onClickDeleteCommand:{description:"",type:"string",default:""},onClickEditCommand:{description:"",type:"string",default:""},onHandleAction:{description:"",type:"string",default:""},count:{description:"",type:"number",default:2}}},contextMenu:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1}}},customizaiton:{type:"object",properties:{enableScheme:{description:"",type:"boolean",default:!1},enableSetting:{description:"",type:"boolean",default:!1}}},edit:{type:"object",properties:{mode:{description:"",type:"string",default:"cell",enum:["cell","row","card"]},selectOnEditing:{description:"",type:"boolean",default:!1},onAppendRow:{description:"",type:"string",default:""},onBeforeEdit:{description:"",type:"string",default:""}}},filter:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},filterStyle:{description:"",type:"string",default:"filter-column",enum:["filter-column","filter-row"]},mode:{description:"",type:"string",default:"server",enum:["client","server"]},showSummary:{description:"",type:"boolean",default:!1},onFilterChange:{description:"",type:"string",default:""}}},footer:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customFooterStyle:{description:"",type:"object"},footerDataCommand:{description:"",type:"string",default:""},footerDataFrom:{description:"",type:"string",default:"client"},footerHeight:{description:"",type:"number",default:29},footerPosition:{description:"",type:"string",default:"bottom"},footerTemplate:{description:"",type:"string",default:""}}},group:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customGroupRow:{description:"",type:"object"},customGroupRowStyle:{description:"",type:"object"},customSummaryStyle:{description:"",type:"object"},groupColSpan:{description:"",type:"number",default:1},groupFields:{description:"",type:"array",default:[]},showGroupedColumn:{description:"",type:"boolean",default:!0},showGroupPanel:{description:"",type:"boolean",default:!1},showSummary:{description:"",type:"boolean",default:!1},summaryPosition:{description:"",type:"string",default:"separate",enum:["separate","merge-to-group"]},disableGroupOnEditing:{description:"",type:"boolean",default:!0},expandGroupRows:{description:"",type:"boolean",default:!0}}},header:{type:"object",properties:{wrapHeadings:{description:"",type:"boolean",default:!1}}},pagination:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},disablePagination:{description:"",type:"string",default:""},contentTemplate:{description:"",type:"string",default:""},index:{description:"",type:"number",default:1},mode:{description:"",type:"enum",default:"server",enum:["server","client"]},showGoto:{description:"",type:"boolean",default:!1},showIndex:{description:"",type:"boolean",default:!0},showLimits:{description:"",type:"boolean",default:!1},showPageInfo:{description:"",type:"boolean",default:!0},size:{description:"",type:"number",default:20},sizeLimits:{description:"",type:"array",default:[10,20,30,50,100]},onPageChange:{description:"",type:"string",default:""},onPageSizeChange:{description:"",type:"string",default:""}}},rowOption:{type:"object",properties:{customRowStyle:{description:"",type:"string",default:""},customCellStyle:{description:"",type:"string",default:""},disable:{description:"",type:"object"},height:{description:"",type:"number",default:30},showHovering:{type:"boolean",default:!0},wrapContent:{type:"boolean",default:!1}}},rowNumber:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!0},heading:{description:"",type:"string",default:"序号"},width:{description:"",type:"number",default:36},showEllipsis:{description:"",type:"boolean",default:!0}}},onClickRow:{description:"行点击事件",type:"string",default:""},onSelectionChange:{description:"行切换事件",type:"string",default:""},onPageIndexChanged:{description:"切换页码事件",type:"string",default:""},onPageSizeChanged:{description:"分页条数变化事件",type:"string",default:""},selection:{type:"object",properties:{enableSelectRow:{description:"允许选中行",type:"boolean",default:!0},enable:{description:"",type:"boolean",default:!0},checkOnSelect:{description:"",type:"boolean",default:!1},clearSelectionOnEmpty:{description:"",type:"boolean",default:!0},customSelectionItem:{description:"",type:"object"},focusSelection:{description:"",type:"string",default:"current",enum:["current","all"]},keepSelectingOnClick:{description:"",type:"boolean",default:!0},keepSelectingOnPaging:{description:"",type:"boolean",default:!0},multiSelect:{description:"",type:"boolean",default:!1},selectionMode:{description:"",type:"string",default:"default"},selectOnCheck:{description:"",type:"boolean",default:!1},selectOnEditing:{description:"",type:"boolean",default:!1},showCheckbox:{description:"",type:"boolean",default:!1},showSelectAll:{description:"",type:"boolean",default:!1},showSelection:{description:"",type:"boolean",default:!1},multiSelectMode:{description:"多选模式",type:"string",default:"DependOnCheck"},onBeforeSelect:{description:"",type:"string",default:""},onBeforeUnCheck:{description:"",type:"",default:""},onBeforeUnSelect:{description:"",type:"string",default:""},onCheckAll:{description:"",type:"string",default:""},onChecked:{description:"",type:"string",default:""},onSelectionChange:{description:"",type:"string",default:""},onUnCheckAll:{description:"",type:"string",default:""},onUnChecked:{description:"",type:"string",default:""},onCheckedChange:{description:"",type:"string"}}},sort:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},fields:{description:"",type:"array",default:[]},mode:{description:"",type:"enum",default:"client"},multiSort:{description:"",type:"boolean",default:!0}}},summary:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customSummaryStyle:{description:"",type:"object"},groupFields:{description:"",type:"array",default:[]},mode:{description:"",type:"string",default:"client",enum:["client","server"]},position:{description:"",type:"boolean",default:"bottom",enum:["bottom","top","both"]}}},toolbar:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1}}},visualization:{autoHeight:{description:"",type:"boolean",default:!1},emptyDataHeight:{description:"",type:"number",default:36},emptyTemplate:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:300},scrollBarShowMode:{description:"",type:"string",default:"auto"},showBorder:{description:"",type:"boolean",default:!1},showScrollArrow:{description:"",type:"boolean",default:!1},striped:{description:"",type:"boolean",default:!0},useBlankWhenDataIsEmpty:{description:"",type:"boolean",default:!1}},emptyTemplate:{description:"",type:"string",default:""},beforeUpdate:{description:"",type:"string",default:""}},required:["id","type","columns"],events:{onClickRow:"行点击事件",onSelectionChange:"行切换事件",onDoubleClickRow:"行双击事件",onPageIndexChanged:"切换页码事件",onPageSizeChanged:"分页条数变化事件",onClickEditCommand:"操作列编辑事件",onClickDeleteCommand:"操作列删除事件",onFilterChanged:"过滤事件",onSortChanged:"排序事件",onSelectItem:"选中行事件",onUnSelectItem:"取消选中行事件",onSelectAll:"全选事件",onUnSelectAll:"取消全选事件",onEndEditCell:"单元格结束编辑事件"}};function Xo(){function n(e,t){const i={};return i.beforeEditCell=o=>t.call("beforeEditCell",e,[o,e]),i.beforeUpdate=o=>t.call("beforeUpdate",e,[o,e]),i}return{resolve:n}}const an=Ge.getPropsResolverGenerator(Je.dataGridProps,rn,mt,pt),sn=Ge.createPropsResolver(Je.dataGridProps,rn,mt,pt),dn=Ge.createCollectionBindingResolver(),cn=Ge.createDataGridSelectionItemResolver(),un=Ge.createDataViewUpdateColumnsResolver(),fn=Xo();Qe.install=n=>{n.component(Qe.name,Qe)},Qe.register=(n,e,t,i,o)=>{n["data-grid"]=Je,e["data-grid"]=an(o),n["grid-field-editor"]=eo,e["grid-field-editor"]=$i(o),i["data-grid"]={bindingResolver:dn,selectionItemResolver:cn,updateColumnsResolver:un,callbackResolver:fn}},Qe.registerDesigner=(n,e,t)=>{n["data-grid"]=Qe,e["data-grid"]=sn,e["data-grid-column"]=io,n["data-grid-column"]=ln,e["tree-grid-column"]=oo,n["tree-grid-column"]=ln};const Zo=X.withInstall(Qe);re.FDataGridDesign=Qe,re.bindingResolver=dn,re.callbackResolver=fn,re.default=Zo,re.getColumnHeader=At,re.propsResolver=sn,re.propsResolverGenerator=an,re.selectionItemResolver=cn,re.updateColumnsResolver=un,Object.defineProperties(re,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});