@farris/ui-vue 1.7.0-beta.3 → 1.7.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/components/avatar/index.esm.js +10 -1
  2. package/components/avatar/index.umd.cjs +1 -1
  3. package/components/calendar/index.esm.js +178 -176
  4. package/components/calendar/index.umd.cjs +2 -2
  5. package/components/collection-property-editor/index.esm.js +48 -46
  6. package/components/collection-property-editor/index.umd.cjs +2 -2
  7. package/components/combo-list/index.esm.js +319 -300
  8. package/components/combo-list/index.umd.cjs +1 -1
  9. package/components/comment/index.esm.js +2287 -1161
  10. package/components/comment/index.umd.cjs +7 -7
  11. package/components/component/index.esm.js +3 -1
  12. package/components/component/index.umd.cjs +2 -2
  13. package/components/condition/index.esm.js +926 -901
  14. package/components/condition/index.umd.cjs +2 -2
  15. package/components/data-view/index.esm.js +898 -899
  16. package/components/data-view/index.umd.cjs +1 -1
  17. package/components/drawer/index.esm.js +3 -1
  18. package/components/drawer/index.umd.cjs +2 -2
  19. package/components/dynamic-form/index.esm.js +239 -221
  20. package/components/dynamic-form/index.umd.cjs +1 -1
  21. package/components/dynamic-resolver/index.esm.js +11 -9
  22. package/components/dynamic-resolver/index.umd.cjs +2 -2
  23. package/components/expression-editor/index.esm.js +1299 -1279
  24. package/components/expression-editor/index.umd.cjs +4 -4
  25. package/components/filter-bar/index.esm.js +731 -678
  26. package/components/filter-bar/index.umd.cjs +2 -2
  27. package/components/filter-condition-editor/index.esm.js +1792 -1772
  28. package/components/filter-condition-editor/index.umd.cjs +4 -4
  29. package/components/image/index.esm.js +246 -240
  30. package/components/image/index.umd.cjs +2 -2
  31. package/components/language-textbox/index.esm.js +9 -7
  32. package/components/language-textbox/index.umd.cjs +2 -2
  33. package/components/list-view/index.esm.js +1 -1
  34. package/components/list-view/index.umd.cjs +1 -1
  35. package/components/locale/index.esm.js +2009 -886
  36. package/components/locale/index.umd.cjs +6 -6
  37. package/components/number-range/index.esm.js +190 -181
  38. package/components/number-range/index.umd.cjs +1 -1
  39. package/components/order/index.esm.js +734 -714
  40. package/components/order/index.umd.cjs +5 -5
  41. package/components/property-panel/index.esm.js +60 -49
  42. package/components/property-panel/index.umd.cjs +3 -3
  43. package/components/query-solution/index.esm.js +2461 -2500
  44. package/components/query-solution/index.umd.cjs +6 -6
  45. package/components/radio-group/index.esm.js +30 -30
  46. package/components/radio-group/index.umd.cjs +1 -1
  47. package/components/schema-selector/index.esm.js +238 -238
  48. package/components/schema-selector/index.umd.cjs +4 -4
  49. package/components/section/index.esm.js +217 -302
  50. package/components/section/index.umd.cjs +2 -2
  51. package/components/sort-condition-editor/index.esm.js +1793 -1773
  52. package/components/sort-condition-editor/index.umd.cjs +4 -4
  53. package/components/transfer/index.esm.js +155 -155
  54. package/components/transfer/index.umd.cjs +3 -3
  55. package/designer/data-grid/index.esm.js +895 -867
  56. package/designer/data-grid/index.umd.cjs +5 -5
  57. package/designer/data-view/index.esm.js +145 -144
  58. package/designer/data-view/index.umd.cjs +2 -2
  59. package/designer/drawer/index.esm.js +73 -71
  60. package/designer/drawer/index.umd.cjs +2 -2
  61. package/designer/dynamic-form/index.esm.js +87 -65
  62. package/designer/dynamic-form/index.umd.cjs +2 -2
  63. package/designer/farris-designer.all.esm.js +14 -3
  64. package/designer/farris-designer.all.umd.cjs +3 -3
  65. package/designer/input-group/index.esm.js +34 -14
  66. package/designer/input-group/index.umd.cjs +1 -1
  67. package/designer/list-view/index.esm.js +1 -1
  68. package/designer/list-view/index.umd.cjs +1 -1
  69. package/designer/radio-group/index.esm.js +15 -2
  70. package/designer/radio-group/index.umd.cjs +1 -1
  71. package/designer/section/index.esm.js +129 -119
  72. package/designer/section/index.umd.cjs +1 -1
  73. package/designer/time-picker/index.esm.js +140 -131
  74. package/designer/time-picker/index.umd.cjs +1 -1
  75. package/farris.all.esm.js +13578 -12394
  76. package/farris.all.umd.cjs +26 -26
  77. package/index.css +1 -1
  78. package/locales/data-grid/ui/en.json +2 -1
  79. package/locales/data-grid/ui/zh-CHS.json +2 -1
  80. package/locales/data-grid/ui/zh-CHT.json +2 -1
  81. package/locales/designer/en.json +12 -10
  82. package/locales/designer/zh-CHS.json +19 -17
  83. package/locales/designer/zh-CHT.json +19 -17
  84. package/locales/ui/en.json +4 -2
  85. package/locales/ui/zh-CHS.json +11 -9
  86. package/locales/ui/zh-CHT.json +11 -9
  87. package/package.json +1 -1
  88. package/package.zip +0 -0
  89. package/types/combo-list/src/composition/types.d.ts +1 -0
  90. package/types/condition/src/composition/condition-value/number-spinner-value.d.ts +1 -1
  91. package/types/condition/src/composition/use-field-config.d.ts +1 -1
  92. package/types/condition/src/condition.props.d.ts +1 -1
  93. package/types/data-view/designer/property-config/use-command-option.d.ts +12 -0
  94. package/types/image/src/property-config/image.property-config.d.ts +5 -5
  95. package/types/locale/src/lib/locale.service.d.ts +2 -2
  96. package/types/property-panel/src/composition/entity/input-base-property.d.ts +7 -0
  97. package/types/query-solution/src/designer/query-solution-config/composition/use-util.d.ts +0 -20
  98. package/types/section/src/designer/section.design.props.d.ts +17 -0
  99. package/types/section/src/section.props.d.ts +0 -25
@@ -1,6 +1,6 @@
1
- (function(de,D){typeof exports=="object"&&typeof module<"u"?D(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/filter-bar/index.umd.js"),require("../../components/pagination/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/data-view/index.umd.js"),require("../../components/field-selector/index.umd.js"),require("../../components/accordion/index.umd.js"),require("../../components/avatar/index.umd.js"),require("../button-edit/index.umd.js"),require("../../components/calendar/index.umd.js"),require("../capsule/index.umd.js"),require("../checkbox/index.umd.js"),require("../checkbox-group/index.umd.js"),require("../../components/combo-list/index.umd.js"),require("../../components/combo-tree/index.umd.js"),require("../../components/component/index.umd.js"),require("../../components/color-picker/index.umd.js"),require("../../components/content-container/index.umd.js"),require("../date-picker/index.umd.js"),require("../data-grid/index.umd.js"),require("../../components/dropdown/index.umd.js"),require("../dynamic-form/index.umd.js"),require("../../components/events-editor/index.umd.js"),require("../../components/binding-selector/index.umd.js"),require("../../components/image-cropper/index.umd.js"),require("../input-group/index.umd.js"),require("../../components/layout/index.umd.js"),require("../../components/list-nav/index.umd.js"),require("../list-view/index.umd.js"),require("../../components/lookup/index.umd.js"),require("../../components/mapping-editor/index.umd.js"),require("../../components/nav/index.umd.js"),require("../../components/number-range/index.umd.js"),require("../number-spinner/index.umd.js"),require("../../components/order/index.umd.js"),require("../../components/page-header/index.umd.js"),require("../../components/page-footer/index.umd.js"),require("../../components/progress/index.umd.js"),require("../../components/query-solution/index.umd.js"),require("../radio-group/index.umd.js"),require("../rate/index.umd.js"),require("../response-toolbar/index.umd.js"),require("../../components/response-layout/index.umd.js"),require("../response-layout-editor/index.umd.js"),require("../section/index.umd.js"),require("../../components/smoke-detector/index.umd.js"),require("../../components/splitter/index.umd.js"),require("../../components/step/index.umd.js"),require("../switch/index.umd.js"),require("../tabs/index.umd.js"),require("../tags/index.umd.js"),require("../../components/text/index.umd.js"),require("../time-picker/index.umd.js"),require("../../components/uploader/index.umd.js"),require("../../components/verify-detail/index.umd.js"),require("../../components/video/index.umd.js"),require("../textarea/index.umd.js"),require("../../components/schema-selector/index.umd.js"),require("../tree-grid/index.umd.js"),require("../../components/event-parameter/index.umd.js"),require("../../components/filter-condition-editor/index.umd.js"),require("../../components/fieldset/index.umd.js"),require("../../components/sort-condition-editor/index.umd.js"),require("../../components/menu-lookup/index.umd.js"),require("../drawer/index.umd.js"),require("../../components/json-editor/index.umd.js"),require("../../components/property-editor/index.umd.js"),require("../../components/expression-editor/index.umd.js"),require("../../components/code-editor/index.umd.js"),require("../../components/html-template/index.umd.js"),require("../../components/collection-property-editor/index.umd.js"),require("../modal/index.umd.js"),require("../../components/external-container/index.umd.js"),require("../../components/language-textbox/index.umd.js"),require("../../components/image/index.umd.js"),require("../../components/comment/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/filter-bar/index.umd.js","../../components/pagination/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/data-view/index.umd.js","../../components/field-selector/index.umd.js","../../components/accordion/index.umd.js","../../components/avatar/index.umd.js","../button-edit/index.umd.js","../../components/calendar/index.umd.js","../capsule/index.umd.js","../checkbox/index.umd.js","../checkbox-group/index.umd.js","../../components/combo-list/index.umd.js","../../components/combo-tree/index.umd.js","../../components/component/index.umd.js","../../components/color-picker/index.umd.js","../../components/content-container/index.umd.js","../date-picker/index.umd.js","../data-grid/index.umd.js","../../components/dropdown/index.umd.js","../dynamic-form/index.umd.js","../../components/events-editor/index.umd.js","../../components/binding-selector/index.umd.js","../../components/image-cropper/index.umd.js","../input-group/index.umd.js","../../components/layout/index.umd.js","../../components/list-nav/index.umd.js","../list-view/index.umd.js","../../components/lookup/index.umd.js","../../components/mapping-editor/index.umd.js","../../components/nav/index.umd.js","../../components/number-range/index.umd.js","../number-spinner/index.umd.js","../../components/order/index.umd.js","../../components/page-header/index.umd.js","../../components/page-footer/index.umd.js","../../components/progress/index.umd.js","../../components/query-solution/index.umd.js","../radio-group/index.umd.js","../rate/index.umd.js","../response-toolbar/index.umd.js","../../components/response-layout/index.umd.js","../response-layout-editor/index.umd.js","../section/index.umd.js","../../components/smoke-detector/index.umd.js","../../components/splitter/index.umd.js","../../components/step/index.umd.js","../switch/index.umd.js","../tabs/index.umd.js","../tags/index.umd.js","../../components/text/index.umd.js","../time-picker/index.umd.js","../../components/uploader/index.umd.js","../../components/verify-detail/index.umd.js","../../components/video/index.umd.js","../textarea/index.umd.js","../../components/schema-selector/index.umd.js","../tree-grid/index.umd.js","../../components/event-parameter/index.umd.js","../../components/filter-condition-editor/index.umd.js","../../components/fieldset/index.umd.js","../../components/sort-condition-editor/index.umd.js","../../components/menu-lookup/index.umd.js","../drawer/index.umd.js","../../components/json-editor/index.umd.js","../../components/property-editor/index.umd.js","../../components/expression-editor/index.umd.js","../../components/code-editor/index.umd.js","../../components/html-template/index.umd.js","../../components/collection-property-editor/index.umd.js","../modal/index.umd.js","../../components/external-container/index.umd.js","../../components/language-textbox/index.umd.js","../../components/image/index.umd.js","../../components/comment/index.umd.js"],D):(de=typeof globalThis<"u"?globalThis:de||self,D(de["data-grid"]={},de.common,de.FDataGrid,de.dynamicResolver,de.Vue,de.VueUseCore,de.checkbox,de.FPopover,de.locale,null,de.LodashES,null,null,null,null,de.FButton,de.FButtonGroup,null,null,null,null,de.notify,de.condition,de.dynamicForm,de.designerCanvas,de.designer$1,de.propertyPanel,de.FTags,de.FTreeView,de.dataView,de.FFieldSelector))})(this,function(de,D,nt,ze,r,cn,wt,un,je,Pr,Re,Nr,Br,Or,jr,It,fn,Rr,Ar,Hr,Lr,St,fe,mn,A,We,He,pn,hn,_e,gt){"use strict";var Er=Object.defineProperty;var Ir=(de,D,nt)=>D in de?Er(de,D,{enumerable:!0,configurable:!0,writable:!0,value:nt}):de[D]=nt;var ie=(de,D,nt)=>Ir(de,typeof D!="symbol"?D+"":D,nt);const gn={customClass:{type:String,default:""},appendOnEnterAtLastCell:{type:Boolean,default:!1},beforeEditCell:{type:Function,default:t=>!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}},yn=D.excludeProperties(Object.assign({},gn,{disabled:{},editable:{},componentId:{type:String,default:""}}),"columnOption","commandOption");function vn(t,e,n,i,o){const{getGridHeaderCells:l}=o,a=120,s=50,f=r.computed(()=>{var h;return((h=t.rowNumber)==null?void 0:h.enable)||!1}),u=r.computed(()=>{var h,b;return((h=t.selection)==null?void 0:h.multiSelect)||((b=t.selection)==null?void 0:b.showCheckbox)||!1}),m=r.computed(()=>{var h;return 0+(f.value?((h=t.rowNumber)==null?void 0:h.width)||32:0)+(u.value?s:0)}),d=r.computed(()=>{var h;return(h=t.columnOption)==null?void 0:h.fitColumns}),c=r.computed(()=>{var h;return d.value&&((h=t.columnOption)==null?void 0:h.fitMode)||"none"});function g(h,b,S){const P=parseInt(h.width,10)/100;return S*P}function p(h,b,S){return typeof h.width=="string"?g(h,b,S):h.width||a}function y(h,b){const S=[],P=[];let B=0;h.value.primaryColumns.forEach(k=>{typeof k.width=="string"?P.push(k):(k.width=k.width||a,B+=k.width,S.push(k))});const E=b*(S.length/h.value.primaryColumns.length);S.forEach(k=>{const T=E*(k.width/B);k.actualWidth=T,h.value.primaryColumnsWidth+=k.actualWidth});const N=b-E;P.forEach(k=>{const T=g(k,h.value,N);k.actualWidth=T,h.value.primaryColumnsWidth+=k.actualWidth})}function w(h,b){const S=[],P=[],B=new WeakMap;let E=0,N=0;if(h.value.primaryColumns.forEach(T=>{if(typeof T.width=="string"){const V=g(T,h.value,b);B.set(T,V),E+=V,P.push(T)}else T.width=T.width||a,N+=T.width,S.push(T)}),b-E>N){const T=b-E;P.forEach(V=>{V.actualWidth=B.get(V)||a,h.value.primaryColumnsWidth+=V.actualWidth}),S.forEach(V=>{V.actualWidth=T*(V.width/N),h.value.primaryColumnsWidth+=V.actualWidth})}else y(h,b)}function F(h,b){h.value.primaryColumns.forEach(S=>{S.actualWidth=p(S,h.value,b),h.value.primaryColumnsWidth+=S.actualWidth})}const x={expand:w,none:F,percentage:y};function M(h){h.value.leftHeaderColumns=Array.from(l(h.value.leftColumns).values()),h.value.primaryHeaderColumns=Array.from(l(h.value.primaryColumns).values()),h.value.rightHeaderColumns=Array.from(l(h.value.rightColumns).values())}function _(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,S){var V;let P=0;const B=h.value.primaryColumns,E=h.value.rightColumns;h.value.rightColumns.forEach(H=>{H.actualWidth=p(H,h.value,b),P+=H.actualWidth});const N=S-P,k=x[c.value];if(k&&k(h,N),h.value.primaryColumnsWidth+P<=S)return h.value.primaryColumns=[...B,...E],h.value.primaryColumnsWidth+=P,h.value.rightColumns=[],h.value.rightColumnsWidth=0,!0;const T=new Map;return T.set("primary",[]),T.set("right",[]),h.value.primaryColumns.reduce((H,I)=>{var R,q;return I.fixed==="right"?(R=H.get("right"))==null||R.push(I):(q=H.get("primary"))==null||q.push(I),H},T),(V=T.get("right"))!=null&&V.length&&(h.value.primaryColumns=[...T.get("primary")||[]],h.value.rightColumns=[...T.get("right")||[]]),h.value.primaryColumnsWidth=0,h.value.rightColumnsWidth=0,!1}function C(){if(n.value){e.value.leftColumnsWidth=0,e.value.primaryColumnsWidth=0,e.value.rightColumnsWidth=0;const h=n.value.clientWidth-m.value;e.value.leftColumns.forEach(S=>{S.actualWidth=p(S,e.value,h),e.value.leftColumnsWidth+=S.actualWidth});const b=h-e.value.leftColumnsWidth;if(v(e,h,b))i.value=b;else{e.value.rightColumns.forEach(B=>{B.actualWidth=p(B,e.value,h),e.value.rightColumnsWidth+=B.actualWidth});const S=h-e.value.leftColumnsWidth-e.value.rightColumnsWidth,P=x[c.value];P&&P(e,S),i.value=S}M(e),e.value=Object.assign({},e.value)}}return r.watch(()=>{var h;return(h=t.columnOption)==null?void 0:h.fitColumns},(h,b)=>{h!==b&&h&&C()}),r.watch(c,(h,b)=>{h!==b&&d.value&&C()}),{calculateColumnHeaders:M,calculateColumnsSize:C,calculateColumnsWidth:_}}const bn="";function Cn(t){const n={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=r.ref(n);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 l=r.ref(t.summary),a=r.computed(()=>{const v=l.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,C=i.value.primaryColumns;v.length>0?v[v.length-1].showSetting=!0:C.length>0&&(C[C.length-1].showSetting=!0)}function f(v){o();const C=new Map;return a.value&&a.value.reduce((h,b)=>(h.set(b,!0),h),C),v.reduce((h,b)=>(b.filter=b.filter||bn,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),C.has(b.field)&&i.value.summaryColumns.push(b),h),i),s(),i}f(t.columns);const u=r.computed(()=>i.value.leftColumns.length>0),m=r.computed(()=>i.value.rightColumns.length>0);function d(v,C){return C.sortable&&C.sort&&C.sort!=="none"&&v.push(C),v}function c(v,C){return v.sortOrder=v.sortOrder||0,C.sortOrder=C.sortOrder||0,v.sortOrder===C.sortOrder?0:v.sortOrder<C.sortOrder?-1:1}function g(v,C){return v.sortOrder=v.sortOrder||0,C.sortOrder=C.sortOrder||0,v.sortOrder===C.sortOrder?0:v.sortOrder<C.sortOrder?1:-1}function p(v,C){return C.filterable&&v.push(C),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 w(){const v=[];i.value.leftColumns.reduce(d,v),i.value.primaryColumns.reduce(d,v),i.value.rightColumns.reduce(d,v);const C=Math.max(...v.map(h=>h.sortOrder||0));return v.sort(g).map(h=>{const b=h.sortOrder||C+1;return h.sortOrder=b,h}).sort(c).map((h,b)=>{const S=b+1;return h.sortOrder=S,h})}function F(v,C,h){const b=v.map(S=>{const P=h.getSorterByColumn(S),B=S.sort==="asc",E=S.sort==="desc",N=B?P.ascend:E?P.decend:void 0;return{field:S.field,compare:N}});C.setSorters(b)}function x(v,C){const h=w();F(h,v,C)}function M(v){}function _(v){}return{applyColumnSorter:x,collectionFilterableColumns:y,applySortableColumns:F,collectionSortableColumns:w,columnContext:i,hasLeftFixedColumn:u,hasRightFixedColumn:m,updateColumnRenderContext:f,updateColumnSettingIcon:s,sortFromServer:M,createSortConditions:_}}function wn(t,e,n,i,o,l,a,s){const f=r.ref(i.value-1+o),u=r.ref(0),{renderDataRow:m}=l,d=a?a.renderGroupRow:m,c=s?s.renderSummaryRow:m;function g(w){let F=m;return w.__fv_data_grid_group_row__&&(F=d),w.__fv_data_grid_group_summary__&&(F=c),F}function p(w,F,x,M){const{dataView:_}=n,v=[];if(_.value.length>0){const C=M?Date.now().toString():"";let h=w,b=0;const S=F-w+1;for(;v.length<S&&h<_.value.length;){const P=_.value[h],B=_.value[h-1]||x,E=v[b-1],N=B?(B.__fv_data_position__||0)+(B.__fv_data_height__||0):0,T=g(P)(P,B,E,h,N,e.value,v);T.refreshKey=C,v.push(T),b++,h++}}return u.value=v.length>0?v[0].index:0,f.value=v.length>0?v[v.length-1].index:0,v}function y(w,F,x){const M=F.groupField||"",{groupValue:_,raw:v}=F;n[w](M,_,v.groupParents||[]);const{dataView:C}=n,h=x[0].index,b=Math.min(h+i.value+o+1,C.value.length-1);return p(h,b)}return{getVisualData:p,maxVisibleRowIndex:f,minVisibleRowIndex:u,toggleGroupRow:y}}var Ee=(t=>(t[t.readonly=0]="readonly",t[t.editable=1]="editable",t[t.editing=2]="editing",t))(Ee||{}),qe=(t=>(t[t.initial=0]="initial",t[t.editing=1]="editing",t))(qe||{}),it=(t=>(t[t.data=0]="data",t[t.group=1]="group",t[t.summary=2]="summary",t))(it||{}),Pe=(t=>(t[t.none=0]="none",t[t.filterable=1]="filterable",t[t.sortable=2]="sortable",t[t.filtered=4]="filtered",t[t.sorted=8]="sorted",t[t.ascending=16]="ascending",t[t.descending=32]="descending",t))(Pe||{}),Ge=(t=>(t.DATE="date",t.DATE_TIME="datetime",t.NUMBER="number",t.ENUM="enum",t.IMAGE="image",t.BOOLEAN="boolean",t.BOOLEAN2="boolean2",t.TIMEAGO="timeago",t.NONE="none",t.CUSTOM="custom",t.MULTI_LINGUAL="multilingual",t))(Ge||{});const Sn="__setting__",Pt="__command__",xn=150,Mn="right",Nt="commands";function Fn(t,e,n){const{horizontalScrollThumbStyle:i,onMouseDownScrollThumb:o,shouldShowHorizontalScrollbar:l}=n;function a(){return l.value&&r.createVNode("div",{class:"fv-grid-horizontal-scroll"},[r.createVNode("div",{class:"fv-grid-horizontal-scroll-thumb",style:i.value,onMousedown:s=>o(s,e,"horizontal")},null)])}return{renderHorizontalScrollbar:a}}function Tn(t){function e(s,f){switch(s.command){case"edit":case"remove":return f.status===qe.initial;case"accept":case"cancel":return f.status===qe.editing;default:return!s.hidden}}function n(s,f,u,m){var d,c,g,p,y;switch((d=s.onClick)==null||d.call(s,f,u.dataIndex,u),s.command){case"edit":u.status,qe.editing,(g=(c=t.commandOption)==null?void 0:c.onClickEditCommand)==null||g.call(c,m,u,s,f);break;case"accept":case"cancel":u.status,qe.initial;break;case"remove":(y=(p=t.commandOption)==null?void 0:p.onClickDeleteCommand)==null||y.call(p,m,u,s,f);break}}function i(s){return s==="编辑"?je.LocaleService.getLocaleValue("datagrid.commandColumn.edit"):s==="确定"?je.LocaleService.getLocaleValue("datagrid.commandColumn.accept"):s==="取消"?je.LocaleService.getLocaleValue("datagrid.commandColumn.cancel"):s==="删除"?je.LocaleService.getLocaleValue("datagrid.commandColumn.remove"):s}function o(s,f){const{column:u}=s;return u.commands&&u.commands.map((m,d)=>d?e(m,f)&&r.createVNode(It,{class:"ml-1",type:m.type,size:m.size||"small",onClick:c=>n(m,c,f,s),style:{"margin-bottom":"3px"}},{default:()=>[r.createTextVNode(" "),i(m.text),r.createTextVNode(" ")]}):e(m,f)&&r.createVNode(It,{type:m.type,size:m.size||"small",onClick:c=>n(m,c,f,s),style:{"margin-bottom":"3px"}},{default:()=>[r.createTextVNode(" "),i(m.text),r.createTextVNode(" ")]}))}function l(s,f,u,m){var d,c;(d=f.onClick)==null||d.call(f,s,u.dataIndex,u),(c=t.commandOption)==null||c.onHandleAction(m,u,f,s)}function a(s,f){var d;const{column:u}=s;return((d=u==null?void 0:u.commands)==null?void 0:d.find(c=>c.command))?o(s,f):r.createVNode(fn,{data:u.commands,count:1,size:"small",placement:"auto",onClick:c=>{l(c.payload,c.button,f,s)}},null)}return{renderCommandColumn:a}}function _n(t){const e=r.ref(t.minHeight),n=r.ref(t.minWidth),i=r.ref(t.height),o=r.ref(t.width),l=r.computed(()=>i.value<=0?0:Math.max(i.value,e.value)),a=r.computed(()=>o.value<=0?0:Math.max(o.value,n.value));return r.watch([()=>t.height,()=>t.width,()=>t.minHeight,()=>t.minWidth],([f,u,m,d])=>{e.value=Number(m),n.value=Number(d),i.value=Number(f),o.value=Number(u)}),{containerStyleObject:r.computed(()=>({height:l.value>0?`${l.value}px`:t.fit?"100%":"",width:a.value>0?`${a.value}px`:t.fit?"100%":"",flex:"1 1 0"}))}}function kn(t){var l,a;const e=r.ref(((l=t.commandOption)==null?void 0:l.enable)||!1),n=r.ref(((a=t.commandOption)==null?void 0:a.commands)||[]),i=r.computed(()=>je.LocaleService.getLocaleValue("datagrid.commandColumn.title"));function o(s){var f;if(e.value&&!(s.value.findIndex(m=>m.dataType===Nt)>-1)){const m={field:Pt,title:i.value,width:xn,fixed:Mn,dataType:Nt,commands:n.value,resizable:!1,halign:((f=t.commandOption)==null?void 0:f.halign)||"left",visible:!0};t.commandOption.formatter&&typeof t.commandOption.formatter!="function"&&(m.formatter=(d,c)=>t.commandOption.formatter(d,c)),s.value.push(m)}}return{applyCommands:o}}function Vn(t,e){var u;const n=r.ref((u=t.columnOption)==null?void 0:u.groups);function i(m,d,c,g,p){const y={actualWidth:0,children:[],depth:1,field:m.field,layer:1,left:0,parent:c,resizable:!0,title:m.title||"",status:Pe.none,popoverRef:r.ref(),showPopover:!1,column:null,sortType:"none"},w=g||y;if(m.group){let F=1;m.group.reduce((x,M)=>{if(typeof M=="string"){const _=d.get(M);_&&(p.fieldToRootMap.set(M,w),x.actualWidth+=_.actualWidth,x.children.push(_))}else{const _=i(M,d,x,w,p);F=Math.max(F,_.depth),x.actualWidth+=_.actualWidth,x.children.push(_)}return x},y),y.depth+=F}return e.value.headerDepth=Math.max(e.value.headerDepth,y.depth),y}function o(m){const d={groupedCells:new Map,fieldToRootMap:new Map};return n.value&&n.value.reduce((c,g)=>{const p=i(g,m,null,null,d);return c.groupedCells.set(g.field,p),c},d),d}function l(m){if(!m||m.length===0)return 0;const d=m[0];return d.children&&d.children.length>0&&(d.left=l(d.children)),d.left}function a(m,d){const c=e.value.headerDepth;m.forEach(g=>{g.layer=d?d.layer+1:1;const p=g.children&&g.children.length===0;g.depth=p?c-(g.layer-1):1,g.left=p?g.left:l(g.children),g.children&&a(g.children,g)})}function s(m,d){const c=new Map;return m.forEach(g=>{const p=d.fieldToRootMap.get(g.field),y=p!=null;y&&!c.has(p.field)&&c.set(p.field,p),y||c.set(g.field,g)}),a(Array.from(c.values())),c}function f(m){let d=new Map,c=0;if(m.reduce((g,p)=>{let y=Pe.none;y=p.sortable?y|Pe.sortable:y,y=p.filterable?y|Pe.filterable:y,y=p.sort&&p.sort!=="none"?y|Pe.sorted|(p.sort==="asc"?Pe.ascending:Pe.descending):y;const w=p.field;return g.set(w,{actualWidth:p.actualWidth||0,children:[],depth:1,layer:1,left:c,field:w,parent:null,resizable:p.resizable===void 0?!0:p.resizable,title:p.title,status:y,popoverRef:r.ref(),showPopover:!1,column:p,filterValue:null,sortType:p.sort||"none",showSetting:p.showSetting,draggable:p.draggable}),c+=p.actualWidth||0,g},d),n.value){const g=o(d);d=s(d,g)}return d}return{getGridHeaderCells:f}}function En(t,e){var v;const{sum:n,toFixed:i}=D.useNumberFormat(),{uuid:o}=D.useGuid(),{idField:l}=e,a=r.ref(t.summary),s=r.ref(t.group),f=r.ref(((v=t.group)==null?void 0:v.groupFields)||[]),u=r.computed(()=>{var C;return(C=t.group)==null?void 0:C.enable}),m=r.computed(()=>{var C;return(C=t.group)==null?void 0:C.showGroupPanel}),d=r.computed(()=>{const C=a.value;return(C==null?void 0:C.groupFields)||[]}),c=r.computed(()=>{const C=s.value;return C&&C.showSummary}),g=r.ref(0),p=new Map;let y=[];function w(C,h,b,S,P){const B=S[b];B&&(h.reduce((E,N,k)=>{var H;const T=N[B];let V=E.get(T);if(!V){const I=d.value.reduce((R,q)=>(R.set(q,0),R),new Map);V={field:B,title:((H=P.get(B))==null?void 0:H.title)||B,value:T,layer:b,details:[],groupSummaries:I},E.set(T,V)}return d.value&&d.value.forEach(I=>{if(V){const R=V.groupSummaries.get(I)||0;V.groupSummaries.set(I,n([R,D.resolveField(N,I)]))}}),d.value&&d.value.forEach(I=>{if(V){const R=V.groupSummaries.get(I)||0;V.groupSummaries.set(I,i(R,2))}}),V.details.push(N),E},C),b<S.length-1&&C.forEach((E,N)=>{E.nestGroup=new Map,w(E.nestGroup,E.details,b+1,S,P),E.details=[]}))}function F(C,h){return t.group&&t.group.formatter?t.group.formatter(C.value,{...C,total:h}):`${C.title}:${C.value} (${h})`}function x(C,h){const b=[];return C.forEach(S=>{const P={[l.value]:`group_of_${h?h[l.value]+"_":""}${S.field}_${S.value}`,__fv_data_grid_group_collapse__:!1,__fv_data_grid_group_field__:S.field,__fv_data_grid_group_layer__:S.layer,__fv_data_grid_group_row__:!0,__fv_data_grid_group_value__:S.value,groupParents:[]};h&&(P.groupParents=[...h.groupParents,h]);let B=0;if(b.push(P),S.nestGroup){const E=x(S.nestGroup,P);b.push(...E),B+=E.length}if(S.details&&S.details.length&&(b.push(...S.details),B+=S.details.length),c.value){const E={__fv_data_grid_group_field__:S.field,__fv_data_grid_group_layer__:S.layer,__fv_data_grid_group_summary__:!0};E[l.value]=`summary_of_${S.field}_${S.value}`,E[S.field]=Array.from(S.groupSummaries.entries()).reduce((N,[k,T])=>`${N} ${k} total:${T} `,""),b.push(E)}S.groupSummaries&&S.groupSummaries.size&&S.groupSummaries.forEach((E,N)=>{P[N]=E}),P[S.field]=F(S,B),P.value=S.value}),b.forEach((S,P)=>{S.__fv_data_index__=P}),b}function M(C,h,b){return!C||C.length===0||!h.length?h:(C.join(","),p.clear(),y=[],h=h.filter(S=>!S.__fv_data_grid_group_row__),w(p,h,0,C,b),y=x(p),y)}function _(C){return{"f-icon":!0,"f-icon-arrow-chevron-down":!0,"fv-grid-group-row-icon-collapse":C.collapse}}return{collpaseGroupIconClass:_,generateGroupData:M,groupFields:f,shouldGroupingData:u,showGroupPanel:m,groupRowSize:g}}function Bt(t){const e="parent",n="layer",i="hasChildren",o=(a,s=1,f=[],u=null)=>(a=a||[],a.reduce((m,d)=>(d.id=d.id||d.data[t.idField],d[e]=u,d[n]=s,d[i]=d[i]===void 0?!1:d[i],d.data&&Object.keys(d.data).forEach(c=>{Object.keys(d).includes(c)||(d[c]=d.data[c])}),f.push(d),d.children&&d.children.length&&(d[i]=!0,o(d.children,s+1,f,d.id)),m),f),f);return{flatTreeData:o,isNestedTree:a=>a.some(s=>Array.isArray(s.children))}}function In(t,e,n,i){const o=r.ref(0),l=r.ref(!!t.hierarchy),{idField:a}=i,{collapseField:s,hasChildrenField:f,parentIdField:u}=n,m=new Map,d=new Map,c=new Map,{flatTreeData:g,isNestedTree:p}=Bt(t);function y(L,W){d.clear(),L.reduce((G,U)=>{const ne=U[u.value]!==void 0?U[u.value]:"";if(ne&&W.has(ne)){const me=W.get(ne),ge=isNaN(Number(me.__fv_layer__))?1:Number(me.__fv_layer__);U.__fv_layer__=ge+1,U.__fv_parent_index__=me.__fv_index__,me.__fv_hasChildren__=!0}else U.__fv_layer__=1;const ue=G.has(ne)?G.get(ne):[];return ue.push(U),G.set(ne,ue),G},d)}function w(L){c.clear(),L.reduce((W,G)=>{const U=G[a.value];return W.set(U,G),W},c)}function F(L){L.forEach(W=>{const G=W[a.value];W.__fv_children_index__.map(ne=>L[ne]).forEach(ne=>{ne.__fv_parents__=new Map([...W.__fv_parents__.entries(),[G,!0]])})})}function x(L){L.forEach(W=>{const G=new Set(W.__fv_children_index__);W.__fv_children_index__=[...G].sort((U,ne)=>U-ne)})}function M(L){L.forEach(W=>{const G=W.__fv_parents__;Array.from(G.keys()).map(U=>c.get(U)).forEach(U=>{U.__fv_children_index__.push(W.__fv_index__)})}),x(L)}function _(L){L.forEach(W=>{W.__fv_child_with_lines__=[],W.__fv_child_length__=W.__fv_descendant_index__.length,W.__fv_descendant_index__.map(G=>L[G]).reduce((G,U)=>(G.__fv_child_length__+=U.__fv_children_index__.length,G.__fv_child_with_lines__.push(...U.__fv_children_index__,U.__fv_index__),G),W)})}function v(L,W){return{id:L,index:W,parentId:"",parentIndex:-1,parents:new Map,children:new Map,descendant:new Map,collapsed:!1,visibleInHierarchy:!0}}function C(L,W,G){Array.from(W.keys()).forEach(U=>{W.get(U).reduce((ue,me)=>{const ge=me[a.value],ye=L.get(me[a.value]),he=L.get(U),Ie=G.get(U);return he&&Ie&&(he.children.set(ge,ye),he.children.set(ge,ye),ye.parentId=U,ye.parentIndex=he.index,ye.parents.set(U,he)),ue},L)})}function h(L){L.children.forEach(G=>{G.parents=new Map([...L.parents.entries(),[L.id,L]]),h(G)})}function b(L,W){L.filter(G=>G[u.value]===void 0||G[u.value]==="").forEach(G=>{const U=G[a.value],ne=W.get(U);h(ne)})}function S(L){Array.from(L.values()).forEach(W=>{Array.from(W.parents.values()).forEach(G=>{G.descendant.set(W.id,W)})})}function P(L){m.clear(),L.forEach((W,G)=>{const U=W[a.value];m.set(U,v(U,G))}),w(L),y(L,c),C(m,d,c),b(L,m),S(m)}function B(L){const W=L[a.value],G=m.get(W);return G&&G.children.size>0}function E(L){return L[f.value]&&!B(L)}function N(L){const W=L[a.value],G=m.get(W);return G&&G.visibleInHierarchy}function k(){o.value=Date.now()}function T(L,W){W.forEach(G=>{const U=m.get(G[a.value]),ne=m.get(L),ue=c.get(L);ne&&ue&&(U.visibleInHierarchy=!ue[s.value]&&ne.visibleInHierarchy)}),k()}function V(L){if(d.has(L)){const G=d.get(L);T(L,G),G.map(U=>U[a.value]).forEach(U=>V(U))}}function H(L){const W=L[a.value];V(W)}function I(L,W,G=0){L.forEach(U=>{const ne=E(U),ue=U.__fv_layer__<=G,me=W==="ToCollapse"?U.__fv_layer__<=G:!(U.__fv_layer__<=G),ge=ue?me:U[s.value];U[s.value]=ne||ge});for(const[U,ne]of d.entries())T(U,ne);return L}function R(L,W){I(L,"ToCollapse",W)}function q(L,W){I(L,"ToExpand",W)}function J(L){L.forEach((W,G)=>{var me;const U=W[a.value],ne=d.has(U)?(me=d.get(U))==null?void 0:me.map(ge=>ge.__fv_index__):[],ue=v(U,G);W.__fv_graph_node__=ue,W.__fv_children_index__=ne,W.__fv_descendant_index__=[...ne],W.__fv_parents__=new Map,E(W)&&(W[s.value]=!0)})}function j(L){var U,ne;P(e.value),J(L),F(L),M(L),t.showLines&&_(L);const G=((U=t.hierarchy)==null?void 0:U.collapseTo)!==void 0?Number((ne=t.hierarchy)==null?void 0:ne.collapseTo):0;return I(L,"ToCollapse",G),L}function ee(L,W,G){const ne=G.value[L][a.value],ue=m.get(ne);if(ue){const me=m.get(ue.parentId);let ge=G.value.length-1;if(me){const ye=Array.from(me.children.keys()).indexOf(ue.id);if(ye===me.children.size-1){const Ie=Array.from(me.descendant.values())[me.descendant.size-1];ge=G.value.findIndex(O=>O[a.value]===Ie.id)+1}else{const Ie=Array.from(me.children.values())[ye+1];ge=G.value.findIndex(O=>O[a.value]===Ie.id)}W[f.value]=!1,W[u.value]=me.id,G.value.splice(ge,0,W)}}}function oe(L,W,G){const U=G.value[L],ne=U[a.value];if(m.get(ne)){const ge=G.value.findIndex(ye=>ye[a.value]===ne)+1;U[f.value]=!0,U[s.value]=!1,W[f.value]=!1,W[u.value]=ne,G.value.splice(ge,0,W)}}function ce(L,W,G){const ne=G.value[L][a.value];if(m.get(ne)){const ge=G.value.findIndex(he=>he[a.value]===ne)+1;let ye=W;p(W)&&(ye=g(W)),ye.forEach(he=>{he[u.value]=ne}),G.value.splice(ge,0,...ye)}}function Z(L,W){const G=L[a.value],U=m.get(G),ne=Array.from(U.descendant.keys());ne.unshift(G);const ue=m.get(U.parentId);if(ue&&(ue.children.delete(G),ue.children.size===0)){const ge=W.find(ye=>ye[a.value]===U.parentId);ge[f.value]=!1,ge[s.value]=!1}return W.filter(ge=>ne.indexOf(ge.id)===-1)}return{checkVisibleInHierarchy:o,collapseTo:R,expandTo:q,generateHierarchyData:j,hasRealChildren:B,insertSibling:ee,insertChild:oe,insertChildren:ce,isVisibleInTree:N,shouldStratifyData:l,toggleChildrenVisibiltyByCollapseStatus:H,trimmedOriginalData:Z}}function Pn(t,e,n,i,o){const{toNumber:l,sum:a,toFixed:s}=D.useNumberFormat(),f=new Map,u=new Map,m=new Map,d=new Map,c=new Map,g=r.ref([]),p=r.ref([]),y=En(t,o),{generateGroupData:w,groupFields:F,shouldGroupingData:x}=y,M=r.ref(t.data||[]),_=In(t,M,i,o),{collapseTo:v,expandTo:C,generateHierarchyData:h,hasRealChildren:b,insertSibling:S,insertChild:P,insertChildren:B,isVisibleInTree:E,shouldStratifyData:N,toggleChildrenVisibiltyByCollapseStatus:k,trimmedOriginalData:T,checkVisibleInHierarchy:V}=_,{idField:H,reviseIdentifyField:I}=o,R=r.ref(t.newDataItem),q=r.ref(t.data||[]),J=r.ref(t.data),{flatTreeData:j,isNestedTree:ee}=Bt(t);if(t.hierarchy&&ee(t.data)){const $=j(t.data);M.value=$,q.value=$,J.value=$}const oe=r.ref(t.summary),ce=r.computed(()=>{const $=oe.value;return($==null?void 0:$.groupFields)||[]});let Z=new Map;const L=r.ref(q.value.length),W=r.ref(t.pagination);function G(){return W.value&&W.value.enable&&W.value.size>0?W.value.size:q.value.length}const U=r.ref(1),ne=r.computed(()=>W.value&&W.value.enable&&W.value.mode!=="server"),ue=r.computed(()=>W.value&&W.value.enable&&W.value.mode==="server"),me=new St.FNotifyService;function ge($,K){const le=Math.ceil($.length/K);let pe=0;const Ve=[],$e=[],Je=[];for(;pe<le;){const Oe=$.slice(pe*K,(pe+1)*K),Ce=w(F.value,Oe,e);$e[pe]=Ce.filter(we=>we.__fv_data_grid_group_row__).length,Ve.push(...Ce),pe++}return $e.reduce((Oe,Ce,we)=>(Oe=Oe+Ce,Je.push(Oe),Oe),0),{groupData:Ve,groupRowSizeList:$e,accumulateGroupRowSize:Je}}function ye(){var Ce;q.value=M.value,ne.value&&(L.value=q.value.length),x.value&&!ne.value&&(q.value=w(F.value,M.value,e)),Z=ce.value.reduce((we,Te)=>(we.set(Te,0),we),Z);const $=0,K=G(),le=(U.value-1)*K;let Ve=le>q.value.length-1||ue.value?$:le,$e=ue.value?q.value.length:Math.min(Ve+K,q.value.length);if(x.value&&ne.value){const{accumulateGroupRowSize:we,groupData:Te,groupRowSizeList:Me}=ge(M.value,K);q.value=Te;const at=Me[U.value-1];Ve+=U.value-2<0?0:we[U.value-2],$e=Ve+K+at}let Je=0;const Oe=[];if(q.value.length){I(q.value);const we=H.value!==t.idField;for(let Te=Ve;Te<$e;Te++){const Me=q.value[Te];Me.__fv_data_grid_group_row__?(Je=0,Me.__fv_data_index__=""):Me.__fv_data_grid_group_summary__?Me.__fv_data_index__="":(Je++,Me.__fv_data_index__=Je+(U.value-1)*K),Me.__fv_index__=Te,Me.__fv_visible_index__=Te,t.rowOption&&t.rowOption.disabledField&&(Me.__fv_disabled__=Me[(Ce=t.rowOption)==null?void 0:Ce.disabledField]),we&&(Me[H.value]=Te),ce.value.forEach(at=>{const Vt=Z.get(at)||0;Z.set(at,a([Vt,D.resolveField(Me,at)||0]))}),Oe.push(Me)}}return N.value&&h(Oe),ce.value.forEach(we=>{const Te=Z.get(we)||0;Z.set(we,s(Te,2))}),J.value=[...Oe],Oe}const he=r.ref(ye()),Ie=r.computed(()=>(V.value,he.value.filter($=>N.value?$.__fv_visible__!==!1&&E($):$.__fv_visible__!==!1)));function Le(){Ie.value.forEach(($,K)=>($.__fv_visible_index__=K,$))}function O($,K,le=!1){var Oe;const pe=le?ye():[...J.value];let Ve=pe;((Oe=t.filter)==null?void 0:Oe.mode)!=="server"&&(Ve=pe.filter(Ce=>n.apply(Ce)));const $e=$&&$.length?Ve.filter(Ce=>$.reduce((we,Te)=>we&&Te.filter(Ce),!0)):Ve,Je=K&&K.length?$e.sort((Ce,we)=>{const Te=[...K],Me=Te.shift(),at=D.resolveField(Ce,Me.field)===void 0||D.resolveField(Ce,Me.field)===null?"":D.resolveField(Ce,Me.field),Vt=D.resolveField(we,Me.field)===void 0||D.resolveField(we,Me.field)===null?"":D.resolveField(we,Me.field);let Et=Me.compare(at,Vt);for(;Et===0&&Te.length!==0;){const tt=Te.shift();if(tt){const kr=D.resolveField(Ce,tt.field)===void 0||D.resolveField(Ce,tt.field)===null?"":D.resolveField(Ce,tt.field),Vr=D.resolveField(we,tt.field)===void 0||D.resolveField(we,tt.field)===null?"":D.resolveField(we,tt.field);Et=tt.compare(kr,Vr)}}return Et}):$e;return he.value=Je.map((Ce,we)=>{if(Ce.__fv_data_grid_group_row__){const Te=`group_of_${Ce.__fv_data_grid_group_field__}_${Ce.__fv_data_grid_group_value__}`;Ce.__fv_data_grid_group_collapse__=!!f.get(Te)}return Ce.__fv_index__=we,Ce.__fv_visible_index__=we,Ce}),he.value}function Y($){return c.clear(),p.value=$,p.value.reduce((K,le)=>(K.set(le.field,le),K),c),O([],p.value)}function Q($,K){return c.set($,K),p.value=Array.from(c.values()),O([],p.value)}function re($){return c.delete($),p.value=Array.from(c.values()),O([],p.value)}function ve($,K){return u.set($,K),g.value=Array.from(u.values()),O([],Array.from(c.values()))}function Ne($){return u.delete($),g.value=Array.from(u.values()),O([],Array.from(c.values()),!0)}function De(){return u.clear(),g.value=[],O([],Array.from(c.values()),!0)}function Qe($,K,le){const pe=`group_of_${$}_${K}`;f.set(pe,!0);const Ve=$e=>$e[$]!==K;return m.set(`collapse_${$}_${K}`,{field:$,fieldName:$,fieldType:"string",filterValue:K,filter:Ve}),O(Array.from(m.values()),Array.from(c.values()))}function et($){v(he.value,$)}function z($){C(he.value,$)}function ae($,K,le){const pe=`group_of_${$}_${K}`;return f.set(pe,!1),m.delete(`collapse_${$}_${K}`),O(Array.from(m.values()),Array.from(c.values()),!0)}function Fe($){const K=$.raw[H.value],le=pe=>!pe.__fv_parents__.has(K);d.set(`fold_${K}`,{field:"id",fieldName:"id",fieldType:"string",filterValue:String(K),filter:le}),O(Array.from(d.values()),Array.from(c.values())),h(he.value)}function Se($){const K=$[H.value];d.delete(`fold_${K}`)}function Ye($){Se($.raw),O(Array.from(d.values()),Array.from(c.values()),!0),h(he.value)}function Ae(){const $=ye();he.value=$,O(Array.from(d.values()),Array.from(c.values())),t.hierarchy&&h(he.value)}function Tt($){const le=t.hierarchy&&ee($)?j($):$;M.value=le,Ae()}function bt($,K,le){return($&&$.length?he.value.filter((Ve,$e)=>$.reduce((Je,Oe)=>Je&&Oe.filter(Ve),!0)):he.value).slice(K,le)}function _t($){const K=G(),le=Math.ceil(L.value/K);0<=$&&$<=le&&(U.value=$,Ae())}function kt($){M.value.push(Re.cloneDeep($)),he.value=ye()}function Ct($=0){if(!($>-1))return!1;const le=R.value();t.hierarchy?S($,le,M):M.value.splice($,0,le),Ae()}function X($=0){if(!($>-1&&t.hierarchy))return!1;const le=R.value(),pe=M.value[$];Se(pe),P($,le,M),Ae()}function te($,K=0){if(!(K>-1&&t.hierarchy))return!1;const pe=M.value[K];Se(pe),B(K,$,M),Ae()}function se($){const K=$?$-1:0;M.value.splice(K,1),Ae()}function xe($){const K=M.value.findIndex(le=>le[H.value]===$);K!==-1&&(M.value.splice(K,1),Ae())}function Be($){const K=$>-1?M.value[$]:null;if(!(K&&K.deletable!==!1))return!1;M.value=T(K,M.value),Ae()}function Xe(){const $=m.size>0?Array.from(m.values()):[];return O($,Array.from(c.values()))}function Ze($){W.value.size=$}function ht($){W.value&&(Ze($),Ae())}function ct($,K){const le=M.value[Number($)-1];le.editable!==!1?(le.name=K,Ae()):me.show({showCloseButton:!1,timeout:3e3,animate:"fadeIn",toasts:[{type:"string",title:"提示",msg:"当前节点禁止编辑"}]})}function lt($){return $.map(le=>{const pe=J.value.findIndex(Ve=>""+Ve[H.value]==""+le);return pe>-1?J.value[pe]:null}).filter(le=>le!=null)}function ut(){const $=t.summary.groupFields;Z=$.reduce((K,le)=>(K.set(le,0),K),Z);for(const K of q.value)$.forEach(le=>{const pe=Z.get(le)||0;Z.set(le,a([pe,D.resolveField(K,le)||0]))});$.forEach(K=>{const le=Z.get(K)||0;Z.set(K,s(le,2))})}function _r($){const K=t.summary.groupFields;Z=K.reduce((le,pe)=>(le.set(pe,0),le),Z);for(const le of $)K.forEach(pe=>{const Ve=Z.get(pe)||0;Z.set(pe,a([Ve,D.resolveField(le.raw,pe)||0]))});K.forEach(le=>{const pe=Z.get(le)||0;Z.set(le,s(pe,2))})}return{addFilter:ve,addNewDataItem:kt,addSorter:Q,updatePageSize:Ze,changePageSizeTo:ht,collapse:Qe,collapseTo:et,dataView:he,editDataItem:ct,expand:ae,expandTo:z,filters:g,fold:Fe,getRange:bt,getSelectionItems:lt,hasRealChildren:b,insertNewChildDataItem:X,insertNewChildDataItems:te,insertNewDataItem:Ct,isVisibleInTree:E,load:Tt,navigatePageTo:_t,pageIndex:U,rawView:J,refresh:Xe,removeAllFilter:De,removeDataItem:se,removeDataItemById:xe,removeFilter:Ne,removeHierarchyDataItem:Be,removeSorter:re,reOrderVisibleIndex:Le,setSorters:Y,sorters:p,summaries:Z,updateSummary:ut,toggleChildrenVisibiltyByCollapseStatus:k,totalItems:L,unFold:Ye,updateDataView:Ae,visibleDataItems:Ie,shouldGroupingData:x,pagination:W,updateVisibleDataSummary:_r}}const Nn=["equal","notEqual","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","contain","startWidth","endWidth","in","notIn"],Bn={equal:(t,e,n)=>t&&t[e]===n,notEqual:(t,e,n)=>t&&t[e]!==n,contain:(t,e,n)=>t?(t[e]||"").indexOf(n)>-1:!1,startWidth:(t,e,n)=>t?(t[e]||"").startsWith(n):!1,endWidth:(t,e,n)=>t?(t[e]||"").endsWith(n):!1},On={equal:(t,e,n)=>t&&t[e]===n,in:(t,e,n)=>{if(t){const i=t[e];return n.indexOf(i)>-1}return!1},notEqual:(t,e,n)=>t&&t[e]!==n},jn={equal:(t,e,n)=>{if(t){const i=new Date(n).getTime();return new Date(t[e]).getTime()===i}return!1},notEqual:(t,e,n)=>{if(t){const i=new Date(n).getTime();return new Date(t[e]).getTime()!==i}return!1},greaterThan:(t,e,n)=>{if(t){const i=new Date(new Date(n).toLocaleDateString()).valueOf();return new Date(new Date(t[e]).toLocaleDateString()).valueOf()>i}return!1},greaterThanOrEqual:(t,e,n)=>{if(t){const i=new Date(new Date(n).toLocaleDateString()).valueOf();return new Date(new Date(t[e]).toLocaleDateString()).valueOf()>=i}return!1},lessThan:(t,e,n)=>{if(t){const i=new Date(new Date(n).toLocaleDateString()).valueOf();return new Date(new Date(t[e]).toLocaleDateString()).valueOf()<i}return!1},lessThanOrEqual:(t,e,n)=>{if(t){const i=new Date(new Date(n).toLocaleDateString()).valueOf();return new Date(new Date(t[e]).toLocaleDateString()).valueOf()<=i}return!1}},Rn={equal:(t,e,n)=>t?String(n).split(",").includes(String(t[e])):!1,in:(t,e,n)=>{if(t){const i=t[e];return n.indexOf(i)>-1}return!1},notEqual:(t,e,n)=>t?String(n).split(",").findIndex(o=>o===String(t[e]))===-1:!1},An={equal:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?isNaN(o):i===o}return!1},notEqual:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?!0:i!==o}return!1},greaterThan:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?isNaN(o):o>i}return!1},greaterThanOrEqual:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?isNaN(o):o>=i}return!1},lessThan:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?isNaN(o):o<i}return!1},lessThanOrEqual:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?isNaN(o):o<=i}return!1}},Hn=new Map([["boolean",On],["datetime",jn],["enum",Rn],["number",An],["text",Bn]]);function Ln(t,e){const n=r.ref([]),i=new Map,{loadConditionGroup:o}=fe.useCondition();function l(_,v){switch(_){case"check-box":return new fe.CheckBoxValue({value:v});case"combo-list":return new fe.ComboListValue({value:v});case"combo-lookup":return new fe.ComboLookupValue({value:v});case"input-group":return new fe.TextValue({value:v});case"date-picker":return new fe.DatePickerValue({value:v});case"date-range":return new fe.DateRangeValue({value:v});case"datetime-picker":return new fe.DateTimePickerValue({value:v});case"datetime-range":return new fe.DateRangeValue({value:v});case"lookup":return new fe.TextValue({value:v});case"month-picker":return new fe.MonthPickerValue({value:v});case"month-range":return new fe.MonthRangeValue({value:v});case"number-range":return new fe.NumberRangeValue({value:v});case"number-spinner":return new fe.NumberSpinnerValue({value:v});case"radio-group":return new fe.RadioGroupValue({value:v});default:return new fe.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",fe.CompareType.Equal],["date",fe.CompareType.Equal],["datetime",fe.CompareType.Equal],["number",fe.CompareType.Equal],["string",fe.CompareType.Equal],["text",fe.CompareType.Equal],["enum",fe.CompareType.In],["reference",fe.CompareType.Equal]]);function f(){n.value.forEach((v,C)=>{C===n.value.length-1?v.relation=0:v.relation=1});const _=[];return n.value.forEach(v=>{const{valueType:C}=v.value,h=v.value.value;if(C==="boolean"){const b=[];h.length===1&&b.push({filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:fe.CompareType.Like,value:v.value.value[0],relation:n.value.length>1?v.relation||v.relation===0?v.relation:1:0,expresstype:fe.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:fe.CompareType.Like,value:v.value.value[0],relation:2,expresstype:fe.ValueType.Value,lbracket:v.lBracket?v.lBracket+"(":"(",rbracket:v.rBracket||null},{filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:fe.CompareType.Like,value:v.value.value[1],relation:n.value.length>1?v.relation||v.relation===0?v.relation:1:0,expresstype:fe.ValueType.Value,lbracket:v.lBracket||null,rbracket:v.rBracket?v.rBracket+")":")"}),_.push(...b)}else _.push({filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:fe.CompareType.Like,value:v.value.value,relation:n.value.length>1?v.relation||v.relation===0?v.relation:1:0,expresstype:fe.ValueType.Value,lbracket:v.lBracket||null,rbracket:v.rBracket||null})}),_}function u(_){var C;const v=_.dataType||"string";return((C=_.editor)==null?void 0:C.type)||a.get(v)||"text"}function m(_){var k,T,V,H,I;const v=`field_filter_${_.field}`,C=Date.now(),h=_.field,b=((k=_.column)==null?void 0:k.title)||"",S=((T=_.column)==null?void 0:T.dataType)||"string",P=s.get(S)||fe.CompareType.Equal,B=((H=(V=_.column)==null?void 0:V.editor)==null?void 0:H.type)||a.get(S)||"text",E=l(B,(I=_.column)==null?void 0:I.filter),N=B==="lookup"||B==="combo-lookup"?fe.ValueType.SmartHelp:B==="combo-list"?fe.ValueType.Enum:fe.ValueType.Value;i.set(v,{id:v,fieldCode:h,fieldName:b,compareType:P,valueType:N,value:E,conditionId:C,relation:1}),n.value=Array.from(i.values())}function d(_){const v=`field_filter_${_.field}`;i.delete(v),n.value=Array.from(i.values())}function c(_){i.delete(_),n.value=Array.from(i.values())}function g(){i.clear(),n.value=[]}function p(_){const{valueType:v}=_.value,C=_.compareType||"0",h=Nn[Number(C)];return Hn.get(v)[h]}function y(_){const v=_.relation===2?0:1,C=_.items.map(b=>{const S=p(b);return B=>S(B,b.fieldCode,b.value.getValue())}),h=_.children&&_.children.length?_.children.map(b=>y(b)):[];return{relation:v,filterFunctions:C,children:h}}function w(){const _=o(n.value);return y(_)}function F(_,v){const C=v.filterFunctions.map(b=>b(_)),h=v.children.map(b=>F(_,b));return v.relation===1?C.every(b=>b)&&h.every(b=>b):C.includes(!0)||h.includes(!0)}function x(_){const v=w();return F(_,v)}function M(_){e.emit("filterChanged",_)}return{addColumnFilter:m,apply:x,clearCondition:g,conditions:n,getFilterEditorType:u,removeColumnFilter:d,removeCondition:c,filterFromServer:M,createFilterConditions:f}}function $n(t){r.ref(t.selection.showCheckbox||!1);const e=r.computed(()=>{var a;return((a=t.hierarchy)==null?void 0:a.collapseField)||"__fv_collapse__"}),n=r.computed(()=>{var a;return((a=t.hierarchy)==null?void 0:a.hasChildrenField)||"__fv_hasChildren__"}),i=r.computed(()=>{var a;return((a=t.hierarchy)==null?void 0:a.parentIdField)||"parent"}),o=r.computed(()=>t.hierarchy&&t.selection.showCheckbox),l=r.computed(()=>(t.treeNodeIconsData.fold||t.iconField)&&t.showTreeNodeIcons);return{collapseField:e,hasChildrenField:n,parentIdField:i,shouldShowCheckBox:o,shouldShowIcon:l}}function Wn(t,e,n,i,o,l,a,s,f){var Ct;const{dataView:u,visibleDataItems:m}=e,{getVisualData:d,maxVisibleRowIndex:c,minVisibleRowIndex:g}=o,p=r.computed(()=>i.value.primaryColumnsWidth),y=r.computed(()=>i.value.leftColumnsWidth),w=r.computed(()=>i.value.rightColumnsWidth),F=((Ct=t.rowOption)==null?void 0:Ct.height)||28,x=r.ref(0),M=r.ref(0);let _=0,v=l.value-1;const C=r.ref(0),h=r.ref(0),b=r.ref(0),S=r.ref(t.virtualized),P=24,B=1.5;let E=null;function N(){const X=m.value;if(X.length<=0)return 0;const te=c.value<X.length?X[c.value]:X[X.length-1];return te.__fv_data_position__>X.length*F?X.length*F:(te.__fv_data_position__||0)+(te.__fv_data_height__||0)+Math.max(X.length-1-c.value,0)*F}const k=r.computed(()=>{const X=N();m.value;let te=h.value/Math.max(X,h.value),se=Math.floor(te*h.value);for(;h.value>0&&se<P;)te*=B,se=Math.floor(te*h.value);return se}),T=r.computed(()=>Math.floor(b.value/Math.max(p.value,b.value)*C.value)),V=0,H=0,I=r.computed(()=>C.value-(y.value+p.value+w.value+s.value));function R(X){const se=Math.floor(X/F)+1,xe=m.value;return xe.length>se?xe[se].__fv_visible_index__-1:0}function q(X,te,se){let xe=X,Be=te;const Xe=te-X+1;if(Xe<a+l.value+a){const Ze=a+l.value+a-Xe,ht=te+Ze<=se,ct=0+Ze<=X;if(ht)Be+=Ze,v=Be;else if(ct)xe-=Ze,_=xe;else{const lt=se-te,ut=Ze-lt;Be=Math.min(te+lt,se),xe=Math.max(X-ut,0)}}return{actualStart:xe,actualEnd:Be}}function J(X){var lt,ut;const te=m.value;if(!te.length){n.value=[];return}const se=(lt=t.pagination)!=null&&lt.enable?0:Math.max(_-a,0),xe=te[te.length-1].__fv_visible_index__,Be=(ut=t.pagination)!=null&&ut.enable?te.length-1:Math.min(v+a,xe),{actualStart:Xe,actualEnd:Ze}=q(se,Be,xe),ht=te[Xe-1],ct=d(Xe,Ze,ht,X);ct.length&&(n.value=[...ct])}const j=r.computed(()=>N()>h.value),ee=r.computed(()=>Math.floor(p.value)>b.value);function oe(X,te){let se=X;const xe=se>V,Be=j.value;Be&&se<h.value-te&&(se=h.value-te),(!Be||xe)&&(se=V),x.value!==se&&(x.value=se)}function ce(){S.value&&(_=R(Math.abs(x.value)),v=_+l.value-1,(_<g.value||v>c.value-a/2)&&J())}function Z(X){let te=x.value+X;te>V&&(te=V);const se=N();oe(te,se),ce()}function L(X){if(!ee.value){M.value=0;return}let te=M.value+X;te>H&&(te=H),te<I.value&&(te=I.value),M.value!==te&&(M.value=te)}function W(){Math.abs(M.value)+b.value>p.value&&(M.value=Math.min(b.value-p.value,0))}function G(){x.value=0,_=0,v=l.value-1,J()}function U(){const X=N();oe(x.value,X)}r.watch([b,p],()=>{L(0)}),r.watch(h,(X,te)=>{X!==te&&X>=u.value.length*F&&Z(0)});function ne(X){let{deltaX:te}=X,se=-1*X.deltaY;return typeof te>"u"&&(te=-1*X.wheelDeltaX/6),typeof se>"u"&&(se=X.wheelDeltaY/6),X.deltaMode&&X.deltaMode===1&&(te*=10,se*=10),X.shiftKey?{deltaY:-se,deltaX:-te}:{deltaX:te,deltaY:se}}function ue(X){if(t.disabled||!j.value||X.target.tagName==="TEXTAREA")return;X.preventDefault(),X.stopPropagation();const{deltaX:te,deltaY:se}=ne(X);Z(se),L(te)}const me=r.computed(()=>({height:`${u.value.length*F}px`,width:`${y.value}px`,transform:`translateY(${x.value}px)`})),ge=r.computed(()=>({transform:`translateY(${x.value}px)`})),ye=r.computed(()=>({height:`${(t.autoHeight?m.value:u.value).length*F}px`,width:`${p.value}px`,transform:`translate(${M.value}px, ${x.value}px)`})),he=r.computed(()=>({transform:`translate(${M.value}px, ${x.value}px)`})),Ie=r.computed(()=>({height:`${u.value.length*F}px`,width:`${w.value}px`,transform:`translateY(${x.value}px)`})),Le=r.computed(()=>({transform:`translateY(${x.value}px)`})),O=r.computed(()=>({height:`${u.value.length*F}px`,width:`${s.value}px`,transform:`translateY(${x.value}px)`})),Y=r.computed(()=>({width:`${y.value}px`})),Q=r.computed(()=>({transform:`translateX(${M.value}px)`})),re=r.computed(()=>({width:`${w.value}px`})),ve=r.computed(()=>{const X=N();return oe(x.value,X),x.value/(h.value-X)*(h.value-k.value)}),Ne=r.computed(()=>({width:"8px",height:`${k.value}px`,top:`${ve.value}px`,backgroundColor:"#cccccc !important"})),De=r.computed(()=>M.value/I.value*(C.value-T.value)),Qe=r.computed(()=>({height:"8px",width:`${T.value}px`,left:`${De.value}px`,backgroundColor:"#cccccc !important"})),et=r.ref(!1),z=r.ref(-1),ae=r.ref(-1),Fe=r.ref();function Se(X){if(et.value&&ae.value!==-1){const te=ae.value-X.pageX,se=C.value-T.value;if(Math.abs(te)<=se){const xe=te/(b.value-T.value)*(p.value-b.value);L(xe),ae.value=X.pageX}}}function Ye(X){if(et.value&&z.value!==-1){const te=z.value-X.pageY,se=N(),xe=se-k.value;if(Math.abs(te)<=xe){const Be=te/(h.value-k.value)*(se-h.value);Z(Be),z.value=X.pageY}}}function Ae(X){et.value=!1,z.value=-1,ae.value=-1,document.removeEventListener("mouseup",Ae),E&&(document.removeEventListener("mousemove",E),E=null),document.body.style.userSelect="",Fe.value&&(Fe.value.style.opacity=null)}function Tt(X,te,se){var Xe;et.value=!0;const xe=(Xe=X.target)==null?void 0:Xe.parentElement;xe&&(xe.style.opacity="1",Fe.value=xe);const Be=se==="horizontal"?Se:Re.throttle(Ye,50);E||(E=Be),se==="vertical"&&(z.value=X.pageY),se==="horizontal"&&(ae.value=X.pageX),te.value&&(te.value,document.addEventListener("mousemove",E),document.addEventListener("mouseup",Ae),document.body.style.userSelect="none")}function bt(X){const te=u.value.length*F-h.value;let se=X*F;se>=te&&(se=te),Z(-se-x.value)}function _t(){bt(u.value.length)}function kt(X){Z(X-x.value)}return{dataGridWidth:C,fitHorizontalScroll:W,gridDataStyle:ye,gridHeaderColumnsStyle:Q,gridMergedDataStyle:he,gridSideStyle:O,horizontalScrollThumbStyle:Qe,leftFixedGridDataStyle:me,leftFixedGridHeaderColumnsStyle:Y,leftFixedGridMergedDataStyle:ge,offsetX:M,offsetY:x,onMouseDownScrollThumb:Tt,onWheel:ue,reCalculateVisualDataRows:J,resetScroll:G,rightFixedGridDataStyle:Ie,rightFixedGridHeaderColumnsStyle:re,rightFixedGridMergedDataStyle:Le,shouldShowHorizontalScrollbar:ee,shouldShowVirticalScrollbar:j,updateVirticalScroll:U,updateVisibleRowsOnLatestVisibleScope:ce,verticalScrollThumbStyle:Ne,viewPortWidth:b,viewPortHeight:h,scrollToBottom:_t,scrollToRowByIndex:bt,scrollTo:kt}}function zn(t){var l;const{isUndefined:e}=D.useCommonUtils(),n=((l=t.rowOption)==null?void 0:l.height)||28;function i(a,s){const f=a.pre;if(f){let u=f.__fv_data_position__,m=f.__fv_data_height__;(e(u)||t.virtualized&&t.hierarchy&&f.__fv_visible_index__*n!==u)&&(u=f.__fv_visible_index__*n),e(m)&&(m=n);const d=a.visible?u+m:f.__fv_data_position__;a.top=d,s.__fv_data_position__=d}else a.top=0,s.__fv_data_position__=0}function o(a,s,f){if(a&&!s.ref){s.ref=a;const u=s.parent;s.cellHeight!==a.offsetHeight&&(s.cellHeight=a.offsetHeight),s.cellHeight&&s.cellHeight>(u.height||0)&&(u.height=s.cellHeight,f.__fv_data_height__=u.height),i(u,f)}!a&&s.ref&&(s.ref=a)}return{updateRowPosition:i,updateVisualInfomation:o}}function qn(){function t(e,n){var a,s;if(!n.data||!n.data.length)return"";const i=Object.prototype.hasOwnProperty.call(n,"valueField")&&n.valueField||"value",o=Object.prototype.hasOwnProperty.call(n,"textField")&&n.textField||"name";if(e!=null&&e.includes(",")){const f=e.split(",");if(!n.data.filter(c=>f.includes(c[i])).length)return"";const m=(a=n.data)==null?void 0:a.reduce((c,g)=>(c[g[i]]=g,c),{});return f.map(c=>{var g;return(g=m[c])==null?void 0:g[o]}).join(",")||e}const l=(s=n.data)==null?void 0:s.find(f=>f[i]===e);return(l==null?void 0:l[o])||e||""}return{renderEnumColumn:t}}function Gn(){function t(e,n){return e?n==null?void 0:n.trueText:n==null?void 0:n.falseText}return{renderText:t}}function Un(){const{formatTo:t}=D.useDateFormat();function e(i,o){if(i){let l="yyyy-MM-dd";if(typeof o=="string"?l=o:typeof o=="object"&&(l=o.format||"yyyy-MM-dd"),l=l.replace("YYYY","yyyy").replace("-DD","-dd"),typeof o=="object"&&o.dateRange){const a=o.dateRangeDatesDelimiter||"~";let[s,f]=i.split(a);return s=t(s,l),f=t(f,l),s+a+f}return t(i,l)}return i}function n(i,o){const l=o.dateFormat||"yyyy-MM-dd";return t(i,l)}return{renderDateColumn:n,renderDateTimeColumn:e}}function Dn(){const{formatTo:t}=D.useNumberFormat();function e(n,i){const o={precision:i.precision,prefix:i.prefix||"",suffix:i.suffix||"",decimalSeparator:i.decimal||".",groupSeparator:i.thousand||""};return t(n,o)||n}return{renderNumberColumn:e}}function Yn(){function t(e,n){if(e){const i={};return n!=null&&n.width&&(i.width=`${n.width}px`),n!=null&&n.height&&(i.height=`${n.height}px`),r.createVNode("img",{src:e,style:i},null)}return e}return{renderImageColumn:t}}function Xn(){function t(e,n){const i=je.LocaleService.getLocale();return(e==null?void 0:e[i||"zh-CHS"])||""}return{renderMultilingualColumn:t}}function Zn(){const{renderText:t}=Gn(),{renderEnumColumn:e}=qn(),{renderNumberColumn:n}=Dn(),{renderDateColumn:i,renderDateTimeColumn:o}=Un(),{renderImageColumn:l}=Yn(),{renderMultilingualColumn:a}=Xn();function s(m){return typeof m=="boolean"?m.toString():m}function f(m,d,c){return d.customFormat?d.customFormat(m,c.raw):s(m)}function u(m,d,c){const{column:g}=m,p=D.resolveField(d.raw,g.field),y=c.options||c;return c.type===Ge.NONE?s(p):c.type===Ge.CUSTOM?f(p,c,d):c.type===Ge.ENUM?e(p,y):c.type===Ge.NUMBER?n(p,y):c.type===Ge.BOOLEAN?t(p,y):c.type===Ge.DATE?i(p,y):c.type===Ge.DATE_TIME?o(p,c):c.type===Ge.IMAGE?l(p,y):c.type===Ge.MULTI_LINGUAL?a(p,y):s(p)}return{renderFormatColumn:u}}function Jn(t,e,n){var F;const{isUndefined:i}=D.useCommonUtils(),o=r.ref(t.mergeCell);(F=r.ref(t.rowOption).value)!=null&&F.wrapContent;const{updateVisualInfomation:a}=n,{renderCommandColumn:s}=Tn(t),{renderFormatColumn:f}=Zn();function u(x,M,_,v,C,h=1){const b={colSpan:h,rowSpan:1,index:_,field:x,data:D.resolveField(v,x),editingData:D.resolveField(v,x),parent:C,mode:M,align:"left",valign:"start",showEllipsis:!0,getEditor:S=>S.data,setRef:S=>a(S,b,v),update:()=>{},accept:()=>{},cancel:()=>{},updateData:()=>{}};return b}function m(x,M,_){return x.getEditor=v=>e.getEditor(v,M,v.parent),x.setRef=v=>a(v,x,_),x.update=v=>{v!==void 0&&(x.editingData=v)},x.accept=()=>{D.setFieldValue(x.editingData,_,M.field),x.data=D.resolveField(_,M.field)},x.cancel=()=>{x.editingData=x.data},x.updateData=v=>{D.setFieldValue(D.resolveField(v,M.field),_,M.field),x.data=D.resolveField(_,M.field),x.editingData=D.resolveField(_,M.field)},x}function d(x,M){M.dataType==="commands"?x.formatter=(_,v)=>M.formatter?M.formatter(x,v):s(x,v):M.formatter&&(x.formatter=(_,v)=>typeof M.formatter=="function"?M.formatter(_,v):f(x,v,M.formatter))}function c(x,M,_){const v=M&&M.data[_];if(v&&v.data===x.data){const h=v&&v.spannedBy||v;h.rowSpan++,h.spanned=h.spanned||[],h.spanned.push(x),x.colSpan=0,x.rowSpan=0,x.spannedBy=h}}function g(x,M,_){o.value&&c(x,M,_.field)}function p(x,M){M.showEllipsis!==void 0&&(x.showEllipsis=M.showEllipsis),x.showTips=i(M.showTips)?!0:M.showTips,x.column=M,x.align=M.align||"left",x.valign=M.valign||"middle",x.mode=t.editable?Ee.editable:Ee.readonly}function y(x,M,_,v){p(x,M),m(x,M,v),d(x,M),g(x,_,M)}function w(x,M,_,v,C){const h=t.editable?Ee.editable:Ee.readonly,b=u(x.field,h,M,_,v);return y(b,x,C,_),b}return{createCellByColumn:w,createCellByField:u,updateCellByColumn:y}}function Qn(t,e,n,i,o,l,a){var M,_;const s=r.ref(t.rowOption),f=((M=s.value)==null?void 0:M.height)||28,u=((_=s.value)==null?void 0:_.wrapContent)||!1,{idField:m}=o,{collapseField:d}=i,{updateRowPosition:c}=l,{createCellByColumn:g}=a,p=(v,C,h,b)=>{D.setFieldValue(D.resolveField(v,b),C,b),h.data[b].data=D.resolveField(C,b),h.data[b].editingData=D.resolveField(C,b)};function y(v,C,h,b,S,P){var ee,oe,ce;const{__fv_data_grid_group_field__:B,__fv_data_grid_group_value__:E,__fv_data_index__:N}=h,k=h.__fv_data_grid_group_layer__||(h.__fv_parents__?(ee=h.__fv_parents__)==null?void 0:ee.size:0)||0,T=typeof h.parent=="number"?Number(h.parent):-1,V=h.__fv_data_grid_group_collapse__||h[d.value],H=h.__fv_visible__===void 0?!0:h.__fv_visible__,I=h.__fv_checked__,R=h.__fv_indeterminate__,q=h.__fv_disabled__||h[((oe=t.rowOption)==null?void 0:oe.disabledField)||"disabled"],J=t.hierarchy&&e.isVisibleInTree(h),j={collapse:V,data:{},dataIndex:N,groupField:B,groupValue:E,layer:k,index:C,parentIndex:T,pre:b,top:P,type:v,raw:h,checked:I,disabled:q,indeterminate:R,setRef:Z=>{j.ref=Z},visible:H&&J||H&&!t.hierarchy,status:qe.initial,updateCell:(Z,L)=>{p(Z,h,j,L),e.updateSummary()},updateCells:(Z,L)=>{L.forEach(W=>{p(Z,h,j,W)})}};return b||(h.__fv_data_position__=0),u||(j.height=f,h.__fv_data_height__=j.height,c(j,h)),(ce=s.value)!=null&&ce.customRowStatus&&(s.value.customRowStatus(j),h.__fv_disabled__=j.disabled),j}function w(v,C,h,b,S,P){const B=y(it.data,S,C,h,b,P);return v.forEach((E,N)=>{B.data[E.field]=g(E,N,C,B,b)}),B}function F(v,C,h,b,S){return Object.assign(v,{index:C,dataIndex:h,top:b,pre:S})}function x(v,C,h,b,S,P){const B=v.__fv_data_index__,E=v[m.value],N=n.getEditingSnapshot(E);return N===null?w(P,v,C,h,b,S):F(N,b,B,S,C)}return{createEmptyRow:y,createNewRowFromDataItem:w,renderDataRow:x}}function Kn(t,e,n,i){const o=r.ref(t.summary),{idField:l}=e,{createCellByField:a}=n,{createEmptyRow:s}=i,f=r.computed(()=>{const c=o.value;return(c==null?void 0:c.groupFields)||[]}),u=r.computed(()=>{const c=o.value;return c&&c.enable&&c.groupFields&&c.groupFields.length>0});function m(c,g,p,y){if(u.value){const w=c.data[g];let F=w.colSpan;const x=f.value.reduce((M,_)=>(M.set(_,!0),M),new Map);y.reduce((M,_,v)=>{if(x.has(_.field)){const C=a(_.field,Ee.readonly,v,p,c);c.data[_.field]=C,F-1>v&&(F=v)}return M},c),w.colSpan=F}}function d(c,g,p,y,w,F,x){const M=c.__fv_data_grid_group_field__,_=s(it.group,y,c,g,p,w);return _.data[l.value]=a(l.value,Ee.readonly,-1,c,_,0),_.data[M]=a(M,Ee.readonly,1,c,_,F.length),m(_,M,c,F),_}return{renderGroupRow:d}}function ei(t,e,n,i){const{idField:o}=e,{createCellByField:l}=n,{createEmptyRow:a}=i;function s(f,u,m,d,c,g,p){const y=f.__fv_data_grid_group_field__,w=a(it.summary,d,f,u,m,c);return w.data[o.value]=l(o.value,Ee.readonly,-1,f,w),w.data[y]=l(y,Ee.readonly,1,f,w,g.length),w}return{renderSummaryRow:s}}function ti(t,e,n,i,o){var J;const{idField:l}=n,a=r.ref(t.editable),s=r.ref(t.editOption),f=r.ref(((J=t.rowOption)==null?void 0:J.wrapContent)||!1),{onClickRow:u,onClickRowExcludeDblclick:m}=i,d=new Map([["boolean","check-box"],["datetime","date-picker"],["enum","combo-list"],["number","number-spinner"],["string","input-group"],["text","text"],["commands","commands-editor"]]);let c,g,p,y,w;function F(j){return g&&g.raw[l.value]===j?g:null}const x=r.reactive({});function M(j){return(j==null?void 0:j.field)!==Pt&&(j==null?void 0:j.field)!==Sn}function _(j,ee,oe={}){j.mode=Ee.editing,c=j,g=ee,p=D.resolveField(ee==null?void 0:ee.raw,j.field),y=oe;for(const ce in x)delete x[ce]}function v(j){j.accept(),j.mode=Ee.editable,c=null;const ee={};g&&(Object.keys(g).forEach(oe=>{ee[oe]=g==null?void 0:g[oe]}),g=null),e.emit("endEditCell",{cell:j,row:ee,newValue:D.resolveField(ee==null?void 0:ee.raw,j.field),oldValue:p,column:y,editor:x})}function C(j){const ee=Promise.resolve(!0);return j?ee.then(()=>Re.isUndefined(t.beforeEndEditCell)?!0:typeof t.beforeEndEditCell=="function"?t.beforeEndEditCell({cell:j,row:g,newValue:j.editingData,oldValue:p}):()=>!0).then(oe=>(oe&&(v(j),g&&(g=null)),oe)):ee}function h(j){if(w&&w!==j.target){w=null;return}if(document.body.classList.contains("lookup-modal-open"))return;const oe=j.target;if(!(oe!=null&&oe.closest(".popover"))){if(j instanceof MouseEvent||j.key!=="Enter"){const ce=oe.closest(".fv-grid-cell");if(c&&c.ref&&c.ref===ce)return}C(c).then(ce=>{ce&&document.body.removeEventListener("click",h,!0)})}}function b(j,ee,oe){return Promise.resolve().then(()=>{var Z;const ce=(Z=oe.editor)==null?void 0:Z.readonly;return!Re.isUndefined(t.beforeEditCell)&&typeof t.beforeEditCell=="function"?t.beforeEditCell({row:j,cell:ee,rawData:j.raw,column:oe}):!ce}).then(ce=>{ce&&(_(ee,j,oe),document.body.removeEventListener("click",h,!0),document.body.addEventListener("click",h,!0))})}function S(j,ee,oe,ce={}){j.stopPropagation(),m(j,oe),M(ee.column)&&a.value&&s.value.editMode==="cell"&&ee.mode===Ee.editable&&C(c).then(()=>{c||b(oe,ee,ce)})}function P(j,ee,oe,ce={}){j.stopPropagation(),u(j,oe),M(ee.column)&&a.value&&s.value.editMode==="cell"&&ee.mode===Ee.editable&&C(c).then(()=>{c||b(oe,ee,ce)})}function B(j){j.stopPropagation(),w=j.target}function E(j){j.stopPropagation(),w&&(w=null)}function N(j){Object.values(j.data).filter(ee=>ee.mode===Ee.editable&&M(ee.column)).forEach(ee=>{ee.mode=Ee.editing}),j.status=qe.editing,g=j}function k(j,ee){Object.values(j.data).filter(oe=>oe.mode===Ee.editing).forEach(oe=>{ee?oe.accept():oe.cancel(),oe.mode=Ee.editable}),j.status=qe.initial,g===j&&(g=null)}function T(j){a.value&&s.value.editMode==="row"&&g!==j&&(g&&k(g,!1),N(j))}function V(j){k(j,!0),j.status=qe.initial}function H(j){k(j,!1),j.status=qe.initial}function I(j,ee,oe){const ce=ee.dataType,Z=ee.editor||{type:d.get(ce)||"input-group"};return!f.value&&Z.type==="text"&&(Z.type="input-group"),Z&&M(j.column)?(Z.type==="input-group"&&(Z.textAlign=ee.align!=="center"&&ee.align!=="right"?"left":ee.align,Z.updateOn="change"),Z.type==="number-spinner"&&(Z.updateOn="change"),Z.type==="textarea"&&(Z.lineBreak="alt enter"),Z.context={rowData:oe.raw,column:ee,cell:j,editor:x},Z.readonly=!1,r.createVNode(mn.FDynamicFormInput,{focusOnCreated:t.focusOnEditingCell,selectOnCreated:t.selectOnEditingCell,editor:Z,modelValue:j.editingData,"onUpdate:modelValue":L=>j.editingData=L,id:ee.id,onMousedown:L=>B(L),onMouseup:L=>E(L)},null)):j.data}function R(){C(c)}r.watch(()=>t.editable,()=>{a.value=t.editable}),r.watch(()=>{var j;return(j=t.editOption)==null?void 0:j.editMode},j=>{s.value.editMode=j});function q(){c=null,g=null,y=null,w=null,document.body.removeEventListener("click",h,!0)}return{clear:q,onClickOutOfCell:h,onClickCell:P,onClickCellByKeyboard:S,onEditingRow:T,acceptEditingRow:V,cancelEditingRow:H,getEditingSnapshot:F,getEditor:I,endEditCell:R,onMousedownCell:B,onMouseupCell:E}}function ni(t){const e=r.ref(t.idField);function n(i){if(i&&i.length){const o=i[0];Object.keys(o).includes(e.value)||(e.value="__fv_indetify__")}}return{idField:e,reviseIdentifyField:n}}function ii(t,e,n,i){const{idField:o}=i,{currentSelectedDataId:l,multiSelectOnClickRow:a,multiSelectOnClickRowWithShift:s,selectItem:f,toggleSelectItem:u,updateSelectAllStatus:m,isSingleSelect:d}=n,c=r.ref(0),g=r.ref(-1);function p(E){l.value=E}function y(E){return E.raw[o.value]===l.value}function w(E,N){var V;const k=N??E.dataIndex,T={"fv-grid-row":E.type===it.data,"fv-grid-group-row":E.type===it.group,"fv-grid-summary-row":E.type===it.summary,"fv-grid-row-hover":k===g.value,"fv-grid-row-selected":y(E),"fv-grid-row-odd":k%2>0,"fv-grid-row-even":k%2===0,"fv-grid-disabled":E.disabled};if((V=t.rowOption)!=null&&V.customRowStyle){const H=t.rowOption.customRowStyle(E.raw)||{};return Object.assign({},T,H.class||{})}return T}function F(E,N){var T;const k={"fv-grid-cell":!0};if((T=t.rowOption)!=null&&T.customCellStyle){const V=t.rowOption.customCellStyle(E,N)||{};return Object.assign({},k,V.class||{})}return k}function x(E,N){var T;const k={"fv-grid-hierarchy-cell":!0};if((T=t.rowOption)!=null&&T.customCellStyle){const V=t.rowOption.customCellStyle(E,N)||{};return Object.assign({},k,V.class||{})}return k}function M(E){const N=l.value,k=E.raw[o.value];p(k),N!==k&&e.emit("selectionChange",[E.raw],{id:k,data:E.raw})}function _(E,N){var V,H;if(s.value&&!(N!=null&&N.shiftKey)||d.value){(V=t.selection)!=null&&V.keepSelectingOnClick?f(E):u(E,(H=t.selection)==null?void 0:H.keepSelectingOnClick),m();return}if(s.value&&(N==null?void 0:N.shiftKey)||a.value){u(E),m();return}}function v(E,N){N.disabled||(e.emit("clickRow",N.index,N.raw),M(N),_(N,E))}function C(E){c.value+=1,setTimeout(()=>{c.value===1&&e.emit("clickRow",E.index,E.raw),c.value=0},250),c.value>1&&(e.emit("doubleClickRow",E.index,E.raw),c.value=0)}function h(E,N){N.disabled||(C(N),M(N),_(N,E))}function b(E){E.disabled||C(E)}function S(E,N){}function P(E,N){}function B(E,N){var V;const k=N??E.dataIndex,T={"fv-grid-sidebar-row":!0,"fv-grid-sidebar-row-hover":k===g.value,"fv-grid-sidebar-row-selected":y(E),"fv-grid-sidebar-row-odd":k%2>0,"fv-grid-sidebar-row-even":k%2===0,"d-flex":!0,"align-items-center":!0};if((V=t.rowOption)!=null&&V.customRowStyle){const H=t.rowOption.customRowStyle(E.raw)||{};return Object.assign({},T,H.class||{})}return T}return{activeRowById:p,clickRowItem:b,selectRow:_,changeRow:M,gridCellClass:F,gridHierarchyCellClass:x,gridRowClass:w,onClickRow:h,onClickRowExcludeDblclick:v,onMouseoverRow:S,sidebarRowClass:B,onMouseoutRow:P}}function oi(t,e,n,i,o){const{idField:l}=n,{dataView:a,getSelectionItems:s}=e,f=r.ref(""),u=r.computed(()=>t.selection.enableSelectRow),m=r.ref(t.selection.multiSelect??!1),d=r.ref(t.selection.multiSelectMode||"DependOnCheck"),c=r.ref(t.selection.showCheckbox),g=r.ref(t.selection.showSelectAll),p=r.ref(t.selectionValues||[]),y=r.computed(()=>t.selection.showSelection),w=r.computed(()=>{var O;return((O=t.selection)==null?void 0:O.keepSelectingOnPaging)===void 0?!0:t.selection.keepSelectingOnPaging}),F=r.ref(!!p.value.length&&i.value.length===p.value.length),x=r.ref(!!p.value.length&&i.value.length!==p.value.length);r.watch(()=>t.selection.showSelectAll,(O,Y)=>{O!==Y&&(g.value=O)});function M(){if(!w.value){const O=a.value.map(Y=>Y[l.value]);p.value=p.value.filter(Y=>O.includes(Y))}}function _(){const O=a.value.every(Q=>p.value.includes(Q[l.value])),Y=a.value.every(Q=>!p.value.includes(Q[l.value]));O&&(F.value=!0,x.value=!1),Y&&(F.value=!1,x.value=!1),!O&&!Y&&(F.value=!1,x.value=!0)}function v(){return s(p.value)}function C(){const O=i.value.reduce((Q,re)=>(Q.set(re.raw[l.value],re),Q),new Map);return p.value.map(Q=>O.get(Q)).filter(Q=>!!Q)}function h(O){var Q;const Y=O.raw.__fv_children_index__;if(Y&&Y.length){const re=Y.map(ve=>a.value[ve]);(Q=p.value)!=null&&Q.length&&re.some(Ne=>!p.value.includes(Ne[l.value]))&&(O.indeterminate=!0,O.raw.__fv_indeterminate__=!0)}}const b=r.computed(()=>u.value&&m.value),S=r.computed(()=>u.value&&!m.value&&!c.value),P=r.computed(()=>!!t.hierarchy),B=r.computed(()=>{const O=c.value&&d.value==="DependOnCheck";return b.value&&O}),E=r.computed(()=>b.value&&!c.value),N=r.computed(()=>b.value&&c.value&&d.value==="OnCheckAndClick");r.computed(()=>N.value);function k(){const O=s(p.value);o.emit("selectionUpdate",O,p.value)}function T(O){o.emit("unSelectItem",O)}function V(O){o.emit("selectItem",O)}function H(){const O=i.value.filter(Q=>Q.indeterminate).map(Q=>Q.raw[l.value]);i.value.forEach(Q=>{Q.checked=!1,Q.indeterminate=!1,Q.raw.__fv_checked__=!1,Q.raw.__fv_indeterminate__=!1}),C().forEach(Q=>{Q.checked=!0,Q.raw.__fv_checked__=!0}),O.forEach(Q=>{const re=i.value.find(ve=>ve.raw[l.value]===Q);h(re)})}r.watch(()=>i.value,()=>{H()}),r.watch(()=>t.selectionValues,O=>{p.value=O,H()},{immediate:!0}),r.watch(()=>t.selection,O=>{m.value=!!O.multiSelect,d.value=O.multiSelectMode||"DependOnCheck",c.value=!!O.showCheckbox});const I=r.computed(()=>!m.value);function R(O){return O.raw[l.value]}function q(O){return p.value.findIndex(Q=>Q===R(O))}function J(){C().forEach(Q=>{Q.checked=!1}),s(p.value).forEach(Q=>{Q.__fv_checked__=!1}),p.value=[],f.value="",_()}function j(O){const Y=O;Y.__fv_checked__=!0,Y.__fv_indeterminate__=!1;const Q=new Set(p.value);Q.add(Y[l.value]),p.value=Array.from(Q.values()),M()}function ee(O){const Y=O;Y.__fv_checked__=!1,Y.__fv_indeterminate__=!1,p.value=p.value.filter(Q=>Q!==Y[l.value]),M()}function oe(O){const Y=O.raw;Y.__fv_checked__=!0,Y.__fv_indeterminate__=!1;const Q=new Set(p.value);Q.add(Y[l.value]),p.value=Array.from(Q.values()),M(),O.checked=!0,O.indeterminate=!1,k(),V(O)}function ce(O){const Y=O.raw;Y.__fv_checked__=!1,Y.__fv_indeterminate__=!1,p.value=p.value.filter(Q=>Q!==Y[l.value]),M(),O.checked=!1,O.indeterminate=!1,k(),T(O)}function Z(O){O.disabled||(oe(O),f.value=O.raw[l.value])}function L(O){O.disabled||(ce(O),f.value="")}function W(O){O.__fv_checked__=!1,O.__fv_indeterminate__=!0,p.value=p.value.filter(Y=>Y!==O[l.value]),M()}function G(O){const Y=O.raw;Y.__fv_checked__=!1,Y.__fv_indeterminate__=!0,p.value=p.value.filter(Q=>Q!==Y[l.value]),M(),O.checked=!1,O.indeterminate=!0}function U(O){I.value&&J(),O.checked?ce(O):oe(O)}function ne(O,Y=!0){const Q=O.checked;I.value&&J(),Y?O.checked?L(O):Z(O):Q?L(O):Z(O)}function ue(O){O.raw[l.value]!==f.value&&(J(),Z(O))}function me(O){const Y=i.value.find(Q=>Q.raw[l.value]===O);if(Y)ue(Y);else{const Q=a.value.find(re=>re[l.value]===O);Q&&j(Q)}}function ge(O){const Y=i.value.filter(ve=>O.includes(ve.raw[l.value])),Q=Y.map(ve=>ve.raw[l.value]),re=a.value.filter(ve=>{const Ne=ve[l.value];return!Q.includes(Ne)&&O.includes(Ne)});(Y.length||re.length)&&S.value&&(f.value=O[0]),Y.forEach(ve=>{Z(ve)}),re.forEach(ve=>{j(ve)})}function ye(O){for(const Y of O){if(!p.value.includes(Y))continue;const Q=i.value.find(re=>re.raw[l.value]===Y);if(Q)L(Q);else{const re=a.value.find(ve=>ve[l.value]===Y);re&&ee(re)}}p.value=p.value.filter(Y=>!O.includes(Y)),M()}function he(){i.value.forEach(O=>{const Y=O.raw;Y.__fv_checked__=!0,Y.__fv_indeterminate__=!1;const Q=new Set(p.value);Q.add(Y[l.value]),p.value=Array.from(Q.values()),M(),O.checked=!0,O.indeterminate=!1}),k()}function Ie(){i.value.forEach(O=>{const Y=O.raw;Y.__fv_checked__=!1,Y.__fv_indeterminate__=!1,p.value=p.value.filter(Q=>Q!==Y[l.value]),M(),O.checked=!1,O.indeterminate=!1}),k()}function Le(){return i.value.find(O=>O.raw[l.value]===f.value)}return{clearSelection:J,currentSelectedDataId:f,enableMultiSelect:m,enableSelectRow:u,findIndexInSelectedItems:q,getSelectedItems:v,getSelectionRow:Le,indeterminate:G,indeterminateDataItem:W,isSelectingHirarchyItem:P,multiSelectMode:d,multiSelectOnClickRow:N,multiSelectOnClickRowWithShift:E,multiSelectOnlyOnCheck:B,select:Z,selectAll:he,selectedValues:p,selectDataItem:j,selectItem:ue,selectItemById:me,selectItemByIds:ge,showCheckBox:c,showSelectAll:g,toggleSelectItem:ne,toggleSelectItemWithoutRow:U,unSelect:L,unSelectAll:Ie,unSelectDataItem:ee,unSelectItemByIds:ye,updateSelectAllStatus:_,selectAllStatus:F,indeterminateStatus:x,isSingleSelect:S,showSelection:y,keepSelectingOnPaging:w,emitSelectionChanged:k}}function ri(t,e){var y,w;const n=String(Date.now()),i=50,{showCheckBox:o}=e,l=r.ref(((y=t.rowNumber)==null?void 0:y.enable)??!1),a=r.computed(()=>t.hierarchy&&o.value&&t.selection.enableSelectRow&&t.selection.multiSelect?!1:o.value),s=r.ref(l.value?((w=t.rowNumber)==null?void 0:w.width)??36:0),f=r.ref(a.value?i:0),u=r.computed(()=>{var F,x;return l.value?((F=t.rowNumber)==null?void 0:F.heading)==="序号"?je.LocaleService.getLocaleValue("datagrid.lineNumberTitle"):(x=t.rowNumber)==null?void 0:x.heading:""}),m=r.computed(()=>(a.value&&!t.hierarchy?Number(f.value):0)+(l.value?Number(s.value):0));r.watch(()=>t.rowNumber,F=>{F&&F.enable!==void 0&&(l.value=F.enable),F&&F.width!==void 0&&(s.value=F.width)});function d(F){var M;const x={top:`${F.top}px`,width:`${m.value}px`,height:`${F.height||""}px`};if((M=t.rowOption)!=null&&M.customRowStyle){const _=t.rowOption.customRowStyle(F.raw)||{};return Object.assign({},x,_.style||{})}return x}const c=r.computed(()=>({width:`${m.value}px`}));function g(F){return`${n}_${F.type}_r_${F.index}_${F.refreshKey||""}`}function p(F){return`${n}_${F.type}_r_${F.index}_${F.refreshKey||""}`}return{showRowNumer:l,showSidebarCheckBox:a,sidebarCellPosition:d,sidebarCornerCellStyle:c,sidebarTitle:u,sidebarWidth:m,rowKey:p,cellKey:g}}const li={ascend:(t,e)=>t===e?0:t===!1?-1:1,decend:(t,e)=>t===e?0:t===!0?-1:1},ai={ascend:(t,e)=>{const n=new Date(new Date(t).toLocaleDateString()).valueOf(),i=new Date(new Date(e).toLocaleDateString()).valueOf();return n===i?0:n<i?-1:1},decend:(t,e)=>{const n=new Date(new Date(t).toLocaleDateString()).valueOf(),i=new Date(new Date(e).toLocaleDateString()).valueOf();return n===i?0:n<i?1:-1}},si={ascend:(t,e)=>t===e?0:t<e?-1:1,decend:(t,e)=>t===e?0:t<e?1:-1},di={ascend:(t,e)=>t===e?0:t<e?-1:1,decend:(t,e)=>t===e?0:t<e?1:-1};function ci(t){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"]]),n=new Map([["boolean-sorter",li],["datetime-sorter",ai],["numeric-sorter",si],["text-sorter",di]]);function i(a){const s=(a==null?void 0:a.dataType)||"string",f=e.get(s)||"text-sorter";return n.get(f)||(a==null?void 0:a.sorter)}function o(a){return i(a.column)}function l(a,s){const f=o(a),u=(a.status&Pe.sortable)===Pe.sortable&&(a.status&Pe.sorted)===Pe.sorted,m=(a.status&Pe.ascending)===Pe.ascending,d=(a.status&Pe.descending)===Pe.descending;if(u&&f){const c=m?f.ascend:d?f.decend:void 0;c?s.addSorter(a.field,{field:a.field,compare:c}):s.removeSorter(a.field)}else s.removeSorter(a.field)}return{getSorterByColumn:i,updateSorter:l}}function Ot(t,e,n,i,o="data-grid-column"){const{columnContext:l,hasLeftFixedColumn:a,hasRightFixedColumn:s}=n,{gridHeaderColumnsStyle:f,leftFixedGridHeaderColumnsStyle:u,rightFixedGridHeaderColumnsStyle:m}=i,d=l.value.defaultColumnWidth,c=32,g=new Map([[0,0]]);function p(P,B){const E=g.get(B)||0,N={height:`${P.depth*c}px`,left:`${P.left}px`,top:`${(P.layer-1)*c}px`,width:`${P.actualWidth}px`,padding:0};return l.value.headerDepth>1&&(N["line-height"]=`${P.depth*c}px`),g.set(B+1,E+(P.actualWidth||d)),N}const y=r.computed(()=>({"fv-grid-header":!0,"fv-grid-header-group-columns":l.value.headerDepth>1})),w=r.computed(()=>({height:`${l.value.headerDepth*c}px`})),F=function(P){return e.showSetting&&!!P.showSetting};function x(){return r.createVNode("span",{class:"fv-grid-settings-icon d-flex align-items-center"},[r.createVNode("i",{class:"f-icon f-icon-home-setup"},null)])}function M(P,B,E,N){var k;(k=t==null?void 0:t.setupContext)==null||k.emit("selectionChange",P,B,E,N)}function _(P){var E,N;return"w-100 d-flex align-items-center justify-content-"+(((E=P.column)==null?void 0:E.halign)==="center"?"center":((N=P.column)==null?void 0:N.halign)==="right"?"end pr-2":"start pl-2")}function v(P,B,E){var k;const N=r.ref(P.column);return r.createVNode("div",{class:"fv-grid-header-cell",style:p(P,E)},[r.createVNode(A.FDesignerItem,{modelValue:N.value,"onUpdate:modelValue":T=>N.value=T,customClass:_(P),canAdd:!1,canDelete:!1,canMove:!1,key:(k=N.value)==null?void 0:k.id,type:o,componentId:e.componentId,onSelectionChange:M},null),F(P)&&x(),P.resizable&&r.createVNode("span",{class:"fv-column-resize-bar"},null)])}function C(P){return P.map((B,E)=>{const N=[];if(N.push(v(B,P,E)),B.children&&B.children.length){const k=C(B.children);N.push(...k)}return N})}function h(){return r.createVNode("div",{class:"fv-grid-header-left-fixed"},[r.createVNode("div",{class:"fv-grid-header-columns",style:u.value},[C(l.value.leftHeaderColumns)])])}function b(){return r.createVNode("div",{class:"fv-grid-header-right-fixed"},[r.createVNode("div",{class:"fv-grid-header-columns",style:m.value},[C(l.value.rightHeaderColumns)])])}function S(){return r.createVNode("div",{class:y.value,style:w.value},[a.value&&h(),r.createVNode("div",{class:"fv-grid-header-primary"},[r.createVNode("div",{class:"fv-grid-header-columns",style:f.value},[C(l.value.primaryHeaderColumns)])]),s.value&&b()])}return{renderGridHeader:S}}const ft={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",name:"容器"},"input-group":{type:"input-group",name:"文本"},textarea:{type:"textarea",name:"多行文本"},lookup:{type:"lookup",name:"帮助"},"number-spinner":{type:"number-spinner",name:"数值"},"date-picker":{type:"date-picker",name:"日期"},switch:{type:"switch",name:"开关"},"radio-group":{type:"radio-group",name:"单选组"},"check-box":{type:"check-box",name:"复选框"},"check-group":{type:"check-group",name:"复选框组"},"combo-list":{type:"combo-list",name:"下拉列表"},"response-form":{type:"response-form",name:"卡片面板"},"response-layout":{type:"response-layout",name:"布局容器",icon:"response-layout-3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"response-layout-1"},"tree-grid":{type:"tree-grid",name:"树表格"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块"},component:{type:"component",name:"组件"},tabs:{type:"tabs",name:"标签页"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮"},"html-template":{type:"html-template",name:"模板容器"},"time-picker":{type:"time-picker",name:"时间选择"},section:{type:"section",name:"分组面板"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传"},"page-header":{type:"page-header",name:"页头"},"page-footer":{type:"page-footer",name:"页脚"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏"},fieldset:{type:"fieldset",name:"分组"},"query-solution":{type:"query-solution",name:"筛选方案"},drawer:{type:"drawer",name:"抽屉"},"external-container":{type:"external-container",name:"外部容器",icon:"content-container"},"list-nav":{type:"list-nav",name:"列表导航"},"list-view":{type:"list-view",name:"列表"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"},image:{type:"image",name:"图像"},"discussion-editor":{type:"discussion-editor",name:"评论编辑区"},"discussion-list":{type:"discussion-list",name:"评论列表"},comment:{type:"comment",name:"评论区"},"rich-text-editor":{type:"rich-text-editor",name:"富文本编辑器",icon:"rich-text-box"},calendar:{type:"calendar",name:"日历",icon:"date-picker"}};class ui extends He.BaseControlProperty{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.propertyConfig.categories.command=We.useCommandOption(this).getCommandColumnProperties(e),this.propertyConfig.categories.column=We.useColumnOption().getColumnOptionProperties(e),this.propertyConfig.categories.rowOption=We.useRowOption().getRowOptionProperties(e),this.propertyConfig.categories.summary=We.useSummary().getSummaryProperties(e),this.propertyConfig.categories.sort=We.useSort().getSort(e),this.propertyConfig.categories.filter=We.useFilter().getFilter(e),this.getEventPropConfig(e),this.propertyConfig}getBasicPropConfig(e){var a,s,f;const n=(f=(s=(a=this.formSchemaUtils.getFormSchema())==null?void 0:a.module)==null?void 0:s.entity[0])==null?void 0:f.entities[0],i=this.assembleSchemaEntityToTree(n,0),o=this,l=super.getBasicPropConfig(e);this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{...l.properties,dataSource:{description:"绑定数据源",title:"绑定数据源",editor:{type:"combo-tree",textField:"name",valueField:"label",data:i,editable:!1},readonly:!0}},setPropertyRelates(u,m){switch(u&&u.propertyID){case"dataSource":{const d=o.formSchemaUtils.getViewModelById(o.viewModelId);if(d){const c=i.find(g=>g.label===u.propertyValue);d.bindTo=c.bindTo}o.designViewModelUtils.assembleDesignViewModel();break}}}}}assembleSchemaEntityToTree(e,n,i,o="",l=[]){const a=o?`${o}/${e.label}`:"/";return l.push({id:e.id,name:e.name,label:e.label,layer:n,parent:i&&i.id,bindTo:a.replace("//","/")}),e.type.entities&&e.type.entities.length&&e.type.entities.map(s=>this.assembleSchemaEntityToTree(s,n+1,e,a,l)),l}getAppearanceProperties(e){this.propertyConfig.categories.appearance=We.useAppearance().getDataGrid(e,this.viewModelId),this.propertyConfig.categories.selection=We.useSelection().getSelection(e),this.propertyConfig.categories.rowNumber=We.useRowNumber().getRowNumber(e),this.propertyConfig.categories.pagination=We.usePagination().getPagination(e,this.isSubGrid())}getEventPropConfig(e){const n=[...We.useDataGridEvent().initEvent(e),{label:"onEndEditCell",name:"单元格结束编辑事件"}],i=this,o=i.eventsEditorUtils.formProperties(e,i.viewModelId,n),l=i.createBaseEventProperty(o);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:l,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,s){const f=a.propertyValue;delete e[i.viewModelId],f&&(f.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(e,i.viewModelId,f.events,f)),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 fi(t,e){const n=t.schema,i=r.ref(!0),o=r.ref(!0);function l(d){return d&&d.sourceType==="control"?d.componentCategory==="input":!1}function a(){return!1}function s(){return!1}function f(){return!0}function u(d){return new ui(d,e).getPropertyConfig(n)}function m(){var d,c,g,p;if(t&&e){const y=(d=t==null?void 0:t.componentInstance)==null?void 0:d.value.belongedComponentId;let w="",F="";const{formSchemaUtils:x}=e;if(y){const _=x.getRootViewModelId(),v=x.getComponentByViewModelId(_),C=x.selectNode(v,h=>h.contents&&h.contents.find(b=>b.component===y));(C==null?void 0:C.type)===((c=ft["tab-page"])==null?void 0:c.type)&&((g=C==null?void 0:C.contents)!=null&&g.length)&&(w=C.title||""),(C==null?void 0:C.type)===((p=ft.section)==null?void 0:p.type)&&(C==null?void 0:C.showHeader)!==!1&&(w=C.mainTitle||""),w=w?`${w} > `:"",F=w?C.id:""}const M=ft["data-grid"].name;e==null||e.formSchemaUtils.getControlBasicInfoMap().set(t.schema.id,{componentTitle:M,parentPathName:`${w}${M}`,reliedComponentId:F})}}return{canAccepts:l,checkCanDeleteComponent:a,checkCanMoveComponent:s,hideNestedPaddingInDesginerView:f,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:o,getPropsConfig:u,setComponentBasicInfoMap:m}}const Ke=r.defineComponent({name:"FDataGridDesign",props:yn,emits:["ClickRow","DoubleClickRow","selectionChange","enterUpInLastCell","pageIndexChanged","pageSizeChanged"],setup(t,e){var O;const n=r.ref(),i=r.inject("designer-host-service"),o=r.inject("design-item-context"),l=fi(o,i),a=A.useDesignerComponent(n,o,l);a.value.styles="display:flex;flex:1;",r.onMounted(()=>{n.value.componentInstance=a}),r.provide("data-grid-context",{dataGridProps:t}),e.expose(a.value);const s=r.ref(t.columns),f=20,u=ni(t),m=0,d=r.ref(),c=r.ref(),g=r.ref(t.showStripe),p=r.ref([]),y=r.ref(!1),w=r.ref(((O=t.rowOption)==null?void 0:O.wrapContent)||!1),F=Ln(t,e),x=$n(t),M=Pn(t,new Map,F,x,u),_=oi(t,M,u,p,e),v=r.computed(()=>M.totalItems.value<f?M.totalItems.value:f),{containerStyleObject:C}=_n(t),h=kn(t),{applyCommands:b}=h;b(s);const S=Cn(t),P=ci(),{applyColumnSorter:B,columnContext:E,updateColumnRenderContext:N}=S;B(M,P);const k=Vn(t,E),T=ii(t,e,_,u),V=ti(t,e,u,T),H=zn(t),I=Jn(t,V,H),R=Qn(t,M,V,x,u,H,I),q=Kn(t,u,I,R),J=ei(t,u,I,R),j=wn(t,s,M,v,m,R,q,J),{getVisualData:ee}=j,oe=ri(t,_),{sidebarWidth:ce}=oe;p.value=ee(0,v.value+m-1);const Z=Wn(t,M,p,E,j,v,m,ce),{onWheel:L,dataGridWidth:W,viewPortHeight:G,viewPortWidth:U}=Z,ne=vn(t,E,d,U,k),{calculateColumnsSize:ue}=ne,me=r.computed(()=>({"fv-grid":!0,"fv-grid-bordered":!0,"fv-datagrid-strip":g.value})),ge=r.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":y.value,"fv-grid-wrap-content":w.value})),{renderGridHeader:ye}=Ot(o,t,S,Z),{renderHorizontalScrollbar:he}=Fn(t,d,Z);function Ie(){var Y,Q;G.value=((Y=c.value)==null?void 0:Y.clientHeight)||0,W.value=((Q=d.value)==null?void 0:Q.clientWidth)||0,ue()}r.onMounted(()=>{d.value&&(cn.useResizeObserver(d.value,Ie),ue(),r.nextTick(()=>{d.value&&(W.value=d.value.clientWidth),c.value&&(U.value=c.value.clientWidth,G.value=c.value.clientHeight)}))});function Le(Y){Y&&(s.value=Y,b(s),N(s.value),B(M,P),ue())}return r.watch(()=>t.columns,Y=>{Le(Y),A.canvasChanged.value++}),r.watch(U,()=>{d.value&&ue()}),()=>r.createVNode("div",{ref:n,class:me.value,style:C.value,onWheel:L},[ye(),r.createVNode("div",{ref:d,class:ge.value,onMouseover:()=>{y.value=!0},onMouseleave:()=>{y.value=!1}},[he()])])}}),mi={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}},pi={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},hi=r.defineComponent({name:"FOverlay",props:pi,emits:["click"],setup(t,e){const n=r.ref(t.popupContentPosition),i=r.ref(t.host),o=r.computed(()=>({backgroundColor:t.backgroundColor||"",pointerEvents:"auto"}));function l(s){e.emit("click"),s.preventDefault(),s.stopPropagation()}r.computed(()=>{const s=i.value;if(s){const f=s.getBoundingClientRect(),{left:u,top:m,height:d}=f;return{left:u,top:m+d}}return n.value});const a=r.computed(()=>({}));return()=>r.createVNode(r.Teleport,{to:"body"},{default:()=>{var s,f;return[r.createVNode("div",{class:"overlay-container",onClick:u=>l(u),style:o.value},[r.createVNode("div",{style:a.value},[(f=(s=e.slots).default)==null?void 0:f.call(s)])])]}})}});function gi(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function yi(t){const e=document.createElement("div");e.style.display="contents";let n;const i=t.onClickCallback||(()=>{}),o=()=>{i(),n&&n.unmount()};return n=r.createApp({setup(){r.onUnmounted(()=>{document.body.removeChild(e)});const l=gi(t);return()=>r.createVNode(hi,{"popup-content-position":t.popupPosition,host:t.host,onClick:o,backgroundColor:t.backgroundColor},{default:()=>[l&&l()]})}}),document.body.appendChild(e),n.mount(e),n}class vi{static show(e){return yi(e)}}const bi={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"}};class ke{constructor(e,n){this.x=e,this.y=n}static getTransformInfo(e){const i=window.getComputedStyle(e).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(i.length>=6){const o=parseInt(i[4],10),l=parseInt(i[5],10);return{x:o,y:l}}return{x:0,y:0}}static fromEvent(e,n=null){if(this.isMouseEvent(e))return new ke(e.clientX,e.clientY);if(n===null||e.changedTouches.length===1)return new ke(e.changedTouches[0].clientX,e.changedTouches[0].clientY);for(let i=0;i<e.changedTouches.length;i++)if(e.changedTouches[i].target===n)return new ke(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 n=new ke(0,0);if(window){const i=window.getComputedStyle(e);if(i){const o=parseInt(i.getPropertyValue("left"),10),l=parseInt(i.getPropertyValue("top"),10);n.x=isNaN(o)?0:o,n.y=isNaN(l)?0:l}return n}return null}static copy(e){return new ke(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 ot{constructor(e,n){this.width=e,this.height=n}static getCurrent(e){const n=new ot(0,0);if(window){const i=window.getComputedStyle(e);return i&&(n.width=parseInt(i.getPropertyValue("width"),10),n.height=parseInt(i.getPropertyValue("height"),10)),n}return null}static copy(e){return new ot(0,0).set(e)}set(e){return this.width=e.width,this.height=e.height,this}}function Ci(t,e){const n=r.ref(),i=r.ref(),o=r.ref(),l=r.ref(),a=r.ref(),s=r.ref(),f=r.ref(),u=r.ref(),m=r.ref(),d=r.ref(),c=r.ref(),g=r.ref(t.resizeable),p=r.ref(),y=r.ref(t.draggable),w=r.ref(!1);function F(){const I=i.value||document.body,R=window.getComputedStyle(I);if(!R||!n.value)return;const q=ke.getTransformInfo(n.value),J={};f.value&&(J.deltaL=n.value.offsetLeft-f.value.x,J.deltaT=n.value.offsetTop-f.value.y);const j=R.getPropertyValue("position");J.width=I.clientWidth,J.height=I.clientHeight,J.pr=parseInt(R.getPropertyValue("padding-right"),10),J.pb=parseInt(R.getPropertyValue("padding-bottom"),10),J.position=R.getPropertyValue("position"),j==="static"&&(I.style.position="relative"),J.translateX=q.x,J.translateY=q.y,d.value=J}function x(I){if(n.value){l.value=ot.getCurrent(n.value),a.value=ke.getCurrent(n.value),s.value=l.value?ot.copy(l.value):null,f.value=a.value?ke.copy(a.value):null,F();const R=I.target.getAttribute("type")||"";u.value={n:!!R.match(/n/),s:!!R.match(/s/),w:!!R.match(/w/),e:!!R.match(/e/)}}}function M(){var I,R,q,J;if(n.value){const j=n.value;u.value&&((u.value.n||u.value.s)&&((I=s.value)!=null&&I.height)&&(j.style.height=s.value.height+"px"),(u.value.w||u.value.e)&&((R=s.value)!=null&&R.width)&&(j.style.width=s.value.width+"px"),f.value&&((q=f.value)!=null&&q.x&&(j.style.left=f.value.x+"px"),(J=f.value)!=null&&J.y&&(j.style.top=f.value.y+"px")))}}function _(){const I=t.minHeight?t.minHeight:1,R=t.minWidth?t.minWidth:1;s.value&&f.value&&u.value&&l.value&&(s.value.height<I&&(s.value.height=I,u.value.n&&a.value&&(f.value.y=a.value.y+(l.value.height-I))),s.value.width<R&&(s.value.width=R,u.value.w&&a.value&&(f.value.x=a.value.x+(l.value.width-R))),t.maxHeight&&s.value.height>t.maxHeight&&(s.value.height=t.maxHeight,a.value&&u.value.n&&(f.value.y=a.value.y+(l.value.height-t.maxHeight))),t.maxWidth&&s.value.width>t.maxWidth&&(s.value.width=t.maxWidth,u.value.w&&a.value&&(f.value.x=a.value.x+(l.value.width-t.maxWidth))))}function v(){if(i.value){const I=d.value;if(f.value&&s.value&&u.value&&l.value){const R=I.width-I.pr-I.deltaL-I.translateX-f.value.x,q=I.height-I.pb-I.deltaT-I.translateY-f.value.y;u.value.n&&f.value.y+I.translateY<0&&a.value&&(f.value.y=-I.translateY,s.value.height=l.value.height+a.value.y+I.translateY),u.value.w&&f.value.x+I.translateX<0&&a.value&&(f.value.x=-I.translateX,s.value.width=l.value.width+a.value.x+I.translateX),s.value.width>R&&(s.value.width=R),s.value.height>q&&(s.value.height=q)}}}function C(I){if(!o.value||!l.value||!a.value||!u.value)return;I.subtract(o.value);const R=I.x,q=I.y;u.value.n?(f.value.y=a.value.y+q,s.value.height=l.value.height-q):u.value.s&&(s.value.height=l.value.height+q),u.value.e?s.value.width=l.value.width+R:u.value.w&&(s.value.width=l.value.width-R,f.value.x=a.value.x+R),v(),_(),M()}function h(I){if(!m.value)return;const R=ke.fromEvent(I);R&&C(R)}function b(){if(n.value){const{width:I,height:R,x:q,y:J}=n.value.getBoundingClientRect(),j=ke.getTransformInfo(n.value);return{size:{width:I,height:R},position:{x:q-j.x,y:J-j.y}}}return null}function S(I){if(n.value){const R=b();c.value=R}o.value=void 0,l.value=null,a.value=null,s.value=null,f.value=null,u.value=null,m.value=null,document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",S)}function P(){document.addEventListener("mousemove",h),document.addEventListener("mouseup",S)}function B(I){I instanceof MouseEvent&&I.button===2||y.value&&(document.body.click(),I.stopPropagation(),I.preventDefault(),o.value=ke.fromEvent(I),m.value=I.target,x(I),P())}function E(I){return n.value=I,g.value&&r.createVNode(r.Fragment,null,[r.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:R=>B(R)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:R=>B(R)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:R=>B(R)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:R=>B(R)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:R=>B(R)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:R=>B(R)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:R=>B(R)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:R=>B(R)},null)])}function N(I=!0){document.body.click();const R=i.value||document.body,q=ot.getCurrent(R),J=n.value;I&&J&&(p.value=b(),p.value.transform=J.style.transform),q&&J&&(s.value=q,s.value.height-=14,s.value.width-=14,J.style.height=s.value.height+"px",J.style.width=s.value.width+"px",J.style.left="7px",J.style.top="7px",J.style.transform="",c.value={size:s.value,position:{x:0,y:0}},y.value=!1,w.value=!0)}function k(){var I,R;if(document.body.click(),p.value){const q={width:p.value.size.width||0,height:p.value.size.height||0},J={x:(window.innerWidth-q.width)/2,y:(window.innerHeight-q.height)/2};(I=s.value)==null||I.set(q),(R=f.value)==null||R.set(J);const j=n.value;j.style.height=q.height+"px",j.style.width=q.width+"px",j.style.left=`${J.x}px`,j.style.top=`${J.y}px`,j.style.transform="",c.value={size:q,position:J},y.value=t.draggable,w.value=!1}}function T(){if(n.value){const I=ot.getCurrent(n.value);if(I){const{width:R,height:q}=I;n.value.style.left=`${(window.innerWidth-R)/2}px`,n.value.style.top=`${(window.innerHeight-q)/2}px`,n.value.style.transform=""}}}function V(){const I=()=>{w.value?N(!1):T(),document.body.click()};return window.addEventListener("resize",I),()=>{window.removeEventListener("resize",I)}}const H=V();return{renderResizeBar:E,boundingElement:i,resizedEventParam:c,maximize:N,restore:k,allowDrag:y,isMaximized:w,unWindowResizeHandle:H,moveToCenter:T}}function wi(t,e,n){const i=r.ref(),o=r.ref(t.draggable),l=r.ref(t.lockAxis),a=r.ref(),s=r.ref(),f=r.ref(!1),u=r.ref(new ke(0,0)),m=r.ref(new ke(0,0)),d=r.ref(new ke(0,0)),c=r.ref(new ke(0,0));r.watch(()=>n.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 S in b.children)if(Object.prototype.hasOwnProperty.call(b.children,S)&&g(h,b.children[S]))return!0;return!1}function p(){var P,B;let h=d.value.x+m.value.x,b=d.value.y+m.value.y;l.value==="x"?(h=((P=u.value)==null?void 0:P.x)||0,d.value.x=0):l.value==="y"&&(b=((B=u.value)==null?void 0:B.y)||0,d.value.y=0);const S=`translate3d(${Math.round(h)}px, ${Math.round(b)}px, 0px)`;i.value&&(i.value.style.transform=S),c.value.x=h,c.value.y=b}function y(){if(!s.value||!i.value)return null;const h=s.value.getBoundingClientRect(),b=i.value.getBoundingClientRect(),S={top:h.top<b.top,right:h.right>b.right,bottom:h.bottom>b.bottom,left:h.left<b.left};return S.top||(d.value.y-=b.top-h.top),S.bottom||(d.value.y-=b.bottom-h.bottom),S.right||(d.value.x-=b.right-h.right),S.left||(d.value.x-=b.left-h.left),p(),S}function w(h){h&&(u.value&&h.subtract(u.value),d.value.set(h),p(),y())}function F(h){f.value&&o.value&&(h.stopPropagation(),h.preventDefault(),w(ke.fromEvent(h,a.value)))}function x(){var h;f.value&&(f.value=!1,m.value.add(d.value),d.value.reset(),(h=i.value)==null||h.classList.remove("ng-dragging"),e.emit("stopMove"),document.removeEventListener("mousemove",F),document.removeEventListener("mouseup",x))}function M(){!f.value&&a.value&&(f.value=!0,a.value.classList.add("ng-dragging"),document.addEventListener("mousemove",F),document.addEventListener("mouseup",x))}function _(){if(i.value){const h=ke.getTransformInfo(i.value);m.value.set(h);return}m.value.reset()}function v(h){if(!n.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(),u.value=ke.fromEvent(h,i.value),_(),M())}function C(h,b,S){if(o.value&&b){if(h)a.value=h;else if(t.dragHandle){if(t.dragHandle instanceof HTMLElement)a.value=t.dragHandle;else if(typeof t.dragHandle=="string"){const P=b.querySelector(t.dragHandle);P&&(a.value=P)}}i.value=b,s.value=S,a.value?(a.value.classList.add("ng-draggable"),a.value.addEventListener("mousedown",v)):o.value=!1}}return{registerDraggle:C,resetTranslate:_}}function jt(t,e){if(t){const n=i=>{i.key.toLowerCase()===t.toLowerCase()&&e({event:i,key:t})};return document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",n)}}}function Si(t,e){const n=r.ref(t.enableEsc);let i=null;return n.value?(i=jt("Escape",o=>{e.emit("esc",{event:o.event,type:"esc"})}),{remove:i}):null}function xi(t,e){const n=r.ref(t.enableEnter);let i=null;return n.value?(i=jt("Enter",o=>{e.emit("enter",{event:o.event,type:"enter"})}),{remove:i}):null}const mt=r.defineComponent({name:"FModal",props:bi,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove"],setup(t,e){const n=r.ref(t.width||300),i=r.ref(t.height||200),o=r.ref(t.modelValue),l=r.ref(""),a=r.ref(t.class),s=r.ref(t.fitContent),f=r.ref(t.showHeader),u=r.ref(""),m=r.ref(t.showCloseButton),d=r.ref(t.showMaxButton),c=r.ref(!1),g=r.ref(t.dialogType),p=r.ref(t.src),y=r.ref(""),w=r.ref(t.showButtons),F=r.ref(t.title),x=r.ref(t.containment||null),M=r.ref();F.value==="错误提示"&&(F.value=je.LocaleService.getLocaleValue("messageBox.errorTitle"));const _=r.ref(!1);function v(z,ae){const Fe=ae?"accept":"cancel";Promise.resolve().then(()=>{var Se;return(Se=t.beforeClose)==null?void 0:Se.call(t,{closeType:Fe})}).then(Se=>{Se&&(o.value=!1,e.emit("update:modelValue",!1),ae!=null&&e.emit(ae?"accept":"cancel"),e.emit("closed",z))})}const C=[{name:"cancel",text:je.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:z=>{v(z,!1)}},{name:"accept",text:je.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:z=>{v(z,!0)}}],h=r.ref(t.buttons&&t.buttons.length?t.buttons:C),b=r.computed(()=>!!u.value),S=r.computed(()=>!!w.value&&!!h.value),P=r.ref(),B=r.ref(),E=r.ref(!1),{renderResizeBar:N,maximize:k,restore:T,boundingElement:V,resizedEventParam:H,allowDrag:I,unWindowResizeHandle:R,moveToCenter:q}=Ci(t),{registerDraggle:J}=wi(t,e,I);function j(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}function ee(){const z=document.querySelectorAll(".farris-modal").length;(!z||z-1<=0)&&document.body.classList.remove("modal-open"),M.value&&M.value.classList.remove("show")}r.watch(()=>t.title,(z,ae)=>{z!==ae&&(F.value=z)}),r.watch(()=>t.modelValue,(z,ae)=>{z!==ae&&(o.value=z,o.value&&t.draggable&&r.nextTick(()=>{B.value&&!x.value&&(x.value=B.value.parentElement,V.value=x.value,J(P.value,B.value,V.value),q())}),z||(x.value&&(x.value=null),ee())),o.value?_.value=j():(E.value=!1,I.value=t.draggable)}),r.watch(()=>t.showHeader,(z,ae)=>{z!==ae&&(f.value=z)}),r.watch(()=>t.showButtons,(z,ae)=>{z!==ae&&(w.value=z)}),r.watch(()=>H.value,(z,ae)=>{const Fe=z||{},Se=ae||{};JSON.stringify(Fe)!==JSON.stringify(Se)&&e.emit("resize",{newSize:z,oldSize:ae,isMaximized:E.value})}),r.watch([()=>t.width,()=>t.height],(z,ae)=>{(z[0]!==ae[0]||z[1]!==ae[1])&&(n.value=z[0]||500,i.value=z[1]||600)});const oe=r.computed(()=>(o.value&&document.body.classList.add("modal-open"),o.value)),ce=r.computed(()=>{var Fe;const z={modal:!0,"farris-modal":!0,fade:!0};z["f-modal-fitContent"]=!!s.value,z.show=!!oe.value;const ae=(Fe=t.maskClass)==null?void 0:Fe.split(" ");return ae==null||ae.reduce((Se,Ye)=>(Se[Ye]=!0,Se),z),z}),Z=r.computed(()=>{var Fe;const z={"modal-dialog":!0},ae=(Fe=a.value)==null?void 0:Fe.split(" ");return ae==null||ae.reduce((Se,Ye)=>(Se[Ye]=!0,Se),z),z}),L=r.computed(()=>{const z=document.documentElement.clientWidth,ae=document.documentElement.clientHeight,Fe=Math.min(n.value,z),Se=s.value?"auto":`${Math.min(i.value,ae-10)}px`,Ye={position:"absolute",top:`${(window.innerHeight-parseInt(Se==="auto"?"0":Se))/2}px`,left:`${(window.innerWidth-Fe)/2}px`,width:`${Fe}px`,height:Se};return t.mask||(Ye.pointerEvents="auto"),Ye}),W=()=>D.getMaxZIndex()||1040,G=r.computed(()=>{const z={display:"block",zIndex:W()};return t.mask||(z.pointerEvents="none",z.backgroundColor="transparent"),_.value&&(z.backgroundColor="transparent"),z}),U=r.computed(()=>({"modal-content":!0,"modal-content-has-header":f.value})),ne=r.computed(()=>{const z={display:f.value?"":"none"};return z["pointer-events"]=I.value?"auto":"none",z}),ue=r.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:E.value})),me=r.computed(()=>({"modal-body":!0,"f-utils-flex-column":g.value==="iframe","f-utils-fill":!0}));function ge(){return{height:`${t.footerHeight||60}px`}}const ye=r.computed(()=>{const z={textAlgin:y.value},ae=ge();return Object.assign(z,ae)});function he(z){if(z==null||z.stopPropagation(),E.value){E.value=!1,T();return}k(),E.value=!0}async function Ie(z,ae){z.handle&&await z.handle(ae,z)&&e.emit("closed",ae)}function Le(z){z.width&&(n.value=z.width),z.height&&(i.value=z.height),z.buttons&&(h.value=z.buttons),z.title&&(F.value=z.title)}let O=null,Y=null;r.onBeforeMount(()=>{_.value=j()}),r.onMounted(()=>{B.value&&!x.value&&(x.value=B.value.parentElement,V.value=x.value,J(P.value,B.value,V.value)),oe.value&&document.body.classList.add("modal-open"),O=Si(t,e),Y=xi(t,e)}),r.onUnmounted(()=>{R&&R(),O&&O.remove(),Y&&Y.remove()}),e.expose({modalElementRef:B,updateModalOptions:Le,close:v,maxDialog:he,isMaximized:E});function Q(){return r.createVNode("ul",null,[c.value&&r.createVNode("li",{class:"f-btn-icon f-bare"},[r.createVNode("span",{class:"f-icon modal_minimize"},null)]),d.value&&r.createVNode("li",{onClick:he,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[r.createVNode("span",{class:ue.value},null)]),m.value&&r.createVNode("li",{class:"f-btn-icon f-bare",onClick:z=>v(z,!1),style:"pointer-events: auto;"},[r.createVNode("span",{class:"f-icon modal_close"},null)])])}function re(){return r.createVNode("div",{class:"modal-footer",style:ye.value},[h.value&&h.value.map(z=>{const ae=r.ref(z.disabled);return r.createVNode("button",{name:z.name,type:"button",disabled:ae.value,class:z.class+(z.iconClass?" btn-icontext":""),onClick:Fe=>{Ie(z,Fe)}},[!!z.iconClass&&r.createVNode("i",{class:z.iconClass},null),z.text])})])}function ve(){return r.createVNode("div",{ref:P,class:"modal-header",style:ne.value},[e.slots.headerTemplate?e.slots.headerTemplate():r.createVNode("div",{class:"modal-title"},[b.value&&r.createVNode("span",{class:u.value,style:"margin-right: 8px"},null),r.createVNode("span",{class:"modal-title-label"},[F.value])]),r.createVNode("div",{class:"actions"},[Q()])])}function Ne(){return e.slots.footerTemplate?e.slots.footerTemplate():S.value&&re()}function De(z){if(z.stopPropagation(),t.allowClickMaskToClose){if(z.target!==M.value)return;v(z,!1)}}function Qe(){var z,ae;return r.createVNode("div",{id:l.value,class:Z.value,style:L.value,ref:B},[r.createVNode("div",{class:U.value},[f.value&&ve(),r.createVNode("div",{class:me.value},[(ae=(z=e.slots).default)==null?void 0:ae.call(z),g.value==="iframe"&&r.createVNode("iframe",{title:l.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:p.value},null)]),Ne()]),!s.value&&B.value&&!E.value&&N(B.value)])}function et(z){return z||"body"}return()=>r.createVNode(r.Teleport,{to:et(t.host)},{default:()=>[oe.value&&r.createVNode(r.Transition,{name:"fade",appear:!0},{default:()=>[r.createVNode("div",{ref:M,class:ce.value,style:G.value,onClick:De},[Qe()])]})]})}});function Rt(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function Mi(t){const e=document.createElement("div");e.style.display="contents";const n=r.createApp({setup(i,o){r.onUnmounted(()=>{document.body.removeChild(e)});const l=r.ref(),a=r.ref(t.class||""),s=r.ref(!!t.showButtons),f=r.ref(!!t.showHeader),u=r.ref(t.showCloseButton==null?!0:t.showCloseButton),m=r.ref(!0),d=r.ref(t.title||""),c=t.acceptCallback||(()=>{}),g=t.rejectCallback||(()=>{}),p=t.closedCallback||(M=>{}),y=t.resizeHandle||(M=>{}),w=t.stopMoveHandle||(M=>{}),F=Rt(t),x=M=>{m.value=!1,n.unmount(),p(M)};return r.onMounted(()=>{}),o.expose({modalRef:l}),()=>r.createVNode(mt,{ref:l,class:a.value,modelValue:m.value,"onUpdate:modelValue":M=>m.value=M,title:d.value,width:t.width,height:t.height,buttons:t.buttons,"show-header":f.value,"show-buttons":s.value,"show-close-button":u.value,"show-max-button":!1,onAccept:c,onCancel:g,fitContent:t.fitContent==null?!0:t.fitContent,onClosed:x,onResize:y,onStopMove:w},{default:()=>[F&&F(n)]})}});return document.body.appendChild(e),n.use(je.LocaleService.i18n),n.mount(e),n}class Fi{constructor(e){ie(this,"appContext",null);ie(this,"modalRef",r.ref());ie(this,"activeModalIndex",r.ref(0));ie(this,"modalRefs",{});ie(this,"isUseEscCloseModal",r.ref(!1));ie(this,"activeModalInstance",r.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=e,this.appContext=e?e._context:null}getCurrentModal(){return this.activeModalInstance.value}adaptToWindow(e,n){const{width:i,height:o}={width:window.innerWidth,height:window.innerHeight};return i<e&&(e=i-14),o<n&&(n=o-14),{width:e,height:n}}static show(e){const n=Object.assign({title:"",showButtons:!0,showHeader:!0},e);return Mi(n)}close(e){var n,i;e?(i=e.value)==null||i.close():(n=this.getCurrentModal())==null||n.close()}open(e){const n=document.createDocumentFragment();e.showMaxButton&&e.fitContent&&(e.showMaxButton=!1);const i=r.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},e)),o=r.ref(!0),l=i.value.acceptCallback||(()=>{}),a=i.value.rejectCallback||(()=>{}),s=i.value.closedCallback||((v,C)=>{}),f=i.value.resizeHandle||(v=>{}),u=e.stopMoveHandle||(v=>{});let m;const d=Rt(i.value),c=v=>{var h;o.value=!1;const C=(h=v==null?void 0:v.target)==null?void 0:h.classList.contains("modal_close");s(v,this.isUseEscCloseModal.value?"esc":C?"icon":"button")},g=v=>{c(v),m&&r.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],r.render(null,n),m=null,this.modalRef.value=null,this.modalRefs){const C=Object.keys(this.modalRefs).map(h=>Number(h));C.length>0?this.activeModalIndex.value=Math.max(...C):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},p=v=>{var C;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((C=this.activeModalInstance.value)==null||C.close(v==null?void 0:v.event))},{width:y,height:w}=i.value,F=this.adaptToWindow(y||500,w||320);Object.assign(i.value,F);const x=()=>r.createVNode(mt,r.mergeProps({ref:this.modalRef,modelValue:o.value,"onUpdate:modelValue":v=>o.value=v},i.value,{onAccept:l,onCancel:a,onClosed:g,onResize:f,onEsc:p,onStopMove:u}),{default:()=>[d&&d(this.app)]});return m=(v=>{const C=r.h(x,v);return C.appContext=this.appContext,r.render(C,n),C})({...i.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:v=>{i.value={...i.value,...v},m&&r.render(r.cloneVNode(m,{...i}),n)},destroy:g,modalRef:this.activeModalInstance,close:()=>this.close()}}}const At=Symbol("FModalService");mt.install=t=>{t.component(mt.name,mt);const e=new Fi(t);t.provide(At,e),t.provide("FModalService",e)};function Ht(t,e){function n(){const i=t.beforeOpen||t.beforeClickButton||null;let o=Promise.resolve(!0);if(i){const l=i(e.value);if(typeof l>"u")return o;typeof l=="boolean"?o=Promise.resolve(l):o=l}return o}return{judgeCanOpen:n}}function Ti(t,e,n,i,o){const l=r.ref(t.buttonBehavior),a=r.ref(t.popupOnInput),s=r.computed(()=>({"input-group-append":!0,"append-force-show":t.showButtonWhenDisabled&&(t.readonly||t.disable)})),{judgeCanOpen:f}=Ht(t,o),u=r.computed(()=>t.showButtonWhenDisabled||(!t.editable||!t.readonly)&&!t.disable),m=r.inject(At,null),d=r.ref();async function c(y){if(await f()&&u.value){const w=!!e.slots.default;if(l.value==="Modal"){const F=t.modalOptions,x=m==null?void 0:m.open({...F,render:()=>e.slots.default&&e.slots.default()});d.value=x==null?void 0:x.modalRef}l.value==="Overlay"&&vi.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>e.slots.default&&e.slots.default()}),w&&l.value==="Popup"&&i.togglePopup(!0),w&&a.value&&i.hidePopup(),e.emit("clickButton",{origin:y,value:t.modelValue})}}function g(y){e.emit("mouseEnterIcon",y)}function p(y){e.emit("mouseLeaveIcon",y)}return{buttonGroupClass:s,onClickButton:c,onMouseEnterButton:g,onMouseLeaveButton:p,modalRef:d}}function _i(t,e,n,i,o,l){const a=r.ref(!1),s=r.computed(()=>t.enableClear&&!t.readonly&&!t.disable),{changeTextBoxValue:f,hasClearClass:u}=l;function m(p){a.value=p,u.value=p}r.watch(o,()=>{m(!!o.value)});function d(p){const y=!t.readonly&&!t.disable&&t.editable,w=!t.editable;p.stopPropagation(),(y||w)&&(f(""),o.value="",m(!a.value),e.emit("clear"))}function c(p){if(s.value){if(!n.value){m(!1);return}!t.disable&&!t.readonly&&m(!0)}}function g(p){s.value&&m(!1)}return{enableClearButton:s,showClearButton:a,onClearValue:d,onMouseEnterTextBox:c,onMouseLeaveTextBox:g}}function ki(t,e,n,i,o){const l=r.computed(()=>t.popupOnInput),a=r.computed(()=>t.popupOnFocus),{shouldPopupContent:s,closeAllPopover:f}=o,u=r.ref(!1),m=r.computed(()=>t.enableTitle?n.value:""),d=r.computed(()=>(t.disable||t.readonly)&&!t.forcePlaceholder?"":t.placeholder),c=r.computed(()=>t.readonly||!t.editable),g=r.ref(!1),p=r.computed(()=>!t.disable&&g.value),y=r.computed(()=>({"text-left":t.textAlign==="left","text-center":t.textAlign==="center","text-right":t.textAlign==="right","form-control":!0,"f-utils-fill":!0})),w=r.computed(()=>({"input-group":!0,"f-state-disabled":t.disable,"f-state-editable":t.editable&&!t.disable&&!t.readonly,"f-state-readonly":t.readonly,"f-state-focus":p.value,"input-group--has-clear":t.enableClear&&u.value}));function F(B,E=!0){n.value=B,E&&(e.emit("change",B),e.emit("update:modelValue",B))}function x(B){s.value=!1,F(B,!0)}r.watch(()=>t.modelValue,B=>{n.value=B});function M(B){g.value=!1,e.emit("blur",B),B.stopPropagation()}function _(B){e.emit("click",B),f(),e.slots.default&&!t.disable&&!t.readonly&&t.popupOnClick&&o.togglePopup()}function v(B){!t.disable&&!t.readonly&&(g.value=!0,c.value||(e.emit("focus",B),a.value&&!s.value&&o.popup()))}function C(B){e.emit("input",B);const E=B.target.value;i.value=E,n.value!==E&&F(E,t.updateOn==="change"),l.value&&!s.value&&o.popup()}function h(B){B.target.tagName!=="INPUT"&&B.preventDefault(),B.stopPropagation()}function b(B){e.emit("keydown",B)}function S(B){B.key==="Enter"&&(l.value||a.value)&&o.hidePopup(),e.emit("keyup",B)}function P(B){const E=B.target.value;B.stopPropagation(),F(E)}return{hasFocusedTextBox:p,isTextBoxReadonly:c,textBoxClass:y,textBoxPlaceholder:d,textBoxTitle:m,inputGroupClass:w,hasClearClass:u,changeTextBoxValue:F,commitValue:x,onBlurTextBox:M,onClickTextBox:_,onFocusTextBox:v,onInput:C,onKeyDownTextBox:b,onKeyUpTextBox:S,onMouseDownTextBox:h,onTextBoxValueChange:P}}const rt="FarrisVue_PopoverInstancesKey";function Vi(t,e,n,i){const o=r.ref(),l=r.ref(!1),{judgeCanOpen:a}=Ht(t,i);r.watch(()=>o.value,(g,p)=>{window[rt]=window[rt]||new WeakMap,g?window[rt].set(n.value,g):window[rt].delete(n.value)});function s(){if(window[rt]){const g=window[rt];document.querySelectorAll(".f-button-edit,.v-popover").forEach(p=>{const y=g.get(p);y&&p!==n.value&&!n.value.closest(".popover-fitcontent")&&y.hide()})}}function f(){const g=o.value;g&&g.show(n.value)}async function u(g=!1){if(!!e.slots.default){if(!g&&!l.value&&!await a())return;l.value=!l.value,l.value&&(await r.nextTick(),f())}}async function m(g=!1){if(!!e.slots.default){if(!g&&!await a())return;l.value=!0,await r.nextTick(),f()}}function d(){l.value=!1}function c(){l.value=!0,r.nextTick(()=>{f()})}return{hidePopup:d,showPopup:c,popup:m,shouldPopupContent:l,togglePopup:u,popoverRef:o,closeAllPopover:s}}function Ei(t,e,n){const i=r.ref(),{isTextBoxReadonly:o,textBoxClass:l,textBoxPlaceholder:a,textBoxTitle:s,onBlurTextBox:f,onClickTextBox:u,onFocusTextBox:m,onInput:d,onKeyDownTextBox:c,onKeyUpTextBox:g,onMouseDownTextBox:p,onTextBoxValueChange:y}=n,w=r.ref(t.id),{uuid:F}=D.useGuid(),x=r.computed(()=>({}));r.onMounted(()=>{var h,b;t.selectOnCreated&&((h=i.value)==null||h.select()),t.focusOnCreated&&((b=i.value)==null||b.focus({preventScroll:!0})),w.value||(w.value="button-edit_"+F(8)),w.value=w.value+"-textbox"});const M=r.ref(!1),_=h=>{h.preventDefault(),M.value=!0},v=h=>{h.preventDefault(),M.value=!1,d(h)};function C(h){M.value||d(h)}return()=>r.createVNode("input",{id:t.id?t.id+"-textbox":void 0,ref:i,name:"input-group-value",autocomplete:t.autoComplete?"on":"off",class:l.value,style:x.value,disabled:t.disable,maxlength:t.maxLength,minlength:t.minLength,placeholder:a.value,readonly:o.value,tabindex:t.tabIndex,title:s.value,type:t.inputType,value:e.value,onBlur:f,onChange:y,onClick:u,onFocus:m,onInput:C,onKeydown:c,onKeyup:g,onMousedown:p,onCompositionend:v,onCompositionstart:_},null)}function Ii(t,e,n){const i=r.ref(t.separator),o=r.computed(()=>t.readonly||t.disable),{changeTextBoxValue:l,onFocusTextBox:a,onBlurTextBox:s,onClickTextBox:f,textBoxPlaceholder:u}=n,m=r.computed(()=>e.value?e.value.split(i.value).map(p=>({name:p,selectable:!0})):[]);function d(p){l(p.map(y=>y.name).join(i.value),!0)}r.watch(()=>t.separator,p=>{i.value=p});const c=r.ref(!t.disable&&!t.readonly);r.watch([()=>t.disable,()=>t.readonly],([p,y],[w,F])=>{c.value=!p&&!y});function g(p){f(p)}return()=>r.createVNode(pn,{tabindex:t.tabIndex,onFocus:a,onBlur:s,id:`${t.id}-tag-editor`,class:"form-control",placeholder:u.value,data:m.value,showClose:!o.value,showInput:!0,disable:o.value,onChange:d,onClick:g},null)}function Pi(t,e,n,i){const{buttonGroupClass:o,onClickButton:l,onMouseEnterButton:a,onMouseLeaveButton:s}=n,{enableClearButton:f,showClearButton:u,onClearValue:m}=i,d=r.ref(),c=Re.debounce(p=>{l(p)},t.buttonBehavior==="Modal"?0:200),g=()=>{e.emit("beforeClearValue")};return{renderButtonGroup:()=>r.createVNode("div",{id:t.id?`${t.id}-button-group`:void 0,class:o.value},[f.value&&r.withDirectives(r.createVNode("span",{class:"input-group-text input-group-clear",onClick:m,onMousedown:g},[r.createVNode("i",{class:"f-icon modal_close"},null)]),[[r.vShow,u.value]]),e.slots.buttonContent?r.createVNode("span",{class:"input-group-text input-group-append-button",onClick:c,onMouseenter:a,onMouseleave:s},[e.slots.buttonContent()]):t.buttonContent?r.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:t.buttonContent,ref:d,onClick:p=>c(p),onMouseenter:a,onMouseleave:s},null):null]),buttonHandleElement:d}}function Ni(t,e,n){const i=r.ref(t.popupMinWidth),{hidePopup:o,popoverRef:l}=n,a=()=>{e.emit("shown")};return()=>r.createVNode(un,{id:`${t.id}-popover`,ref:l,placement:t.placement,host:t.popupHost,"keep-width-with-reference":t.keepWidthWithReference,fitContent:!0,"right-boundary":t.popupRightBoundary,minWidth:i.value,class:t.popupClass,offsetX:t.popupOffsetX,onHidden:o,onShown:a,beforeClose:t.beforeClosePopup,limitContentBySpace:t.limitContentBySpace},{default:()=>{var s,f;return[(f=(s=e.slots).default)==null?void 0:f.call(s)]}})}const Bi=r.defineComponent({name:"FButtonEdit",props:mi,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue","beforeClearValue"],setup(t,e){const n=r.ref(),i=r.ref(t.customClass),o=r.ref(t.modelValue),l=Vi(t,e,n,o),{shouldPopupContent:a,hidePopup:s,showPopup:f,togglePopup:u}=l,m=Ti(t,e,n,l,o),d=r.ref(""),c=ki(t,e,o,d,l),{hasFocusedTextBox:g,commitValue:p,inputGroupClass:y}=c,w=_i(t,e,o,g,d,c),{onMouseEnterTextBox:F,onMouseLeaveTextBox:x}=w,M=r.ref(!1),_=r.computed(()=>{const V={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!t.wrapText};return i.value&&i.value.split(" ").reduce((H,I)=>(H[I]=!0,H),V),V}),v=r.computed(()=>({overflow:t.wrapText?"hidden":""})),C=r.computed(()=>({}));function h(){if(!t.multiSelect||t.inputType!=="tag"||!n.value)return 0;let V=0;const H=Array.from(n.value.querySelectorAll(".farris-tag-item"));return H&&H.length&&(V=H.map(I=>I.offsetTop).filter(I=>I>20).length),V}const b=r.ref(h());r.onUpdated(()=>{b.value=h()});function S(){return t.multiSelect&&t.inputType==="tag"?()=>r.createVNode(r.Fragment,null,[Ii(t,o,c)(),!!b.value&&r.createVNode("div",{class:"d-flex flex-row mr-2 more-tags","more-tags":!0},[r.createVNode("span",{class:"multi--more-text"},[r.createTextVNode("+"),b.value])])]):Ei(t,o,c)}let P=S();r.watch([()=>t.multiSelect,()=>t.inputType],()=>{P=S()});const{renderButtonGroup:B,buttonHandleElement:E}=Pi(t,e,m,w),N=Ni(t,e,l),k=r.ref(a.value),T={displayText:d,commitValue:p,elementRef:n,hidePopup:s,showPopup:f,popoverRef:l.popoverRef,shouldPopupContent:a,togglePopup:u,openDialog:()=>{E.value&&t.buttonBehavior==="Modal"&&E.value.click()},getModal:()=>{var V;return t.buttonBehavior==="Modal"?(V=m.modalRef.value)==null?void 0:V.value:null},getTextbox:()=>{var V;return(V=n.value)==null?void 0:V.querySelector("input")},forceClosePopup:()=>{k.value=!1,M.value=!0,a.value=!1}};return r.onMounted(()=>{n.value.componentInstance=T,window.onresize=()=>{document.body.click()}}),r.onBeforeUnmount(()=>{var V;window.onresize=null,(V=window[rt])==null||V.delete(n.value)}),e.expose(T),r.watch(()=>a.value,async(V,H)=>{if(M.value){k.value=V,M.value=!1;return}if(!V&&t.beforeClosePopup&&typeof t.beforeClosePopup=="function"){try{const I=await t.beforeClosePopup();k.value=!I,(!I||t.readonly)&&(a.value=!0)}catch(I){console.error("Error in beforeClosePopup:",I),k.value=H,a.value=H}return}k.value=V}),()=>{var V,H;return r.createVNode(r.Fragment,null,[r.createVNode("div",r.mergeProps(e.attrs,{ref:n,class:_.value,id:t.id?t.id:void 0,style:v.value}),[r.createVNode("div",{id:t.id?`${t.id}-input-group`:void 0,class:y.value,style:C.value,onMouseenter:F,onMouseleave:x},[(H=(V=e.slots).precontent)==null?void 0:H.call(V),P(),B()])]),k.value&&N()])}}}),Lt=new Map([["appearance",ze.resolveAppearance],["column","columnOption"],["command","commandOption"]]),$t=new Map([]),Oi="root-viewmodel";class ji{constructor(e,n){ie(this,"formSchemaUtils");ie(this,"controlCreatorUtils");ie(this,"designViewModelUtils");ie(this,"useFormCommand");ie(this,"formStateMachineUtils");this.resolver=e,this.designerHostService=n,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 n=this.createComponentRefNode(e),i=this.createComponentNode(e),o=this.createViewModeNode(e),l=this.formSchemaUtils.getFormSchema();return l.module.viewmodels.push(o),l.module.components.push(i),this.designViewModelUtils.assembleDesignViewModel(),this.wrapContainerSectionForComponent(n,e,o)}wrapContainerSectionForComponent(e,n,i){var f,u,m,d,c,g,p,y,w,F,x;const o=(u=(f=n==null?void 0:n.parentComponentInstance)==null?void 0:f.schema)==null?void 0:u.type,l=(c=(d=(m=n==null?void 0:n.parentComponentInstance)==null?void 0:m.schema)==null?void 0:d.appearance)==null?void 0:c.class,a=(p=(g=this.formSchemaUtils.getFormSchema())==null?void 0:g.module)==null?void 0:p.templateId;if(o===A.DgControl["splitter-pane"].type&&(l!=null&&l.includes("f-page-content-main"))&&["double-list-template","tree-list-template"].includes(a))return e;const s=[A.DgControl["content-container"].type,A.DgControl["response-layout-item"].type,A.DgControl["splitter-pane"].type];if(o&&s.includes(o)){const M=this.resolver.getSchemaByType("section",{parentComponentInstance:n.parentComponentInstance,mainTitle:n.componentName},this.designerHostService);if(M&&M.contents&&M.contents.length){const _=M.contents[0];return _.contents=[e],this.appendAddDeleteBtnToParentContainer(_,n,i),M}}return this.appendAddDeleteBtnToParentContainer((y=n==null?void 0:n.parentComponentInstance)==null?void 0:y.schema,n,i),o===A.DgControl["tab-page"].type&&(w=n.parentComponentInstance)!=null&&w.parent&&(F=n.parentComponentInstance)!=null&&F.parent.updateToolbarItems&&((x=n.parentComponentInstance)==null||x.parent.updateToolbarItems()),e}appendAddDeleteBtnToParentContainer(e,n,i){const o=e.type,l=i.id.replace(/-/g,"").replace(/_/g,"").replace("component","").replace("viewmodel","");if(n.bindTo==="/"||n.componentType!=="data-grid"&&n.componentType!=="form")return;const a=this.formStateMachineUtils&&this.formStateMachineUtils.getRenderStates(),s=A.DgControl["tab-page"].type===o?"tab-toolbar-item":"section-toolbar-item",f=this.resolver.getSchemaByType(s),u=[Object.assign({},f,{id:`button-add-${n.componentId}`,type:s,text:"新增",disabled:a.find(m=>m.id==="canAddDetail")?{type:"StateMachine",status:!1,field:"canAddDetail"}:!1,onClick:`root-viewModel.${i.id}.${l}AddItem1`}),Object.assign({},f,{id:`button-remove-${n.componentId}`,type:s,text:"删除",disabled:a.find(m=>m.id==="canRemoveDetail")?{type:"StateMachine",status:!1,field:"canRemoveDetail"}:!1,onClick:`root-viewModel.${i.id}.${l}RemoveItem1`})];e.toolbar||(e.toolbar={id:`${e.id}_toolbar`,type:A.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=A.DgControl["tab-page"].type===o?"tab-toolbar":"section-toolbar"),e.toolbar.buttons||(e.toolbar.buttons=[]),e.toolbar.buttons=e.toolbar.buttons.concat(u),this.appendAddAndDeleteCommands(i),this.useFormCommand&&this.useFormCommand.checkCommands()}appendAddAndDeleteCommands(e){var m;const n=e.id.replace(/-/g,"").replace(/_/g,"").replace("component","").replace("viewmodel",""),i=D.useGuid().guid(),o=D.useGuid().guid(),l=this.resolveCommandController(),a={id:i,code:`${n}AddItem1`,name:"增加一条子表数据",params:[],handlerName:"AddItem",cmpId:l,shortcut:{},extensions:[]},s={id:o,code:`${n}RemoveItem1`,name:"删除一条子表数据",params:[{name:"id",shownName:"待删除子表数据的标识",value:`{DATA~${e.bindTo}/id}`}],handlerName:"RemoveItem",cmpId:l,shortcut:{},extensions:[]};(m=this.designerHostService.designerContext)!=null&&m.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===l).refedHandlers.push({host:i,handler:"AddItem"},{host:o,handler:"RemoveItem"})}resolveCommandController(){const e=this.formSchemaUtils.getFormSchema().module.webcmds,n=["8172a979-2c80-4637-ace7-b13074d3f393","8fe977a1-2b32-4f0f-a6b3-2657c4d03574","45be24f9-c1f7-44f7-b447-fe2ada458a61"],i=e.find(l=>n.includes(l.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 n=this.resolver.getSchemaByType("component-ref");return Object.assign(n,{id:`${e.componentId}-component-ref`,component:`${e.componentId}-component`}),n}createComponentNode(e){const n=this.resolver.getSchemaByType("component"),i=this.createDateGridComponentContents(e);return Object.assign(n,{id:`${e.componentId}-component`,viewModel:`${e.componentId}-component-viewmodel`,componentType:e.componentType,appearance:{class:this.getDataGridComponentClass(e)},contents:i}),n}createViewModeNode(e){return{id:`${e.componentId}-component-viewmodel`,code:`${e.componentId}-component-viewmodel`,name:e.componentName,bindTo:e.bindTo,parent:Oi,fields:this.assembleViewModelFields(e),commands:[],states:[],enableValidation:!0}}getDataGridComponentClass(e){var o,l,a;const{templateId:n}=this.formSchemaUtils.getFormSchema().module,i=(a=(l=(o=e.parentComponentInstance)==null?void 0:o.schema)==null?void 0:l.appearance)==null?void 0:a.class;return n==="double-list-in-tab-template"||["double-list-template","tree-list-template"].includes(n)&&(i!=null&&i.includes("f-page-content-main"))?"f-struct-wrapper f-utils-fill-flex-column":"f-struct-is-subgrid"}createDateGridComponentContents(e){var m,d,c;const n=(c=(d=(m=e.parentComponentInstance)==null?void 0:m.schema)==null?void 0:d.appearance)==null?void 0:c.class,{templateId:i}=this.formSchemaUtils.getFormSchema().module;let o;if(i==="double-list-in-tab-template"){const g=this.resolver.getSchemaByType("section");Object.assign(g,{id:e.componentId+"-section",appearance:{class:"f-section-grid f-section-in-main px-0 pt-0"},fill:!0,showHeader:!1}),o=g}else if((i==="double-list-template"||i==="tree-list-template")&&(n!=null&&n.includes("f-page-content-main"))){const g=this.resolver.getSchemaByType("section");Object.assign(g,{id:e.componentId+"-section",appearance:{class:"f-section-grid f-section-in-main"},fill:!0,showHeader:!1}),o=g}else{const g=this.resolver.getSchemaByType("content-container");Object.assign(g,{id:e.componentId+"-container",appearance:{class:"f-grid-is-sub f-utils-flex-column"}}),o=g}const l=this.resolver.getSchemaByType("data-grid"),a=[],s=this.formStateMachineUtils&&this.formStateMachineUtils.getRenderStates(),f=e.editable&&s.length>0&&s.findIndex(g=>g.id==="editable")>-1;Object.assign(l,{id:e.componentId+"-dataGrid",appearance:{class:"f-component-grid"},columns:a,fieldEditable:f,dataSource:e.dataSource||"",editable:f?{type:"StateMachine",status:!0,field:"editable"}:!1,pagination:{enable:!e.editable}}),o.contents=[l];const{selectedFields:u}=e;return u==null||u.forEach(g=>{if(g.$type===D.FormSchemaEntityField$Type.ComplexField)return;const p=Re.cloneDeep(g),y=this.controlCreatorUtils.setGridFieldProperty("data-grid-column",p,"",f);y&&a.push(y)}),[o]}assembleViewModelFields(e){const n=[],{selectedFields:i}=e;return i==null||i.forEach(o=>{if(o.$type===D.FormSchemaEntityField$Type.ComplexField)return;let l="blur";const a=o.type.name;(a===D.FormSchemaEntityFieldTypeName.Enum||a===D.FormSchemaEntityFieldTypeName.Boolean)&&(l="change"),n.push({type:"Form",id:o.id,fieldName:o.bindingField,groupId:null,groupName:null,updateOn:l,fieldSchema:{}})}),n}}function Wt(t,e,n,i){var l,a,s,f,u,m,d;const o=n.parentComponentInstance;if(o&&i){const c=Math.random().toString(36).slice(2,6),g={componentId:`data-grid-${c}`,componentName:((l=n.bindingSourceContext)==null?void 0:l.entityTitle)||((s=(a=n.bindingSourceContext)==null?void 0:a.bindingEntity)==null?void 0:s.name)||`表格-${c}`,componentType:"data-grid",parentContainerId:o.schema.id,parentComponentInstance:o,editable:!0,bindTo:((f=n.bindingSourceContext)==null?void 0:f.bindTo)||"",dataSource:(m=(u=n.bindingSourceContext)==null?void 0:u.bindingEntity)==null?void 0:m.label,selectedFields:(d=n.bindingSourceContext)==null?void 0:d.bindingEntityFields};return new ji(t,i).createComponent(g)}else return e}function zt(t,e,n){return e}const Ri={$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"]},qt={modelValue:{type:String,default:""},viewModelId:{Type:String,default:""},gridData:{Type:Object,default:null},gridType:{Type:String,default:"data-grid-column"},getLatestGridData:{Type:Function}},Ai=ze.createPropsResolver(qt,Ri,Lt,Wt),Hi=new Map([["appearance",ze.resolveAppearance]]);function Li(t,e,n){return e}const $i={title:"transfer",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}}}},Wi={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/transfer.schema.json",title:"transfer",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for transfer",type:"string"},type:{description:"The type string of transfer",type:"string",default:"transfer"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},Gt={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:t=>typeof t=="string"||typeof t=="function"}};ze.createPropsResolver(Gt,Wi,Hi,Li,$i);const zi={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:t=>typeof t=="string"||typeof t=="function"},itemStyle:{type:[String,Function],default:"",validator:t=>typeof t=="string"||typeof t=="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 qi(t,e){function n(l){const a=[];let s=l.nextNode();for(;s;)a.push(s),s=l.nextNode();return a}function i(l,a){const s=document.createTreeWalker(l,NodeFilter.SHOW_TEXT);return n(s).map(d=>({textNode:d,text:(d.textContent||"").toLocaleLowerCase()})).map(({textNode:d,text:c})=>{const g=[];let p=0;for(;p<c.length;){const y=c.indexOf(a,p);if(y===-1)break;g.push(y),p=y+a.length}return g.map(y=>{const w=new Range;return w.setStart(d,y),w.setEnd(d,y+a.length),w})}).flat()}function o(l){if(!CSS.highlights||(CSS.highlights.clear(),!l||!e))return;const a=i(e.value,l.toLocaleLowerCase()),s=new Highlight(...a);CSS.highlights.set("search-result",s)}return{search:o}}function Ut(t,e,n,i,o,l,a,s,f,u){const m=r.ref(t.size),d=r.ref(t.textField),c=r.ref(t.titleField),g=r.ref(t.disableField),p=r.computed(()=>{var S,P;return((S=t.selection)==null?void 0:S.multiSelect)&&((P=t.selection)==null?void 0:P.showCheckbox)}),{onMouseenterItem:y,onMouseoverItem:w,onMouseoutItem:F}=l,{getKey:x,listViewItemClass:M,listViewItemStyle:_,onCheckItem:v,onClickItem:C}=a,h=r.computed(()=>{const S={"text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"};return t.itemClass?S:{margin:m.value==="small"?"0.25rem 0":"8px 0",...S}});function b(S,P,B){return S.checked=s.findIndexInSelectedItems(S)>-1,r.createVNode("li",{class:M(S,P),id:x(S,P),key:x(S,P),style:_(S,P),onClick:E=>C(S,P,E),onMouseenter:E=>y(E,S,P),onMouseover:E=>w(E,S,P),onMouseout:E=>F(E,S,P)},[p.value&&r.createVNode("div",{class:"f-list-select",onClick:E=>E.stopPropagation()},[r.createVNode(wt.FCheckbox,{id:"list-"+x(S,P),customClass:"listview-checkbox float-left",disabled:S[g.value],checked:S.checked,"onUpdate:checked":E=>S.checked=E,onChange:E=>{v(S,P,!E.checked)}},null)]),r.createVNode("div",{class:"f-list-content"},[r.createVNode("div",{class:t.itemContentClass,style:h.value,title:S.raw[c.value]||S.raw[d.value]},[S.raw[d.value]])])])}return{renderItem:b}}function Gi(t,e,n,i,o,l,a,s,f,u){const m=r.ref(t.multiSelect),d=r.ref(t.disableField),c=r.ref(t.textField),{onMouseenterItem:g,onMouseoverItem:p,onMouseoutItem:y}=l,{getKey:w,listViewItemClass:F,listViewItemStyle:x,onCheckItem:M,onClickItem:_}=a;function v(h,b,S){return t.contentTemplate?r.createVNode(r.Fragment,null,[t.contentTemplate({item:h.raw,index:b,selectedItem:S})]):e.slots.content?r.createVNode(r.Fragment,null,[e.slots.content&&e.slots.content({item:h.raw,index:b,selectedItem:S})]):r.createVNode("div",{style:"margin: 10px 0;"},[h.raw[c.value||"name"]])}function C(h,b,S){return r.createVNode("li",{class:F(h,b),id:w(h,b),key:w(h,b),style:x(h,b),onClick:P=>_(h,b,P),onMouseenter:P=>g(P,h,b),onMouseover:P=>p(P,h,b),onMouseout:P=>y(P,h,b)},[m.value&&r.createVNode("div",{class:"f-list-select",onClick:P=>P.stopPropagation()},[r.createVNode(wt.FCheckbox,{id:"list-"+w(h,b),customClass:"listview-checkbox",disabled:h[d.value]||!h.checked,checked:h.checked,"onUpdate:checked":P=>h.checked=P,onChange:P=>M(h,b,!P.checked)},null)]),r.createVNode("div",{class:"f-list-content"},[v(h,b,S)])])}return{renderItem:C}}function Ui(t,e,n,i,o,l,a,s,f,u){const m=r.ref(t.multiSelect),d=r.ref(t.disableField),c=r.ref(t.textField),{onMouseenterItem:g,onMouseoverItem:p,onMouseoutItem:y}=l,{getKey:w,listViewItemClass:F,onCheckItem:x,onClickItem:M}=a,{dragstart:_,dragenter:v,dragover:C,dragend:h}=i,{removeItem:b}=f,S=r.computed(()=>({margin:m.value?"10px 0":"10px 0px 10px 14px"}));function P(T,V=""){const H=T.target;H.title=H.scrollWidth>H.clientWidth?V:""}function B(T){return r.createVNode("div",{style:S.value,onMouseenter:V=>P(V,T.raw[c.value||"name"])},[T.raw[c.value||"name"]])}function E(){return e.slots.itemContent?e.slots.itemContent:B}const N=E();function k(T,V,H){return r.createVNode("li",{class:F(T,V),id:w(T,V),key:w(T,V),onClick:I=>M(T,V,I),onMouseenter:I=>g(I,T,V),onMouseover:I=>p(I,T,V),onMouseout:I=>y(I,T,V),draggable:"true",onDragstart:I=>_(I,T,V),onDragenter:I=>v(I,V),onDragend:I=>h(I,T),onDragover:I=>C(I)},[m.value&&r.createVNode("div",{class:"f-list-select",onClick:I=>I.stopPropagation()},[r.createVNode(wt.FCheckbox,{id:"list-"+w(T,V),customClass:"listview-checkbox",disabled:T[d.value]||!T.checked,checked:T.checked,"onUpdate:checked":I=>T.checked=I,onChange:I=>x(T,V,!I.checked)},null)]),r.createVNode("div",{class:"f-list-content"},[N(T)]),r.createVNode("div",{class:"f-list-remove",onClick:I=>{I.stopPropagation(),b(V)}},[r.createVNode("div",{class:"f-list-remove-icon"},[r.createVNode("i",{class:"f-icon f-icon-remove_face"},null)])]),r.createVNode("div",{class:"f-list-handle"},[r.createVNode("div",null,[r.createVNode("i",{class:"f-icon f-icon-drag-vertical"},null)])])])}return{renderItem:k}}function Di(t,e,n,i,o,l,a,s,f,u){var w;const m=r.ref(((w=t.group)==null?void 0:w.groupFields)||[]),{collpaseGroupIconClass:d}=o,{toggleGroupRow:c}=u;function g(F,x){x.collapse=!x.collapse,n.value=c(x.collapse?"collapse":"expand",x,n.value)}function p(F,x,M){return e.slots.group?r.createVNode(r.Fragment,null,[e.slots.content&&e.slots.group({item:F.raw,index:x,selectedItem:M})]):r.createVNode("div",{class:"f-navlookup-recentHeader",onClick:_=>g(_,F)},[r.createVNode("div",{class:"fv-grid-group-row-icon"},[r.createVNode("span",{class:d(F)},null)]),r.createVNode("div",{class:"f-navlookup-recommandLabel"},[F.raw[m.value[F.layer]]])])}function y(F,x,M){return F.layer>-1&&p(F,x,M)}return{renderItem:y}}function Yi(t,e,n,i){const{dataView:o}=n,{updateSelectedItems:l}=i;function a(s){if(s>-1&&s<o.value.length){if(t!=null&&t.checkBeforeRemoveItem&&!t.checkBeforeRemoveItem(o.value[s]))return;const f=o.value.splice(s,1);l(),e.emit("removeItem",f[0])}}return{removeItem:a}}function Xi(t,e,n,i,o,l,a,s,f,u){const m=r.ref(t.view),d=r.ref(t.view==="CardView"),c=r.ref({}),g=Yi(t,e,i,f),p=r.computed(()=>({"f-list-view-group":!0,"f-list-view-group-multiselect":t.multiSelect,"d-flex":d.value,"flex-wrap":d.value})),y=r.computed(()=>!!n.value&&n.value.length>0),w=r.computed(()=>n.value.length===0);r.computed(()=>w.value&&!e.slots.empty);function F(){return m.value==="SingleView"?Ut:m.value==="DraggableView"?Ui:(m.value==="ContentView"||m.value==="CardView")&&(t.contentTemplate||e.slots.content)?Gi:Ut}const x=F(),{renderItem:M}=x(t,e,n,u,o,l,f,a,g,s),{renderItem:_}=Di(t,e,n,u,o,l,f,a,g,s),v=[M,_];function C(){return n.value.filter(S=>S.visible!==!1).map((S,P)=>v[S.type](S,P,c))}function h(){return r.createVNode("div",{class:"f-list-view-emptydata",style:"margin: 0 auto;"},[r.createVNode("p",{class:"f-empty-title"},[t.emptyTemplate?t.emptyTemplate():e.slots.empty?e.slots.empty():je.LocaleService.getLocaleValue("listView.emptyMessage")])])}function b(){return r.createVNode("ul",{class:p.value,style:"list-style: none;"},[y.value&&C(),w.value&&h()])}return{renderListArea:b}}function Zi(t,e,n){function i(){return e.slots.header&&r.createVNode("div",{class:"f-list-view-header"},[e.slots.header()])}return{renderHeader:i}}function Dt(t,e,n){const i=r.ref(t.headerClass),o=r.ref(t.placeholder),l=r.ref(""),a=r.computed(()=>!l.value),s=r.computed(()=>!!l.value);function f(c){l.value=""}r.watch(l,c=>{t.enableHighlightSearch&&n.search(c),e.emit("afterSearch",c)});const u=r.computed(()=>{const c={"form-group":!0,"farris-form-group":!0};return i.value&&i.value.split(" ").reduce((p,y)=>(p[y]=!0,p),c),c});function m(c){}function d(){return r.createVNode("div",{class:"f-list-view-header",onClick:r.withModifiers(()=>m,["prevent","stop"])},[r.createVNode("div",{class:u.value},[r.createVNode("div",{class:"farris-input-wrap"},[r.createVNode("div",{class:"f-cmp-inputgroup"},[r.createVNode("div",{class:"input-group f-state-editable"},[r.withDirectives(r.createVNode("input",{class:"form-control f-utils-fill text-left","onUpdate:modelValue":c=>l.value=c,name:"input-group-value",type:"text",placeholder:o.value,autocomplete:"off"},null),[[r.vModelText,l.value]]),r.createVNode("div",{class:"input-group-append"},[s.value&&r.createVNode("span",{class:"input-group-text input-group-clear",onClick:c=>f()},[r.createVNode("i",{class:"f-icon f-icon-close-circle"},null)]),a.value&&r.createVNode("span",{class:"input-group-text"},[r.createVNode("span",{class:"f-icon f-icon-search"},null)])])])])])])])}return{renderHeader:d}}function Ji(){const t=r.ref(""),e=r.ref(-1),n=r.ref(""),i=r.ref(-1),o=r.ref(!1);function l(d,c,g){i.value=g}function a(d,c,g){o.value||(i.value=g)}function s(d,c,g){i.value=-1}function f(){o.value=!0}function u(){o.value=!1}function m(){e.value=-1,t.value=""}return{activeIndex:e,focusedItemId:n,hoverIndex:i,clearActiveItem:m,onMouseenterItem:l,onMouseoverItem:a,onMouseoutItem:s,resumeHover:u,suspendHover:f}}function Qi(t,e,n,i){const o=r.ref(t.idField),{dataView:l}=n,a=r.ref(-1),s=r.ref(!1),{activeIndex:f,focusedItemId:u,hoverIndex:m,resumeHover:d,suspendHover:c}=i;let g,p=0,y=0;function w(C,h){const b=C-p,S=h-y;g.style.left=parseInt(g.style.left)+b+"px",g.style.top=parseInt(g.style.top)+S+"px",p=C,y=h}function F(C){const{left:h,top:b}=C.getBoundingClientRect(),S=C.cloneNode(!0);return S.style.cssText=`
1
+ (function(de,D){typeof exports=="object"&&typeof module<"u"?D(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/filter-bar/index.umd.js"),require("../../components/pagination/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/data-view/index.umd.js"),require("../../components/field-selector/index.umd.js"),require("../../components/accordion/index.umd.js"),require("../../components/avatar/index.umd.js"),require("../button-edit/index.umd.js"),require("../../components/calendar/index.umd.js"),require("../capsule/index.umd.js"),require("../checkbox/index.umd.js"),require("../checkbox-group/index.umd.js"),require("../../components/combo-list/index.umd.js"),require("../../components/combo-tree/index.umd.js"),require("../../components/component/index.umd.js"),require("../../components/color-picker/index.umd.js"),require("../../components/content-container/index.umd.js"),require("../date-picker/index.umd.js"),require("../data-grid/index.umd.js"),require("../../components/dropdown/index.umd.js"),require("../dynamic-form/index.umd.js"),require("../../components/events-editor/index.umd.js"),require("../../components/binding-selector/index.umd.js"),require("../../components/image-cropper/index.umd.js"),require("../input-group/index.umd.js"),require("../../components/layout/index.umd.js"),require("../../components/list-nav/index.umd.js"),require("../list-view/index.umd.js"),require("../../components/lookup/index.umd.js"),require("../../components/mapping-editor/index.umd.js"),require("../../components/nav/index.umd.js"),require("../../components/number-range/index.umd.js"),require("../number-spinner/index.umd.js"),require("../../components/order/index.umd.js"),require("../../components/page-header/index.umd.js"),require("../../components/page-footer/index.umd.js"),require("../../components/progress/index.umd.js"),require("../../components/query-solution/index.umd.js"),require("../radio-group/index.umd.js"),require("../rate/index.umd.js"),require("../response-toolbar/index.umd.js"),require("../../components/response-layout/index.umd.js"),require("../response-layout-editor/index.umd.js"),require("../section/index.umd.js"),require("../../components/smoke-detector/index.umd.js"),require("../../components/splitter/index.umd.js"),require("../../components/step/index.umd.js"),require("../switch/index.umd.js"),require("../tabs/index.umd.js"),require("../tags/index.umd.js"),require("../../components/text/index.umd.js"),require("../time-picker/index.umd.js"),require("../../components/uploader/index.umd.js"),require("../../components/verify-detail/index.umd.js"),require("../../components/video/index.umd.js"),require("../textarea/index.umd.js"),require("../../components/schema-selector/index.umd.js"),require("../tree-grid/index.umd.js"),require("../../components/event-parameter/index.umd.js"),require("../../components/filter-condition-editor/index.umd.js"),require("../../components/fieldset/index.umd.js"),require("../../components/sort-condition-editor/index.umd.js"),require("../../components/menu-lookup/index.umd.js"),require("../drawer/index.umd.js"),require("../../components/json-editor/index.umd.js"),require("../../components/property-editor/index.umd.js"),require("../../components/expression-editor/index.umd.js"),require("../../components/code-editor/index.umd.js"),require("../../components/html-template/index.umd.js"),require("../../components/collection-property-editor/index.umd.js"),require("../modal/index.umd.js"),require("../../components/external-container/index.umd.js"),require("../../components/language-textbox/index.umd.js"),require("../../components/image/index.umd.js"),require("../../components/comment/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/filter-bar/index.umd.js","../../components/pagination/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/data-view/index.umd.js","../../components/field-selector/index.umd.js","../../components/accordion/index.umd.js","../../components/avatar/index.umd.js","../button-edit/index.umd.js","../../components/calendar/index.umd.js","../capsule/index.umd.js","../checkbox/index.umd.js","../checkbox-group/index.umd.js","../../components/combo-list/index.umd.js","../../components/combo-tree/index.umd.js","../../components/component/index.umd.js","../../components/color-picker/index.umd.js","../../components/content-container/index.umd.js","../date-picker/index.umd.js","../data-grid/index.umd.js","../../components/dropdown/index.umd.js","../dynamic-form/index.umd.js","../../components/events-editor/index.umd.js","../../components/binding-selector/index.umd.js","../../components/image-cropper/index.umd.js","../input-group/index.umd.js","../../components/layout/index.umd.js","../../components/list-nav/index.umd.js","../list-view/index.umd.js","../../components/lookup/index.umd.js","../../components/mapping-editor/index.umd.js","../../components/nav/index.umd.js","../../components/number-range/index.umd.js","../number-spinner/index.umd.js","../../components/order/index.umd.js","../../components/page-header/index.umd.js","../../components/page-footer/index.umd.js","../../components/progress/index.umd.js","../../components/query-solution/index.umd.js","../radio-group/index.umd.js","../rate/index.umd.js","../response-toolbar/index.umd.js","../../components/response-layout/index.umd.js","../response-layout-editor/index.umd.js","../section/index.umd.js","../../components/smoke-detector/index.umd.js","../../components/splitter/index.umd.js","../../components/step/index.umd.js","../switch/index.umd.js","../tabs/index.umd.js","../tags/index.umd.js","../../components/text/index.umd.js","../time-picker/index.umd.js","../../components/uploader/index.umd.js","../../components/verify-detail/index.umd.js","../../components/video/index.umd.js","../textarea/index.umd.js","../../components/schema-selector/index.umd.js","../tree-grid/index.umd.js","../../components/event-parameter/index.umd.js","../../components/filter-condition-editor/index.umd.js","../../components/fieldset/index.umd.js","../../components/sort-condition-editor/index.umd.js","../../components/menu-lookup/index.umd.js","../drawer/index.umd.js","../../components/json-editor/index.umd.js","../../components/property-editor/index.umd.js","../../components/expression-editor/index.umd.js","../../components/code-editor/index.umd.js","../../components/html-template/index.umd.js","../../components/collection-property-editor/index.umd.js","../modal/index.umd.js","../../components/external-container/index.umd.js","../../components/language-textbox/index.umd.js","../../components/image/index.umd.js","../../components/comment/index.umd.js"],D):(de=typeof globalThis<"u"?globalThis:de||self,D(de["data-grid"]={},de.common,de.FDataGrid,de.dynamicResolver,de.Vue,de.VueUseCore,de.checkbox,de.FPopover,de.locale,null,de.LodashES,null,null,null,null,de.FButton,de.FButtonGroup,null,null,null,null,de.notify,de.condition,de.dynamicForm,de.designerCanvas,de.designer$1,de.propertyPanel,de.FTags,de.FTreeView,de.dataView,de.FFieldSelector))})(this,function(de,D,nt,ze,r,cn,wt,un,je,Pr,Re,Nr,Br,Or,jr,It,fn,Rr,Ar,Hr,Lr,St,fe,mn,A,We,He,pn,hn,_e,gt){"use strict";var Er=Object.defineProperty;var Ir=(de,D,nt)=>D in de?Er(de,D,{enumerable:!0,configurable:!0,writable:!0,value:nt}):de[D]=nt;var ie=(de,D,nt)=>Ir(de,typeof D!="symbol"?D+"":D,nt);const gn={customClass:{type:String,default:""},appendOnEnterAtLastCell:{type:Boolean,default:!1},beforeEditCell:{type:Function,default:t=>!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}},yn=D.excludeProperties(Object.assign({},gn,{disabled:{},editable:{},componentId:{type:String,default:""}}),"columnOption","commandOption");function vn(t,e,n,i,o){const{getGridHeaderCells:l}=o,a=120,s=50,f=r.computed(()=>{var g;return((g=t.rowNumber)==null?void 0:g.enable)||!1}),u=r.computed(()=>{var g,b;return((g=t.selection)==null?void 0:g.multiSelect)||((b=t.selection)==null?void 0:b.showCheckbox)||!1}),m=r.computed(()=>{var g;return 0+(f.value?((g=t.rowNumber)==null?void 0:g.width)||32:0)+(u.value?s:0)}),d=r.computed(()=>{var g;return(g=t.columnOption)==null?void 0:g.fitColumns}),c=r.computed(()=>{var g;return d.value&&((g=t.columnOption)==null?void 0:g.fitMode)||"none"});function h(g,b,S){const P=parseInt(g.width,10)/100;return S*P}function p(g,b,S){return typeof g.width=="string"?h(g,b,S):g.width||a}function y(g,b){const S=[],P=[];let B=0;g.value.primaryColumns.forEach(k=>{typeof k.width=="string"?P.push(k):(k.width=k.width||a,B+=k.width,S.push(k))});const E=b*(S.length/g.value.primaryColumns.length);S.forEach(k=>{const T=E*(k.width/B);k.actualWidth=T,g.value.primaryColumnsWidth+=k.actualWidth});const N=b-E;P.forEach(k=>{const T=h(k,g.value,N);k.actualWidth=T,g.value.primaryColumnsWidth+=k.actualWidth})}function w(g,b){const S=[],P=[],B=new WeakMap;let E=0,N=0;if(g.value.primaryColumns.forEach(T=>{if(typeof T.width=="string"){const V=h(T,g.value,b);B.set(T,V),E+=V,P.push(T)}else T.width=T.width||a,N+=T.width,S.push(T)}),b-E>N){const T=b-E;P.forEach(V=>{V.actualWidth=B.get(V)||a,g.value.primaryColumnsWidth+=V.actualWidth}),S.forEach(V=>{V.actualWidth=T*(V.width/N),g.value.primaryColumnsWidth+=V.actualWidth})}else y(g,b)}function F(g,b){g.value.primaryColumns.forEach(S=>{S.actualWidth=p(S,g.value,b),g.value.primaryColumnsWidth+=S.actualWidth})}const x={expand:w,none:F,percentage:y};function M(g){g.value.leftHeaderColumns=Array.from(l(g.value.leftColumns).values()),g.value.primaryHeaderColumns=Array.from(l(g.value.primaryColumns).values()),g.value.rightHeaderColumns=Array.from(l(g.value.rightColumns).values())}function _(g){g.value.leftColumnsWidth=0,g.value.primaryColumnsWidth=0,g.value.rightColumnsWidth=0,g.value.leftColumns.forEach(b=>{g.value.leftColumnsWidth+=b.actualWidth||0}),g.value.primaryColumns.forEach(b=>{g.value.primaryColumnsWidth+=b.actualWidth||0}),g.value.rightColumns.forEach(b=>{g.value.rightColumnsWidth+=b.actualWidth||0}),g.value=Object.assign({},g.value)}function v(g,b,S){var V;let P=0;const B=g.value.primaryColumns,E=g.value.rightColumns;g.value.rightColumns.forEach(H=>{H.actualWidth=p(H,g.value,b),P+=H.actualWidth});const N=S-P,k=x[c.value];if(k&&k(g,N),g.value.primaryColumnsWidth+P<=S)return g.value.primaryColumns=[...B,...E],g.value.primaryColumnsWidth+=P,g.value.rightColumns=[],g.value.rightColumnsWidth=0,!0;const T=new Map;return T.set("primary",[]),T.set("right",[]),g.value.primaryColumns.reduce((H,I)=>{var R,q;return I.fixed==="right"?(R=H.get("right"))==null||R.push(I):(q=H.get("primary"))==null||q.push(I),H},T),(V=T.get("right"))!=null&&V.length&&(g.value.primaryColumns=[...T.get("primary")||[]],g.value.rightColumns=[...T.get("right")||[]]),g.value.primaryColumnsWidth=0,g.value.rightColumnsWidth=0,!1}function C(){if(n.value){e.value.leftColumnsWidth=0,e.value.primaryColumnsWidth=0,e.value.rightColumnsWidth=0;const g=n.value.clientWidth-m.value;e.value.leftColumns.forEach(S=>{S.actualWidth=p(S,e.value,g),e.value.leftColumnsWidth+=S.actualWidth});const b=g-e.value.leftColumnsWidth;if(v(e,g,b))i.value=b;else{e.value.rightColumns.forEach(B=>{B.actualWidth=p(B,e.value,g),e.value.rightColumnsWidth+=B.actualWidth});const S=g-e.value.leftColumnsWidth-e.value.rightColumnsWidth,P=x[c.value];P&&P(e,S),i.value=S}M(e),e.value=Object.assign({},e.value)}}return r.watch(()=>{var g;return(g=t.columnOption)==null?void 0:g.fitColumns},(g,b)=>{g!==b&&g&&C()}),r.watch(c,(g,b)=>{g!==b&&d.value&&C()}),{calculateColumnHeaders:M,calculateColumnsSize:C,calculateColumnsWidth:_}}const bn="";function Cn(t){const n={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=r.ref(n);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 l=r.ref(t.summary),a=r.computed(()=>{const v=l.value;return(v==null?void 0:v.groupFields)||[]});function s(){i.value.rightColumns.forEach(g=>{g.showSetting=!1}),i.value.primaryColumns.forEach(g=>{g.showSetting=!1});const v=i.value.rightColumns,C=i.value.primaryColumns;v.length>0?v[v.length-1].showSetting=!0:C.length>0&&(C[C.length-1].showSetting=!0)}function f(v){o();const C=new Map;return a.value&&a.value.reduce((g,b)=>(g.set(b,!0),g),C),v.reduce((g,b)=>(b.filter=b.filter||bn,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),C.has(b.field)&&i.value.summaryColumns.push(b),g),i),s(),i}f(t.columns);const u=r.computed(()=>i.value.leftColumns.length>0),m=r.computed(()=>i.value.rightColumns.length>0);function d(v,C){return C.sortable&&C.sort&&C.sort!=="none"&&v.push(C),v}function c(v,C){return v.sortOrder=v.sortOrder||0,C.sortOrder=C.sortOrder||0,v.sortOrder===C.sortOrder?0:v.sortOrder<C.sortOrder?-1:1}function h(v,C){return v.sortOrder=v.sortOrder||0,C.sortOrder=C.sortOrder||0,v.sortOrder===C.sortOrder?0:v.sortOrder<C.sortOrder?1:-1}function p(v,C){return C.filterable&&v.push(C),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 w(){const v=[];i.value.leftColumns.reduce(d,v),i.value.primaryColumns.reduce(d,v),i.value.rightColumns.reduce(d,v);const C=Math.max(...v.map(g=>g.sortOrder||0));return v.sort(h).map(g=>{const b=g.sortOrder||C+1;return g.sortOrder=b,g}).sort(c).map((g,b)=>{const S=b+1;return g.sortOrder=S,g})}function F(v,C,g){const b=v.map(S=>{const P=g.getSorterByColumn(S),B=S.sort==="asc",E=S.sort==="desc",N=B?P.ascend:E?P.decend:void 0;return{field:S.field,compare:N}});C.setSorters(b)}function x(v,C){const g=w();F(g,v,C)}function M(v){}function _(v){}return{applyColumnSorter:x,collectionFilterableColumns:y,applySortableColumns:F,collectionSortableColumns:w,columnContext:i,hasLeftFixedColumn:u,hasRightFixedColumn:m,updateColumnRenderContext:f,updateColumnSettingIcon:s,sortFromServer:M,createSortConditions:_}}function wn(t,e,n,i,o,l,a,s){const f=r.ref(i.value-1+o),u=r.ref(0),{renderDataRow:m}=l,d=a?a.renderGroupRow:m,c=s?s.renderSummaryRow:m;function h(w){let F=m;return w.__fv_data_grid_group_row__&&(F=d),w.__fv_data_grid_group_summary__&&(F=c),F}function p(w,F,x,M){const{dataView:_}=n,v=[];if(_.value.length>0){const C=M?Date.now().toString():"";let g=w,b=0;const S=F-w+1;for(;v.length<S&&g<_.value.length;){const P=_.value[g],B=_.value[g-1]||x,E=v[b-1],N=B?(B.__fv_data_position__||0)+(B.__fv_data_height__||0):0,T=h(P)(P,B,E,g,N,e.value,v);T.refreshKey=C,v.push(T),b++,g++}}return u.value=v.length>0?v[0].index:0,f.value=v.length>0?v[v.length-1].index:0,v}function y(w,F,x){const M=F.groupField||"",{groupValue:_,raw:v}=F;n[w](M,_,v.groupParents||[]);const{dataView:C}=n,g=x[0].index,b=Math.min(g+i.value+o+1,C.value.length-1);return p(g,b)}return{getVisualData:p,maxVisibleRowIndex:f,minVisibleRowIndex:u,toggleGroupRow:y}}var Ee=(t=>(t[t.readonly=0]="readonly",t[t.editable=1]="editable",t[t.editing=2]="editing",t))(Ee||{}),qe=(t=>(t[t.initial=0]="initial",t[t.editing=1]="editing",t))(qe||{}),it=(t=>(t[t.data=0]="data",t[t.group=1]="group",t[t.summary=2]="summary",t))(it||{}),Pe=(t=>(t[t.none=0]="none",t[t.filterable=1]="filterable",t[t.sortable=2]="sortable",t[t.filtered=4]="filtered",t[t.sorted=8]="sorted",t[t.ascending=16]="ascending",t[t.descending=32]="descending",t))(Pe||{}),Ge=(t=>(t.DATE="date",t.DATE_TIME="datetime",t.NUMBER="number",t.ENUM="enum",t.IMAGE="image",t.BOOLEAN="boolean",t.BOOLEAN2="boolean2",t.TIMEAGO="timeago",t.NONE="none",t.CUSTOM="custom",t.MULTI_LINGUAL="multilingual",t))(Ge||{});const Sn="__setting__",Pt="__command__",xn=150,Mn="right",Nt="commands";function Fn(t,e,n){const{horizontalScrollThumbStyle:i,onMouseDownScrollThumb:o,shouldShowHorizontalScrollbar:l}=n;function a(){return l.value&&r.createVNode("div",{class:"fv-grid-horizontal-scroll"},[r.createVNode("div",{class:"fv-grid-horizontal-scroll-thumb",style:i.value,onMousedown:s=>o(s,e,"horizontal")},null)])}return{renderHorizontalScrollbar:a}}function Tn(t){function e(s,f){switch(s.command){case"edit":case"remove":return f.status===qe.initial;case"accept":case"cancel":return f.status===qe.editing;default:return!s.hidden}}function n(s,f,u,m){var d,c,h,p,y;switch((d=s.onClick)==null||d.call(s,f,u.dataIndex,u),s.command){case"edit":u.status,qe.editing,(h=(c=t.commandOption)==null?void 0:c.onClickEditCommand)==null||h.call(c,m,u,s,f);break;case"accept":case"cancel":u.status,qe.initial;break;case"remove":(y=(p=t.commandOption)==null?void 0:p.onClickDeleteCommand)==null||y.call(p,m,u,s,f);break}}function i(s){return s==="编辑"?je.LocaleService.getLocaleValue("datagrid.commandColumn.edit"):s==="确定"?je.LocaleService.getLocaleValue("datagrid.commandColumn.accept"):s==="取消"?je.LocaleService.getLocaleValue("datagrid.commandColumn.cancel"):s==="删除"?je.LocaleService.getLocaleValue("datagrid.commandColumn.remove"):s}function o(s,f){const{column:u}=s;return u.commands&&u.commands.map((m,d)=>d?e(m,f)&&r.createVNode(It,{class:"ml-1",type:m.type,size:m.size||"small",onClick:c=>n(m,c,f,s),style:{"margin-bottom":"3px"}},{default:()=>[r.createTextVNode(" "),i(m.text),r.createTextVNode(" ")]}):e(m,f)&&r.createVNode(It,{type:m.type,size:m.size||"small",onClick:c=>n(m,c,f,s),style:{"margin-bottom":"3px"}},{default:()=>[r.createTextVNode(" "),i(m.text),r.createTextVNode(" ")]}))}function l(s,f,u,m){var d,c,h;(d=f.onClick)==null||d.call(f,s,u.dataIndex,u),(h=(c=t.commandOption)==null?void 0:c.onHandleAction)==null||h.call(c,m,u,f,s)}function a(s,f){var d;const{column:u}=s;return((d=u==null?void 0:u.commands)==null?void 0:d.find(c=>c.command))?o(s,f):r.createVNode(fn,{data:u.commands,count:2,size:"small",placement:"auto",onClick:c=>{l(c.payload,c.button,f,s)}},null)}return{renderCommandColumn:a}}function _n(t){const e=r.ref(t.minHeight),n=r.ref(t.minWidth),i=r.ref(t.height),o=r.ref(t.width),l=r.computed(()=>i.value<=0?0:Math.max(i.value,e.value)),a=r.computed(()=>o.value<=0?0:Math.max(o.value,n.value));return r.watch([()=>t.height,()=>t.width,()=>t.minHeight,()=>t.minWidth],([f,u,m,d])=>{e.value=Number(m),n.value=Number(d),i.value=Number(f),o.value=Number(u)}),{containerStyleObject:r.computed(()=>({height:l.value>0?`${l.value}px`:t.fit?"100%":"",width:a.value>0?`${a.value}px`:t.fit?"100%":"",flex:"1 1 0"}))}}function kn(t){var l,a;const e=r.ref(((l=t.commandOption)==null?void 0:l.enable)||!1),n=r.ref(((a=t.commandOption)==null?void 0:a.commands)||[]),i=r.computed(()=>je.LocaleService.getLocaleValue("datagrid.commandColumn.title"));function o(s){var f;if(e.value&&!(s.value.findIndex(m=>m.dataType===Nt)>-1)){const m={field:Pt,title:i.value,width:xn,fixed:Mn,dataType:Nt,commands:n.value,resizable:!1,halign:((f=t.commandOption)==null?void 0:f.halign)||"left",visible:!0,formatter:t.commandOption.formatter&&typeof t.commandOption.formatter?(d,c)=>t.commandOption.formatter(d,c):null};t.commandOption.formatter&&typeof t.commandOption.formatter!="function"&&(m.formatter=(d,c)=>t.commandOption.formatter(d,c)),s.value.push(m)}}return{applyCommands:o}}function Vn(t,e){var u;const n=r.ref((u=t.columnOption)==null?void 0:u.groups);function i(m,d,c,h,p){const y={actualWidth:0,children:[],depth:1,field:m.field,layer:1,left:0,parent:c,resizable:!0,title:m.title||"",status:Pe.none,popoverRef:r.ref(),showPopover:!1,column:null,sortType:"none"},w=h||y;if(m.group){let F=1;m.group.reduce((x,M)=>{if(typeof M=="string"){const _=d.get(M);_&&(p.fieldToRootMap.set(M,w),x.actualWidth+=_.actualWidth,x.children.push(_))}else{const _=i(M,d,x,w,p);F=Math.max(F,_.depth),x.actualWidth+=_.actualWidth,x.children.push(_)}return x},y),y.depth+=F}return e.value.headerDepth=Math.max(e.value.headerDepth,y.depth),y}function o(m){const d={groupedCells:new Map,fieldToRootMap:new Map};return n.value&&n.value.reduce((c,h)=>{const p=i(h,m,null,null,d);return c.groupedCells.set(h.field,p),c},d),d}function l(m){if(!m||m.length===0)return 0;const d=m[0];return d.children&&d.children.length>0&&(d.left=l(d.children)),d.left}function a(m,d){const c=e.value.headerDepth;m.forEach(h=>{h.layer=d?d.layer+1:1;const p=h.children&&h.children.length===0;h.depth=p?c-(h.layer-1):1,h.left=p?h.left:l(h.children),h.children&&a(h.children,h)})}function s(m,d){const c=new Map;return m.forEach(h=>{const p=d.fieldToRootMap.get(h.field),y=p!=null;y&&!c.has(p.field)&&c.set(p.field,p),y||c.set(h.field,h)}),a(Array.from(c.values())),c}function f(m){let d=new Map,c=0;if(m.reduce((h,p)=>{let y=Pe.none;y=p.sortable?y|Pe.sortable:y,y=p.filterable?y|Pe.filterable:y,y=p.sort&&p.sort!=="none"?y|Pe.sorted|(p.sort==="asc"?Pe.ascending:Pe.descending):y;const w=p.field;return h.set(w,{actualWidth:p.actualWidth||0,children:[],depth:1,layer:1,left:c,field:w,parent:null,resizable:p.resizable===void 0?!0:p.resizable,title:p.title,status:y,popoverRef:r.ref(),showPopover:!1,column:p,filterValue:null,sortType:p.sort||"none",showSetting:p.showSetting,draggable:p.draggable}),c+=p.actualWidth||0,h},d),n.value){const h=o(d);d=s(d,h)}return d}return{getGridHeaderCells:f}}function En(t,e){var v;const{sum:n,toFixed:i}=D.useNumberFormat(),{uuid:o}=D.useGuid(),{idField:l}=e,a=r.ref(t.summary),s=r.ref(t.group),f=r.ref(((v=t.group)==null?void 0:v.groupFields)||[]),u=r.computed(()=>{var C;return(C=t.group)==null?void 0:C.enable}),m=r.computed(()=>{var C;return(C=t.group)==null?void 0:C.showGroupPanel}),d=r.computed(()=>{const C=a.value;return(C==null?void 0:C.groupFields)||[]}),c=r.computed(()=>{const C=s.value;return C&&C.showSummary}),h=r.ref(0),p=new Map;let y=[];function w(C,g,b,S,P){const B=S[b];B&&(g.reduce((E,N,k)=>{var H;const T=N[B];let V=E.get(T);if(!V){const I=d.value.reduce((R,q)=>(R.set(q,0),R),new Map);V={field:B,title:((H=P.get(B))==null?void 0:H.title)||B,value:T,layer:b,details:[],groupSummaries:I},E.set(T,V)}return d.value&&d.value.forEach(I=>{if(V){const R=V.groupSummaries.get(I)||0;V.groupSummaries.set(I,n([R,D.resolveField(N,I)]))}}),d.value&&d.value.forEach(I=>{if(V){const R=V.groupSummaries.get(I)||0;V.groupSummaries.set(I,i(R,2))}}),V.details.push(N),E},C),b<S.length-1&&C.forEach((E,N)=>{E.nestGroup=new Map,w(E.nestGroup,E.details,b+1,S,P),E.details=[]}))}function F(C,g){return t.group&&t.group.formatter?t.group.formatter(C.value,{...C,total:g}):`${C.title}:${C.value} (${g})`}function x(C,g){const b=[];return C.forEach(S=>{const P={[l.value]:`group_of_${g?g[l.value]+"_":""}${S.field}_${S.value}`,__fv_data_grid_group_collapse__:!1,__fv_data_grid_group_field__:S.field,__fv_data_grid_group_layer__:S.layer,__fv_data_grid_group_row__:!0,__fv_data_grid_group_value__:S.value,groupParents:[]};g&&(P.groupParents=[...g.groupParents,g]);let B=0;if(b.push(P),S.nestGroup){const E=x(S.nestGroup,P);b.push(...E),B+=E.length}if(S.details&&S.details.length&&(b.push(...S.details),B+=S.details.length),c.value){const E={__fv_data_grid_group_field__:S.field,__fv_data_grid_group_layer__:S.layer,__fv_data_grid_group_summary__:!0};E[l.value]=`summary_of_${S.field}_${S.value}`,E[S.field]=Array.from(S.groupSummaries.entries()).reduce((N,[k,T])=>`${N} ${k} total:${T} `,""),b.push(E)}S.groupSummaries&&S.groupSummaries.size&&S.groupSummaries.forEach((E,N)=>{P[N]=E}),P[S.field]=F(S,B),P.value=S.value}),b.forEach((S,P)=>{S.__fv_data_index__=P}),b}function M(C,g,b){return!C||C.length===0||!g.length?g:(C.join(","),p.clear(),y=[],g=g.filter(S=>!S.__fv_data_grid_group_row__),w(p,g,0,C,b),y=x(p),y)}function _(C){return{"f-icon":!0,"f-icon-arrow-chevron-down":!0,"fv-grid-group-row-icon-collapse":C.collapse}}return{collpaseGroupIconClass:_,generateGroupData:M,groupFields:f,shouldGroupingData:u,showGroupPanel:m,groupRowSize:h}}function Bt(t){const e="parent",n="layer",i="hasChildren",o=(a,s=1,f=[],u=null)=>(a=a||[],a.reduce((m,d)=>(d.id=d.id||d.data[t.idField],d[e]=u,d[n]=s,d[i]=d[i]===void 0?!1:d[i],d.data&&Object.keys(d.data).forEach(c=>{Object.keys(d).includes(c)||(d[c]=d.data[c])}),f.push(d),d.children&&d.children.length&&(d[i]=!0,o(d.children,s+1,f,d.id)),m),f),f);return{flatTreeData:o,isNestedTree:a=>a.some(s=>Array.isArray(s.children))}}function In(t,e,n,i){const o=r.ref(0),l=r.ref(!!t.hierarchy),{idField:a}=i,{collapseField:s,hasChildrenField:f,parentIdField:u}=n,m=new Map,d=new Map,c=new Map,{flatTreeData:h,isNestedTree:p}=Bt(t);function y(L,W){d.clear(),L.reduce((G,U)=>{const ne=U[u.value]!==void 0?U[u.value]:"";if(ne&&W.has(ne)){const me=W.get(ne),ge=isNaN(Number(me.__fv_layer__))?1:Number(me.__fv_layer__);U.__fv_layer__=ge+1,U.__fv_parent_index__=me.__fv_index__,me.__fv_hasChildren__=!0}else U.__fv_layer__=1;const ue=G.has(ne)?G.get(ne):[];return ue.push(U),G.set(ne,ue),G},d)}function w(L){c.clear(),L.reduce((W,G)=>{const U=G[a.value];return W.set(U,G),W},c)}function F(L){L.forEach(W=>{const G=W[a.value];W.__fv_children_index__.map(ne=>L[ne]).forEach(ne=>{ne.__fv_parents__=new Map([...W.__fv_parents__.entries(),[G,!0]])})})}function x(L){L.forEach(W=>{const G=new Set(W.__fv_children_index__);W.__fv_children_index__=[...G].sort((U,ne)=>U-ne)})}function M(L){L.forEach(W=>{const G=W.__fv_parents__;Array.from(G.keys()).map(U=>c.get(U)).forEach(U=>{U.__fv_children_index__.push(W.__fv_index__)})}),x(L)}function _(L){L.forEach(W=>{W.__fv_child_with_lines__=[],W.__fv_child_length__=W.__fv_descendant_index__.length,W.__fv_descendant_index__.map(G=>L[G]).reduce((G,U)=>(G.__fv_child_length__+=U.__fv_children_index__.length,G.__fv_child_with_lines__.push(...U.__fv_children_index__,U.__fv_index__),G),W)})}function v(L,W){return{id:L,index:W,parentId:"",parentIndex:-1,parents:new Map,children:new Map,descendant:new Map,collapsed:!1,visibleInHierarchy:!0}}function C(L,W,G){Array.from(W.keys()).forEach(U=>{W.get(U).reduce((ue,me)=>{const ge=me[a.value],ye=L.get(me[a.value]),he=L.get(U),Ie=G.get(U);return he&&Ie&&(he.children.set(ge,ye),he.children.set(ge,ye),ye.parentId=U,ye.parentIndex=he.index,ye.parents.set(U,he)),ue},L)})}function g(L){L.children.forEach(G=>{G.parents=new Map([...L.parents.entries(),[L.id,L]]),g(G)})}function b(L,W){L.filter(G=>G[u.value]===void 0||G[u.value]==="").forEach(G=>{const U=G[a.value],ne=W.get(U);g(ne)})}function S(L){Array.from(L.values()).forEach(W=>{Array.from(W.parents.values()).forEach(G=>{G.descendant.set(W.id,W)})})}function P(L){m.clear(),L.forEach((W,G)=>{const U=W[a.value];m.set(U,v(U,G))}),w(L),y(L,c),C(m,d,c),b(L,m),S(m)}function B(L){const W=L[a.value],G=m.get(W);return G&&G.children.size>0}function E(L){return L[f.value]&&!B(L)}function N(L){const W=L[a.value],G=m.get(W);return G&&G.visibleInHierarchy}function k(){o.value=Date.now()}function T(L,W){W.forEach(G=>{const U=m.get(G[a.value]),ne=m.get(L),ue=c.get(L);ne&&ue&&(U.visibleInHierarchy=!ue[s.value]&&ne.visibleInHierarchy)}),k()}function V(L){if(d.has(L)){const G=d.get(L);T(L,G),G.map(U=>U[a.value]).forEach(U=>V(U))}}function H(L){const W=L[a.value];V(W)}function I(L,W,G=0){L.forEach(U=>{const ne=E(U),ue=U.__fv_layer__<=G,me=W==="ToCollapse"?U.__fv_layer__<=G:!(U.__fv_layer__<=G),ge=ue?me:U[s.value];U[s.value]=ne||ge});for(const[U,ne]of d.entries())T(U,ne);return L}function R(L,W){I(L,"ToCollapse",W)}function q(L,W){I(L,"ToExpand",W)}function J(L){L.forEach((W,G)=>{var me;const U=W[a.value],ne=d.has(U)?(me=d.get(U))==null?void 0:me.map(ge=>ge.__fv_index__):[],ue=v(U,G);W.__fv_graph_node__=ue,W.__fv_children_index__=ne,W.__fv_descendant_index__=[...ne],W.__fv_parents__=new Map,E(W)&&(W[s.value]=!0)})}function j(L){var U,ne;P(e.value),J(L),F(L),M(L),t.showLines&&_(L);const G=((U=t.hierarchy)==null?void 0:U.collapseTo)!==void 0?Number((ne=t.hierarchy)==null?void 0:ne.collapseTo):0;return I(L,"ToCollapse",G),L}function ee(L,W,G){const ne=G.value[L][a.value],ue=m.get(ne);if(ue){const me=m.get(ue.parentId);let ge=G.value.length-1;if(me){const ye=Array.from(me.children.keys()).indexOf(ue.id);if(ye===me.children.size-1){const Ie=Array.from(me.descendant.values())[me.descendant.size-1];ge=G.value.findIndex(O=>O[a.value]===Ie.id)+1}else{const Ie=Array.from(me.children.values())[ye+1];ge=G.value.findIndex(O=>O[a.value]===Ie.id)}W[f.value]=!1,W[u.value]=me.id,G.value.splice(ge,0,W)}}}function oe(L,W,G){const U=G.value[L],ne=U[a.value];if(m.get(ne)){const ge=G.value.findIndex(ye=>ye[a.value]===ne)+1;U[f.value]=!0,U[s.value]=!1,W[f.value]=!1,W[u.value]=ne,G.value.splice(ge,0,W)}}function ce(L,W,G){const ne=G.value[L][a.value];if(m.get(ne)){const ge=G.value.findIndex(he=>he[a.value]===ne)+1;let ye=W;p(W)&&(ye=h(W)),ye.forEach(he=>{he[u.value]=ne}),G.value.splice(ge,0,...ye)}}function Z(L,W){const G=L[a.value],U=m.get(G),ne=Array.from(U.descendant.keys());ne.unshift(G);const ue=m.get(U.parentId);if(ue&&(ue.children.delete(G),ue.children.size===0)){const ge=W.find(ye=>ye[a.value]===U.parentId);ge[f.value]=!1,ge[s.value]=!1}return W.filter(ge=>ne.indexOf(ge.id)===-1)}return{checkVisibleInHierarchy:o,collapseTo:R,expandTo:q,generateHierarchyData:j,hasRealChildren:B,insertSibling:ee,insertChild:oe,insertChildren:ce,isVisibleInTree:N,shouldStratifyData:l,toggleChildrenVisibiltyByCollapseStatus:H,trimmedOriginalData:Z}}function Pn(t,e,n,i,o){const{toNumber:l,sum:a,toFixed:s}=D.useNumberFormat(),f=new Map,u=new Map,m=new Map,d=new Map,c=new Map,h=r.ref([]),p=r.ref([]),y=En(t,o),{generateGroupData:w,groupFields:F,shouldGroupingData:x}=y,M=r.ref(t.data||[]),_=In(t,M,i,o),{collapseTo:v,expandTo:C,generateHierarchyData:g,hasRealChildren:b,insertSibling:S,insertChild:P,insertChildren:B,isVisibleInTree:E,shouldStratifyData:N,toggleChildrenVisibiltyByCollapseStatus:k,trimmedOriginalData:T,checkVisibleInHierarchy:V}=_,{idField:H,reviseIdentifyField:I}=o,R=r.ref(t.newDataItem),q=r.ref(t.data||[]),J=r.ref(t.data),{flatTreeData:j,isNestedTree:ee}=Bt(t);if(t.hierarchy&&ee(t.data)){const $=j(t.data);M.value=$,q.value=$,J.value=$}const oe=r.ref(t.summary),ce=r.computed(()=>{const $=oe.value;return($==null?void 0:$.groupFields)||[]});let Z=new Map;const L=r.ref(q.value.length),W=r.ref(t.pagination);function G(){return W.value&&W.value.enable&&W.value.size>0?W.value.size:q.value.length}const U=r.ref(1),ne=r.computed(()=>W.value&&W.value.enable&&W.value.mode!=="server"),ue=r.computed(()=>W.value&&W.value.enable&&W.value.mode==="server"),me=new St.FNotifyService;function ge($,K){const le=Math.ceil($.length/K);let pe=0;const Ve=[],$e=[],Je=[];for(;pe<le;){const Oe=$.slice(pe*K,(pe+1)*K),Ce=w(F.value,Oe,e);$e[pe]=Ce.filter(we=>we.__fv_data_grid_group_row__).length,Ve.push(...Ce),pe++}return $e.reduce((Oe,Ce,we)=>(Oe=Oe+Ce,Je.push(Oe),Oe),0),{groupData:Ve,groupRowSizeList:$e,accumulateGroupRowSize:Je}}function ye(){var Ce;q.value=M.value,ne.value&&(L.value=q.value.length),x.value&&!ne.value&&(q.value=w(F.value,M.value,e)),Z=ce.value.reduce((we,Te)=>(we.set(Te,0),we),Z);const $=0,K=G(),le=(U.value-1)*K;let Ve=le>q.value.length-1||ue.value?$:le,$e=ue.value?q.value.length:Math.min(Ve+K,q.value.length);if(x.value&&ne.value){const{accumulateGroupRowSize:we,groupData:Te,groupRowSizeList:Me}=ge(M.value,K);q.value=Te;const at=Me[U.value-1];Ve+=U.value-2<0?0:we[U.value-2],$e=Ve+K+at}let Je=0;const Oe=[];if(q.value.length){I(q.value);const we=H.value!==t.idField;for(let Te=Ve;Te<$e;Te++){const Me=q.value[Te];Me.__fv_data_grid_group_row__?(Je=0,Me.__fv_data_index__=""):Me.__fv_data_grid_group_summary__?Me.__fv_data_index__="":(Je++,Me.__fv_data_index__=Je+(U.value-1)*K),Me.__fv_index__=Te,Me.__fv_visible_index__=Te,t.rowOption&&t.rowOption.disabledField&&(Me.__fv_disabled__=Me[(Ce=t.rowOption)==null?void 0:Ce.disabledField]),we&&(Me[H.value]=Te),ce.value.forEach(at=>{const Vt=Z.get(at)||0;Z.set(at,a([Vt,D.resolveField(Me,at)||0]))}),Oe.push(Me)}}return N.value&&g(Oe),ce.value.forEach(we=>{const Te=Z.get(we)||0;Z.set(we,s(Te,2))}),J.value=[...Oe],Oe}const he=r.ref(ye()),Ie=r.computed(()=>(V.value,he.value.filter($=>N.value?$.__fv_visible__!==!1&&E($):$.__fv_visible__!==!1)));function Le(){Ie.value.forEach(($,K)=>($.__fv_visible_index__=K,$))}function O($,K,le=!1){var Oe;const pe=le?ye():[...J.value];let Ve=pe;((Oe=t.filter)==null?void 0:Oe.mode)!=="server"&&(Ve=pe.filter(Ce=>n.apply(Ce)));const $e=$&&$.length?Ve.filter(Ce=>$.reduce((we,Te)=>we&&Te.filter(Ce),!0)):Ve,Je=K&&K.length?$e.sort((Ce,we)=>{const Te=[...K],Me=Te.shift(),at=D.resolveField(Ce,Me.field)===void 0||D.resolveField(Ce,Me.field)===null?"":D.resolveField(Ce,Me.field),Vt=D.resolveField(we,Me.field)===void 0||D.resolveField(we,Me.field)===null?"":D.resolveField(we,Me.field);let Et=Me.compare(at,Vt);for(;Et===0&&Te.length!==0;){const tt=Te.shift();if(tt){const kr=D.resolveField(Ce,tt.field)===void 0||D.resolveField(Ce,tt.field)===null?"":D.resolveField(Ce,tt.field),Vr=D.resolveField(we,tt.field)===void 0||D.resolveField(we,tt.field)===null?"":D.resolveField(we,tt.field);Et=tt.compare(kr,Vr)}}return Et}):$e;return he.value=Je.map((Ce,we)=>{if(Ce.__fv_data_grid_group_row__){const Te=`group_of_${Ce.__fv_data_grid_group_field__}_${Ce.__fv_data_grid_group_value__}`;Ce.__fv_data_grid_group_collapse__=!!f.get(Te)}return Ce.__fv_index__=we,Ce.__fv_visible_index__=we,Ce}),he.value}function Y($){return c.clear(),p.value=$,p.value.reduce((K,le)=>(K.set(le.field,le),K),c),O([],p.value)}function Q($,K){return c.set($,K),p.value=Array.from(c.values()),O([],p.value)}function re($){return c.delete($),p.value=Array.from(c.values()),O([],p.value)}function ve($,K){return u.set($,K),h.value=Array.from(u.values()),O([],Array.from(c.values()))}function Ne($){return u.delete($),h.value=Array.from(u.values()),O([],Array.from(c.values()),!0)}function De(){return u.clear(),h.value=[],O([],Array.from(c.values()),!0)}function Qe($,K,le){const pe=`group_of_${$}_${K}`;f.set(pe,!0);const Ve=$e=>$e[$]!==K;return m.set(`collapse_${$}_${K}`,{field:$,fieldName:$,fieldType:"string",filterValue:K,filter:Ve}),O(Array.from(m.values()),Array.from(c.values()))}function et($){v(he.value,$)}function z($){C(he.value,$)}function ae($,K,le){const pe=`group_of_${$}_${K}`;return f.set(pe,!1),m.delete(`collapse_${$}_${K}`),O(Array.from(m.values()),Array.from(c.values()),!0)}function Fe($){const K=$.raw[H.value],le=pe=>!pe.__fv_parents__.has(K);d.set(`fold_${K}`,{field:"id",fieldName:"id",fieldType:"string",filterValue:String(K),filter:le}),O(Array.from(d.values()),Array.from(c.values())),g(he.value)}function Se($){const K=$[H.value];d.delete(`fold_${K}`)}function Ye($){Se($.raw),O(Array.from(d.values()),Array.from(c.values()),!0),g(he.value)}function Ae(){const $=ye();he.value=$,O(Array.from(d.values()),Array.from(c.values())),t.hierarchy&&g(he.value)}function Tt($){const le=t.hierarchy&&ee($)?j($):$;M.value=le,Ae()}function bt($,K,le){return($&&$.length?he.value.filter((Ve,$e)=>$.reduce((Je,Oe)=>Je&&Oe.filter(Ve),!0)):he.value).slice(K,le)}function _t($){const K=G(),le=Math.ceil(L.value/K);0<=$&&$<=le&&(U.value=$,Ae())}function kt($){M.value.push(Re.cloneDeep($)),he.value=ye()}function Ct($=0){if(!($>-1))return!1;const le=R.value();t.hierarchy?S($,le,M):M.value.splice($,0,le),Ae()}function X($=0){if(!($>-1&&t.hierarchy))return!1;const le=R.value(),pe=M.value[$];Se(pe),P($,le,M),Ae()}function te($,K=0){if(!(K>-1&&t.hierarchy))return!1;const pe=M.value[K];Se(pe),B(K,$,M),Ae()}function se($){const K=$?$-1:0;M.value.splice(K,1),Ae()}function xe($){const K=M.value.findIndex(le=>le[H.value]===$);K!==-1&&(M.value.splice(K,1),Ae())}function Be($){const K=$>-1?M.value[$]:null;if(!(K&&K.deletable!==!1))return!1;M.value=T(K,M.value),Ae()}function Xe(){const $=m.size>0?Array.from(m.values()):[];return O($,Array.from(c.values()))}function Ze($){W.value.size=$}function ht($){W.value&&(Ze($),Ae())}function ct($,K){const le=M.value[Number($)-1];le.editable!==!1?(le.name=K,Ae()):me.show({showCloseButton:!1,timeout:3e3,animate:"fadeIn",toasts:[{type:"string",title:"提示",msg:"当前节点禁止编辑"}]})}function lt($){return $.map(le=>{const pe=J.value.findIndex(Ve=>""+Ve[H.value]==""+le);return pe>-1?J.value[pe]:null}).filter(le=>le!=null)}function ut(){const $=t.summary.groupFields;Z=$.reduce((K,le)=>(K.set(le,0),K),Z);for(const K of q.value)$.forEach(le=>{const pe=Z.get(le)||0;Z.set(le,a([pe,D.resolveField(K,le)||0]))});$.forEach(K=>{const le=Z.get(K)||0;Z.set(K,s(le,2))})}function _r($){const K=t.summary.groupFields;Z=K.reduce((le,pe)=>(le.set(pe,0),le),Z);for(const le of $)K.forEach(pe=>{const Ve=Z.get(pe)||0;Z.set(pe,a([Ve,D.resolveField(le.raw,pe)||0]))});K.forEach(le=>{const pe=Z.get(le)||0;Z.set(le,s(pe,2))})}return{addFilter:ve,addNewDataItem:kt,addSorter:Q,updatePageSize:Ze,changePageSizeTo:ht,collapse:Qe,collapseTo:et,dataView:he,editDataItem:ct,expand:ae,expandTo:z,filters:h,fold:Fe,getRange:bt,getSelectionItems:lt,hasRealChildren:b,insertNewChildDataItem:X,insertNewChildDataItems:te,insertNewDataItem:Ct,isVisibleInTree:E,load:Tt,navigatePageTo:_t,pageIndex:U,rawView:J,refresh:Xe,removeAllFilter:De,removeDataItem:se,removeDataItemById:xe,removeFilter:Ne,removeHierarchyDataItem:Be,removeSorter:re,reOrderVisibleIndex:Le,setSorters:Y,sorters:p,summaries:Z,updateSummary:ut,toggleChildrenVisibiltyByCollapseStatus:k,totalItems:L,unFold:Ye,updateDataView:Ae,visibleDataItems:Ie,shouldGroupingData:x,pagination:W,updateVisibleDataSummary:_r}}const Nn=["equal","notEqual","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","contain","startWidth","endWidth","in","notIn"],Bn={equal:(t,e,n)=>t&&t[e]===n,notEqual:(t,e,n)=>t&&t[e]!==n,contain:(t,e,n)=>t?(t[e]||"").indexOf(n)>-1:!1,startWidth:(t,e,n)=>t?(t[e]||"").startsWith(n):!1,endWidth:(t,e,n)=>t?(t[e]||"").endsWith(n):!1},On={equal:(t,e,n)=>t&&t[e]===n,in:(t,e,n)=>{if(t){const i=t[e];return n.indexOf(i)>-1}return!1},notEqual:(t,e,n)=>t&&t[e]!==n},jn={equal:(t,e,n)=>{if(t){const i=new Date(n).getTime();return new Date(t[e]).getTime()===i}return!1},notEqual:(t,e,n)=>{if(t){const i=new Date(n).getTime();return new Date(t[e]).getTime()!==i}return!1},greaterThan:(t,e,n)=>{if(t){const i=new Date(new Date(n).toLocaleDateString()).valueOf();return new Date(new Date(t[e]).toLocaleDateString()).valueOf()>i}return!1},greaterThanOrEqual:(t,e,n)=>{if(t){const i=new Date(new Date(n).toLocaleDateString()).valueOf();return new Date(new Date(t[e]).toLocaleDateString()).valueOf()>=i}return!1},lessThan:(t,e,n)=>{if(t){const i=new Date(new Date(n).toLocaleDateString()).valueOf();return new Date(new Date(t[e]).toLocaleDateString()).valueOf()<i}return!1},lessThanOrEqual:(t,e,n)=>{if(t){const i=new Date(new Date(n).toLocaleDateString()).valueOf();return new Date(new Date(t[e]).toLocaleDateString()).valueOf()<=i}return!1}},Rn={equal:(t,e,n)=>t?String(n).split(",").includes(String(t[e])):!1,in:(t,e,n)=>{if(t){const i=t[e];return n.indexOf(i)>-1}return!1},notEqual:(t,e,n)=>t?String(n).split(",").findIndex(o=>o===String(t[e]))===-1:!1},An={equal:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?isNaN(o):i===o}return!1},notEqual:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?!0:i!==o}return!1},greaterThan:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?isNaN(o):o>i}return!1},greaterThanOrEqual:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?isNaN(o):o>=i}return!1},lessThan:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?isNaN(o):o<i}return!1},lessThanOrEqual:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?isNaN(o):o<=i}return!1}},Hn=new Map([["boolean",On],["datetime",jn],["enum",Rn],["number",An],["text",Bn]]);function Ln(t,e){const n=r.ref([]),i=new Map,{loadConditionGroup:o}=fe.useCondition();function l(_,v){switch(_){case"check-box":return new fe.CheckBoxValue({value:v});case"combo-list":return new fe.ComboListValue({value:v});case"combo-lookup":return new fe.ComboLookupValue({value:v});case"input-group":return new fe.TextValue({value:v});case"date-picker":return new fe.DatePickerValue({value:v});case"date-range":return new fe.DateRangeValue({value:v});case"datetime-picker":return new fe.DateTimePickerValue({value:v});case"datetime-range":return new fe.DateRangeValue({value:v});case"lookup":return new fe.TextValue({value:v});case"month-picker":return new fe.MonthPickerValue({value:v});case"month-range":return new fe.MonthRangeValue({value:v});case"number-range":return new fe.NumberRangeValue({value:v});case"number-spinner":return new fe.NumberSpinnerValue({value:v});case"radio-group":return new fe.RadioGroupValue({value:v});default:return new fe.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",fe.CompareType.Equal],["date",fe.CompareType.Equal],["datetime",fe.CompareType.Equal],["number",fe.CompareType.Equal],["string",fe.CompareType.Equal],["text",fe.CompareType.Equal],["enum",fe.CompareType.In],["reference",fe.CompareType.Equal]]);function f(){n.value.forEach((v,C)=>{C===n.value.length-1?v.relation=0:v.relation=1});const _=[];return n.value.forEach(v=>{const{valueType:C}=v.value,g=v.value.value;if(C==="boolean"){const b=[];g.length===1&&b.push({filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:fe.CompareType.Like,value:v.value.value[0],relation:n.value.length>1?v.relation||v.relation===0?v.relation:1:0,expresstype:fe.ValueType.Value,lbracket:v.lBracket||null,rbracket:v.rBracket||null}),g.length>1&&b.push({filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:fe.CompareType.Like,value:v.value.value[0],relation:2,expresstype:fe.ValueType.Value,lbracket:v.lBracket?v.lBracket+"(":"(",rbracket:v.rBracket||null},{filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:fe.CompareType.Like,value:v.value.value[1],relation:n.value.length>1?v.relation||v.relation===0?v.relation:1:0,expresstype:fe.ValueType.Value,lbracket:v.lBracket||null,rbracket:v.rBracket?v.rBracket+")":")"}),_.push(...b)}else _.push({filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:fe.CompareType.Like,value:v.value.value,relation:n.value.length>1?v.relation||v.relation===0?v.relation:1:0,expresstype:fe.ValueType.Value,lbracket:v.lBracket||null,rbracket:v.rBracket||null})}),_}function u(_){var C;const v=_.dataType||"string";return((C=_.editor)==null?void 0:C.type)||a.get(v)||"text"}function m(_){var k,T,V,H,I;const v=`field_filter_${_.field}`,C=Date.now(),g=_.field,b=((k=_.column)==null?void 0:k.title)||"",S=((T=_.column)==null?void 0:T.dataType)||"string",P=s.get(S)||fe.CompareType.Equal,B=((H=(V=_.column)==null?void 0:V.editor)==null?void 0:H.type)||a.get(S)||"text",E=l(B,(I=_.column)==null?void 0:I.filter),N=B==="lookup"||B==="combo-lookup"?fe.ValueType.SmartHelp:B==="combo-list"?fe.ValueType.Enum:fe.ValueType.Value;i.set(v,{id:v,fieldCode:g,fieldName:b,compareType:P,valueType:N,value:E,conditionId:C,relation:1}),n.value=Array.from(i.values())}function d(_){const v=`field_filter_${_.field}`;i.delete(v),n.value=Array.from(i.values())}function c(_){i.delete(_),n.value=Array.from(i.values())}function h(){i.clear(),n.value=[]}function p(_){const{valueType:v}=_.value,C=_.compareType||"0",g=Nn[Number(C)];return Hn.get(v)[g]}function y(_){const v=_.relation===2?0:1,C=_.items.map(b=>{const S=p(b);return B=>S(B,b.fieldCode,b.value.getValue())}),g=_.children&&_.children.length?_.children.map(b=>y(b)):[];return{relation:v,filterFunctions:C,children:g}}function w(){const _=o(n.value);return y(_)}function F(_,v){const C=v.filterFunctions.map(b=>b(_)),g=v.children.map(b=>F(_,b));return v.relation===1?C.every(b=>b)&&g.every(b=>b):C.includes(!0)||g.includes(!0)}function x(_){const v=w();return F(_,v)}function M(_){e.emit("filterChanged",_)}return{addColumnFilter:m,apply:x,clearCondition:h,conditions:n,getFilterEditorType:u,removeColumnFilter:d,removeCondition:c,filterFromServer:M,createFilterConditions:f}}function $n(t){r.ref(t.selection.showCheckbox||!1);const e=r.computed(()=>{var a;return((a=t.hierarchy)==null?void 0:a.collapseField)||"__fv_collapse__"}),n=r.computed(()=>{var a;return((a=t.hierarchy)==null?void 0:a.hasChildrenField)||"__fv_hasChildren__"}),i=r.computed(()=>{var a;return((a=t.hierarchy)==null?void 0:a.parentIdField)||"parent"}),o=r.computed(()=>t.hierarchy&&t.selection.showCheckbox),l=r.computed(()=>(t.treeNodeIconsData.fold||t.iconField)&&t.showTreeNodeIcons);return{collapseField:e,hasChildrenField:n,parentIdField:i,shouldShowCheckBox:o,shouldShowIcon:l}}function Wn(t,e,n,i,o,l,a,s,f){var Ct;const{dataView:u,visibleDataItems:m}=e,{getVisualData:d,maxVisibleRowIndex:c,minVisibleRowIndex:h}=o,p=r.computed(()=>i.value.primaryColumnsWidth),y=r.computed(()=>i.value.leftColumnsWidth),w=r.computed(()=>i.value.rightColumnsWidth),F=((Ct=t.rowOption)==null?void 0:Ct.height)||28,x=r.ref(0),M=r.ref(0);let _=0,v=l.value-1;const C=r.ref(0),g=r.ref(0),b=r.ref(0),S=r.ref(t.virtualized),P=24,B=1.5;let E=null;function N(){const X=m.value;if(X.length<=0)return 0;const te=c.value<X.length?X[c.value]:X[X.length-1];return te.__fv_data_position__>X.length*F?X.length*F:(te.__fv_data_position__||0)+(te.__fv_data_height__||0)+Math.max(X.length-1-c.value,0)*F}const k=r.computed(()=>{const X=N();m.value;let te=g.value/Math.max(X,g.value),se=Math.floor(te*g.value);for(;g.value>0&&se<P;)te*=B,se=Math.floor(te*g.value);return se}),T=r.computed(()=>Math.floor(b.value/Math.max(p.value,b.value)*C.value)),V=0,H=0,I=r.computed(()=>C.value-(y.value+p.value+w.value+s.value));function R(X){const se=Math.floor(X/F)+1,xe=m.value;return xe.length>se?xe[se].__fv_visible_index__-1:0}function q(X,te,se){let xe=X,Be=te;const Xe=te-X+1;if(Xe<a+l.value+a){const Ze=a+l.value+a-Xe,ht=te+Ze<=se,ct=0+Ze<=X;if(ht)Be+=Ze,v=Be;else if(ct)xe-=Ze,_=xe;else{const lt=se-te,ut=Ze-lt;Be=Math.min(te+lt,se),xe=Math.max(X-ut,0)}}return{actualStart:xe,actualEnd:Be}}function J(X){var lt,ut;const te=m.value;if(!te.length){n.value=[];return}const se=(lt=t.pagination)!=null&&lt.enable?0:Math.max(_-a,0),xe=te[te.length-1].__fv_visible_index__,Be=(ut=t.pagination)!=null&&ut.enable?te.length-1:Math.min(v+a,xe),{actualStart:Xe,actualEnd:Ze}=q(se,Be,xe),ht=te[Xe-1],ct=d(Xe,Ze,ht,X);ct.length&&(n.value=[...ct])}const j=r.computed(()=>N()>g.value),ee=r.computed(()=>Math.floor(p.value)>b.value);function oe(X,te){let se=X;const xe=se>V,Be=j.value;Be&&se<g.value-te&&(se=g.value-te),(!Be||xe)&&(se=V),x.value!==se&&(x.value=se)}function ce(){S.value&&(_=R(Math.abs(x.value)),v=_+l.value-1,(_<h.value||v>c.value-a/2)&&J())}function Z(X){let te=x.value+X;te>V&&(te=V);const se=N();oe(te,se),ce()}function L(X){if(!ee.value){M.value=0;return}let te=M.value+X;te>H&&(te=H),te<I.value&&(te=I.value),M.value!==te&&(M.value=te)}function W(){Math.abs(M.value)+b.value>p.value&&(M.value=Math.min(b.value-p.value,0))}function G(){x.value=0,_=0,v=l.value-1,J()}function U(){const X=N();oe(x.value,X)}r.watch([b,p],()=>{L(0)}),r.watch(g,(X,te)=>{X!==te&&X>=u.value.length*F&&Z(0)});function ne(X){let{deltaX:te}=X,se=-1*X.deltaY;return typeof te>"u"&&(te=-1*X.wheelDeltaX/6),typeof se>"u"&&(se=X.wheelDeltaY/6),X.deltaMode&&X.deltaMode===1&&(te*=10,se*=10),X.shiftKey?{deltaY:-se,deltaX:-te}:{deltaX:te,deltaY:se}}function ue(X){if(t.disabled||!j.value||X.target.tagName==="TEXTAREA")return;X.preventDefault(),X.stopPropagation();const{deltaX:te,deltaY:se}=ne(X);Z(se),L(te)}const me=r.computed(()=>({height:`${u.value.length*F}px`,width:`${y.value}px`,transform:`translateY(${x.value}px)`})),ge=r.computed(()=>({transform:`translateY(${x.value}px)`})),ye=r.computed(()=>({height:`${(t.autoHeight?m.value:u.value).length*F}px`,width:`${p.value}px`,transform:`translate(${M.value}px, ${x.value}px)`})),he=r.computed(()=>({transform:`translate(${M.value}px, ${x.value}px)`})),Ie=r.computed(()=>({height:`${u.value.length*F}px`,width:`${w.value}px`,transform:`translateY(${x.value}px)`})),Le=r.computed(()=>({transform:`translateY(${x.value}px)`})),O=r.computed(()=>({height:`${u.value.length*F}px`,width:`${s.value}px`,transform:`translateY(${x.value}px)`})),Y=r.computed(()=>({width:`${y.value}px`})),Q=r.computed(()=>({transform:`translateX(${M.value}px)`})),re=r.computed(()=>({width:`${w.value}px`})),ve=r.computed(()=>{const X=N();return oe(x.value,X),x.value/(g.value-X)*(g.value-k.value)}),Ne=r.computed(()=>({width:"8px",height:`${k.value}px`,top:`${ve.value}px`,backgroundColor:"#cccccc !important"})),De=r.computed(()=>M.value/I.value*(C.value-T.value)),Qe=r.computed(()=>({height:"8px",width:`${T.value}px`,left:`${De.value}px`,backgroundColor:"#cccccc !important"})),et=r.ref(!1),z=r.ref(-1),ae=r.ref(-1),Fe=r.ref();function Se(X){if(et.value&&ae.value!==-1){const te=ae.value-X.pageX,se=C.value-T.value;if(Math.abs(te)<=se){const xe=te/(b.value-T.value)*(p.value-b.value);L(xe),ae.value=X.pageX}}}function Ye(X){if(et.value&&z.value!==-1){const te=z.value-X.pageY,se=N(),xe=se-k.value;if(Math.abs(te)<=xe){const Be=te/(g.value-k.value)*(se-g.value);Z(Be),z.value=X.pageY}}}function Ae(X){et.value=!1,z.value=-1,ae.value=-1,document.removeEventListener("mouseup",Ae),E&&(document.removeEventListener("mousemove",E),E=null),document.body.style.userSelect="",Fe.value&&(Fe.value.style.opacity=null)}function Tt(X,te,se){var Xe;et.value=!0;const xe=(Xe=X.target)==null?void 0:Xe.parentElement;xe&&(xe.style.opacity="1",Fe.value=xe);const Be=se==="horizontal"?Se:Re.throttle(Ye,50);E||(E=Be),se==="vertical"&&(z.value=X.pageY),se==="horizontal"&&(ae.value=X.pageX),te.value&&(te.value,document.addEventListener("mousemove",E),document.addEventListener("mouseup",Ae),document.body.style.userSelect="none")}function bt(X){const te=u.value.length*F-g.value;let se=X*F;se>=te&&(se=te),Z(-se-x.value)}function _t(){bt(u.value.length)}function kt(X){Z(X-x.value)}return{dataGridWidth:C,fitHorizontalScroll:W,gridDataStyle:ye,gridHeaderColumnsStyle:Q,gridMergedDataStyle:he,gridSideStyle:O,horizontalScrollThumbStyle:Qe,leftFixedGridDataStyle:me,leftFixedGridHeaderColumnsStyle:Y,leftFixedGridMergedDataStyle:ge,offsetX:M,offsetY:x,onMouseDownScrollThumb:Tt,onWheel:ue,reCalculateVisualDataRows:J,resetScroll:G,rightFixedGridDataStyle:Ie,rightFixedGridHeaderColumnsStyle:re,rightFixedGridMergedDataStyle:Le,shouldShowHorizontalScrollbar:ee,shouldShowVirticalScrollbar:j,updateVirticalScroll:U,updateVisibleRowsOnLatestVisibleScope:ce,verticalScrollThumbStyle:Ne,viewPortWidth:b,viewPortHeight:g,scrollToBottom:_t,scrollToRowByIndex:bt,scrollTo:kt}}function zn(t){var l;const{isUndefined:e}=D.useCommonUtils(),n=((l=t.rowOption)==null?void 0:l.height)||28;function i(a,s){const f=a.pre;if(f){let u=f.__fv_data_position__,m=f.__fv_data_height__;(e(u)||t.virtualized&&t.hierarchy&&f.__fv_visible_index__*n!==u)&&(u=f.__fv_visible_index__*n),e(m)&&(m=n);const d=a.visible?u+m:f.__fv_data_position__;a.top=d,s.__fv_data_position__=d}else a.top=0,s.__fv_data_position__=0}function o(a,s,f){if(a&&!s.ref){s.ref=a;const u=s.parent;s.cellHeight!==a.offsetHeight&&(s.cellHeight=a.offsetHeight),s.cellHeight&&s.cellHeight>(u.height||0)&&(u.height=s.cellHeight,f.__fv_data_height__=u.height),i(u,f)}!a&&s.ref&&(s.ref=a)}return{updateRowPosition:i,updateVisualInfomation:o}}function qn(){function t(e,n){var a,s;if(!n.data||!n.data.length)return"";const i=Object.prototype.hasOwnProperty.call(n,"valueField")&&n.valueField||"value",o=Object.prototype.hasOwnProperty.call(n,"textField")&&n.textField||"name";if(e!=null&&e.includes(",")){const f=e.split(",");if(!n.data.filter(c=>f.includes(c[i])).length)return"";const m=(a=n.data)==null?void 0:a.reduce((c,h)=>(c[h[i]]=h,c),{});return f.map(c=>{var h;return(h=m[c])==null?void 0:h[o]}).join(",")||e}const l=(s=n.data)==null?void 0:s.find(f=>f[i]===e);return(l==null?void 0:l[o])||e||""}return{renderEnumColumn:t}}function Gn(){function t(e,n){return e?n==null?void 0:n.trueText:n==null?void 0:n.falseText}return{renderText:t}}function Un(){const{formatTo:t}=D.useDateFormat();function e(i,o){if(i){let l="yyyy-MM-dd";if(typeof o=="string"?l=o:typeof o=="object"&&(l=o.format||"yyyy-MM-dd"),l=l.replace("YYYY","yyyy").replace("-DD","-dd"),typeof o=="object"&&o.dateRange){const a=o.dateRangeDatesDelimiter||"~";let[s,f]=i.split(a);return s=t(s,l),f=t(f,l),s+a+f}return t(i,l)}return i}function n(i,o){const l=o.dateFormat||"yyyy-MM-dd";return t(i,l)}return{renderDateColumn:n,renderDateTimeColumn:e}}function Dn(){const{formatTo:t}=D.useNumberFormat();function e(n,i){const o={precision:i.precision,prefix:i.prefix||"",suffix:i.suffix||"",decimalSeparator:i.decimal||".",groupSeparator:i.thousand||""};return t(n,o)||n}return{renderNumberColumn:e}}function Yn(){function t(e,n){if(e){const i={};return n!=null&&n.width&&(i.width=`${n.width}px`),n!=null&&n.height&&(i.height=`${n.height}px`),r.createVNode("img",{src:e,style:i},null)}return e}return{renderImageColumn:t}}function Xn(){function t(e,n){const i=je.LocaleService.getLocale();return(e==null?void 0:e[i||"zh-CHS"])||""}return{renderMultilingualColumn:t}}function Zn(){const{renderText:t}=Gn(),{renderEnumColumn:e}=qn(),{renderNumberColumn:n}=Dn(),{renderDateColumn:i,renderDateTimeColumn:o}=Un(),{renderImageColumn:l}=Yn(),{renderMultilingualColumn:a}=Xn();function s(m){return typeof m=="boolean"?m.toString():m}function f(m,d,c){return d.customFormat?d.customFormat(m,c.raw):s(m)}function u(m,d,c){const{column:h}=m,p=D.resolveField(d.raw,h.field),y=c.options||c;return c.type===Ge.NONE?s(p):c.type===Ge.CUSTOM?f(p,c,d):c.type===Ge.ENUM?e(p,y):c.type===Ge.NUMBER?n(p,y):c.type===Ge.BOOLEAN?t(p,y):c.type===Ge.DATE?i(p,y):c.type===Ge.DATE_TIME?o(p,c):c.type===Ge.IMAGE?l(p,y):c.type===Ge.MULTI_LINGUAL?a(p,y):s(p)}return{renderFormatColumn:u}}function Jn(t,e,n){var F;const{isUndefined:i}=D.useCommonUtils(),o=r.ref(t.mergeCell);(F=r.ref(t.rowOption).value)!=null&&F.wrapContent;const{updateVisualInfomation:a}=n,{renderCommandColumn:s}=Tn(t),{renderFormatColumn:f}=Zn();function u(x,M,_,v,C,g=1){const b={colSpan:g,rowSpan:1,index:_,field:x,data:D.resolveField(v,x),editingData:D.resolveField(v,x),parent:C,mode:M,align:"left",valign:"start",showEllipsis:!0,getEditor:S=>S.data,setRef:S=>a(S,b,v),update:()=>{},accept:()=>{},cancel:()=>{},updateData:()=>{}};return b}function m(x,M,_){return x.getEditor=v=>e.getEditor(v,M,v.parent),x.setRef=v=>a(v,x,_),x.update=v=>{v!==void 0&&(x.editingData=v)},x.accept=()=>{D.setFieldValue(x.editingData,_,M.field),x.data=D.resolveField(_,M.field)},x.cancel=()=>{x.editingData=x.data},x.updateData=v=>{D.setFieldValue(D.resolveField(v,M.field),_,M.field),x.data=D.resolveField(_,M.field),x.editingData=D.resolveField(_,M.field)},x}function d(x,M){M.dataType==="commands"?x.formatter=(_,v)=>M.formatter?M.formatter(x,v):s(x,v):M.formatter&&(x.formatter=(_,v)=>typeof M.formatter=="function"?M.formatter(_,v):f(x,v,M.formatter))}function c(x,M,_){const v=M&&M.data[_];if(v&&v.data===x.data){const g=v&&v.spannedBy||v;g.rowSpan++,g.spanned=g.spanned||[],g.spanned.push(x),x.colSpan=0,x.rowSpan=0,x.spannedBy=g}}function h(x,M,_){o.value&&c(x,M,_.field)}function p(x,M){M.showEllipsis!==void 0&&(x.showEllipsis=M.showEllipsis),x.showTips=i(M.showTips)?!0:M.showTips,x.column=M,x.align=M.align||"left",x.valign=M.valign||"middle",x.mode=t.editable?Ee.editable:Ee.readonly}function y(x,M,_,v){p(x,M),m(x,M,v),d(x,M),h(x,_,M)}function w(x,M,_,v,C){const g=t.editable?Ee.editable:Ee.readonly,b=u(x.field,g,M,_,v);return y(b,x,C,_),b}return{createCellByColumn:w,createCellByField:u,updateCellByColumn:y}}function Qn(t,e,n,i,o,l,a){var M,_;const s=r.ref(t.rowOption),f=((M=s.value)==null?void 0:M.height)||28,u=((_=s.value)==null?void 0:_.wrapContent)||!1,{idField:m}=o,{collapseField:d}=i,{updateRowPosition:c}=l,{createCellByColumn:h}=a,p=(v,C,g,b)=>{D.setFieldValue(D.resolveField(v,b),C,b),g.data[b].data=D.resolveField(C,b),g.data[b].editingData=D.resolveField(C,b)};function y(v,C,g,b,S,P){var ee,oe,ce;const{__fv_data_grid_group_field__:B,__fv_data_grid_group_value__:E,__fv_data_index__:N}=g,k=g.__fv_data_grid_group_layer__||(g.__fv_parents__?(ee=g.__fv_parents__)==null?void 0:ee.size:0)||0,T=typeof g.parent=="number"?Number(g.parent):-1,V=g.__fv_data_grid_group_collapse__||g[d.value],H=g.__fv_visible__===void 0?!0:g.__fv_visible__,I=g.__fv_checked__,R=g.__fv_indeterminate__,q=g.__fv_disabled__||g[((oe=t.rowOption)==null?void 0:oe.disabledField)||"disabled"],J=t.hierarchy&&e.isVisibleInTree(g),j={collapse:V,data:{},dataIndex:N,groupField:B,groupValue:E,layer:k,index:C,parentIndex:T,pre:b,top:P,type:v,raw:g,checked:I,disabled:q,indeterminate:R,setRef:Z=>{j.ref=Z},visible:H&&J||H&&!t.hierarchy,status:qe.initial,updateCell:(Z,L)=>{p(Z,g,j,L),e.updateSummary()},updateCells:(Z,L)=>{L.forEach(W=>{p(Z,g,j,W)})}};return b||(g.__fv_data_position__=0),u||(j.height=f,g.__fv_data_height__=j.height,c(j,g)),(ce=s.value)!=null&&ce.customRowStatus&&(s.value.customRowStatus(j),g.__fv_disabled__=j.disabled),j}function w(v,C,g,b,S,P){const B=y(it.data,S,C,g,b,P);return v.forEach((E,N)=>{B.data[E.field]=h(E,N,C,B,b)}),B}function F(v,C,g,b,S){return Object.assign(v,{index:C,dataIndex:g,top:b,pre:S})}function x(v,C,g,b,S,P){const B=v.__fv_data_index__,E=v[m.value],N=n.getEditingSnapshot(E);return N===null?w(P,v,C,g,b,S):F(N,b,B,S,C)}return{createEmptyRow:y,createNewRowFromDataItem:w,renderDataRow:x}}function Kn(t,e,n,i){const o=r.ref(t.summary),{idField:l}=e,{createCellByField:a}=n,{createEmptyRow:s}=i,f=r.computed(()=>{const c=o.value;return(c==null?void 0:c.groupFields)||[]}),u=r.computed(()=>{const c=o.value;return c&&c.enable&&c.groupFields&&c.groupFields.length>0});function m(c,h,p,y){if(u.value){const w=c.data[h];let F=w.colSpan;const x=f.value.reduce((M,_)=>(M.set(_,!0),M),new Map);y.reduce((M,_,v)=>{if(x.has(_.field)){const C=a(_.field,Ee.readonly,v,p,c);c.data[_.field]=C,F-1>v&&(F=v)}return M},c),w.colSpan=F}}function d(c,h,p,y,w,F,x){const M=c.__fv_data_grid_group_field__,_=s(it.group,y,c,h,p,w);return _.data[l.value]=a(l.value,Ee.readonly,-1,c,_,0),_.data[M]=a(M,Ee.readonly,1,c,_,F.length),m(_,M,c,F),_}return{renderGroupRow:d}}function ei(t,e,n,i){const{idField:o}=e,{createCellByField:l}=n,{createEmptyRow:a}=i;function s(f,u,m,d,c,h,p){const y=f.__fv_data_grid_group_field__,w=a(it.summary,d,f,u,m,c);return w.data[o.value]=l(o.value,Ee.readonly,-1,f,w),w.data[y]=l(y,Ee.readonly,1,f,w,h.length),w}return{renderSummaryRow:s}}function ti(t,e,n,i,o){var J;const{idField:l}=n,a=r.ref(t.editable),s=r.ref(t.editOption),f=r.ref(((J=t.rowOption)==null?void 0:J.wrapContent)||!1),{onClickRow:u,onClickRowExcludeDblclick:m}=i,d=new Map([["boolean","check-box"],["datetime","date-picker"],["enum","combo-list"],["number","number-spinner"],["string","input-group"],["text","text"],["commands","commands-editor"]]);let c,h,p,y,w;function F(j){return h&&h.raw[l.value]===j?h:null}const x=r.reactive({});function M(j){return(j==null?void 0:j.field)!==Pt&&(j==null?void 0:j.field)!==Sn}function _(j,ee,oe={}){j.mode=Ee.editing,c=j,h=ee,p=D.resolveField(ee==null?void 0:ee.raw,j.field),y=oe;for(const ce in x)delete x[ce]}function v(j){j.accept(),j.mode=Ee.editable,c=null;const ee={};h&&(Object.keys(h).forEach(oe=>{ee[oe]=h==null?void 0:h[oe]}),h=null),e.emit("endEditCell",{cell:j,row:ee,newValue:D.resolveField(ee==null?void 0:ee.raw,j.field),oldValue:p,column:y,editor:x})}function C(j){const ee=Promise.resolve(!0);return j?ee.then(()=>Re.isUndefined(t.beforeEndEditCell)?!0:typeof t.beforeEndEditCell=="function"?t.beforeEndEditCell({cell:j,row:h,newValue:j.editingData,oldValue:p}):()=>!0).then(oe=>(oe&&(v(j),h&&(h=null)),oe)):ee}function g(j){if(w&&w!==j.target){w=null;return}if(document.body.classList.contains("lookup-modal-open"))return;const oe=j.target;if(!(oe!=null&&oe.closest(".popover"))){if(j instanceof MouseEvent||j.key!=="Enter"){const ce=oe.closest(".fv-grid-cell");if(c&&c.ref&&c.ref===ce)return}C(c).then(ce=>{ce&&document.body.removeEventListener("click",g,!0)})}}function b(j,ee,oe){return Promise.resolve().then(()=>{var Z;const ce=(Z=oe.editor)==null?void 0:Z.readonly;return!Re.isUndefined(t.beforeEditCell)&&typeof t.beforeEditCell=="function"?t.beforeEditCell({row:j,cell:ee,rawData:j.raw,column:oe}):!ce}).then(ce=>{ce&&(_(ee,j,oe),document.body.removeEventListener("click",g,!0),document.body.addEventListener("click",g,!0))})}function S(j,ee,oe,ce={}){j.stopPropagation(),m(j,oe),M(ee.column)&&a.value&&s.value.editMode==="cell"&&ee.mode===Ee.editable&&C(c).then(()=>{c||b(oe,ee,ce)})}function P(j,ee,oe,ce={}){j.stopPropagation(),u(j,oe),M(ee.column)&&a.value&&s.value.editMode==="cell"&&ee.mode===Ee.editable&&C(c).then(()=>{c||b(oe,ee,ce)})}function B(j){j.stopPropagation(),w=j.target}function E(j){j.stopPropagation(),w&&(w=null)}function N(j){Object.values(j.data).filter(ee=>ee.mode===Ee.editable&&M(ee.column)).forEach(ee=>{ee.mode=Ee.editing}),j.status=qe.editing,h=j}function k(j,ee){Object.values(j.data).filter(oe=>oe.mode===Ee.editing).forEach(oe=>{ee?oe.accept():oe.cancel(),oe.mode=Ee.editable}),j.status=qe.initial,h===j&&(h=null)}function T(j){a.value&&s.value.editMode==="row"&&h!==j&&(h&&k(h,!1),N(j))}function V(j){k(j,!0),j.status=qe.initial}function H(j){k(j,!1),j.status=qe.initial}function I(j,ee,oe){const ce=ee.dataType,Z=ee.editor||{type:d.get(ce)||"input-group"};return!f.value&&Z.type==="text"&&(Z.type="input-group"),Z&&M(j.column)?(Z.type==="input-group"&&(Z.textAlign=ee.align!=="center"&&ee.align!=="right"?"left":ee.align,Z.updateOn="change"),Z.type==="number-spinner"&&(Z.updateOn="change"),Z.type==="textarea"&&(Z.lineBreak="alt enter"),Z.context={rowData:oe.raw,column:ee,cell:j,editor:x},Z.readonly=!1,r.createVNode(mn.FDynamicFormInput,{focusOnCreated:t.focusOnEditingCell,selectOnCreated:t.selectOnEditingCell,editor:Z,modelValue:j.editingData,"onUpdate:modelValue":L=>j.editingData=L,id:ee.id,onMousedown:L=>B(L),onMouseup:L=>E(L)},null)):j.data}function R(){C(c)}r.watch(()=>t.editable,()=>{a.value=t.editable}),r.watch(()=>{var j;return(j=t.editOption)==null?void 0:j.editMode},j=>{s.value.editMode=j});function q(){c=null,h=null,y=null,w=null,document.body.removeEventListener("click",g,!0)}return{clear:q,onClickOutOfCell:g,onClickCell:P,onClickCellByKeyboard:S,onEditingRow:T,acceptEditingRow:V,cancelEditingRow:H,getEditingSnapshot:F,getEditor:I,endEditCell:R,onMousedownCell:B,onMouseupCell:E}}function ni(t){const e=r.ref(t.idField);function n(i){if(i&&i.length){const o=i[0];Object.keys(o).includes(e.value)||(e.value="__fv_indetify__")}}return{idField:e,reviseIdentifyField:n}}function ii(t,e,n,i){const{idField:o}=i,{currentSelectedDataId:l,multiSelectOnClickRow:a,multiSelectOnClickRowWithShift:s,selectItem:f,toggleSelectItem:u,updateSelectAllStatus:m,isSingleSelect:d}=n,c=r.ref(0),h=r.ref(-1);function p(E){l.value=E}function y(E){return E.raw[o.value]===l.value}function w(E,N){var V;const k=N??E.dataIndex,T={"fv-grid-row":E.type===it.data,"fv-grid-group-row":E.type===it.group,"fv-grid-summary-row":E.type===it.summary,"fv-grid-row-hover":k===h.value,"fv-grid-row-selected":y(E),"fv-grid-row-odd":k%2>0,"fv-grid-row-even":k%2===0,"fv-grid-disabled":E.disabled};if((V=t.rowOption)!=null&&V.customRowStyle){const H=t.rowOption.customRowStyle(E.raw)||{};return Object.assign({},T,H.class||{})}return T}function F(E,N){var T;const k={"fv-grid-cell":!0};if((T=t.rowOption)!=null&&T.customCellStyle){const V=t.rowOption.customCellStyle(E,N)||{};return Object.assign({},k,V.class||{})}return k}function x(E,N){var T;const k={"fv-grid-hierarchy-cell":!0};if((T=t.rowOption)!=null&&T.customCellStyle){const V=t.rowOption.customCellStyle(E,N)||{};return Object.assign({},k,V.class||{})}return k}function M(E){const N=l.value,k=E.raw[o.value];p(k),N!==k&&e.emit("selectionChange",[E.raw],{id:k,data:E.raw})}function _(E,N){var V,H;if(s.value&&!(N!=null&&N.shiftKey)||d.value){(V=t.selection)!=null&&V.keepSelectingOnClick?f(E):u(E,(H=t.selection)==null?void 0:H.keepSelectingOnClick),m();return}if(s.value&&(N==null?void 0:N.shiftKey)||a.value){u(E),m();return}}function v(E,N){N.disabled||(e.emit("clickRow",N.index,N.raw),M(N),_(N,E))}function C(E){c.value+=1,setTimeout(()=>{c.value===1&&e.emit("clickRow",E.index,E.raw),c.value=0},250),c.value>1&&(e.emit("doubleClickRow",E.index,E.raw),c.value=0)}function g(E,N){N.disabled||(C(N),M(N),_(N,E))}function b(E){E.disabled||C(E)}function S(E,N){}function P(E,N){}function B(E,N){var V;const k=N??E.dataIndex,T={"fv-grid-sidebar-row":!0,"fv-grid-sidebar-row-hover":k===h.value,"fv-grid-sidebar-row-selected":y(E),"fv-grid-sidebar-row-odd":k%2>0,"fv-grid-sidebar-row-even":k%2===0,"d-flex":!0,"align-items-center":!0};if((V=t.rowOption)!=null&&V.customRowStyle){const H=t.rowOption.customRowStyle(E.raw)||{};return Object.assign({},T,H.class||{})}return T}return{activeRowById:p,clickRowItem:b,selectRow:_,changeRow:M,gridCellClass:F,gridHierarchyCellClass:x,gridRowClass:w,onClickRow:g,onClickRowExcludeDblclick:v,onMouseoverRow:S,sidebarRowClass:B,onMouseoutRow:P}}function oi(t,e,n,i,o){const{idField:l}=n,{dataView:a,getSelectionItems:s}=e,f=r.ref(""),u=r.computed(()=>t.selection.enableSelectRow),m=r.ref(t.selection.multiSelect??!1),d=r.ref(t.selection.multiSelectMode||"DependOnCheck"),c=r.ref(t.selection.showCheckbox),h=r.ref(t.selection.showSelectAll),p=r.ref(t.selectionValues||[]),y=r.computed(()=>t.selection.showSelection),w=r.computed(()=>{var O;return((O=t.selection)==null?void 0:O.keepSelectingOnPaging)===void 0?!0:t.selection.keepSelectingOnPaging}),F=r.ref(!!p.value.length&&i.value.length===p.value.length),x=r.ref(!!p.value.length&&i.value.length!==p.value.length);r.watch(()=>t.selection.showSelectAll,(O,Y)=>{O!==Y&&(h.value=O)});function M(){if(!w.value){const O=a.value.map(Y=>Y[l.value]);p.value=p.value.filter(Y=>O.includes(Y))}}function _(){const O=a.value.every(Q=>p.value.includes(Q[l.value])),Y=a.value.every(Q=>!p.value.includes(Q[l.value]));O&&(F.value=!0,x.value=!1),Y&&(F.value=!1,x.value=!1),!O&&!Y&&(F.value=!1,x.value=!0)}function v(){return s(p.value)}function C(){const O=i.value.reduce((Q,re)=>(Q.set(re.raw[l.value],re),Q),new Map);return p.value.map(Q=>O.get(Q)).filter(Q=>!!Q)}function g(O){var Q;const Y=O.raw.__fv_children_index__;if(Y&&Y.length){const re=Y.map(ve=>a.value[ve]);(Q=p.value)!=null&&Q.length&&re.some(Ne=>!p.value.includes(Ne[l.value]))&&(O.indeterminate=!0,O.raw.__fv_indeterminate__=!0)}}const b=r.computed(()=>u.value&&m.value),S=r.computed(()=>u.value&&!m.value&&!c.value),P=r.computed(()=>!!t.hierarchy),B=r.computed(()=>{const O=c.value&&d.value==="DependOnCheck";return b.value&&O}),E=r.computed(()=>b.value&&!c.value),N=r.computed(()=>b.value&&c.value&&d.value==="OnCheckAndClick");r.computed(()=>N.value);function k(){const O=s(p.value);o.emit("selectionUpdate",O,p.value)}function T(O){o.emit("unSelectItem",O)}function V(O){o.emit("selectItem",O)}function H(){const O=i.value.filter(Q=>Q.indeterminate).map(Q=>Q.raw[l.value]);i.value.forEach(Q=>{Q.checked=!1,Q.indeterminate=!1,Q.raw.__fv_checked__=!1,Q.raw.__fv_indeterminate__=!1}),C().forEach(Q=>{Q.checked=!0,Q.raw.__fv_checked__=!0}),O.forEach(Q=>{const re=i.value.find(ve=>ve.raw[l.value]===Q);g(re)})}r.watch(()=>i.value,()=>{H()}),r.watch(()=>t.selectionValues,O=>{p.value=O,H()},{immediate:!0}),r.watch(()=>t.selection,O=>{m.value=!!O.multiSelect,d.value=O.multiSelectMode||"DependOnCheck",c.value=!!O.showCheckbox});const I=r.computed(()=>!m.value);function R(O){return O.raw[l.value]}function q(O){return p.value.findIndex(Q=>Q===R(O))}function J(){C().forEach(Q=>{Q.checked=!1}),s(p.value).forEach(Q=>{Q.__fv_checked__=!1}),p.value=[],f.value="",_()}function j(O){const Y=O;Y.__fv_checked__=!0,Y.__fv_indeterminate__=!1;const Q=new Set(p.value);Q.add(Y[l.value]),p.value=Array.from(Q.values()),M()}function ee(O){const Y=O;Y.__fv_checked__=!1,Y.__fv_indeterminate__=!1,p.value=p.value.filter(Q=>Q!==Y[l.value]),M()}function oe(O){const Y=O.raw;Y.__fv_checked__=!0,Y.__fv_indeterminate__=!1;const Q=new Set(p.value);Q.add(Y[l.value]),p.value=Array.from(Q.values()),M(),O.checked=!0,O.indeterminate=!1,k(),V(O)}function ce(O){const Y=O.raw;Y.__fv_checked__=!1,Y.__fv_indeterminate__=!1,p.value=p.value.filter(Q=>Q!==Y[l.value]),M(),O.checked=!1,O.indeterminate=!1,k(),T(O)}function Z(O){O.disabled||(oe(O),f.value=O.raw[l.value])}function L(O){O.disabled||(ce(O),f.value="")}function W(O){O.__fv_checked__=!1,O.__fv_indeterminate__=!0,p.value=p.value.filter(Y=>Y!==O[l.value]),M()}function G(O){const Y=O.raw;Y.__fv_checked__=!1,Y.__fv_indeterminate__=!0,p.value=p.value.filter(Q=>Q!==Y[l.value]),M(),O.checked=!1,O.indeterminate=!0}function U(O){I.value&&J(),O.checked?ce(O):oe(O)}function ne(O,Y=!0){const Q=O.checked;I.value&&J(),Y?O.checked?L(O):Z(O):Q?L(O):Z(O)}function ue(O){O.raw[l.value]!==f.value&&(J(),Z(O))}function me(O){const Y=i.value.find(Q=>Q.raw[l.value]===O);if(Y)ue(Y);else{const Q=a.value.find(re=>re[l.value]===O);Q&&j(Q)}}function ge(O){const Y=i.value.filter(ve=>O.includes(ve.raw[l.value])),Q=Y.map(ve=>ve.raw[l.value]),re=a.value.filter(ve=>{const Ne=ve[l.value];return!Q.includes(Ne)&&O.includes(Ne)});(Y.length||re.length)&&S.value&&(f.value=O[0]),Y.forEach(ve=>{Z(ve)}),re.forEach(ve=>{j(ve)})}function ye(O){for(const Y of O){if(!p.value.includes(Y))continue;const Q=i.value.find(re=>re.raw[l.value]===Y);if(Q)L(Q);else{const re=a.value.find(ve=>ve[l.value]===Y);re&&ee(re)}}p.value=p.value.filter(Y=>!O.includes(Y)),M()}function he(){i.value.forEach(O=>{const Y=O.raw;Y.__fv_checked__=!0,Y.__fv_indeterminate__=!1;const Q=new Set(p.value);Q.add(Y[l.value]),p.value=Array.from(Q.values()),M(),O.checked=!0,O.indeterminate=!1}),k()}function Ie(){i.value.forEach(O=>{const Y=O.raw;Y.__fv_checked__=!1,Y.__fv_indeterminate__=!1,p.value=p.value.filter(Q=>Q!==Y[l.value]),M(),O.checked=!1,O.indeterminate=!1}),k()}function Le(){return i.value.find(O=>O.raw[l.value]===f.value)}return{clearSelection:J,currentSelectedDataId:f,enableMultiSelect:m,enableSelectRow:u,findIndexInSelectedItems:q,getSelectedItems:v,getSelectionRow:Le,indeterminate:G,indeterminateDataItem:W,isSelectingHirarchyItem:P,multiSelectMode:d,multiSelectOnClickRow:N,multiSelectOnClickRowWithShift:E,multiSelectOnlyOnCheck:B,select:Z,selectAll:he,selectedValues:p,selectDataItem:j,selectItem:ue,selectItemById:me,selectItemByIds:ge,showCheckBox:c,showSelectAll:h,toggleSelectItem:ne,toggleSelectItemWithoutRow:U,unSelect:L,unSelectAll:Ie,unSelectDataItem:ee,unSelectItemByIds:ye,updateSelectAllStatus:_,selectAllStatus:F,indeterminateStatus:x,isSingleSelect:S,showSelection:y,keepSelectingOnPaging:w,emitSelectionChanged:k}}function ri(t,e){var y,w;const n=String(Date.now()),i=50,{showCheckBox:o}=e,l=r.ref(((y=t.rowNumber)==null?void 0:y.enable)??!1),a=r.computed(()=>t.hierarchy&&o.value&&t.selection.enableSelectRow&&t.selection.multiSelect?!1:o.value),s=r.ref(l.value?((w=t.rowNumber)==null?void 0:w.width)??36:0),f=r.ref(a.value?i:0),u=r.computed(()=>{var F,x;return l.value?((F=t.rowNumber)==null?void 0:F.heading)==="序号"?je.LocaleService.getLocaleValue("datagrid.lineNumberTitle"):(x=t.rowNumber)==null?void 0:x.heading:""}),m=r.computed(()=>(a.value&&!t.hierarchy?Number(f.value):0)+(l.value?Number(s.value):0));r.watch(()=>t.rowNumber,F=>{F&&F.enable!==void 0&&(l.value=F.enable),F&&F.width!==void 0&&(s.value=F.width)});function d(F){var M;const x={top:`${F.top}px`,width:`${m.value}px`,height:`${F.height||""}px`};if((M=t.rowOption)!=null&&M.customRowStyle){const _=t.rowOption.customRowStyle(F.raw)||{};return Object.assign({},x,_.style||{})}return x}const c=r.computed(()=>({width:`${m.value}px`}));function h(F){return`${n}_${F.type}_r_${F.index}_${F.refreshKey||""}`}function p(F){return`${n}_${F.type}_r_${F.index}_${F.refreshKey||""}`}return{showRowNumer:l,showSidebarCheckBox:a,sidebarCellPosition:d,sidebarCornerCellStyle:c,sidebarTitle:u,sidebarWidth:m,rowKey:p,cellKey:h}}const li={ascend:(t,e)=>t===e?0:t===!1?-1:1,decend:(t,e)=>t===e?0:t===!0?-1:1},ai={ascend:(t,e)=>{const n=new Date(new Date(t).toLocaleDateString()).valueOf(),i=new Date(new Date(e).toLocaleDateString()).valueOf();return n===i?0:n<i?-1:1},decend:(t,e)=>{const n=new Date(new Date(t).toLocaleDateString()).valueOf(),i=new Date(new Date(e).toLocaleDateString()).valueOf();return n===i?0:n<i?1:-1}},si={ascend:(t,e)=>t===e?0:t<e?-1:1,decend:(t,e)=>t===e?0:t<e?1:-1},di={ascend:(t,e)=>t===e?0:t<e?-1:1,decend:(t,e)=>t===e?0:t<e?1:-1};function ci(t){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"]]),n=new Map([["boolean-sorter",li],["datetime-sorter",ai],["numeric-sorter",si],["text-sorter",di]]);function i(a){const s=(a==null?void 0:a.dataType)||"string",f=e.get(s)||"text-sorter";return n.get(f)||(a==null?void 0:a.sorter)}function o(a){return i(a.column)}function l(a,s){const f=o(a),u=(a.status&Pe.sortable)===Pe.sortable&&(a.status&Pe.sorted)===Pe.sorted,m=(a.status&Pe.ascending)===Pe.ascending,d=(a.status&Pe.descending)===Pe.descending;if(u&&f){const c=m?f.ascend:d?f.decend:void 0;c?s.addSorter(a.field,{field:a.field,compare:c}):s.removeSorter(a.field)}else s.removeSorter(a.field)}return{getSorterByColumn:i,updateSorter:l}}function Ot(t,e,n,i,o="data-grid-column"){const{columnContext:l,hasLeftFixedColumn:a,hasRightFixedColumn:s}=n,{gridHeaderColumnsStyle:f,leftFixedGridHeaderColumnsStyle:u,rightFixedGridHeaderColumnsStyle:m}=i,d=l.value.defaultColumnWidth,c=32,h=new Map([[0,0]]);function p(P,B){const E=h.get(B)||0,N={height:`${P.depth*c}px`,left:`${P.left}px`,top:`${(P.layer-1)*c}px`,width:`${P.actualWidth}px`,padding:0};return l.value.headerDepth>1&&(N["line-height"]=`${P.depth*c}px`),h.set(B+1,E+(P.actualWidth||d)),N}const y=r.computed(()=>({"fv-grid-header":!0,"fv-grid-header-group-columns":l.value.headerDepth>1})),w=r.computed(()=>({height:`${l.value.headerDepth*c}px`})),F=function(P){return e.showSetting&&!!P.showSetting};function x(){return r.createVNode("span",{class:"fv-grid-settings-icon d-flex align-items-center"},[r.createVNode("i",{class:"f-icon f-icon-home-setup"},null)])}function M(P,B,E,N){var k;(k=t==null?void 0:t.setupContext)==null||k.emit("selectionChange",P,B,E,N)}function _(P){var E,N;return"w-100 d-flex align-items-center justify-content-"+(((E=P.column)==null?void 0:E.halign)==="center"?"center":((N=P.column)==null?void 0:N.halign)==="right"?"end pr-2":"start pl-2")}function v(P,B,E){var k;const N=r.ref(P.column);return r.createVNode("div",{class:"fv-grid-header-cell",style:p(P,E)},[r.createVNode(A.FDesignerItem,{modelValue:N.value,"onUpdate:modelValue":T=>N.value=T,customClass:_(P),canAdd:!1,canDelete:!1,canMove:!1,key:(k=N.value)==null?void 0:k.id,type:o,componentId:e.componentId,onSelectionChange:M},null),F(P)&&x(),P.resizable&&r.createVNode("span",{class:"fv-column-resize-bar"},null)])}function C(P){return P.map((B,E)=>{const N=[];if(N.push(v(B,P,E)),B.children&&B.children.length){const k=C(B.children);N.push(...k)}return N})}function g(){return r.createVNode("div",{class:"fv-grid-header-left-fixed"},[r.createVNode("div",{class:"fv-grid-header-columns",style:u.value},[C(l.value.leftHeaderColumns)])])}function b(){return r.createVNode("div",{class:"fv-grid-header-right-fixed"},[r.createVNode("div",{class:"fv-grid-header-columns",style:m.value},[C(l.value.rightHeaderColumns)])])}function S(){return r.createVNode("div",{class:y.value,style:w.value},[a.value&&g(),r.createVNode("div",{class:"fv-grid-header-primary"},[r.createVNode("div",{class:"fv-grid-header-columns",style:f.value},[C(l.value.primaryHeaderColumns)])]),s.value&&b()])}return{renderGridHeader:S}}const ft={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",name:"容器"},"input-group":{type:"input-group",name:"文本"},textarea:{type:"textarea",name:"多行文本"},lookup:{type:"lookup",name:"帮助"},"number-spinner":{type:"number-spinner",name:"数值"},"date-picker":{type:"date-picker",name:"日期"},switch:{type:"switch",name:"开关"},"radio-group":{type:"radio-group",name:"单选组"},"check-box":{type:"check-box",name:"复选框"},"check-group":{type:"check-group",name:"复选框组"},"combo-list":{type:"combo-list",name:"下拉列表"},"response-form":{type:"response-form",name:"卡片面板"},"response-layout":{type:"response-layout",name:"布局容器",icon:"response-layout-3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"response-layout-1"},"tree-grid":{type:"tree-grid",name:"树表格"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块"},component:{type:"component",name:"组件"},tabs:{type:"tabs",name:"标签页"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮"},"html-template":{type:"html-template",name:"模板容器"},"time-picker":{type:"time-picker",name:"时间选择"},section:{type:"section",name:"分组面板"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传"},"page-header":{type:"page-header",name:"页头"},"page-footer":{type:"page-footer",name:"页脚"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏"},fieldset:{type:"fieldset",name:"分组"},"query-solution":{type:"query-solution",name:"筛选方案"},drawer:{type:"drawer",name:"抽屉"},"external-container":{type:"external-container",name:"外部容器",icon:"content-container"},"list-nav":{type:"list-nav",name:"列表导航"},"list-view":{type:"list-view",name:"列表"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"},image:{type:"image",name:"图像"},"discussion-editor":{type:"discussion-editor",name:"评论编辑区"},"discussion-list":{type:"discussion-list",name:"评论列表"},comment:{type:"comment",name:"评论区"},"rich-text-editor":{type:"rich-text-editor",name:"富文本编辑器",icon:"rich-text-box"},calendar:{type:"calendar",name:"日历",icon:"date-picker"}};class ui extends He.BaseControlProperty{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.propertyConfig.categories.command=We.useCommandOption(this).getCommandColumnProperties(e),this.propertyConfig.categories.column=We.useColumnOption().getColumnOptionProperties(e),this.propertyConfig.categories.rowOption=We.useRowOption().getRowOptionProperties(e),this.propertyConfig.categories.summary=We.useSummary().getSummaryProperties(e),this.propertyConfig.categories.sort=We.useSort().getSort(e),this.propertyConfig.categories.filter=We.useFilter().getFilter(e),this.getEventPropConfig(e),this.propertyConfig}getBasicPropConfig(e){var a,s,f;const n=(f=(s=(a=this.formSchemaUtils.getFormSchema())==null?void 0:a.module)==null?void 0:s.entity[0])==null?void 0:f.entities[0],i=this.assembleSchemaEntityToTree(n,0),o=this,l=super.getBasicPropConfig(e);this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{...l.properties,dataSource:{description:"绑定数据源",title:"绑定数据源",editor:{type:"combo-tree",textField:"name",valueField:"label",data:i,editable:!1},readonly:!0}},setPropertyRelates(u,m){switch(u&&u.propertyID){case"dataSource":{const d=o.formSchemaUtils.getViewModelById(o.viewModelId);if(d){const c=i.find(h=>h.label===u.propertyValue);d.bindTo=c.bindTo}o.designViewModelUtils.assembleDesignViewModel();break}}}}}assembleSchemaEntityToTree(e,n,i,o="",l=[]){const a=o?`${o}/${e.label}`:"/";return l.push({id:e.id,name:e.name,label:e.label,layer:n,parent:i&&i.id,bindTo:a.replace("//","/")}),e.type.entities&&e.type.entities.length&&e.type.entities.map(s=>this.assembleSchemaEntityToTree(s,n+1,e,a,l)),l}getAppearanceProperties(e){this.propertyConfig.categories.appearance=We.useAppearance().getDataGrid(e,this.viewModelId),this.propertyConfig.categories.selection=We.useSelection().getSelection(e),this.propertyConfig.categories.rowNumber=We.useRowNumber().getRowNumber(e),this.propertyConfig.categories.pagination=We.usePagination().getPagination(e,this.isSubGrid())}getEventPropConfig(e){const n=[...We.useDataGridEvent().initEvent(e),{label:"onEndEditCell",name:"单元格结束编辑事件"}],i=this,o=i.eventsEditorUtils.formProperties(e,i.viewModelId,n),l=i.createBaseEventProperty(o);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:l,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,s){const f=a.propertyValue;delete e[i.viewModelId],f&&(f.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(e,i.viewModelId,f.events,f)),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 fi(t,e){const n=t.schema,i=r.ref(!0),o=r.ref(!0);function l(d){return d&&d.sourceType==="control"?d.componentCategory==="input":!1}function a(){return!1}function s(){return!1}function f(){return!0}function u(d){return new ui(d,e).getPropertyConfig(n)}function m(){var d,c,h,p;if(t&&e){const y=(d=t==null?void 0:t.componentInstance)==null?void 0:d.value.belongedComponentId;let w="",F="";const{formSchemaUtils:x}=e;if(y){const _=x.getRootViewModelId(),v=x.getComponentByViewModelId(_),C=x.selectNode(v,g=>g.contents&&g.contents.find(b=>b.component===y));(C==null?void 0:C.type)===((c=ft["tab-page"])==null?void 0:c.type)&&((h=C==null?void 0:C.contents)!=null&&h.length)&&(w=C.title||""),(C==null?void 0:C.type)===((p=ft.section)==null?void 0:p.type)&&(C==null?void 0:C.showHeader)!==!1&&(w=C.mainTitle||""),w=w?`${w} > `:"",F=w?C.id:""}const M=ft["data-grid"].name;e==null||e.formSchemaUtils.getControlBasicInfoMap().set(t.schema.id,{componentTitle:M,parentPathName:`${w}${M}`,reliedComponentId:F})}}return{canAccepts:l,checkCanDeleteComponent:a,checkCanMoveComponent:s,hideNestedPaddingInDesginerView:f,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:o,getPropsConfig:u,setComponentBasicInfoMap:m}}const Ke=r.defineComponent({name:"FDataGridDesign",props:yn,emits:["ClickRow","DoubleClickRow","selectionChange","enterUpInLastCell","pageIndexChanged","pageSizeChanged"],setup(t,e){var O;const n=r.ref(),i=r.inject("designer-host-service"),o=r.inject("design-item-context"),l=fi(o,i),a=A.useDesignerComponent(n,o,l);a.value.styles="display:flex;flex:1;",r.onMounted(()=>{n.value.componentInstance=a}),r.provide("data-grid-context",{dataGridProps:t}),e.expose(a.value);const s=r.ref(t.columns),f=20,u=ni(t),m=0,d=r.ref(),c=r.ref(),h=r.ref(t.showStripe),p=r.ref([]),y=r.ref(!1),w=r.ref(((O=t.rowOption)==null?void 0:O.wrapContent)||!1),F=Ln(t,e),x=$n(t),M=Pn(t,new Map,F,x,u),_=oi(t,M,u,p,e),v=r.computed(()=>M.totalItems.value<f?M.totalItems.value:f),{containerStyleObject:C}=_n(t),g=kn(t),{applyCommands:b}=g;b(s);const S=Cn(t),P=ci(),{applyColumnSorter:B,columnContext:E,updateColumnRenderContext:N}=S;B(M,P);const k=Vn(t,E),T=ii(t,e,_,u),V=ti(t,e,u,T),H=zn(t),I=Jn(t,V,H),R=Qn(t,M,V,x,u,H,I),q=Kn(t,u,I,R),J=ei(t,u,I,R),j=wn(t,s,M,v,m,R,q,J),{getVisualData:ee}=j,oe=ri(t,_),{sidebarWidth:ce}=oe;p.value=ee(0,v.value+m-1);const Z=Wn(t,M,p,E,j,v,m,ce),{onWheel:L,dataGridWidth:W,viewPortHeight:G,viewPortWidth:U}=Z,ne=vn(t,E,d,U,k),{calculateColumnsSize:ue}=ne,me=r.computed(()=>({"fv-grid":!0,"fv-grid-bordered":!0,"fv-datagrid-strip":h.value})),ge=r.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":y.value,"fv-grid-wrap-content":w.value})),{renderGridHeader:ye}=Ot(o,t,S,Z),{renderHorizontalScrollbar:he}=Fn(t,d,Z);function Ie(){var Y,Q;G.value=((Y=c.value)==null?void 0:Y.clientHeight)||0,W.value=((Q=d.value)==null?void 0:Q.clientWidth)||0,ue()}r.onMounted(()=>{d.value&&(cn.useResizeObserver(d.value,Ie),ue(),r.nextTick(()=>{d.value&&(W.value=d.value.clientWidth),c.value&&(U.value=c.value.clientWidth,G.value=c.value.clientHeight)}))});function Le(Y){Y&&(s.value=Y,b(s),N(s.value),B(M,P),ue())}return r.watch(()=>t.columns,Y=>{Le(Y),A.canvasChanged.value++}),r.watch(U,()=>{d.value&&ue()}),()=>r.createVNode("div",{ref:n,class:me.value,style:C.value,onWheel:L},[ye(),r.createVNode("div",{ref:d,class:ge.value,onMouseover:()=>{y.value=!0},onMouseleave:()=>{y.value=!1}},[he()])])}}),mi={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}},pi={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},hi=r.defineComponent({name:"FOverlay",props:pi,emits:["click"],setup(t,e){const n=r.ref(t.popupContentPosition),i=r.ref(t.host),o=r.computed(()=>({backgroundColor:t.backgroundColor||"",pointerEvents:"auto"}));function l(s){e.emit("click"),s.preventDefault(),s.stopPropagation()}r.computed(()=>{const s=i.value;if(s){const f=s.getBoundingClientRect(),{left:u,top:m,height:d}=f;return{left:u,top:m+d}}return n.value});const a=r.computed(()=>({}));return()=>r.createVNode(r.Teleport,{to:"body"},{default:()=>{var s,f;return[r.createVNode("div",{class:"overlay-container",onClick:u=>l(u),style:o.value},[r.createVNode("div",{style:a.value},[(f=(s=e.slots).default)==null?void 0:f.call(s)])])]}})}});function gi(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function yi(t){const e=document.createElement("div");e.style.display="contents";let n;const i=t.onClickCallback||(()=>{}),o=()=>{i(),n&&n.unmount()};return n=r.createApp({setup(){r.onUnmounted(()=>{document.body.removeChild(e)});const l=gi(t);return()=>r.createVNode(hi,{"popup-content-position":t.popupPosition,host:t.host,onClick:o,backgroundColor:t.backgroundColor},{default:()=>[l&&l()]})}}),document.body.appendChild(e),n.mount(e),n}class vi{static show(e){return yi(e)}}const bi={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"}};class ke{constructor(e,n){this.x=e,this.y=n}static getTransformInfo(e){const i=window.getComputedStyle(e).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(i.length>=6){const o=parseInt(i[4],10),l=parseInt(i[5],10);return{x:o,y:l}}return{x:0,y:0}}static fromEvent(e,n=null){if(this.isMouseEvent(e))return new ke(e.clientX,e.clientY);if(n===null||e.changedTouches.length===1)return new ke(e.changedTouches[0].clientX,e.changedTouches[0].clientY);for(let i=0;i<e.changedTouches.length;i++)if(e.changedTouches[i].target===n)return new ke(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 n=new ke(0,0);if(window){const i=window.getComputedStyle(e);if(i){const o=parseInt(i.getPropertyValue("left"),10),l=parseInt(i.getPropertyValue("top"),10);n.x=isNaN(o)?0:o,n.y=isNaN(l)?0:l}return n}return null}static copy(e){return new ke(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 ot{constructor(e,n){this.width=e,this.height=n}static getCurrent(e){const n=new ot(0,0);if(window){const i=window.getComputedStyle(e);return i&&(n.width=parseInt(i.getPropertyValue("width"),10),n.height=parseInt(i.getPropertyValue("height"),10)),n}return null}static copy(e){return new ot(0,0).set(e)}set(e){return this.width=e.width,this.height=e.height,this}}function Ci(t,e){const n=r.ref(),i=r.ref(),o=r.ref(),l=r.ref(),a=r.ref(),s=r.ref(),f=r.ref(),u=r.ref(),m=r.ref(),d=r.ref(),c=r.ref(),h=r.ref(t.resizeable),p=r.ref(),y=r.ref(t.draggable),w=r.ref(!1);function F(){const I=i.value||document.body,R=window.getComputedStyle(I);if(!R||!n.value)return;const q=ke.getTransformInfo(n.value),J={};f.value&&(J.deltaL=n.value.offsetLeft-f.value.x,J.deltaT=n.value.offsetTop-f.value.y);const j=R.getPropertyValue("position");J.width=I.clientWidth,J.height=I.clientHeight,J.pr=parseInt(R.getPropertyValue("padding-right"),10),J.pb=parseInt(R.getPropertyValue("padding-bottom"),10),J.position=R.getPropertyValue("position"),j==="static"&&(I.style.position="relative"),J.translateX=q.x,J.translateY=q.y,d.value=J}function x(I){if(n.value){l.value=ot.getCurrent(n.value),a.value=ke.getCurrent(n.value),s.value=l.value?ot.copy(l.value):null,f.value=a.value?ke.copy(a.value):null,F();const R=I.target.getAttribute("type")||"";u.value={n:!!R.match(/n/),s:!!R.match(/s/),w:!!R.match(/w/),e:!!R.match(/e/)}}}function M(){var I,R,q,J;if(n.value){const j=n.value;u.value&&((u.value.n||u.value.s)&&((I=s.value)!=null&&I.height)&&(j.style.height=s.value.height+"px"),(u.value.w||u.value.e)&&((R=s.value)!=null&&R.width)&&(j.style.width=s.value.width+"px"),f.value&&((q=f.value)!=null&&q.x&&(j.style.left=f.value.x+"px"),(J=f.value)!=null&&J.y&&(j.style.top=f.value.y+"px")))}}function _(){const I=t.minHeight?t.minHeight:1,R=t.minWidth?t.minWidth:1;s.value&&f.value&&u.value&&l.value&&(s.value.height<I&&(s.value.height=I,u.value.n&&a.value&&(f.value.y=a.value.y+(l.value.height-I))),s.value.width<R&&(s.value.width=R,u.value.w&&a.value&&(f.value.x=a.value.x+(l.value.width-R))),t.maxHeight&&s.value.height>t.maxHeight&&(s.value.height=t.maxHeight,a.value&&u.value.n&&(f.value.y=a.value.y+(l.value.height-t.maxHeight))),t.maxWidth&&s.value.width>t.maxWidth&&(s.value.width=t.maxWidth,u.value.w&&a.value&&(f.value.x=a.value.x+(l.value.width-t.maxWidth))))}function v(){if(i.value){const I=d.value;if(f.value&&s.value&&u.value&&l.value){const R=I.width-I.pr-I.deltaL-I.translateX-f.value.x,q=I.height-I.pb-I.deltaT-I.translateY-f.value.y;u.value.n&&f.value.y+I.translateY<0&&a.value&&(f.value.y=-I.translateY,s.value.height=l.value.height+a.value.y+I.translateY),u.value.w&&f.value.x+I.translateX<0&&a.value&&(f.value.x=-I.translateX,s.value.width=l.value.width+a.value.x+I.translateX),s.value.width>R&&(s.value.width=R),s.value.height>q&&(s.value.height=q)}}}function C(I){if(!o.value||!l.value||!a.value||!u.value)return;I.subtract(o.value);const R=I.x,q=I.y;u.value.n?(f.value.y=a.value.y+q,s.value.height=l.value.height-q):u.value.s&&(s.value.height=l.value.height+q),u.value.e?s.value.width=l.value.width+R:u.value.w&&(s.value.width=l.value.width-R,f.value.x=a.value.x+R),v(),_(),M()}function g(I){if(!m.value)return;const R=ke.fromEvent(I);R&&C(R)}function b(){if(n.value){const{width:I,height:R,x:q,y:J}=n.value.getBoundingClientRect(),j=ke.getTransformInfo(n.value);return{size:{width:I,height:R},position:{x:q-j.x,y:J-j.y}}}return null}function S(I){if(n.value){const R=b();c.value=R}o.value=void 0,l.value=null,a.value=null,s.value=null,f.value=null,u.value=null,m.value=null,document.removeEventListener("mousemove",g),document.removeEventListener("mouseup",S)}function P(){document.addEventListener("mousemove",g),document.addEventListener("mouseup",S)}function B(I){I instanceof MouseEvent&&I.button===2||y.value&&(document.body.click(),I.stopPropagation(),I.preventDefault(),o.value=ke.fromEvent(I),m.value=I.target,x(I),P())}function E(I){return n.value=I,h.value&&r.createVNode(r.Fragment,null,[r.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:R=>B(R)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:R=>B(R)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:R=>B(R)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:R=>B(R)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:R=>B(R)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:R=>B(R)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:R=>B(R)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:R=>B(R)},null)])}function N(I=!0){document.body.click();const R=i.value||document.body,q=ot.getCurrent(R),J=n.value;I&&J&&(p.value=b(),p.value.transform=J.style.transform),q&&J&&(s.value=q,s.value.height-=14,s.value.width-=14,J.style.height=s.value.height+"px",J.style.width=s.value.width+"px",J.style.left="7px",J.style.top="7px",J.style.transform="",c.value={size:s.value,position:{x:0,y:0}},y.value=!1,w.value=!0)}function k(){var I,R;if(document.body.click(),p.value){const q={width:p.value.size.width||0,height:p.value.size.height||0},J={x:(window.innerWidth-q.width)/2,y:(window.innerHeight-q.height)/2};(I=s.value)==null||I.set(q),(R=f.value)==null||R.set(J);const j=n.value;j.style.height=q.height+"px",j.style.width=q.width+"px",j.style.left=`${J.x}px`,j.style.top=`${J.y}px`,j.style.transform="",c.value={size:q,position:J},y.value=t.draggable,w.value=!1}}function T(){if(n.value){const I=ot.getCurrent(n.value);if(I){const{width:R,height:q}=I;n.value.style.left=`${(window.innerWidth-R)/2}px`,n.value.style.top=`${(window.innerHeight-q)/2}px`,n.value.style.transform=""}}}function V(){const I=()=>{w.value?N(!1):T(),document.body.click()};return window.addEventListener("resize",I),()=>{window.removeEventListener("resize",I)}}const H=V();return{renderResizeBar:E,boundingElement:i,resizedEventParam:c,maximize:N,restore:k,allowDrag:y,isMaximized:w,unWindowResizeHandle:H,moveToCenter:T}}function wi(t,e,n){const i=r.ref(),o=r.ref(t.draggable),l=r.ref(t.lockAxis),a=r.ref(),s=r.ref(),f=r.ref(!1),u=r.ref(new ke(0,0)),m=r.ref(new ke(0,0)),d=r.ref(new ke(0,0)),c=r.ref(new ke(0,0));r.watch(()=>n.value,g=>{a.value.style.cursor=g?"move":"default"});function h(g,b){if(b.tagName==="BUTTON")return!1;if(b===g)return!0;for(const S in b.children)if(Object.prototype.hasOwnProperty.call(b.children,S)&&h(g,b.children[S]))return!0;return!1}function p(){var P,B;let g=d.value.x+m.value.x,b=d.value.y+m.value.y;l.value==="x"?(g=((P=u.value)==null?void 0:P.x)||0,d.value.x=0):l.value==="y"&&(b=((B=u.value)==null?void 0:B.y)||0,d.value.y=0);const S=`translate3d(${Math.round(g)}px, ${Math.round(b)}px, 0px)`;i.value&&(i.value.style.transform=S),c.value.x=g,c.value.y=b}function y(){if(!s.value||!i.value)return null;const g=s.value.getBoundingClientRect(),b=i.value.getBoundingClientRect(),S={top:g.top<b.top,right:g.right>b.right,bottom:g.bottom>b.bottom,left:g.left<b.left};return S.top||(d.value.y-=b.top-g.top),S.bottom||(d.value.y-=b.bottom-g.bottom),S.right||(d.value.x-=b.right-g.right),S.left||(d.value.x-=b.left-g.left),p(),S}function w(g){g&&(u.value&&g.subtract(u.value),d.value.set(g),p(),y())}function F(g){f.value&&o.value&&(g.stopPropagation(),g.preventDefault(),w(ke.fromEvent(g,a.value)))}function x(){var g;f.value&&(f.value=!1,m.value.add(d.value),d.value.reset(),(g=i.value)==null||g.classList.remove("ng-dragging"),e.emit("stopMove"),document.removeEventListener("mousemove",F),document.removeEventListener("mouseup",x))}function M(){!f.value&&a.value&&(f.value=!0,a.value.classList.add("ng-dragging"),document.addEventListener("mousemove",F),document.addEventListener("mouseup",x))}function _(){if(i.value){const g=ke.getTransformInfo(i.value);m.value.set(g);return}m.value.reset()}function v(g){if(!n.value||g instanceof MouseEvent&&g.button===2)return;const b=g.target||g.srcElement;a.value!==void 0&&b&&!h(b,a.value)||o.value!==!1&&(document.body.click(),g.stopPropagation(),g.preventDefault(),u.value=ke.fromEvent(g,i.value),_(),M())}function C(g,b,S){if(o.value&&b){if(g)a.value=g;else if(t.dragHandle){if(t.dragHandle instanceof HTMLElement)a.value=t.dragHandle;else if(typeof t.dragHandle=="string"){const P=b.querySelector(t.dragHandle);P&&(a.value=P)}}i.value=b,s.value=S,a.value?(a.value.classList.add("ng-draggable"),a.value.addEventListener("mousedown",v)):o.value=!1}}return{registerDraggle:C,resetTranslate:_}}function jt(t,e){if(t){const n=i=>{i.key.toLowerCase()===t.toLowerCase()&&e({event:i,key:t})};return document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",n)}}}function Si(t,e){const n=r.ref(t.enableEsc);let i=null;return n.value?(i=jt("Escape",o=>{e.emit("esc",{event:o.event,type:"esc"})}),{remove:i}):null}function xi(t,e){const n=r.ref(t.enableEnter);let i=null;return n.value?(i=jt("Enter",o=>{e.emit("enter",{event:o.event,type:"enter"})}),{remove:i}):null}const mt=r.defineComponent({name:"FModal",props:bi,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove"],setup(t,e){const n=r.ref(t.width||300),i=r.ref(t.height||200),o=r.ref(t.modelValue),l=r.ref(""),a=r.ref(t.class),s=r.ref(t.fitContent),f=r.ref(t.showHeader),u=r.ref(""),m=r.ref(t.showCloseButton),d=r.ref(t.showMaxButton),c=r.ref(!1),h=r.ref(t.dialogType),p=r.ref(t.src),y=r.ref(""),w=r.ref(t.showButtons),F=r.ref(t.title),x=r.ref(t.containment||null),M=r.ref();F.value==="错误提示"&&(F.value=je.LocaleService.getLocaleValue("messageBox.errorTitle"));const _=r.ref(!1);function v(z,ae){const Fe=ae?"accept":"cancel";Promise.resolve().then(()=>{var Se;return(Se=t.beforeClose)==null?void 0:Se.call(t,{closeType:Fe})}).then(Se=>{Se&&(o.value=!1,e.emit("update:modelValue",!1),ae!=null&&e.emit(ae?"accept":"cancel"),e.emit("closed",z))})}const C=[{name:"cancel",text:je.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:z=>{v(z,!1)}},{name:"accept",text:je.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:z=>{v(z,!0)}}],g=r.ref(t.buttons&&t.buttons.length?t.buttons:C),b=r.computed(()=>!!u.value),S=r.computed(()=>!!w.value&&!!g.value),P=r.ref(),B=r.ref(),E=r.ref(!1),{renderResizeBar:N,maximize:k,restore:T,boundingElement:V,resizedEventParam:H,allowDrag:I,unWindowResizeHandle:R,moveToCenter:q}=Ci(t),{registerDraggle:J}=wi(t,e,I);function j(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}function ee(){const z=document.querySelectorAll(".farris-modal").length;(!z||z-1<=0)&&document.body.classList.remove("modal-open"),M.value&&M.value.classList.remove("show")}r.watch(()=>t.title,(z,ae)=>{z!==ae&&(F.value=z)}),r.watch(()=>t.modelValue,(z,ae)=>{z!==ae&&(o.value=z,o.value&&t.draggable&&r.nextTick(()=>{B.value&&!x.value&&(x.value=B.value.parentElement,V.value=x.value,J(P.value,B.value,V.value),q())}),z||(x.value&&(x.value=null),ee())),o.value?_.value=j():(E.value=!1,I.value=t.draggable)}),r.watch(()=>t.showHeader,(z,ae)=>{z!==ae&&(f.value=z)}),r.watch(()=>t.showButtons,(z,ae)=>{z!==ae&&(w.value=z)}),r.watch(()=>H.value,(z,ae)=>{const Fe=z||{},Se=ae||{};JSON.stringify(Fe)!==JSON.stringify(Se)&&e.emit("resize",{newSize:z,oldSize:ae,isMaximized:E.value})}),r.watch([()=>t.width,()=>t.height],(z,ae)=>{(z[0]!==ae[0]||z[1]!==ae[1])&&(n.value=z[0]||500,i.value=z[1]||600)});const oe=r.computed(()=>(o.value&&document.body.classList.add("modal-open"),o.value)),ce=r.computed(()=>{var Fe;const z={modal:!0,"farris-modal":!0,fade:!0};z["f-modal-fitContent"]=!!s.value,z.show=!!oe.value;const ae=(Fe=t.maskClass)==null?void 0:Fe.split(" ");return ae==null||ae.reduce((Se,Ye)=>(Se[Ye]=!0,Se),z),z}),Z=r.computed(()=>{var Fe;const z={"modal-dialog":!0},ae=(Fe=a.value)==null?void 0:Fe.split(" ");return ae==null||ae.reduce((Se,Ye)=>(Se[Ye]=!0,Se),z),z}),L=r.computed(()=>{const z=document.documentElement.clientWidth,ae=document.documentElement.clientHeight,Fe=Math.min(n.value,z),Se=s.value?"auto":`${Math.min(i.value,ae-10)}px`,Ye={position:"absolute",top:`${(window.innerHeight-parseInt(Se==="auto"?"0":Se))/2}px`,left:`${(window.innerWidth-Fe)/2}px`,width:`${Fe}px`,height:Se};return t.mask||(Ye.pointerEvents="auto"),Ye}),W=()=>D.getMaxZIndex()||1040,G=r.computed(()=>{const z={display:"block",zIndex:W()};return t.mask||(z.pointerEvents="none",z.backgroundColor="transparent"),_.value&&(z.backgroundColor="transparent"),z}),U=r.computed(()=>({"modal-content":!0,"modal-content-has-header":f.value})),ne=r.computed(()=>{const z={display:f.value?"":"none"};return z["pointer-events"]=I.value?"auto":"none",z}),ue=r.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:E.value})),me=r.computed(()=>({"modal-body":!0,"f-utils-flex-column":h.value==="iframe","f-utils-fill":!0}));function ge(){return{height:`${t.footerHeight||60}px`}}const ye=r.computed(()=>{const z={textAlgin:y.value},ae=ge();return Object.assign(z,ae)});function he(z){if(z==null||z.stopPropagation(),E.value){E.value=!1,T();return}k(),E.value=!0}async function Ie(z,ae){z.handle&&await z.handle(ae,z)&&e.emit("closed",ae)}function Le(z){z.width&&(n.value=z.width),z.height&&(i.value=z.height),z.buttons&&(g.value=z.buttons),z.title&&(F.value=z.title)}let O=null,Y=null;r.onBeforeMount(()=>{_.value=j()}),r.onMounted(()=>{B.value&&!x.value&&(x.value=B.value.parentElement,V.value=x.value,J(P.value,B.value,V.value)),oe.value&&document.body.classList.add("modal-open"),O=Si(t,e),Y=xi(t,e)}),r.onUnmounted(()=>{R&&R(),O&&O.remove(),Y&&Y.remove()}),e.expose({modalElementRef:B,updateModalOptions:Le,close:v,maxDialog:he,isMaximized:E});function Q(){return r.createVNode("ul",null,[c.value&&r.createVNode("li",{class:"f-btn-icon f-bare"},[r.createVNode("span",{class:"f-icon modal_minimize"},null)]),d.value&&r.createVNode("li",{onClick:he,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[r.createVNode("span",{class:ue.value},null)]),m.value&&r.createVNode("li",{class:"f-btn-icon f-bare",onClick:z=>v(z,!1),style:"pointer-events: auto;"},[r.createVNode("span",{class:"f-icon modal_close"},null)])])}function re(){return r.createVNode("div",{class:"modal-footer",style:ye.value},[g.value&&g.value.map(z=>{const ae=r.ref(z.disabled);return r.createVNode("button",{name:z.name,type:"button",disabled:ae.value,class:z.class+(z.iconClass?" btn-icontext":""),onClick:Fe=>{Ie(z,Fe)}},[!!z.iconClass&&r.createVNode("i",{class:z.iconClass},null),z.text])})])}function ve(){return r.createVNode("div",{ref:P,class:"modal-header",style:ne.value},[e.slots.headerTemplate?e.slots.headerTemplate():r.createVNode("div",{class:"modal-title"},[b.value&&r.createVNode("span",{class:u.value,style:"margin-right: 8px"},null),r.createVNode("span",{class:"modal-title-label"},[F.value])]),r.createVNode("div",{class:"actions"},[Q()])])}function Ne(){return e.slots.footerTemplate?e.slots.footerTemplate():S.value&&re()}function De(z){if(z.stopPropagation(),t.allowClickMaskToClose){if(z.target!==M.value)return;v(z,!1)}}function Qe(){var z,ae;return r.createVNode("div",{id:l.value,class:Z.value,style:L.value,ref:B},[r.createVNode("div",{class:U.value},[f.value&&ve(),r.createVNode("div",{class:me.value},[(ae=(z=e.slots).default)==null?void 0:ae.call(z),h.value==="iframe"&&r.createVNode("iframe",{title:l.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:p.value},null)]),Ne()]),!s.value&&B.value&&!E.value&&N(B.value)])}function et(z){return z||"body"}return()=>r.createVNode(r.Teleport,{to:et(t.host)},{default:()=>[oe.value&&r.createVNode(r.Transition,{name:"fade",appear:!0},{default:()=>[r.createVNode("div",{ref:M,class:ce.value,style:G.value,onClick:De},[Qe()])]})]})}});function Rt(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function Mi(t){const e=document.createElement("div");e.style.display="contents";const n=r.createApp({setup(i,o){r.onUnmounted(()=>{document.body.removeChild(e)});const l=r.ref(),a=r.ref(t.class||""),s=r.ref(!!t.showButtons),f=r.ref(!!t.showHeader),u=r.ref(t.showCloseButton==null?!0:t.showCloseButton),m=r.ref(!0),d=r.ref(t.title||""),c=t.acceptCallback||(()=>{}),h=t.rejectCallback||(()=>{}),p=t.closedCallback||(M=>{}),y=t.resizeHandle||(M=>{}),w=t.stopMoveHandle||(M=>{}),F=Rt(t),x=M=>{m.value=!1,n.unmount(),p(M)};return r.onMounted(()=>{}),o.expose({modalRef:l}),()=>r.createVNode(mt,{ref:l,class:a.value,modelValue:m.value,"onUpdate:modelValue":M=>m.value=M,title:d.value,width:t.width,height:t.height,buttons:t.buttons,"show-header":f.value,"show-buttons":s.value,"show-close-button":u.value,"show-max-button":!1,onAccept:c,onCancel:h,fitContent:t.fitContent==null?!0:t.fitContent,onClosed:x,onResize:y,onStopMove:w},{default:()=>[F&&F(n)]})}});return document.body.appendChild(e),n.use(je.LocaleService.i18n),n.mount(e),n}class Fi{constructor(e){ie(this,"appContext",null);ie(this,"modalRef",r.ref());ie(this,"activeModalIndex",r.ref(0));ie(this,"modalRefs",{});ie(this,"isUseEscCloseModal",r.ref(!1));ie(this,"activeModalInstance",r.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=e,this.appContext=e?e._context:null}getCurrentModal(){return this.activeModalInstance.value}adaptToWindow(e,n){const{width:i,height:o}={width:window.innerWidth,height:window.innerHeight};return i<e&&(e=i-14),o<n&&(n=o-14),{width:e,height:n}}static show(e){const n=Object.assign({title:"",showButtons:!0,showHeader:!0},e);return Mi(n)}close(e){var n,i;e?(i=e.value)==null||i.close():(n=this.getCurrentModal())==null||n.close()}open(e){const n=document.createDocumentFragment();e.showMaxButton&&e.fitContent&&(e.showMaxButton=!1);const i=r.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},e)),o=r.ref(!0),l=i.value.acceptCallback||(()=>{}),a=i.value.rejectCallback||(()=>{}),s=i.value.closedCallback||((v,C)=>{}),f=i.value.resizeHandle||(v=>{}),u=e.stopMoveHandle||(v=>{});let m;const d=Rt(i.value),c=v=>{var g;o.value=!1;const C=(g=v==null?void 0:v.target)==null?void 0:g.classList.contains("modal_close");s(v,this.isUseEscCloseModal.value?"esc":C?"icon":"button")},h=v=>{c(v),m&&r.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],r.render(null,n),m=null,this.modalRef.value=null,this.modalRefs){const C=Object.keys(this.modalRefs).map(g=>Number(g));C.length>0?this.activeModalIndex.value=Math.max(...C):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},p=v=>{var C;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((C=this.activeModalInstance.value)==null||C.close(v==null?void 0:v.event))},{width:y,height:w}=i.value,F=this.adaptToWindow(y||500,w||320);Object.assign(i.value,F);const x=()=>r.createVNode(mt,r.mergeProps({ref:this.modalRef,modelValue:o.value,"onUpdate:modelValue":v=>o.value=v},i.value,{onAccept:l,onCancel:a,onClosed:h,onResize:f,onEsc:p,onStopMove:u}),{default:()=>[d&&d(this.app)]});return m=(v=>{const C=r.h(x,v);return C.appContext=this.appContext,r.render(C,n),C})({...i.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:v=>{i.value={...i.value,...v},m&&r.render(r.cloneVNode(m,{...i}),n)},destroy:h,modalRef:this.activeModalInstance,close:()=>this.close()}}}const At=Symbol("FModalService");mt.install=t=>{t.component(mt.name,mt);const e=new Fi(t);t.provide(At,e),t.provide("FModalService",e)};function Ht(t,e){function n(){const i=t.beforeOpen||t.beforeClickButton||null;let o=Promise.resolve(!0);if(i){const l=i(e.value);if(typeof l>"u")return o;typeof l=="boolean"?o=Promise.resolve(l):o=l}return o}return{judgeCanOpen:n}}function Ti(t,e,n,i,o){const l=r.ref(t.buttonBehavior),a=r.ref(t.popupOnInput),s=r.computed(()=>({"input-group-append":!0,"append-force-show":t.showButtonWhenDisabled&&(t.readonly||t.disable)})),{judgeCanOpen:f}=Ht(t,o),u=r.computed(()=>t.showButtonWhenDisabled||(!t.editable||!t.readonly)&&!t.disable),m=r.inject(At,null),d=r.ref();async function c(y){if(await f()&&u.value){const w=!!e.slots.default;if(l.value==="Modal"){const F=t.modalOptions,x=m==null?void 0:m.open({...F,render:()=>e.slots.default&&e.slots.default()});d.value=x==null?void 0:x.modalRef}l.value==="Overlay"&&vi.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>e.slots.default&&e.slots.default()}),w&&l.value==="Popup"&&i.togglePopup(!0),w&&a.value&&i.hidePopup(),e.emit("clickButton",{origin:y,value:t.modelValue})}}function h(y){e.emit("mouseEnterIcon",y)}function p(y){e.emit("mouseLeaveIcon",y)}return{buttonGroupClass:s,onClickButton:c,onMouseEnterButton:h,onMouseLeaveButton:p,modalRef:d}}function _i(t,e,n,i,o,l){const a=r.ref(!1),s=r.computed(()=>t.enableClear&&!t.readonly&&!t.disable),{changeTextBoxValue:f,hasClearClass:u}=l;function m(p){a.value=p,u.value=p}r.watch(o,()=>{m(!!o.value)});function d(p){const y=!t.readonly&&!t.disable&&t.editable,w=!t.editable;p.stopPropagation(),(y||w)&&(f(""),o.value="",m(!a.value),e.emit("clear"))}function c(p){if(s.value){if(!n.value){m(!1);return}!t.disable&&!t.readonly&&m(!0)}}function h(p){s.value&&m(!1)}return{enableClearButton:s,showClearButton:a,onClearValue:d,onMouseEnterTextBox:c,onMouseLeaveTextBox:h}}function ki(t,e,n,i,o){const l=r.computed(()=>t.popupOnInput),a=r.computed(()=>t.popupOnFocus),{shouldPopupContent:s,closeAllPopover:f}=o,u=r.ref(!1),m=r.computed(()=>t.enableTitle?n.value:""),d=r.computed(()=>(t.disable||t.readonly)&&!t.forcePlaceholder?"":t.placeholder),c=r.computed(()=>t.readonly||!t.editable),h=r.ref(!1),p=r.computed(()=>!t.disable&&h.value),y=r.computed(()=>({"text-left":t.textAlign==="left","text-center":t.textAlign==="center","text-right":t.textAlign==="right","form-control":!0,"f-utils-fill":!0})),w=r.computed(()=>({"input-group":!0,"f-state-disabled":t.disable,"f-state-editable":t.editable&&!t.disable&&!t.readonly,"f-state-readonly":t.readonly,"f-state-focus":p.value,"input-group--has-clear":t.enableClear&&u.value}));function F(B,E=!0){n.value=B,E&&(e.emit("change",B),e.emit("update:modelValue",B))}function x(B){s.value=!1,F(B,!0)}r.watch(()=>t.modelValue,B=>{n.value=B});function M(B){h.value=!1,e.emit("blur",B),B.stopPropagation()}function _(B){e.emit("click",B),f(),e.slots.default&&!t.disable&&!t.readonly&&t.popupOnClick&&o.togglePopup()}function v(B){!t.disable&&!t.readonly&&(h.value=!0,c.value||(e.emit("focus",B),a.value&&!s.value&&o.popup()))}function C(B){e.emit("input",B);const E=B.target.value;i.value=E,n.value!==E&&F(E,t.updateOn==="change"),l.value&&!s.value&&o.popup()}function g(B){B.target.tagName!=="INPUT"&&B.preventDefault(),B.stopPropagation()}function b(B){e.emit("keydown",B)}function S(B){B.key==="Enter"&&(l.value||a.value)&&o.hidePopup(),e.emit("keyup",B)}function P(B){const E=B.target.value;B.stopPropagation(),F(E)}return{hasFocusedTextBox:p,isTextBoxReadonly:c,textBoxClass:y,textBoxPlaceholder:d,textBoxTitle:m,inputGroupClass:w,hasClearClass:u,changeTextBoxValue:F,commitValue:x,onBlurTextBox:M,onClickTextBox:_,onFocusTextBox:v,onInput:C,onKeyDownTextBox:b,onKeyUpTextBox:S,onMouseDownTextBox:g,onTextBoxValueChange:P}}const rt="FarrisVue_PopoverInstancesKey";function Vi(t,e,n,i){const o=r.ref(),l=r.ref(!1),{judgeCanOpen:a}=Ht(t,i);r.watch(()=>o.value,(h,p)=>{window[rt]=window[rt]||new WeakMap,h?window[rt].set(n.value,h):window[rt].delete(n.value)});function s(){if(window[rt]){const h=window[rt];document.querySelectorAll(".f-button-edit,.v-popover").forEach(p=>{const y=h.get(p);y&&p!==n.value&&!n.value.closest(".popover-fitcontent")&&y.hide()})}}function f(){const h=o.value;h&&h.show(n.value)}async function u(h=!1){if(!!e.slots.default){if(!h&&!l.value&&!await a())return;l.value=!l.value,l.value&&(await r.nextTick(),f())}}async function m(h=!1){if(!!e.slots.default){if(!h&&!await a())return;l.value=!0,await r.nextTick(),f()}}function d(){l.value=!1}function c(){l.value=!0,r.nextTick(()=>{f()})}return{hidePopup:d,showPopup:c,popup:m,shouldPopupContent:l,togglePopup:u,popoverRef:o,closeAllPopover:s}}function Ei(t,e,n){const i=r.ref(),{isTextBoxReadonly:o,textBoxClass:l,textBoxPlaceholder:a,textBoxTitle:s,onBlurTextBox:f,onClickTextBox:u,onFocusTextBox:m,onInput:d,onKeyDownTextBox:c,onKeyUpTextBox:h,onMouseDownTextBox:p,onTextBoxValueChange:y}=n,w=r.ref(t.id),{uuid:F}=D.useGuid(),x=r.computed(()=>({}));r.onMounted(()=>{var g,b;t.selectOnCreated&&((g=i.value)==null||g.select()),t.focusOnCreated&&((b=i.value)==null||b.focus({preventScroll:!0})),w.value||(w.value="button-edit_"+F(8)),w.value=w.value+"-textbox"});const M=r.ref(!1),_=g=>{g.preventDefault(),M.value=!0},v=g=>{g.preventDefault(),M.value=!1,d(g)};function C(g){M.value||d(g)}return()=>r.createVNode("input",{id:t.id?t.id+"-textbox":void 0,ref:i,name:"input-group-value",autocomplete:t.autoComplete?"on":"off",class:l.value,style:x.value,disabled:t.disable,maxlength:t.maxLength,minlength:t.minLength,placeholder:a.value,readonly:o.value,tabindex:t.tabIndex,title:s.value,type:t.inputType,value:e.value,onBlur:f,onChange:y,onClick:u,onFocus:m,onInput:C,onKeydown:c,onKeyup:h,onMousedown:p,onCompositionend:v,onCompositionstart:_},null)}function Ii(t,e,n){const i=r.ref(t.separator),o=r.computed(()=>t.readonly||t.disable),{changeTextBoxValue:l,onFocusTextBox:a,onBlurTextBox:s,onClickTextBox:f,textBoxPlaceholder:u}=n,m=r.computed(()=>e.value?e.value.split(i.value).map(p=>({name:p,selectable:!0})):[]);function d(p){l(p.map(y=>y.name).join(i.value),!0)}r.watch(()=>t.separator,p=>{i.value=p});const c=r.ref(!t.disable&&!t.readonly);r.watch([()=>t.disable,()=>t.readonly],([p,y],[w,F])=>{c.value=!p&&!y});function h(p){f(p)}return()=>r.createVNode(pn,{tabindex:t.tabIndex,onFocus:a,onBlur:s,id:`${t.id}-tag-editor`,class:"form-control",placeholder:u.value,data:m.value,showClose:!o.value,showInput:!0,disable:o.value,onChange:d,onClick:h},null)}function Pi(t,e,n,i){const{buttonGroupClass:o,onClickButton:l,onMouseEnterButton:a,onMouseLeaveButton:s}=n,{enableClearButton:f,showClearButton:u,onClearValue:m}=i,d=r.ref(),c=Re.debounce(p=>{l(p)},t.buttonBehavior==="Modal"?0:200),h=()=>{e.emit("beforeClearValue")};return{renderButtonGroup:()=>r.createVNode("div",{id:t.id?`${t.id}-button-group`:void 0,class:o.value},[f.value&&r.withDirectives(r.createVNode("span",{class:"input-group-text input-group-clear",onClick:m,onMousedown:h},[r.createVNode("i",{class:"f-icon modal_close"},null)]),[[r.vShow,u.value]]),e.slots.buttonContent?r.createVNode("span",{class:"input-group-text input-group-append-button",onClick:c,onMouseenter:a,onMouseleave:s},[e.slots.buttonContent()]):t.buttonContent?r.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:t.buttonContent,ref:d,onClick:p=>c(p),onMouseenter:a,onMouseleave:s},null):null]),buttonHandleElement:d}}function Ni(t,e,n){const i=r.ref(t.popupMinWidth),{hidePopup:o,popoverRef:l}=n,a=()=>{e.emit("shown")};return()=>r.createVNode(un,{id:`${t.id}-popover`,ref:l,placement:t.placement,host:t.popupHost,"keep-width-with-reference":t.keepWidthWithReference,fitContent:!0,"right-boundary":t.popupRightBoundary,minWidth:i.value,class:t.popupClass,offsetX:t.popupOffsetX,onHidden:o,onShown:a,beforeClose:t.beforeClosePopup,limitContentBySpace:t.limitContentBySpace},{default:()=>{var s,f;return[(f=(s=e.slots).default)==null?void 0:f.call(s)]}})}const Bi=r.defineComponent({name:"FButtonEdit",props:mi,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue","beforeClearValue"],setup(t,e){const n=r.ref(),i=r.ref(t.customClass),o=r.ref(t.modelValue),l=Vi(t,e,n,o),{shouldPopupContent:a,hidePopup:s,showPopup:f,togglePopup:u}=l,m=Ti(t,e,n,l,o),d=r.ref(""),c=ki(t,e,o,d,l),{hasFocusedTextBox:h,commitValue:p,inputGroupClass:y}=c,w=_i(t,e,o,h,d,c),{onMouseEnterTextBox:F,onMouseLeaveTextBox:x}=w,M=r.ref(!1),_=r.computed(()=>{const V={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!t.wrapText};return i.value&&i.value.split(" ").reduce((H,I)=>(H[I]=!0,H),V),V}),v=r.computed(()=>({overflow:t.wrapText?"hidden":""})),C=r.computed(()=>({}));function g(){if(!t.multiSelect||t.inputType!=="tag"||!n.value)return 0;let V=0;const H=Array.from(n.value.querySelectorAll(".farris-tag-item"));return H&&H.length&&(V=H.map(I=>I.offsetTop).filter(I=>I>20).length),V}const b=r.ref(g());r.onUpdated(()=>{b.value=g()});function S(){return t.multiSelect&&t.inputType==="tag"?()=>r.createVNode(r.Fragment,null,[Ii(t,o,c)(),!!b.value&&r.createVNode("div",{class:"d-flex flex-row mr-2 more-tags","more-tags":!0},[r.createVNode("span",{class:"multi--more-text"},[r.createTextVNode("+"),b.value])])]):Ei(t,o,c)}let P=S();r.watch([()=>t.multiSelect,()=>t.inputType],()=>{P=S()});const{renderButtonGroup:B,buttonHandleElement:E}=Pi(t,e,m,w),N=Ni(t,e,l),k=r.ref(a.value),T={displayText:d,commitValue:p,elementRef:n,hidePopup:s,showPopup:f,popoverRef:l.popoverRef,shouldPopupContent:a,togglePopup:u,openDialog:()=>{E.value&&t.buttonBehavior==="Modal"&&E.value.click()},getModal:()=>{var V;return t.buttonBehavior==="Modal"?(V=m.modalRef.value)==null?void 0:V.value:null},getTextbox:()=>{var V;return(V=n.value)==null?void 0:V.querySelector("input")},forceClosePopup:()=>{k.value=!1,M.value=!0,a.value=!1}};return r.onMounted(()=>{n.value.componentInstance=T,window.onresize=()=>{document.body.click()}}),r.onBeforeUnmount(()=>{var V;window.onresize=null,(V=window[rt])==null||V.delete(n.value)}),e.expose(T),r.watch(()=>a.value,async(V,H)=>{if(M.value){k.value=V,M.value=!1;return}if(!V&&t.beforeClosePopup&&typeof t.beforeClosePopup=="function"){try{const I=await t.beforeClosePopup();k.value=!I,(!I||t.readonly)&&(a.value=!0)}catch(I){console.error("Error in beforeClosePopup:",I),k.value=H,a.value=H}return}k.value=V}),()=>{var V,H;return r.createVNode(r.Fragment,null,[r.createVNode("div",r.mergeProps(e.attrs,{ref:n,class:_.value,id:t.id?t.id:void 0,style:v.value}),[r.createVNode("div",{id:t.id?`${t.id}-input-group`:void 0,class:y.value,style:C.value,onMouseenter:F,onMouseleave:x},[(H=(V=e.slots).precontent)==null?void 0:H.call(V),P(),B()])]),k.value&&N()])}}}),Lt=new Map([["appearance",ze.resolveAppearance],["column","columnOption"],["command","commandOption"]]),$t=new Map([]),Oi="root-viewmodel";class ji{constructor(e,n){ie(this,"formSchemaUtils");ie(this,"controlCreatorUtils");ie(this,"designViewModelUtils");ie(this,"useFormCommand");ie(this,"formStateMachineUtils");this.resolver=e,this.designerHostService=n,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 n=this.createComponentRefNode(e),i=this.createComponentNode(e),o=this.createViewModeNode(e),l=this.formSchemaUtils.getFormSchema();return l.module.viewmodels.push(o),l.module.components.push(i),this.designViewModelUtils.assembleDesignViewModel(),this.wrapContainerSectionForComponent(n,e,o)}wrapContainerSectionForComponent(e,n,i){var f,u,m,d,c,h,p,y,w,F,x;const o=(u=(f=n==null?void 0:n.parentComponentInstance)==null?void 0:f.schema)==null?void 0:u.type,l=(c=(d=(m=n==null?void 0:n.parentComponentInstance)==null?void 0:m.schema)==null?void 0:d.appearance)==null?void 0:c.class,a=(p=(h=this.formSchemaUtils.getFormSchema())==null?void 0:h.module)==null?void 0:p.templateId;if(o===A.DgControl["splitter-pane"].type&&(l!=null&&l.includes("f-page-content-main"))&&["double-list-template","tree-list-template"].includes(a))return e;const s=[A.DgControl["content-container"].type,A.DgControl["response-layout-item"].type,A.DgControl["splitter-pane"].type];if(o&&s.includes(o)){const M=this.resolver.getSchemaByType("section",{parentComponentInstance:n.parentComponentInstance,mainTitle:n.componentName},this.designerHostService);if(M&&M.contents&&M.contents.length){const _=M.contents[0];return _.contents=[e],this.appendAddDeleteBtnToParentContainer(_,n,i),M}}return this.appendAddDeleteBtnToParentContainer((y=n==null?void 0:n.parentComponentInstance)==null?void 0:y.schema,n,i),o===A.DgControl["tab-page"].type&&(w=n.parentComponentInstance)!=null&&w.parent&&(F=n.parentComponentInstance)!=null&&F.parent.updateToolbarItems&&((x=n.parentComponentInstance)==null||x.parent.updateToolbarItems()),e}appendAddDeleteBtnToParentContainer(e,n,i){const o=e.type,l=i.id.replace(/-/g,"").replace(/_/g,"").replace("component","").replace("viewmodel","");if(n.bindTo==="/"||n.componentType!=="data-grid"&&n.componentType!=="form")return;const a=this.formStateMachineUtils&&this.formStateMachineUtils.getRenderStates(),s=A.DgControl["tab-page"].type===o?"tab-toolbar-item":"section-toolbar-item",f=this.resolver.getSchemaByType(s),u=[Object.assign({},f,{id:`button-add-${n.componentId}`,type:s,text:"新增",disabled:a.find(m=>m.id==="canAddDetail")?{type:"StateMachine",status:!1,field:"canAddDetail"}:!1,onClick:`root-viewModel.${i.id}.${l}AddItem1`}),Object.assign({},f,{id:`button-remove-${n.componentId}`,type:s,text:"删除",disabled:a.find(m=>m.id==="canRemoveDetail")?{type:"StateMachine",status:!1,field:"canRemoveDetail"}:!1,onClick:`root-viewModel.${i.id}.${l}RemoveItem1`})];e.toolbar||(e.toolbar={id:`${e.id}_toolbar`,type:A.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=A.DgControl["tab-page"].type===o?"tab-toolbar":"section-toolbar"),e.toolbar.buttons||(e.toolbar.buttons=[]),e.toolbar.buttons=e.toolbar.buttons.concat(u),this.appendAddAndDeleteCommands(i),this.useFormCommand&&this.useFormCommand.checkCommands()}appendAddAndDeleteCommands(e){var m;const n=e.id.replace(/-/g,"").replace(/_/g,"").replace("component","").replace("viewmodel",""),i=D.useGuid().guid(),o=D.useGuid().guid(),l=this.resolveCommandController(),a={id:i,code:`${n}AddItem1`,name:"增加一条子表数据",params:[],handlerName:"AddItem",cmpId:l,shortcut:{},extensions:[]},s={id:o,code:`${n}RemoveItem1`,name:"删除一条子表数据",params:[{name:"id",shownName:"待删除子表数据的标识",value:`{DATA~${e.bindTo}/id}`}],handlerName:"RemoveItem",cmpId:l,shortcut:{},extensions:[]};(m=this.designerHostService.designerContext)!=null&&m.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===l).refedHandlers.push({host:i,handler:"AddItem"},{host:o,handler:"RemoveItem"})}resolveCommandController(){const e=this.formSchemaUtils.getFormSchema().module.webcmds,n=["8172a979-2c80-4637-ace7-b13074d3f393","8fe977a1-2b32-4f0f-a6b3-2657c4d03574","45be24f9-c1f7-44f7-b447-fe2ada458a61"],i=e.find(l=>n.includes(l.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 n=this.resolver.getSchemaByType("component-ref");return Object.assign(n,{id:`${e.componentId}-component-ref`,component:`${e.componentId}-component`}),n}createComponentNode(e){const n=this.resolver.getSchemaByType("component"),i=this.createDateGridComponentContents(e);return Object.assign(n,{id:`${e.componentId}-component`,viewModel:`${e.componentId}-component-viewmodel`,componentType:e.componentType,appearance:{class:this.getDataGridComponentClass(e)},contents:i}),n}createViewModeNode(e){return{id:`${e.componentId}-component-viewmodel`,code:`${e.componentId}-component-viewmodel`,name:e.componentName,bindTo:e.bindTo,parent:Oi,fields:this.assembleViewModelFields(e),commands:[],states:[],enableValidation:!0}}getDataGridComponentClass(e){var o,l,a;const{templateId:n}=this.formSchemaUtils.getFormSchema().module,i=(a=(l=(o=e.parentComponentInstance)==null?void 0:o.schema)==null?void 0:l.appearance)==null?void 0:a.class;return n==="double-list-in-tab-template"||["double-list-template","tree-list-template"].includes(n)&&(i!=null&&i.includes("f-page-content-main"))?"f-struct-wrapper f-utils-fill-flex-column":"f-struct-is-subgrid"}createDateGridComponentContents(e){var m,d,c;const n=(c=(d=(m=e.parentComponentInstance)==null?void 0:m.schema)==null?void 0:d.appearance)==null?void 0:c.class,{templateId:i}=this.formSchemaUtils.getFormSchema().module;let o;if(i==="double-list-in-tab-template"){const h=this.resolver.getSchemaByType("section");Object.assign(h,{id:e.componentId+"-section",appearance:{class:"f-section-grid f-section-in-main px-0 pt-0"},fill:!0,showHeader:!1}),o=h}else if((i==="double-list-template"||i==="tree-list-template")&&(n!=null&&n.includes("f-page-content-main"))){const h=this.resolver.getSchemaByType("section");Object.assign(h,{id:e.componentId+"-section",appearance:{class:"f-section-grid f-section-in-main"},fill:!0,showHeader:!1}),o=h}else{const h=this.resolver.getSchemaByType("content-container");Object.assign(h,{id:e.componentId+"-container",appearance:{class:"f-grid-is-sub f-utils-flex-column"}}),o=h}const l=this.resolver.getSchemaByType("data-grid"),a=[],s=this.formStateMachineUtils&&this.formStateMachineUtils.getRenderStates(),f=e.editable&&s.length>0&&s.findIndex(h=>h.id==="editable")>-1;Object.assign(l,{id:e.componentId+"-dataGrid",appearance:{class:"f-component-grid"},columns:a,fieldEditable:f,dataSource:e.dataSource||"",editable:f?{type:"StateMachine",status:!0,field:"editable"}:!1,pagination:{enable:!e.editable}}),o.contents=[l];const{selectedFields:u}=e;return u==null||u.forEach(h=>{if(h.$type===D.FormSchemaEntityField$Type.ComplexField)return;const p=Re.cloneDeep(h),y=this.controlCreatorUtils.setGridFieldProperty("data-grid-column",p,"",f);y&&a.push(y)}),[o]}assembleViewModelFields(e){const n=[],{selectedFields:i}=e;return i==null||i.forEach(o=>{if(o.$type===D.FormSchemaEntityField$Type.ComplexField)return;let l="blur";const a=o.type.name;(a===D.FormSchemaEntityFieldTypeName.Enum||a===D.FormSchemaEntityFieldTypeName.Boolean)&&(l="change"),n.push({type:"Form",id:o.id,fieldName:o.bindingField,groupId:null,groupName:null,updateOn:l,fieldSchema:{}})}),n}}function Wt(t,e,n,i){var l,a,s,f,u,m,d;const o=n.parentComponentInstance;if(o&&i){const c=Math.random().toString(36).slice(2,6),h={componentId:`data-grid-${c}`,componentName:((l=n.bindingSourceContext)==null?void 0:l.entityTitle)||((s=(a=n.bindingSourceContext)==null?void 0:a.bindingEntity)==null?void 0:s.name)||`表格-${c}`,componentType:"data-grid",parentContainerId:o.schema.id,parentComponentInstance:o,editable:!0,bindTo:((f=n.bindingSourceContext)==null?void 0:f.bindTo)||"",dataSource:(m=(u=n.bindingSourceContext)==null?void 0:u.bindingEntity)==null?void 0:m.label,selectedFields:(d=n.bindingSourceContext)==null?void 0:d.bindingEntityFields};return new ji(t,i).createComponent(h)}else return e}function zt(t,e,n){return e}const Ri={$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"]},qt={modelValue:{type:String,default:""},viewModelId:{Type:String,default:""},gridData:{Type:Object,default:null},gridType:{Type:String,default:"data-grid-column"},getLatestGridData:{Type:Function}},Ai=ze.createPropsResolver(qt,Ri,Lt,Wt),Hi=new Map([["appearance",ze.resolveAppearance]]);function Li(t,e,n){return e}const $i={title:"transfer",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}}}},Wi={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/transfer.schema.json",title:"transfer",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for transfer",type:"string"},type:{description:"The type string of transfer",type:"string",default:"transfer"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},Gt={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:t=>typeof t=="string"||typeof t=="function"}};ze.createPropsResolver(Gt,Wi,Hi,Li,$i);const zi={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:t=>typeof t=="string"||typeof t=="function"},itemStyle:{type:[String,Function],default:"",validator:t=>typeof t=="string"||typeof t=="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 qi(t,e){function n(l){const a=[];let s=l.nextNode();for(;s;)a.push(s),s=l.nextNode();return a}function i(l,a){const s=document.createTreeWalker(l,NodeFilter.SHOW_TEXT);return n(s).map(d=>({textNode:d,text:(d.textContent||"").toLocaleLowerCase()})).map(({textNode:d,text:c})=>{const h=[];let p=0;for(;p<c.length;){const y=c.indexOf(a,p);if(y===-1)break;h.push(y),p=y+a.length}return h.map(y=>{const w=new Range;return w.setStart(d,y),w.setEnd(d,y+a.length),w})}).flat()}function o(l){if(!CSS.highlights||(CSS.highlights.clear(),!l||!e))return;const a=i(e.value,l.toLocaleLowerCase()),s=new Highlight(...a);CSS.highlights.set("search-result",s)}return{search:o}}function Ut(t,e,n,i,o,l,a,s,f,u){const m=r.ref(t.size),d=r.ref(t.textField),c=r.ref(t.titleField),h=r.ref(t.disableField),p=r.computed(()=>{var S,P;return((S=t.selection)==null?void 0:S.multiSelect)&&((P=t.selection)==null?void 0:P.showCheckbox)}),{onMouseenterItem:y,onMouseoverItem:w,onMouseoutItem:F}=l,{getKey:x,listViewItemClass:M,listViewItemStyle:_,onCheckItem:v,onClickItem:C}=a,g=r.computed(()=>{const S={"text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"};return t.itemClass?S:{margin:m.value==="small"?"0.25rem 0":"8px 0",...S}});function b(S,P,B){return S.checked=s.findIndexInSelectedItems(S)>-1,r.createVNode("li",{class:M(S,P),id:x(S,P),key:x(S,P),style:_(S,P),onClick:E=>C(S,P,E),onMouseenter:E=>y(E,S,P),onMouseover:E=>w(E,S,P),onMouseout:E=>F(E,S,P)},[p.value&&r.createVNode("div",{class:"f-list-select",onClick:E=>E.stopPropagation()},[r.createVNode(wt.FCheckbox,{id:"list-"+x(S,P),customClass:"listview-checkbox float-left",disabled:S[h.value],checked:S.checked,"onUpdate:checked":E=>S.checked=E,onChange:E=>{v(S,P,!E.checked)}},null)]),r.createVNode("div",{class:"f-list-content"},[r.createVNode("div",{class:t.itemContentClass,style:g.value,title:S.raw[c.value]||S.raw[d.value]},[S.raw[d.value]])])])}return{renderItem:b}}function Gi(t,e,n,i,o,l,a,s,f,u){const m=r.ref(t.multiSelect),d=r.ref(t.disableField),c=r.ref(t.textField),{onMouseenterItem:h,onMouseoverItem:p,onMouseoutItem:y}=l,{getKey:w,listViewItemClass:F,listViewItemStyle:x,onCheckItem:M,onClickItem:_}=a;function v(g,b,S){return t.contentTemplate?r.createVNode(r.Fragment,null,[t.contentTemplate({item:g.raw,index:b,selectedItem:S})]):e.slots.content?r.createVNode(r.Fragment,null,[e.slots.content&&e.slots.content({item:g.raw,index:b,selectedItem:S})]):r.createVNode("div",{style:"margin: 10px 0;"},[g.raw[c.value||"name"]])}function C(g,b,S){return r.createVNode("li",{class:F(g,b),id:w(g,b),key:w(g,b),style:x(g,b),onClick:P=>_(g,b,P),onMouseenter:P=>h(P,g,b),onMouseover:P=>p(P,g,b),onMouseout:P=>y(P,g,b)},[m.value&&r.createVNode("div",{class:"f-list-select",onClick:P=>P.stopPropagation()},[r.createVNode(wt.FCheckbox,{id:"list-"+w(g,b),customClass:"listview-checkbox",disabled:g[d.value],checked:g.checked,"onUpdate:checked":P=>g.checked=P,onChange:P=>M(g,b,!P.checked)},null)]),r.createVNode("div",{class:"f-list-content"},[v(g,b,S)])])}return{renderItem:C}}function Ui(t,e,n,i,o,l,a,s,f,u){const m=r.ref(t.multiSelect),d=r.ref(t.disableField),c=r.ref(t.textField),{onMouseenterItem:h,onMouseoverItem:p,onMouseoutItem:y}=l,{getKey:w,listViewItemClass:F,onCheckItem:x,onClickItem:M}=a,{dragstart:_,dragenter:v,dragover:C,dragend:g}=i,{removeItem:b}=f,S=r.computed(()=>({margin:m.value?"10px 0":"10px 0px 10px 14px"}));function P(T,V=""){const H=T.target;H.title=H.scrollWidth>H.clientWidth?V:""}function B(T){return r.createVNode("div",{style:S.value,onMouseenter:V=>P(V,T.raw[c.value||"name"])},[T.raw[c.value||"name"]])}function E(){return e.slots.itemContent?e.slots.itemContent:B}const N=E();function k(T,V,H){return r.createVNode("li",{class:F(T,V),id:w(T,V),key:w(T,V),onClick:I=>M(T,V,I),onMouseenter:I=>h(I,T,V),onMouseover:I=>p(I,T,V),onMouseout:I=>y(I,T,V),draggable:"true",onDragstart:I=>_(I,T,V),onDragenter:I=>v(I,V),onDragend:I=>g(I,T),onDragover:I=>C(I)},[m.value&&r.createVNode("div",{class:"f-list-select",onClick:I=>I.stopPropagation()},[r.createVNode(wt.FCheckbox,{id:"list-"+w(T,V),customClass:"listview-checkbox",disabled:T[d.value]||!T.checked,checked:T.checked,"onUpdate:checked":I=>T.checked=I,onChange:I=>x(T,V,!I.checked)},null)]),r.createVNode("div",{class:"f-list-content"},[N(T)]),r.createVNode("div",{class:"f-list-remove",onClick:I=>{I.stopPropagation(),b(V)}},[r.createVNode("div",{class:"f-list-remove-icon"},[r.createVNode("i",{class:"f-icon f-icon-remove_face"},null)])]),r.createVNode("div",{class:"f-list-handle"},[r.createVNode("div",null,[r.createVNode("i",{class:"f-icon f-icon-drag-vertical"},null)])])])}return{renderItem:k}}function Di(t,e,n,i,o,l,a,s,f,u){var w;const m=r.ref(((w=t.group)==null?void 0:w.groupFields)||[]),{collpaseGroupIconClass:d}=o,{toggleGroupRow:c}=u;function h(F,x){x.collapse=!x.collapse,n.value=c(x.collapse?"collapse":"expand",x,n.value)}function p(F,x,M){return e.slots.group?r.createVNode(r.Fragment,null,[e.slots.content&&e.slots.group({item:F.raw,index:x,selectedItem:M})]):r.createVNode("div",{class:"f-navlookup-recentHeader",onClick:_=>h(_,F)},[r.createVNode("div",{class:"fv-grid-group-row-icon"},[r.createVNode("span",{class:d(F)},null)]),r.createVNode("div",{class:"f-navlookup-recommandLabel"},[F.raw[m.value[F.layer]]])])}function y(F,x,M){return F.layer>-1&&p(F,x,M)}return{renderItem:y}}function Yi(t,e,n,i){const{dataView:o}=n,{updateSelectedItems:l}=i;function a(s){if(s>-1&&s<o.value.length){if(t!=null&&t.checkBeforeRemoveItem&&!t.checkBeforeRemoveItem(o.value[s]))return;const f=o.value.splice(s,1);l(),e.emit("removeItem",f[0])}}return{removeItem:a}}function Xi(t,e,n,i,o,l,a,s,f,u){const m=r.ref(t.view),d=r.ref(t.view==="CardView"),c=r.ref({}),h=Yi(t,e,i,f),p=r.computed(()=>({"f-list-view-group":!0,"f-list-view-group-multiselect":t.multiSelect,"d-flex":d.value,"flex-wrap":d.value})),y=r.computed(()=>!!n.value&&n.value.length>0),w=r.computed(()=>n.value.length===0);r.computed(()=>w.value&&!e.slots.empty);function F(){return m.value==="SingleView"?Ut:m.value==="DraggableView"?Ui:(m.value==="ContentView"||m.value==="CardView")&&(t.contentTemplate||e.slots.content)?Gi:Ut}const x=F(),{renderItem:M}=x(t,e,n,u,o,l,f,a,h,s),{renderItem:_}=Di(t,e,n,u,o,l,f,a,h,s),v=[M,_];function C(){return n.value.filter(S=>S.visible!==!1).map((S,P)=>v[S.type](S,P,c))}function g(){return r.createVNode("div",{class:"f-list-view-emptydata",style:"margin: 0 auto;"},[r.createVNode("p",{class:"f-empty-title"},[t.emptyTemplate?t.emptyTemplate():e.slots.empty?e.slots.empty():je.LocaleService.getLocaleValue("listView.emptyMessage")])])}function b(){return r.createVNode("ul",{class:p.value,style:"list-style: none;"},[y.value&&C(),w.value&&g()])}return{renderListArea:b}}function Zi(t,e,n){function i(){return e.slots.header&&r.createVNode("div",{class:"f-list-view-header"},[e.slots.header()])}return{renderHeader:i}}function Dt(t,e,n){const i=r.ref(t.headerClass),o=r.ref(t.placeholder),l=r.ref(""),a=r.computed(()=>!l.value),s=r.computed(()=>!!l.value);function f(c){l.value=""}r.watch(l,c=>{t.enableHighlightSearch&&n.search(c),e.emit("afterSearch",c)});const u=r.computed(()=>{const c={"form-group":!0,"farris-form-group":!0};return i.value&&i.value.split(" ").reduce((p,y)=>(p[y]=!0,p),c),c});function m(c){}function d(){return r.createVNode("div",{class:"f-list-view-header",onClick:r.withModifiers(()=>m,["prevent","stop"])},[r.createVNode("div",{class:u.value},[r.createVNode("div",{class:"farris-input-wrap"},[r.createVNode("div",{class:"f-cmp-inputgroup"},[r.createVNode("div",{class:"input-group f-state-editable"},[r.withDirectives(r.createVNode("input",{class:"form-control f-utils-fill text-left","onUpdate:modelValue":c=>l.value=c,name:"input-group-value",type:"text",placeholder:o.value,autocomplete:"off"},null),[[r.vModelText,l.value]]),r.createVNode("div",{class:"input-group-append"},[s.value&&r.createVNode("span",{class:"input-group-text input-group-clear",onClick:c=>f()},[r.createVNode("i",{class:"f-icon f-icon-close-circle"},null)]),a.value&&r.createVNode("span",{class:"input-group-text"},[r.createVNode("span",{class:"f-icon f-icon-search"},null)])])])])])])])}return{renderHeader:d}}function Ji(){const t=r.ref(""),e=r.ref(-1),n=r.ref(""),i=r.ref(-1),o=r.ref(!1);function l(d,c,h){i.value=h}function a(d,c,h){o.value||(i.value=h)}function s(d,c,h){i.value=-1}function f(){o.value=!0}function u(){o.value=!1}function m(){e.value=-1,t.value=""}return{activeIndex:e,focusedItemId:n,hoverIndex:i,clearActiveItem:m,onMouseenterItem:l,onMouseoverItem:a,onMouseoutItem:s,resumeHover:u,suspendHover:f}}function Qi(t,e,n,i){const o=r.ref(t.idField),{dataView:l}=n,a=r.ref(-1),s=r.ref(!1),{activeIndex:f,focusedItemId:u,hoverIndex:m,resumeHover:d,suspendHover:c}=i;let h,p=0,y=0;function w(C,g){const b=C-p,S=g-y;h.style.left=parseInt(h.style.left)+b+"px",h.style.top=parseInt(h.style.top)+S+"px",p=C,y=g}function F(C){const{left:g,top:b}=C.getBoundingClientRect(),S=C.cloneNode(!0);return S.style.cssText=`
2
2
  position:absolute;
3
- left:${h}px;
3
+ left:${g}px;
4
4
  top:${document.documentElement.scrollTop?b+document.documentElement.scrollTop:b}px;
5
5
  z-index: 999999;
6
6
  border: 1px solid #e2e3e5;
@@ -17,14 +17,14 @@
17
17
  `,S.children[0].style.cssText="overflow: hidden;flex: 1 1 auto;width: 100%;",S.children[0].children[0].style.cssText=`
18
18
  margin: 10px 0px 10px 14px;
19
19
  overflow: hidden;text-overflow: ellipsis;white-space: nowrap;
20
- `,S.children[1].style.cssText="width: 30px;color: #f4625f;padding: 0 14px 0 0",S.children[2].style.cssText="padding: 0 14px 0 0;",document.body.appendChild(S),S}function x(C,h,b){if(C.stopPropagation(),c(),h){if(g=F(C.target),C.dataTransfer){const S=new Image;S.src="",C.dataTransfer.setDragImage(S,0,0)}p=C.pageX,y=C.pageY,setTimeout(()=>{a.value=b,s.value=!0,h.moving=!0})}}function M(C,h){if(C.preventDefault(),a.value!==h){const b=l.value[a.value],S=l.value;S.splice(a.value,1),S.splice(h,0,b),a.value=h,w(C.pageX,C.pageY)}}function _(C){C.preventDefault(),C.dataTransfer&&(C.dataTransfer.dropEffect="move"),w(C.pageX,C.pageY)}function v(C,h){h&&(h.moving=!1,g&&(document.body.removeChild(g),g=null)),l.value.forEach((b,S)=>{b.__fv_index__=S}),s.value=!1,d(),m.value=h.raw.__fv_index__,f.value=h.raw.__fv_index__,u.value=h.raw[o.value],e.emit("change",l.value),e.emit("activeChange",[h.raw])}return{dragstart:x,dragenter:M,dragover:_,dragend:v,isDragging:s}}function Ki(t,e,n,i,o,l){const a=r.ref(t.idField),s=r.ref(t.disableField),f=r.ref(t.draggable);r.ref(t.itemClass);const u=r.ref(t.selection.multiSelect??!1),m=r.ref(t.selection.multiSelectMode),{isDragging:d}=i,{activeIndex:c,focusedItemId:g,hoverIndex:p}=o,{clearSelection:y,getSelectedItems:w,toggleSelectItem:F,currentSelectedDataId:x}=l,M=r.ref(w()),_=k=>M.value.length===0?!1:M.value.some(T=>{let V="";return T.data?V=T.data[a.value]:V=T[a.value],V===k});function v(){M.value=w()}function C(k,T){return k.raw[a.value]!=null?k.raw[a.value]:""}function h(k,T){const V={"f-list-view-group-item":!0,"f-list-view-draggable-item":f.value,"f-un-click":!k.checked,"f-un-select":!!k.raw[s.value],"f-listview-active":u.value&&_(C(k))||!u.value&&k.raw[a.value]===x.value,"f-listview-hover":!d.value&&T===p.value,moving:!!k.moving};if(typeof t.itemClass=="string")return D.getCustomClass(V,t.itemClass);if(typeof t.itemClass=="function"){const H=t.itemClass(k);return D.getCustomClass(V,H)}return V}function b(k,T){const V=u.value&&_(C(k))||!u.value&&k.raw[a.value]===x.value,H={};if(V&&(H.backgroundColor="#dae9ff"),typeof t.itemStyle=="string")return D.getCustomStyle(H,t.itemStyle);if(typeof t.itemStyle=="function"){const I=t.itemStyle(k);return D.getCustomStyle(H,I)}return H}const S=r.computed(()=>!u.value);function P(k,T,V){k.checked=V,!k.raw[s.value]&&(S.value&&(g.value=k.raw[a.value]),F(k))}const B=r.computed(()=>u.value&&m.value==="OnCheckClearByClick"),E=r.computed(()=>!u.value||u.value&&(m.value==="OnCheckAndClick"||m.value==="OnClick"));function N(k,T,V){if(k.raw[s.value]){V==null||V.preventDefault(),V==null||V.stopPropagation();return}g.value=k.raw[a.value],c.value=T,B.value&&y(),E.value&&(F(k),v()),e.emit("clickItem",{data:M.value,index:T,dataItem:k.raw}),e.emit("activeChange",M.value)}return{getKey:C,selectedItems:M,listViewItemClass:h,listViewItemStyle:b,updateSelectedItems:v,onCheckItem:P,onClickItem:N}}const Yt=r.defineComponent({name:"FListView",props:zi,emits:["afterSearch","checkValuesChange","clickItem","selectItem","unSelectItem","selectionChange","removeItem","change","activeChange","pageIndexChanged","pageSizeChanged","changed","selectionUpdate"],setup(t,e){const n=r.ref(),i=r.ref(!0),o=r.ref(!1),l=r.ref([]),a=0,s=r.ref(t.columns),f=_e.useFilter(t,e),u=_e.useIdentify(t),m=_e.useHierarchy(t),d=_e.useGroupData(t,u),c=_e.useDataView(t,new Map,f,m,u),g=_e.useSelection(t,c,u,l,e),p=qi(t,n),y=_e.usePagination(t,c),w=r.computed(()=>c.dataView.value.length),F=_e.useRow(t,e,g,u),x=_e.useEdit(t,e,u,F,l),M=_e.useVisualDataBound(t),_=_e.useVisualDataCell(t,{},M),v=_e.useVisualDataRow(t,c,x,m,u,M,_),C=_e.useVisualGroupRow(t,u,_,v),h=_e.useVisualSummaryRow(t,u,_,v),b=_e.useVisualData(t,s,c,w,a,v,C,h),{getVisualData:S}=b;l.value=S(0,w.value+a-1);const P=r.computed(()=>{const re={"f-list-view":!0,"f-list-view-multiple":t.multiSelect};return t.size!=="default"&&(re[`${t.size}-item`]=!0),D.getCustomClass(re,t.customClass)}),B=r.computed(()=>!!e.slots.footer||i.value);function E(){return t.header==="SearchBar"?Dt:t.header==="ContentHeader"?Zi:Dt}const N=E(),{renderHeader:k}=N(t,e,p),T=Ji(),V=Qi(t,e,c,T),H=Ki(t,e,l,V,T,g),{renderListArea:I}=Xi(t,e,l,c,d,T,g,b,H,V);function R(re){p.search(re)}function q(re){re&&(c.load(re),l.value=S(0,w.value+a-1))}function J(){g.clearSelection(),T.clearActiveItem()}function j(){return H.selectedItems.value}function ee(){return H.selectedItems.value.map(re=>re[u.idField.value])}function oe(re){g.selectedValues.value=re,H.updateSelectedItems()}function ce(){return g.currentSelectedDataId.value}function Z(re){F.activeRowById(re)}function L(re){const ve=u.idField.value,Ne=l.value.find(Qe=>Qe.raw[ve]===re),De=l.value.findIndex(Qe=>Qe.raw[ve]===re);Ne&&De>-1&&H.onClickItem(Ne,De)}function W(re){const ve=u.idField.value,Ne=l.value.find(De=>De.raw[ve]===re);Ne&&F.changeRow(Ne)}function G(re){y.updatePagination(re)}function U(re){return l.value.filter(ve=>re.includes(ve.raw[t.idField]))}e.expose({search:R,updateDataSource:q,clearSelection:J,getSelections:j,updateSelectionByIds:oe,getSelectionIds:ee,activeRowById:Z,getCurrentRowId:ce,clickRowItemById:L,updatePagination:G,getVisibleDataByIds:U,selectRowById:W});function ne(re){t.multiSelect&&(re.preventDefault(),re.stopPropagation())}r.watch(()=>t.selectionValues,(re,ve)=>{re!==ve&&oe(re)});const ue=_e.useSidebar(t,g),{sidebarWidth:me,showSidebarCheckBox:ge}=ue,ye=_e.useColumn(t,e),{applyColumnSorter:he,columnContext:Ie,updateColumnRenderContext:Le}=ye,O=_e.useVirtualScroll(t,c,l,Ie,b,w,a,me,x),{shouldRenderPagination:Y}=y,{renderDataGridPagination:Q}=_e.getPagination(t,e,c,O,y,g);return()=>r.createVNode("div",{class:P.value,onClick:ne},[k(),r.createVNode("div",{ref:n,class:"f-list-view-content",onMouseover:()=>{o.value=!0},onMouseleave:()=>{o.value=!1}},[I()]),B.value&&r.createVNode("div",{class:"f-list-view-footer"},[t.footerTemplate?t.footerTemplate():e.slots.footer&&e.slots.footer()])])}}),eo=r.defineComponent({name:"FTransfer",props:Gt,emits:["change","activeChange","selectItem","unSelecteItem","removeItem"],setup(t,e){const n=r.ref(t.identifyField),i=r.ref(t.displayType),o=r.ref(!1),l=r.ref(t.dataSource),a=r.ref(t.textField),s=r.ref(t.selections||[]),f=r.computed(()=>s.value.map(N=>N[n.value])),u=new Map,m=r.ref(),d=r.ref(),c=r.ref();let g;function p(){const N=new Map,k=t.selectionValues||[];k.length&&k.reduce((V,H)=>(V.set(H,!0),V),N);const T=t.selections||[];T.length&&(N.clear(),T.reduce((V,H)=>(V.set(H[n.value],!0),V),N)),s.value.length||(s.value=l.value.filter(V=>N.has(V[n.value])).map(V=>Object.assign({},V))),l.value.forEach(V=>{const H=V[n.value],I=N.has(H);V.checked=I,I&&u.set(H,V)})}p(),r.watch(()=>t.selections,N=>{s.value=N,p()});const y=r.computed(()=>i.value==="List"),w=r.computed(()=>i.value==="Tree");function F(N){const k=Re.cloneDeep(s.value);s.value=N.map(T=>Object.assign({},T)),e.emit("change",s.value,k)}function x(N){e.emit("selectItem",N)}function M(N){e.emit("unSelectItem",N)}function _(){return r.createVNode(Yt,{class:"f-utils-fill",data:l.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:f.value,onSelectionUpdate:F},null)}function v(){return r.createVNode(hn,{ref:c,data:l.value,columns:t.columns,virtualized:t.virtualized,rowOption:t.rowOption,textField:a.value,selection:{enableSelectRow:!0,multiSelect:!0,multiSelectMode:"OnCheckAndClick",showCheckbox:!0,showSelectAll:!1,showSelection:!0},selectionValues:f.value,onSelectionUpdate:F,onSelectItem:x,onUnSelectItem:M},null)}function C(){return r.createVNode("div",{class:"f-utils-fill option-pane d-flex flex-column"},[r.createVNode("div",{class:"f-utils-flex-column option-pane-content f-utils-fill"},[r.createVNode("div",{class:"container columns-box d-flex f-utils-fill"},[y.value&&_(),w.value&&v()])])])}function h(N){const k=N[n.value];if(k!==null||k!==void 0){s.value=s.value.filter(V=>V[n.value]!==k);const T=u.get(k);T&&(T.checked=!1,u.delete(k)),e.emit("change",s.value),e.emit("removeItem",N)}}r.watch(s,N=>{m.value.updateDataSource(Re.cloneDeep(N));const k=g==null?void 0:g[n.value],T=N.find(V=>k===V[n.value]);T?m.value.activeRowById(T[n.value]):(g=null,m.value.activeRowById(""))});function b(N){const k=new Map;s.value.reduce((T,V)=>(T.set(V[n.value],V),T),k),s.value=N.map(T=>k.get(T[n.value])),e.emit("change",s.value)}function S(N){g=N[0],e.emit("activeChange",N)}function P(){var N;return r.createVNode(Yt,{ref:m,columns:t.columns,style:"flex:1",data:s.value,draggable:!0,view:"DraggableView","keep-order":!0,textField:a.value,itemClass:t.selectedItemClass,onChange:b,onRemoveItem:h,onActiveChange:S,checkBeforeRemoveItem:t.checkBeforeRemoveItem},{itemContent:(N=e.slots)!=null&&N.text?k=>{var T;return((T=e.slots)==null?void 0:T.text)&&e.slots.text(k)}:null})}function B(){return r.createVNode("div",{class:"f-utils-fill selection-pane d-flex flex-column"},[r.createVNode("div",{class:"f-utils-flex-column selection-pane-content f-utils-fill"},[r.createVNode("div",{class:"selection-pane-title"},[r.createVNode("span",{class:"selection-title"},[je.LocaleService.getLocaleValue("transfer.selectedStart")]),r.createVNode("span",{class:"selection-count"},[s.value&&s.value.length]),r.createVNode("span",{class:"selection-item-title"},[je.LocaleService.getLocaleValue("transfer.selectedEnd")])]),r.createVNode("div",{class:"container columns-box f-utils-fill d-flex"},[P()])])])}const E=r.computed(()=>({"f-transfer":!0,row:!0,"f-utils-fill":o.value}));return r.onMounted(()=>{d.value&&d.value.parentElement&&getComputedStyle(d.value.parentElement).display==="flex"&&(o.value=!0)}),()=>r.createVNode("div",{ref:d,class:E.value,style:"height:480px"},[e.slots.children?e.slots.children({selections:s.value}):C(),B()])}}),to=r.defineComponent({name:"FGridFieldEditor",props:qt,emits:["change"],setup(t,e){const n=r.ref(t.viewModelId),i=r.inject("designViewModelUtils"),o=r.inject("useFormSchema"),l=r.inject("schemaService"),a=r.inject("controlCreatorUtils"),s=r.inject("designerContext");let f=t.gridData.columns;const{fieldEditable:u}=t.gridData,m=r.ref(`共 ${(f||[]).length} 项`),d=r.ref([]),c=r.ref([]);let g=[];function p(k,T=!0){if(s.checkCanDeleteControl){const V=g.find(H=>{var I;return((I=H.data)==null?void 0:I.id)===k.id});return s.checkCanDeleteControl(V,T)}return!0}const y={customRowStatus:k=>{const T=k.raw;T.type&&T.type.fields&&T.type.fields.length>0&&(k.disabled=!0),p(T,!1)||(k.disabled=!0)}};function w(){if(d.value=[],!f||f.length===0)return[];const k="[绑定字段不存在,待移除]";f.forEach(T=>{if(T.binding&&T.binding.field){const V=g.find(H=>H.data.id===T.binding.field);V?V.data.$type===D.FormSchemaEntityField$Type.ComplexField?d.value.push(Object.assign({isInValidBinding:!0},V.data,{name:V.data.name+k})):d.value.push(Object.assign({},V.data)):d.value.push({id:T.binding.field,name:T.title+k,label:T.field,bindingField:null,isInValidBinding:!0})}}),m.value=`共 ${d.value.length} 项`}function F(k,T=[]){return k&&k.forEach(V=>{if(T.push(V),V.children&&F(V.children,T),s.appendIdentifyForNewControl){const H=f.find(I=>{var R;return((R=I.binding)==null?void 0:R.field)===V.data.id});(!H||H[s.identifyForNewControl])&&s.appendIdentifyForNewControl(V)}}),T}function x(){if(o.designerMode==="PC_RTC"&&l.rtcAddedTreeNodes.value){const k=l.getTableInfoByViewModelId(n.value);if(k!=null&&k.id){const T=l.rtcAddedTreeNodes.value[k.id];T!=null&&T.length&&(c.value=c.value.concat(T))}}}function M(){c.value=i.getAllFields2TreeByVMId(n.value),x(),g=F(c.value)}function _(k,T,V){if(o.getComponents().find(I=>{let R=o.getControlsInCmpWidthBinding(I.viewModel,k);if(R=R.filter(q=>{var j;if(q.id===V)return!1;const J=T.type==="visible"?q[T.type]:(j=q.editor)==null?void 0:j[T.type];if(J&&J.type==="Expression"&&J.expressionId===T.id)return!0}),R.length)return!0}))return!0}function v(k){k.map(T=>{var H;const V=f.find(I=>{var R;return((R=I.binding)==null?void 0:R.field)===T});if(V&&o.getExpressions().length){const I=o.getExpressions(),R=I.findIndex(q=>q.target===T);R>-1&&((H=I[R].rules)==null||H.map(q=>{var J;switch(q.type){case"visible":case"readonly":case"required":{const j=q.type==="visible"?V[q.type]:(J=V.editor)==null?void 0:J[q.type];j&&j.type==="Expression"&&j.expressionId===q.id&&(_(T,q,V.id)||(q.needDelete=!0));break}default:_(T,q,V.id)||(q.needDelete=!0)}}),I[R].rules=I[R].rules.filter(q=>!q.needDelete))}})}function C(){const k=i.getDgViewModel(n.value),T=[],V=[],H=d.value;H.forEach(R=>{const q=f==null?void 0:f.find(J=>{if(J.binding&&J.binding.field)return J.binding.field===R.id});if(q)T.push(q);else{const J=a.setGridFieldProperty(t.gridType,R.data,null,u);k.addField(R),T.push(J)}V.push(R.id)});const I=k.fields.filter(R=>!V.includes(R.id));if(I&&I.length>0){const R=I.map(q=>q.id);k.removeField(R),v(R)}H.length!==d.value.length&&(d.value=H),m.value=`共 ${T.length} 项`,e.emit("change",T)}const h={fitContent:!1,width:900,height:600,title:"列编辑器",draggable:!0,acceptCallback:()=>{C()},rejectCallback:()=>{}};function b(){return t.getLatestGridData?f=t.getLatestGridData().columns:f=t.gridData.columns,M(),w(),Promise.resolve(!0)}function S(k){d.value=[...d.value,k.raw]}function P(k){const T=d.value.findIndex(V=>V.id===k.raw.id);T>-1&&(d.value=[...d.value.slice(0,T),...d.value.slice(T+1)])}function B(k){const T=d.value.findIndex(V=>V.id===k.id);T>-1&&(d.value=[...d.value.slice(0,T),...d.value.slice(T+1)])}function E(k){const T=k[0].__fv_index__,V=d.value.findIndex(I=>I.id===k[0].id),H=d.value.find(I=>I.id===k[0].id);d.value.splice(V,1),d.value.splice(T,0,H)}const N=[{field:"name",title:"",dataType:"string",width:"100%",formatter:(k,T)=>k.data+` [${T.data.bindingField.data}]`},{field:"bindingField",visible:!1,title:"",dataType:"string"}];return r.onMounted(()=>{M()}),()=>r.createVNode(Bi,{"button-behavior":"Modal","modal-options":h,modelValue:m.value,"onUpdate:modelValue":k=>m.value=k,editable:!1,beforeOpen:b},{default:()=>[r.createVNode("div",{class:"f-utils-absolute-all"},[r.createVNode(eo,{selections:d.value,"data-source":c.value,rowOption:y,class:"mx-2",columns:N,displayType:"Tree",onRemoveItem:B,onSelectItem:S,onUnSelectItem:P,onActiveChange:E,checkBeforeRemoveItem:p},{text:k=>r.createVNode("div",{style:"margin: 10px 0px 10px 14px;"},[k.data.name.data,r.createTextVNode(" ["),k.data.bindingField.data,r.createTextVNode("]")])})])]})}}),no={$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",default:"default"}},required:["id","type"],events:{onClickLinkCommand:"超链接事件"}},io={$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}},required:["id","type"]},xt={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:""}},oo=ze.createPropsResolver(xt,no,$t,zt),ro=ze.createPropsResolver(xt,io,$t,zt);function lo(t){const{formSchemaUtils:e,formStateMachineUtils:n}=t;function i(f,u=""){return{path:u+f.code,field:f.id,fullPath:f.code}}function o(f,u=""){return e.getViewModelById(f).states.map(d=>i(d,u))}function l(f){const u=e.getRootViewModelId(),m=o(f);if(f===u)return m;const d=o(u,"root-component.");return[...m,...d]}function a(f){return f.binding&&f.binding.path||f.id||""}function s(){return n&&n.getRenderStates()||[]}return{getVariables:l,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,n)=>({convertFrom:(i,o,l,a)=>{const s=l.getExpressionRuleValue(e,n||o);return s&&s.value||""},convertTo:(i,o,l,a,s)=>{var f;if(o==="dataPicking"&&(l!=null&&l.target)){const u=`${l.target}_dataPicking`;((f=l.rules)==null?void 0:f.some(d=>d.id===u&&d.value))?i.dictPickingExpressionId=u:delete i.dictPickingExpressionId}a.updateExpression(l)}}));this.formSchemaService=e}getExpressionRule(e,n){const i=this.formSchemaService.getExpressions();if(!i)return"";const o=i.find(a=>a.target===e);if(!o)return"";const l=o.rules.find(a=>a.type===n);return l||""}getContextFormVariables(){const{module:e}=this.formSchemaService.getFormSchema();if(!e.viewmodels||e.viewmodels.length===0)return[];const n=this.formSchemaService.getRootViewModelId(),i=this.formSchemaService.getViewModelById(n);if(!i||!i.states||i.states.length===0)return[];const o=[];return i.states.filter(l=>l.category==="remote").forEach(l=>{o.push({key:l.code,name:l.name,description:l.name,category:l.category})}),o}createTreeNode(e,n,i="label"){return{id:e.id,name:e.name,bindingPath:e[i],parents:n,type:"field"}}buildEntityFieldsTreeData(e=null,n){const i=[];return e==null||e.forEach(o=>{var s;const l=this.createTreeNode(o,n);let a=[];(s=o.type)!=null&&s.fields&&(a=this.buildEntityFieldsTreeData(o.type.fields,[...n,o.label])),i.push({data:l,children:a,expanded:!0})}),i}buildChildEntityTreeData(e=null,n){const i=[];return e==null||e.forEach(o=>{var f,u;const l=this.createTreeNode(o,n);l.type="entity";const a=this.buildEntityFieldsTreeData((f=o.type)==null?void 0:f.fields,[...n,o.label]),s=this.buildChildEntityTreeData((u=o.type)==null?void 0:u.entities,[...n,o.label]);s!=null&&s.length&&(a==null||a.push(...s)),i.push({data:l,children:a||[],expanded:!0})}),i}getEntitiesTreeData(){const e=this.formSchemaService.getSchemaEntities();if(!(e!=null&&e.length))return[];const n=e[0];if(!(n!=null&&n.type))return[];const i=this.buildEntityFieldsTreeData(n.type.fields,[n.code]),o=this.buildChildEntityTreeData(n.type.entities,[n.code]);return o!=null&&o.length&&(i==null||i.push(...o)),{entityCode:n.code,fields:[{data:this.createTreeNode(n,[],"code"),children:i||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(e,n,i){const o=i==="Field"?e.binding.field:e.id,l=this.getExpressionRule(o,n),a=this.getEntitiesAndVariables(),s={message:["validate","required","dataPicking"].includes(n)&&l?l.message:"",...a};return l.messageType!=null&&(s.messageType=l.messageType),s}buildRule(e,n,i,o){const{expression:l,message:a,messageType:s}=n,f={id:`${e}_${i}`,type:i,value:l};return(i==="validate"||i==="dataPicking"||i==="required")&&(f.message=a),i==="dataPicking"&&(f.messageType=s),i==="validate"&&o&&(f.elementId=o),f}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,n,i,o){const l=n==="Field"?e.binding.field:e.id,a=this.buildRule(l,i,o,e.type==="form-group"?e.id:"");let f=this.getExpressionData().find(m=>m.targetType===n&&m.target===l);const u=m=>m.value.trim()==="";if(f){const m=f.rules.find(d=>d.id===a.id);if(m)u(a)?f.rules=f.rules.filter(d=>d.id!==a.id):(Object.assign(m,a),o==="validate"&&e.type==="form-group"&&(m.elementId=e.id));else{if(u(a))return null;f.rules=f.rules||[],f.rules.push(a)}}else{if(u(a))return null;f={target:`${l}`,rules:[a],targetType:n}}return f}getExpressionEditorOptions(e,n,i,o){return i.reduce((l,a)=>{var f,u;const s=n==="Field"?(f=e==null?void 0:e.binding)==null?void 0:f.field:e.id;return l[a]={hide:n==="Field"?!!((u=e==null?void 0:e.binding)!=null&&u.field):!1,description:"",title:this.expressionNames[a],type:"string",$converter:this.getExpressionConverter(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,n),onSubmitModal:m=>{const d=this.updateExpression(e,n,m,a);if(o){const c=this.buildRule(s,m,a);o(c)}return d}}},l},{})}getExpressionInfo(e,n,i){const o=n==="Field"?e.binding.field:e.id,l=this.getExpressionRule(o,i),a={value:l&&l.value,targetId:o,targetType:n,expressionType:i};return l&&l.message&&(a.message=l.message),a}getExpressionConfig(e,n,i=["compute","dependency","validate"],o){return{description:"表达式",title:"表达式",hide:!e.binding,properties:{...this.getExpressionEditorOptions(e,n,i,o)}}}getExpressionOptions(e,n,i){const o=this.getExpressionInfo(e,n,i);return{dialogTitle:`${this.expressionNames[i]}编辑器`,singleExpand:!1,showMessage:i==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,i,n),expressionInfo:o}}}class Zt{constructor(e,n){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=n,this.eventsEditorUtils=n.eventsEditorUtils,this.formSchemaUtils=n.formSchemaUtils,this.formMetadataConverter=n.formMetadataConverter,this.viewModelId=((i=this.formSchemaUtils)==null?void 0:i.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=n.designViewModelUtils,this.controlCreatorUtils=n.controlCreatorUtils,this.metadataService=n.metadataService,this.schemaService=n.schemaService,this.designerContext=n.designerContext}getFormDesignerInstance(){var e,n;return(n=(e=this.designerContext)==null?void 0:e.instances)==null?void 0:n.formDesigner.value}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){var i;const n=e.binding&&e.binding.type==="Form"&&e.binding.field;if(n){if(!this.designViewModelField){const o=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=o.fields.find(l=>l.id===n)}e.updateOn=(i=this.designViewModelField)==null?void 0:i.updateOn}}getBasicPropConfig(e){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",idField:"value",editable:!1,data:[{value:e.type,name:A.DgControl[e.type]&&A.DgControl[e.type].name}]}}}}}getAppearanceConfig(e=null,n={},i){const o={title:"外观",description:"Appearance"},l={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"}};for(const a in n)l[a]=Object.assign(l[a]||{},n[a]);return{...o,properties:{...l},setPropertyRelates(a,s){if(a){switch(a&&a.propertyID){case"class":case"style":{A.canvasChanged.value++;break}}i&&i(a,e,s)}}}}getPropertyEditorParams(e,n=[],i="visible",o={},l={},a=""){const{getVariables:s,getControlName:f,getStateMachines:u}=lo(this.designerHostService),m=this.getRealTargetType(e),d=n&&n.length>0?n:["Const","Variable","StateMachine","Expression"],c={type:"property-editor",propertyTypes:d};return d.map(g=>{switch(g){case"Const":Object.assign(c,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},o);break;case"Expression":c.expressionConfig=this.getExpressionOptions(e,m,a||i);break;case"StateMachine":c.stateMachines=u();break;case"Variable":Object.assign(c,{controlName:f(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:s(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:p=>{p.value=s(this.viewModelId)}},l),this.designerContext.designerMode==="PC_RTC"&&(c.newVariablePrefix="ext_"+c.newVariablePrefix);break}}),c}getVisibleProperty(e,n=""){var l;let i=["Const","Variable","StateMachine","Expression"];return n==="gridFieldEditor"?i=["Const","Expression"]:n==="form-group"&&!((l=e.binding)!=null&&l.field)&&(i=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,i,"visible")}}}getBehaviorConfig(e,n="",i={},o){const l={title:"行为",description:""},a=this.getVisibleProperty(e,n);for(const f in i)a[f]=Object.assign(a[f]||{},i[f]);const s=this;return{...l,properties:{...a},setPropertyRelates(f,u){if(f){switch(f.propertyID){case"disabled":case"readonly":case"visible":s.afterMutilEditorChanged(e,f);break}o&&o(f,u)}}}}afterMutilEditorChanged(e,n){this.addNewVariableToViewModel(n,this.viewModelId),this.updateExpressionValue(n),this.clearExpression(n,e)}updateElementByParentContainer(e,n){const i=n&&n.parent&&n.parent.schema;if(!i)return;const o=i.contents.findIndex(a=>a.id===e),l=Re.cloneDeep(i.contents[o]);i.contents.splice(o,1),i.contents.splice(o,0,l),A.refreshCanvas()}addNewVariableToViewModel(e,n){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 n=e.propertyValue;if(!((n&&n.type)==="Expression"&&n.expressionInfo))return;const{expressionId:l,expressionInfo:a}=n,{targetId:s,targetType:f,expressionType:u,value:m,message:d}=a,c=this.formSchemaUtils.getModule();c.expressions=c.expressions||[];const{expressions:g}=c;let p=g.find(w=>w.target===s);p||(p={target:s,rules:[],targetType:f},g.push(p));const y=p.rules.find(w=>w.type===u);if(y)y.value=m,y.message=d;else{const w={id:l,type:u,value:m,message:d};p.rules.push(w)}delete n.expressionInfo}clearExpression(e,n){const i=e.propertyValue;if(i&&i.type==="Expression")return;const l=e.propertyID,a=this.formSchemaUtils.getExpressions(),s=n.binding?n.binding.field:n.id,f=a.find(u=>u.target===s);!f||!f.rules||(f.rules=f.rules.filter(u=>u.type!==l))}getExpressionOptions(e,n,i){return new Xt(this.formSchemaUtils).getExpressionOptions(e,n,i)}getRealTargetType(e){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item"].indexOf(e.type)>-1?"Button":e.binding&&e.binding.field?"Field":"Container"}createBaseEventProperty(e){const n={};return n[this.viewModelId]={type:"events-editor",editor:{initialData:e,viewSourceHandle:i=>{var o;((o=i.controller)==null?void 0:o.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(i)}}},n}}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 ao(t){switch(t){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 so(t){var e;return"请输入正确的"+((e=Jt.find(n=>n.key===t))==null?void 0:e.value)}const co={convertTo:(t,e,n,i)=>{t.editor.formatValidation||(t.editor.formatValidation={type:"none"}),t.editor.formatValidation.type=n,t.editor.formatValidation.expression=ao(n),t.editor.formatValidation.message=so(n)},convertFrom:(t,e,n)=>t.editor.formatValidation?e==="type"?t.editor.formatValidation[e]||"none":t.editor.formatValidation[e]:"none"},Qt={convertTo:(t,e,n,i)=>{t.editor.formatValidation||(t.editor.formatValidation={type:"none"}),t.editor.formatValidation[e]=n},convertFrom:(t,e,n)=>t.editor.formatValidation?t.editor.formatValidation[e]:t.editor[e]};class uo extends He.InputBaseProperty{constructor(e,n){super(e,n)}getPropertyConfig(e,n){return super.getPropertyConfig(e,n),this.propertyConfig.categories.formatValidation=this.getFormatValidation(e),this.propertyConfig}getEditorProperties(e){var i,o;let n;if(((i=e==null?void 0:e.binding)==null?void 0:i.type)==="Form"){const l=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(o=l==null?void 0:l.schemaField)!=null&&o.type&&(n=l.schemaField.type.length)}return this.getComponentConfig(e,{},{maxLength:{description:"文本字数最大长度",title:"最大长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,max:n,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 n;if(((i=e==null?void 0:e.binding)==null?void 0:i.type)==="Form"){const l=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(o=l==null?void 0:l.schemaField)!=null&&o.type&&(n=l.schemaField.type.length)}return this.getComponentConfig(e,{},{maxLength:{description:"文本字数最大长度",title:"最大长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,max:n}}})}getFormatValidation(e){var i,o,l,a;const n={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:co,parentPropertyID:"formatValidation"}}};return(o=e.editor.formatValidation)!=null&&o.type&&((l=e.editor.formatValidation)==null?void 0:l.type)!=="none"&&(n.properties.message={title:"输入错误提示",type:"string",description:"输入错误提示",$converter:Qt,parentPropertyID:"formatValidation"}),((a=e.editor.formatValidation)==null?void 0:a.type)==="custom"&&(n.properties.expression={title:"匹配正则",type:"string",description:"匹配正则",$converter:Qt,parentPropertyID:"formatValidation"}),n}}const dt=class dt{static getEditorTypesByMDataType(e,n=!1,i=""){if(n)return[{key:A.DgControl["language-textbox"].type,value:A.DgControl["language-textbox"].name}];let o=dt.fieldControlTypeMapping[e];if(i==="data-grid-column"&&(o!=null&&o.length)){const l=[A.DgControl["check-group"].type,A.DgControl["radio-group"].type,A.DgControl.image.type];o=o.filter(a=>!l.includes(a.key))}return o}static getAllInputTypes(){const e=[];for(const n in dt.fieldControlTypeMapping)dt.fieldControlTypeMapping[n].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,n){var l;const i=(l=e.editor)==null?void 0:l.type,o=[];return(e.type===A.DgControl["data-grid-column"].type||e.type===A.DgControl["tree-grid-column"].type)&&n&&n.categoryId&&n.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===A.DgControl["input-group"].type||i===A.DgControl.textarea.type||i===A.DgControl["number-spinner"].type)&&o.push({domField:"editor.maxLength",schemaField:"type.length"}),i===A.DgControl["number-spinner"].type&&o.push({domField:"editor.precision",schemaField:"type.precision"}),(e.type===A.DgControl["data-grid-column"].type||e.type===A.DgControl["tree-grid-column"].type)&&o.push({domField:"formatter.precision",schemaField:"type.precision"}),(i===A.DgControl["combo-list"].type||i===A.DgControl["radio-group"].type)&&o.push({domField:"editor.data",schemaField:"type.enumValues"}),(e.type===A.DgControl["data-grid-column"].type||e.type===A.DgControl["tree-grid-column"].type)&&o.push({domField:"formatter.data",schemaField:"type.enumValues"}),i===A.DgControl["date-picker"].type&&(o.push({domField:"editor.displayFormat",schemaField:"editor.format"}),o.push({domField:"editor.fieldType",schemaField:"type.name"})),i===A.DgControl["number-spinner"].type&&(o.push({domField:"editor.max",schemaField:"editor.maxValue"}),o.push({domField:"editor.min",schemaField:"editor.minValue"})),i===A.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===A.DgControl["data-grid-column"].type||e.type===A.DgControl["tree-grid-column"].type)&&o.push({domField:"field",schemaField:"bindingPath"}),o}};ie(dt,"fieldControlTypeMapping",{String:[{key:A.DgControl["input-group"].type,value:A.DgControl["input-group"].name},{key:A.DgControl.lookup.type,value:A.DgControl.lookup.name},{key:A.DgControl.image.type,value:A.DgControl.image.name},{key:A.DgControl["date-picker"].type,value:A.DgControl["date-picker"].name},{key:A.DgControl.switch.type,value:A.DgControl.switch.name},{key:A.DgControl["check-box"].type,value:A.DgControl["check-box"].name},{key:A.DgControl["check-group"].type,value:A.DgControl["check-group"].name},{key:A.DgControl["radio-group"].type,value:A.DgControl["radio-group"].name},{key:A.DgControl["combo-list"].type,value:A.DgControl["combo-list"].name},{key:A.DgControl.textarea.type,value:A.DgControl.textarea.name},{key:A.DgControl["time-picker"].type,value:A.DgControl["time-picker"].name}],Text:[{key:A.DgControl.textarea.type,value:A.DgControl.textarea.name},{key:A.DgControl.lookup.type,value:A.DgControl.lookup.name},{key:A.DgControl.image.type,value:A.DgControl.image.name},{key:A.DgControl["rich-text-editor"].type,value:A.DgControl["rich-text-editor"].name}],Decimal:[{key:A.DgControl["number-spinner"].type,value:A.DgControl["number-spinner"].name}],Integer:[{key:A.DgControl["number-spinner"].type,value:A.DgControl["number-spinner"].name}],Number:[{key:A.DgControl["number-spinner"].type,value:A.DgControl["number-spinner"].name},{key:A.DgControl.switch.type,value:A.DgControl.switch.name},{key:A.DgControl["check-box"].type,value:A.DgControl["check-box"].name}],BigNumber:[{key:A.DgControl["number-spinner"].type,value:A.DgControl["number-spinner"].name}],Date:[{key:A.DgControl["date-picker"].type,value:A.DgControl["date-picker"].name}],DateTime:[{key:A.DgControl["date-picker"].type,value:A.DgControl["date-picker"].name}],Boolean:[{key:A.DgControl.switch.type,value:A.DgControl.switch.name},{key:A.DgControl["check-box"].type,value:A.DgControl["check-box"].name}],Enum:[{key:A.DgControl["combo-list"].type,value:A.DgControl["combo-list"].name},{key:A.DgControl["radio-group"].type,value:A.DgControl["radio-group"].name}],Object:[{key:A.DgControl.lookup.type,value:A.DgControl.lookup.name},{key:A.DgControl["combo-list"].type,value:A.DgControl["combo-list"].name},{key:A.DgControl["radio-group"].type,value:A.DgControl["radio-group"].name}]});let pt=dt;var st=(t=>(t.Form="Form",t.Variable="Variable",t))(st||{});class fo{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 mo(t){let e,n;const i=new Map;let o=[];function l(m,d){const g=m.split(" ").filter(x=>x.startsWith("col-"));if(g.length===0){d.isSupportedClass=!1;return}let p=g.find(x=>/^col-([1-9]|10|11|12)$/.test(x)),y=g.find(x=>/^col-md-([1-9]|10|11|12)$/.test(x)),w=g.find(x=>/^col-xl-([1-9]|10|11|12)$/.test(x)),F=g.find(x=>/^col-el-([1-9]|10|11|12)$/.test(x));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),w=w||"col-xl-"+d.columnInMD,d.columnInLG=parseInt(w.replace("col-xl-",""),10),d.displayWidthInLG=d.columnInLG/3,[1,2,3,4].includes(d.displayWidthInLG)||(d.isSupportedClass=!1),F=F||"col-el-"+d.columnInLG,d.columnInEL=parseInt(F.replace("col-el-",""),10),d.displayWidthInEL=d.columnInEL/2,[1,2,3,4,5,6].includes(d.displayWidthInEL)||(d.isSupportedClass=!1)}function a(m,d,c,g=!1){let p=!1;m.contents.forEach(y=>{if(y.type==="fieldset"){c+=1,a(y,d,c,!0),p=!0;return}p&&(c+=1,p=!1);const w=y.appearance&&y.appearance.class,F=new fo;w?l(w,F):F.isSupportedClass=!1,F.label=y.label||y.id,F.id=y.id,F.group=c,g&&(F.fieldSetId=m.id),n===y.id&&(e=c),i.set(y.id,y),d.push(F)})}function s(m){const d=t.getComponentById(m);if(!d||!d.componentType||!d.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const c=t.selectNode(d,g=>g.type===A.DgControl["response-form"].type);return!c||!c.contents||c.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:c}}function f(m,d){d=d||m.id;const{result:c,message:g,formNode:p}=s(d);if(!c)return{result:c,message:g};n=m.id,o=[],i.clear();const y=p.contents[0].type===A.DgControl.fieldset.type?0:1;a(p,o,y);const w=o.find(x=>!x.isSupportedClass);return{defaultState:{defaultGroupNumber:e||1,model:w?"customize":"standard"},importData:o}}function u(m,d){d=d;const{result:c,formNode:g}=s(d);if(!c)return"";const p=[];return m.forEach(y=>{var x;const w=i.get(y.id),F=w.appearance&&w.appearance.class;if(F){const _=F.split(" ").filter(P=>!P.startsWith("col-")),v="col-"+y.columnInSM,C="col-md-"+y.columnInMD,h="col-xl-"+y.columnInLG,b="col-el-"+y.columnInEL,S=[v,C,h,b].concat(_);w.appearance.class=S.join(" ")}if(y.fieldSetId){const M=g.contents.find(v=>v.id===y.fieldSetId),_=p.find(v=>v.id===y.fieldSetId);_?(x=_.contents)==null||x.push(w):(p.push(M),M.contents=[w])}else p.push(w)}),g.contents=p,g.id}return{checkCanFindFormNode:s,checkCanOpenLayoutEditor:f,changeFormControlsByResponseLayoutConfig:u,getResonseFormLayoutConfig:a}}class yt extends Zt{constructor(n,i){super(n,i);ie(this,"responseLayoutEditorFunction");ie(this,"bindingVarible");ie(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});this.responseLayoutEditorFunction=mo(this.formSchemaUtils)}getCommonPropertyConfig(n,i,o="Card"){this.propertyConfig.categories.basic=this.getBasicProperties(n,i,o),this.propertyConfig.categories.appearance=this.getAppearanceProperties(n,i),this.propertyConfig.categories.behavior=this.getBehaviorConfig(n,"form-group")}getPropertyConfig(n,i){return this.getCommonPropertyConfig(n,i,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(n),this.propertyConfig.categories.expressions=this.getExpressionConfig(n,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(n),this.propertyConfig}getGridFieldEdtiorPropConfig(n,i){return this.propertyConfig.categories={},this.getCommonPropertyConfig(n,i,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(n):this.propertyConfig.categories.editor=this.getEditorProperties(n),this.propertyConfig.categories.expressons=this.getExpressionConfig(n,"Field"),this.propertyConfig.categories}getBasicProperties(n,i,o="Card"){var u;const l=this;this.setDesignViewModelField(n);const{canChangeControlType:a,editorTypeList:s}=this.getAvailableEditorType(n),f={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:((u=n.editor)==null?void 0:u.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:n,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!n.isRtcControl}},setPropertyRelates(m,d,c){if(m)switch(m&&m.propertyID){case"type":{l.changeControlType(n,m,i);break}case"label":{m.needRefreshControlTree=!0;break}case"binding":{l.changeBindingField(n,m,c);break}}}};return o.toLocaleLowerCase()!=="card"&&delete f.properties.showLabelType,f}checkCanChangeControlType(n,i){if(!n.binding)return!1;if(n.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(n.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==D.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(n){var l;const i=this.checkCanChangeControlType(n,this.viewModelId);if(!i)return{canChangeControlType:!1,editorTypeList:[{key:n.editor.type,value:((l=A.DgControl[n.editor.type])==null?void 0:l.name)||n.editor.type}]};let o=[];return this.designViewModelField&&this.designViewModelField.$type===D.FormSchemaEntityField$Type.SimpleField?o=pt.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(o=pt.getEditorTypesByMDataType(this.bindingVarible.type,this.designViewModelField.multiLanguage)),{canChangeControlType:i,editorTypeList:o}}changeBindingField(n,i,o){i.needRefreshEntityTree=!0}getAppearanceProperties(n,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(n,o.componentId)}}},setPropertyRelates(l,a){if(l)switch(l&&l.propertyID){case"responseLayout":o.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(l.propertyValue,o.componentId||n.id),o.updateUnifiedLayoutAfterResponseLayoutChanged(o.componentId),o.updateElementByParentContainer(n.id,i),delete n.responseLayout;break;case"class":o.updateUnifiedLayoutAfterControlChanged(l.propertyValue,n.id,this.componentId),A.canvasChanged.value++;break;case"style":{A.canvasChanged.value++;break}}}}}getEditorProperties(n){return this.getComponentConfig(n)}changeControlType(n,i,o){const l=i.propertyValue,a=o&&o.parent&&o.parent.schema;if(!a)return;const s=a.contents.findIndex(m=>m.id===n.id);if(s===-1)return;const f=a.contents[s];let u;if(this.designViewModelField){const c=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(p=>p.id===this.designViewModelField.id).fieldSchema||{};c.editor||(c.editor={}),c.editor.$type=l,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,c,!1),u=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,l)}u||(u=this.controlCreatorUtils.createFormGroupWithoutField(l)),Object.assign(u,{id:f.id,appearance:f.appearance,size:f.size,label:f.label,binding:f.binding}),Object.prototype.hasOwnProperty.call(f,"visible")&&Object.assign(u,{visible:f.visible}),f.editor&&["readonly","required","placeholder"].map(m=>{Object.prototype.hasOwnProperty.call(f.editor,m)&&(u.editor[m]=f.editor[m])}),o!=null&&o.updateContextSchema?o.updateContextSchema(u):(o.schema=Object.assign(f,u),Object.assign(n,u)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(m=>m.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(m=>m.classList.remove("dgComponentFocused")),A.canvasChanged.value++,r.nextTick(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}getComponentConfig(n,i={},o={},l){var c,g;const a=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},i),s=(c=n.binding)!=null&&c.field?[]:["Const","Variable","StateMachine"],f=this.getPropertyEditorParams(n,s,"readonly"),u=this.getPropertyEditorParams(n,s,"required"),m={readonly:{description:"",title:"只读",editor:f},required:{description:"",title:"必填",type:"boolean",editor:u,visible:!!((g=n.binding)!=null&&g.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const p in o)m[p]=Object.assign(m[p]||{},o[p]);const d=this;return{...a,properties:{...m},setPropertyRelates(p,y){if(p){switch(p.propertyID){case"readonly":case"required":d.afterMutilEditorChanged(n,p);break}l&&l.bind(d)(p,n,y)}}}}updateUnifiedLayoutAfterControlChanged(n,i,o){const l=n.split(" ");let a=l.find(d=>/^col-([1-9]|10|11|12)$/.test(d)),s=l.find(d=>/^col-md-([1-9]|10|11|12)$/.test(d)),f=l.find(d=>/^col-xl-([1-9]|10|11|12)$/.test(d)),u=l.find(d=>/^col-el-([1-9]|10|11|12)$/.test(d));a=a||"col-12",s=s||"col-md-"+a.replace("col-",""),f=f||"col-xl-"+s.replace("col-md-",""),u=u||"col-el-"+f.replace("col-xl-","");const m={id:i,columnInSM:parseInt(a.replace("col-",""),10),columnInMD:parseInt(s.replace("col-md-",""),10),columnInLG:parseInt(f.replace("col-xl-",""),10),columnInEL:parseInt(u.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(o,m)}updateUnifiedLayoutAfterResponseLayoutChanged(n,i){const{formNode:o}=this.responseLayoutEditorFunction.checkCanFindFormNode(n);if(!o||!o.unifiedLayout)return;const l=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(o,l,1),i){const p=l.find(y=>y.id===i.id);Object.assign(p||{},i)}const a=l.map(p=>p.columnInSM),s=l.map(p=>p.columnInMD),f=l.map(p=>p.columnInLG),u=l.map(p=>p.columnInEL),m=this.checkIsUniqueColumn(a)?a[0]:null,d=this.checkIsUniqueColumn(s)?s[0]:null,c=this.checkIsUniqueColumn(f)?f[0]:null,g=this.checkIsUniqueColumn(u)?u[0]:null;Object.assign(o.unifiedLayout,{uniqueColClassInSM:m,uniqueColClassInMD:d,uniqueColClassInLG:c,uniqueColClassInEL:g})}checkIsUniqueColumn(n){const i=new Set(n);return Array.from(i).length===1}getItemCollectionEditor(n,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(n)}}}checkEnumDataReadonly(n){return!n.binding||n.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===D.FormSchemaEntityFieldType$Type.EnumType)}appendFieldValueChangeEvents(n,i){n.binding&&n.binding.type===st.Form&&n.binding.field?(i.find(o=>o.label==="fieldValueChanging"),i.find(o=>o.label==="fieldValueChanged"),this.designViewModelField&&(n.fieldValueChanging=this.designViewModelField.valueChanging,n.fieldValueChanged=this.designViewModelField.valueChanged)):i=i.filter(o=>o.label!=="fieldValueChanging"&&o.label!=="fieldValueChanged")}getControlMethodType(n){if(!n.binding)return n.type;switch(n.binding.type){case st.Form:return n.binding.path||n.type;case st.Variable:return n.binding.fullPath||n.type}return n.type}getEventPropertyConfig(n,i="card",o,l){const a=this;let s=[];o&&(s=s.concat(o)),this.appendFieldValueChangeEvents(n,s);const f=a.eventsEditorUtils.formProperties(n,a.viewModelId,s);return{title:"事件",hideTitle:!0,properties:a.createBaseEventProperty(f),tabId:"commands",tabName:"交互",setPropertyRelates(d,c){const g=d.propertyValue;delete n[a.viewModelId],g&&(g.setPropertyRelates=this.setPropertyRelates,g.controlInfo={type:a.getControlMethodType(n),name:n.title},a.eventsEditorUtils.saveRelatedParameters(n,a.viewModelId,g.events,g)),l&&l(d,c,g);const p=a.designViewModelUtils.getDgViewModel(a.viewModelId);p&&a.designViewModelField&&p.changeField(a.designViewModelField.id,{valueChanging:n.fieldValueChanging,valueChanged:n.fieldValueChanged})}}}getExpressionConfig(n,i,o=["compute","dependency","validate"],l){return new Xt(this.formSchemaUtils).getExpressionConfig(n,i,o,l)}getBindingDataType(){return this.designViewModelField?this.designViewModelField.type.name==="Number"?"number":this.designViewModelField.type.name==="String"?"string":"boolean":"boolean"}getEditor(){return this.getBindingDataType()==="number"?this.numberEditorOptions:{}}updatePropertyValue(n,i,o){var l;n.editor[i]!==o?n.editor[i]=o:(l=this.getFormDesignerInstance())==null||l.reloadPropertyPanel()}setBooleanValue(n,i,o){let l=o;this.getBindingDataType()==="string"&&(l=(l||"").trim()||(i==="trueValue"?"true":"false"));const s=i==="trueValue"?"falseValue":"trueValue";n.editor[s]===l&&(l=l+1),this.updatePropertyValue(n,i,l)}getBooleanValueConverter(){return{convertFrom:(n,i)=>n.editor[i],convertTo:(n,i,o)=>{this.setBooleanValue(n,i,o)}}}}class po extends yt{constructor(e,n){super(e,n)}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 ho extends He.InputBaseProperty{constructor(e,n){super(e,n)}getEditorProperties(e){const n=this;return n.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",...n.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,l)=>{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 go extends He.InputBaseProperty{constructor(e,n){super(e,n)}getEditorProperties(e){var n,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:((n=this.designViewModelField)==null?void 0:n.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()},falseValue:{description:"未选中的值",title:"未选中的值",type:this.getBindingDataType(),visible:((i=this.designViewModelField)==null?void 0:i.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()}})}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;if(e.editor&&((l=o==null?void 0:o.type)!=null&&l.name)){let a,s;o.type.name===D.FormSchemaEntityFieldTypeName.String&&(a="true",s="false"),o.type.name===D.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:(t,e)=>(t.editor.remote||{})[e],convertTo:(t,e,n)=>{t.editor.remote=t.editor.remote||{},t.editor.remote[e]=n}};class yo extends He.InputBaseProperty{constructor(e,n){super(e,n)}getCommonEditorProperties(e){var n,i,o;return{viewType:{visible:!!((n=e.editor)!=null&&n.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 l,a;const n=this;let i="";if(((l=e==null?void 0:e.binding)==null?void 0:l.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 n.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",...n.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,f)=>{if(!s||!f.editor)return;const u=this;switch(s.propertyID){case"dataSourceType":{s.propertyValue==="static"?(f.editor.valueField="value",f.editor.textField="name",f.editor.remote=null):s.propertyValue==="dynamic"&&(f.editor.remote={method:"GET"},f.editor.valueField="value",f.editor.textField="name");break}case"data":{!u.checkEnumDataReadonly(f)&&f.formatter&&(f.formatter.data=[...s.propertyValue]);break}case"viewType":s.propertyValue==="tag"&&(f.editor.editable=!1)}})}getGridFieldEdtiorProperties(e,n){var a,s,f,u,m,d;const i=this;let o="";if(((a=e==null?void 0:e.binding)==null?void 0:a.type)==="Form"){const c=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(s=c==null?void 0:c.schemaField)!=null&&s.type&&(o=c.schemaField.type.$type)}return i.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:!((f=e.editor)!=null&&f.dataSourceType)||((u=e.editor)==null?void 0:u.dataSourceType)==="static",...i.getItemCollectionEditor(e,(m=e.editor)==null?void 0:m.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)},(c,g)=>{if(!c||!g.editor)return;const p=this;switch(c.propertyID){case"dataSourceType":{c.propertyValue==="static"?(g.editor.valueField="value",g.editor.textField="name",g.editor.remote=null):c.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=[...c.propertyValue]);break}}})}setEditorPropertyRelates(e,n,i){if(!e||!n.editor)return;const o=this;switch(e.propertyID){case"dataSourceType":{e.propertyValue==="static"&&(n.editor.valueField="value",n.editor.textField="name",n.editor.remote={});break}case"data":{!o.checkEnumDataReadonly(n)&&n.formatter&&(n.formatter.data=[...e.propertyValue]);break}}}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;e.editor&&((l=o==null?void 0:o.type)==null?void 0:l.$type)===D.FormSchemaEntityFieldType$Type.EnumType&&(e.editor.data=o.type.enumValues||[])}getEventPropertyConfig(e,n="card",i,o){const l=this;let a=[{label:"onChange",name:"值变化事件"},{label:"onClear",name:"清空事件"},{label:"beforeOpen",name:"打开下拉面板前"}];i&&(a=a.concat(i)),this.appendFieldValueChangeEvents(e,a);const s=l.eventsEditorUtils.formProperties(e,l.viewModelId,a);return{title:"事件",hideTitle:!0,properties:l.createBaseEventProperty(s),tabId:"commands",tabName:"交互",setPropertyRelates(m,d){const c=m.propertyValue;delete e[l.viewModelId],c&&(c.setPropertyRelates=this.setPropertyRelates,l.eventsEditorUtils.saveRelatedParameters(e,l.viewModelId,c.events,c)),o&&o(m,d,c);const g=l.designViewModelUtils.getDgViewModel(l.viewModelId);g&&l.designViewModelField&&g.changeField(l.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 vo extends He.InputBaseProperty{constructor(e,n){super(e,n)}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 bo(){let t="zh-CHS";window&&window.top&&window.top.localStorage&&window.top.localStorage.languageCode&&({languageCode:t}=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"}],n=[{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"}],l=[{id:"yyyy",name:"yyyy"}];return t==="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分"}),n.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日"}),l.push({id:"yyyy年",name:"yyyy年"})),t==="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分"}),n.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日"}),l.push({id:"yyyy年",name:"yyyy年"})),{timeFormats:e,yMFormats:i,yMdFormats:n,mdFormats:o,yFormats:l}}const Co=[{id:"yyyy-MM-dd",name:"yyyy-MM-dd"},{id:"yyyy/MM/dd",name:"yyyy/MM/dd"},{id:"MM/dd/yyyy",name:"MM/dd/yyyy"}],wo=[{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"}],So=[{id:"yyyy-MM",name:"yyyy-MM"},{id:"yyyy/MM",name:"yyyy/MM"},{id:"yyyyMM",name:"yyyyMM"}],xo=[{id:"yyyy",name:"yyyy"}],{timeFormats:Mo,yMdFormats:Fo,yMFormats:en,mdFormats:To,yFormats:Mt}=bo();class _o extends He.InputBaseProperty{constructor(e,n){super(e,n)}getDatePickerModes(e){return e==="Date"||e==="DateTime"?[{label:"年月日",value:"day"}]:[{label:"年月日",value:"day"},{label:"年月",value:"month"},{label:"年",value:"year"}]}checkMaxMinDate(e){const{minDate:n,maxDate:i,showTime:o}=(e==null?void 0:e.editor)||{},{parseToDate:l,formatTo:a}=D.useDateFormat();if(i){const s=l(i,"yyyy-MM-dd HH:mm:ss");s&&(e.editor.maxDate=a(s,o?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd"))}if(n){const s=l(n,"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,f,u,m,d,c,g,p,y,w,F,x,M,_,v;const n=this.getDateFormatOptions(e==null?void 0:e.editor),i=this.getValueFormatOptions(e==null?void 0:e.editor),o=(f=(s=this.designViewModelField)==null?void 0:s.type)==null?void 0:f.name,l=this.getDatePickerModes(o),a=this.getExtremeDateFormat(e);return(u=e==null?void 0:e.editor)!=null&&u.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:l}},showWeekNumber:{description:"",title:"显示第几周",type:"boolean",visible:((m=e==null?void 0:e.editor)==null?void 0:m.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:((c=e==null?void 0:e.editor)==null?void 0:c.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:n}},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:((w=e==null?void 0:e.editor)==null?void 0:w.maxDate)||"9999-12-31 23:59:59",showTime:(F=e==null?void 0:e.editor)==null?void 0:F.showTime},refreshPanelAfterChanged:!0},maxDate:{description:"",title:"最大日期",type:"string",editor:{type:"date-picker",enableClear:!0,selectMode:((x=e==null?void 0:e.editor)==null?void 0:x.selectMode)||"day",displayFormat:a,valueFormat:a,minDate:((M=e==null?void 0:e.editor)==null?void 0:M.minDate)||"1900-01-01 00:00:00",maxDate:"9999-12-31 23:59:59",showTime:(_=e==null?void 0:e.editor)==null?void 0:_.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 n,i,o,l;if(((n=e==null?void 0:e.editor)==null?void 0:n.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(((l=e==null?void 0:e.editor)==null?void 0:l.selectMode)==="year")return"yyyy"}getEventPropertyConfig(e){const n=this,i=[{label:"onDatePicked",name:"日期选择后事件"}],o=n.eventsEditorUtils.formProperties(e,n.viewModelId,i);return{title:"事件",hideTitle:!0,properties:n.createBaseEventProperty(o),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,s){const f=a.propertyValue;delete s[n.viewModelId],f&&n.eventsEditorUtils.saveRelatedParameters(s,n.viewModelId,f.events,f);const u=n.designViewModelUtils.getDgViewModel(n.viewModelId);u&&n.designViewModelField&&u.changeField(n.designViewModelField.id,{valueChanging:s.fieldValueChanging,valueChanged:s.fieldValueChanged})}}}setEditorPropertyRelates(e,n,i){if(!(!e||!n.editor))switch(e.propertyID){case"showTime":{const o=n.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"),n.formatter&&(n.formatter.dateFormat=o.displayFormat);break}case"displayFormat":{n.formatter&&(n.formatter.dateFormat=e.propertyValue);break}case"selectMode":{e.propertyValue!=="day"?(n.editor.showWeekNumber=!1,n.editor.showTime=!1,n.editor.enableQuickSelect=!1,e.propertyValue==="month"?(n.editor.displayFormat="yyyy-MM",n.editor.valueFormat="yyyy-MM"):(n.editor.displayFormat="yyyy",n.editor.valueFormat="yyyy")):(n.editor.displayFormat="yyyy-MM-dd",n.editor.valueFormat="yyyy-MM-dd");break}}}getDateFormatOptions(e){const n=e.selectMode||"day";let i=[];switch(n){case"day":{const o=[];e.showTime&&o.push(...Mo),o.push(...Fo,...en,...Mt,...To),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=[...Co];return e.showTime&&(i=[...wo]),i}case"month":return So;case"year":return xo;default:return[]}}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;e.editor&&((l=o==null?void 0:o.type)!=null&&l.name)&&(e.editor.fieldType=o.type.name,o.type.name===D.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 ko=[{value:"both",text:"同步选择"},{value:"up",text:"包含上级"},{value:"down",text:"包含下级"},{value:"disable",text:"仅选择自身"}],Vo="";function vt(t){let e=[10,20,30,50,100];return t&&(typeof t=="string"&&(e=t.replaceAll("[","").replaceAll("]","").replaceAll(" ","").split(",")),Array.isArray(t)&&(e=t)),e.map(n=>({value:parseInt(n,10)})).sort((n,i)=>n.value-i.value)}const be={convertFrom:(t,e)=>{const n=t.editor?t.editor:t;return e==="multiSelect"||e==="enableTitle"?!!n[e]:e==="separator"?n[e]||",":e==="onlySelectLeaf"?n[e]==null?!1:n[e]:e==="loadTreeDataType"?n[e]||"default":e==="placeholder"?Re.isNil(n[e])?"请选择":n[e]:e==="openType"?n[e]||"Modal":n[e]},convertTo:(t,e,n)=>{const i=t.editor?t.editor:t;if(i[e]=n,e==="multiSelect"&&!n&&(i.enableCascade=!1),e==="openType"){if(n==="Popup")i.showSelections=!1,i.enableCascade=!1;else if(i.dialog){const{width:o}=i.dialog,{displayType:l}=i;l&&l.toUpperCase().indexOf("NAV")>-1&&(!o||o<520)&&(i.dialog.width=960)}}i.multiSelect&&i.openType==="Popup"&&(i.editable=!1,i.allowFreeInput=!1)}};function Eo(t){let e="form_group_"+Date.now();return t&&(e=t.replaceAll("-","_").replaceAll(".","_")),"lookup."+e}function Io(t,e){const{enablePager:n,pageSize:i,pageList:o}=e;t.pagination=t.pagination||{},Object.assign(t.pagination,{enable:n,sizeLimits:vt(o).map(l=>l.value),size:i,showLimits:!0,showGoto:!1,mode:"server"})}const tn={convertFrom:(t,e)=>{var i;return(i=(t.editor?t.editor:t).dataSource)==null?void 0:i.displayName},convertTo:(t,e,n)=>{if(n&&n.length>0){const i=t.editor?t.editor:t,o=n[0],{name:l,id:a,metadataContent:s,code:f}=o;i.dataSource||(i.dataSource={}),i.dataSource.displayName=`${l}(${f})`,i.helpId=a;const{displayType:u,idField:m,textField:d}=s;i.displayType=u,i.dataSource.idField=m,i.textField=d,i.dataSource.type="ViewObject",i.enableEqualSearch=!1;const{pageInfo:c}=s.dataSource;Io(i,c);const{treeInfo:g}=u.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=Eo(t.id)),i.dialog){const{width:p}=i.dialog;u&&u.toUpperCase().indexOf("NAV")>-1&&(!p||p<520)&&(i.dialog.width=960)}}}},Po={convertFrom:(t,e)=>{var n;return(n=t.editor.dataSource)==null?void 0:n.idField},convertTo:(t,e,n)=>{if(n&&n.length>0){const i=n[0];t.editor.dataSource.idField=i==null?void 0:i.bindingPath}}},No={convertFrom:(t,e)=>{var n;return(n=t.editor)==null?void 0:n.textField},convertTo:(t,e,n)=>{if(n&&n.length>0){const i=n[0];t.editor.textField=i==null?void 0:i.bindingPath}}},Bo={convertFrom:(t,e)=>t.editor.displayType?t.editor.displayType.toUpperCase():"LIST",convertTo:(t,e,n)=>{t.editor.displayType=n}},Ue={convertFrom:(t,e)=>{var l;let n=t.editor?t.editor.dialog:t.dialog;const i=t.editor?t.editor.openType:t.openType;if(n||(n={}),e==="title")return n[e]||Vo;if(!i||i==="Modal"){if(e==="width")return(l=n.displayType)!=null&&l.toUpperCase().startsWith("NAV")?n[e]||960:n[e]||590;if(e==="height")return n[e]||620;if(e==="navigatorWidth")return n[e]||320}else{if(e==="width")return n[e]||460;if(e==="height")return n[e]||380}if(e==="draggable")return!0;if(["showMaxButton","showCloseButton","resizeable","enableEsc","rememberSize"].includes(e))return n[e]==null?!0:n[e]},convertTo:(t,e,n)=>{const i=t.editor?t.editor:t;i.dialog=i.dialog||{},i.dialog[e]=n}},Oo={convertFrom:(t,e)=>{const n=t.editor?t.editor:t;if(n.pagination=n.pagination||{},e==="enable"||e==="showLimits")return n.pagination[e]==null?!1:n.pagination[e];if(e==="sizeLimits"){const i=n.pagination[e];return vt(i)}if(e==="size")return n.pagination[e]||20},convertTo:(t,e,n)=>{var o;const i=t.editor?t.editor.pagination||{}:t;if(i.pagination=i.pagination||{},e==="sizeLimits"){const l=n.map(s=>s.value);i.pagination[e]=l;const a=((o=i.pagination)==null?void 0:o.size)??20;l.includes(a)||(i.pagination.size=l[0]);return}i.pagination[e]=n}},nn=[{label:"clear",name:"清空事件"},{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],jo=Symbol("schema_repository_token");function Ro(t,e){const n=i=>i&&i.length?i.map(o=>`${o.name}[${o.bindingPath}]`).join(","):"";return{dataSourceEditor:{type:"schema-selector",title:"选择数据源",editorParams:{propertyData:t,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:jo},dataSourceConverter:tn,defaultConverter:be,idFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",disabled:!1,editorParams:{propertyData:t,formBasicInfo:e.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:gt.FieldSelectorRepositoryToken},textFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",editorParams:{propertyData:t,formBasicInfo:e.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:gt.FieldSelectorRepositoryToken},mappingFieldsEditor:{type:"mapping-editor",modalWidth:800,modalHeight:600,editable:!1,editorParams:{propertyData:t,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:gt.FieldSelectorRepositoryToken,displayFormatter:n},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(l=>l.data.bindingPath!==o):i},formatter:(i,o)=>`${o.raw.name} [${o.raw.bindingPath}]`,displayFormatter:n}}}}function Ao(t){var l,a;const e={type:"combo-list",enableClear:!1,editable:!1},n={type:"number-spinner",useThousands:!1},i=()=>t.displayType?t.displayType.toUpperCase():"",o=()=>i().startsWith("NAV")?t.showNavigation===void 0?!0:!!t.showNavigation:!1;return{openType:{description:"窗口展示方式:弹出窗口、下拉面板",title:"打开方式",type:"string",refreshPanelAfterChanged:!0,$converter:be,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:t.openType!=="Popup",$converter:Ue},width:{description:"窗口宽度,单位:px,最小值:300px",title:"宽度",type:"number",editor:{...n,min:o()?520:300,needValid:!0},$converter:Ue},height:{description:"窗口高度,单位:px,最小值:200px",title:"高度",type:"number",editor:{...n,min:200,needValid:!0},$converter:Ue},showNavigation:{description:"显示导航栏",$converter:be,refreshPanelAfterChanged:!0,title:"显示导航栏",type:"boolean",visible:i().includes("NAV")&&t.openType!=="Popup"},navigatorWidth:{description:"导航栏宽度,最小200px, 最大为窗口宽度减去200px",title:"导航栏宽度",type:"number",visible:o()&&t.openType!=="Popup",editor:{...n,min:200,max:(((l=t==null?void 0:t.dialog)==null?void 0:l.width)??960)-200,needValid:!0},$converter:Ue},resizeable:{description:"允许鼠标拖拽窗口边缘调整尺寸",title:"允许调整窗口尺寸",type:"boolean",visible:t.openType!=="Popup",$converter:Ue},rememberSize:{description:"记录窗口尺寸",title:"记录窗口尺寸",type:"boolean",visible:!!t.enableUserData&&(((a=t==null?void 0:t.dialog)==null?void 0:a.resizeable)??!0)&&t.openType!=="Popup",$converter:Ue},enableEsc:{description:"允许ESC关闭",title:"允许ESC关闭",type:"boolean",visible:t.openType!=="Popup",$converter:Ue},showMaxButton:{description:"显示最大化按钮",title:"显示最大化按钮",type:"boolean",visible:t.openType!=="Popup",$converter:Ue},showCloseButton:{description:"显示关闭按钮",title:"显示关闭按钮",type:"boolean",visible:t.openType!=="Popup",$converter:Ue}}}function Ho(t,e=!0){var l,a,s,f;const n=!((l=t.pagination)!=null&&l.enable),i=()=>t.displayType?t.displayType.toUpperCase():"",o=(u,m)=>{const d=i()!=="TREELIST"||u.treeToList;return m&&d?u.pagination&&u.pagination[m]:d};return{hide:i()==="TREELIST"||!t.helpId||n,description:"分页配置",title:"分页",parentPropertyID:"pagination",$converter:Oo,properties:{showLimits:{description:"显示每页条数选择器",title:"显示条数选择器",type:"boolean",refreshPanelAfterChanged:e,visible:o(t)},sizeLimits:{description:"每页可显示条数",title:"每页显示条数",type:"array",refreshPanelAfterChanged:e,visible:o(t,"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:vt((a=t.pagination)==null?void 0:a.sizeLimits),beforeSubmit:({notifyService:u,data:m})=>!m||!m.length?(u==null||u.warning({message:"每页显示条数不能为空!"}),!1):new Set(m.map(c=>parseInt(c.value,10))).size===m.length?!0:(u==null||u.warning({message:"每页显示条数不能重复!"}),!1)}},size:{description:"默认显示条数",title:"默认显示条数",type:"number",visible:o(t),editor:{type:"combo-list",enableClear:!1,editable:!1,data:vt((s=t.pagination)==null?void 0:s.sizeLimits),textField:"value",idField:"value",valueField:"value",modelValue:(f=t.pagination)==null?void 0:f.size}}}}}class Lo extends He.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(n,i){const o=["validate"];return n.type==="form-group"&&o.push("dataPicking"),new He.ExpressionProperty(this.formSchemaUtils).getExpressionConfig(n,"Field",o)}getPropertyConfig(n,i,o="Card"){var F;const l=(F=n.binding)!=null&&F.field?[]:["Const","Variable","StateMachine"];this.readonlyEditor=this.getPropertyEditorParams(n,l,"readonly"),this.visibleEditor=this.getPropertyEditorParams(n,l,"visible"),this.requiredEditor=this.getPropertyEditorParams(n,l,"required"),this.freeInputEditor=this.getPropertyEditorParams(n,["Const","Variable"],"allowFreeInput");const a=this.getBasicProperties(n,i,o),s=this.getBehaviorConfig(n),f=this.getAppearanceProperties(n,i),u=this.getLookupConfig(n),m=this.getEventPropConfig(n),d=this.getDialogPropertyConfig(n),c=this.getPageConfig(n.editor),g=this.getTreePropConfig(n.editor),p=this.getSearchConfig(n),y=this.getExpressionConfig(n,"Field"),w={basic:a,appearance:f,behavior:s,lookup:u,treeConfig:g,dialog:d,pager:c,searchConfig:p,expressions:y};return n.type==="form-group"&&(w.eventsEditor=m),{type:"object",categories:w}}getGridFieldEdtiorPropConfig(n){return this.getPropertyConfig(n,null,"Grid").categories}flattenTreeNodes(n){return n.reduce((i,o)=>{var l;return i.push(o),(l=o.children)!=null&&l.length&&i.push(...this.flattenTreeNodes(o.children)),i},[])}isSimpleStringField(){var s;const n=((s=this.designViewModelField)==null?void 0:s.path)||"";if(!n||!n.includes("."))return!0;const i=n.split("."),o=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);if(!(o!=null&&o.length))return!1;const l=o.find(f=>f.data.code===i[0]);if(!l)return!1;const a=[l,...this.flattenTreeNodes(l.children)];return!i.reduce((f,u,m)=>[...f,m?`${f[m-1]}.${u}`:u],[]).some(f=>{var u,m,d;return((d=(m=(u=a.find(c=>c.data.path===f))==null?void 0:u.data)==null?void 0:m.type)==null?void 0:d.$type)==="EntityType"})}getBehaviorConfig(n){return{description:"Basic Infomation",title:"行为",properties:{visible:{description:"运行时组件是否可见",title:"是否可见",type:"boolean",editor:this.visibleEditor}},setPropertyRelates:(i,o)=>{this.afterMutilEditorChanged(o,i)}}}changeBindingField(n,i){super.changeBindingField(n,i),n.editor.multiSelect=!1}getDisplayType(n){return n.displayType?n.displayType.toUpperCase():""}mapFieldsDisplayFormatter(n){return n&&n.length?n.map(i=>`${i.name}[${i.bindingPath}]`).join(","):""}getSearchConfig(n){var i;return{description:"Lookup Search Infomation",title:"搜索",parentPropertyID:"editor",properties:{enableSearchBar:{$converter:be,description:"是否启用搜索栏",refreshPanelAfterChanged:!0,title:"启用搜索栏",type:"boolean",visible:!1},searchAnyField:{description:"显示所有列",$converter:be,title:"允许查询所有列",type:"boolean",visible:n.editor.openType!=="Popup"&&n.editor.enableSearchBar==null?!0:!!n.editor.enableSearchBar},enableEqualSearch:{$converter:be,description:"是否启用等于搜索",title:"启用精确搜索",type:"boolean",visible:n.editor.openType!=="Popup"&&(((i=n.editor)==null?void 0:i.enableSearchBar)??!0)!==!1&&this.getDisplayType(n.editor)!=="TREELIST"}},hide:n.editor.openType==="Popup"}}getLookupConfig(n){const i=n.editor,o=()=>{const u=this.formSchemaUtils.getFormSchema().module.entity[0].id,m=this.formSchemaUtils.getFormMetadataBasicInfo();return{propertyData:i,formBasicInfo:m,viewModelId:u,dataSourceId:i.helpId}},{dataSourceEditor:l,idFieldEditor:a,textFieldEditor:s,mappingFieldsEditor:f}=Ro(i,this);return{description:"Basic Infomation",title:"编辑器",setPropertyRelates:(u,m)=>{if(u)switch(u.propertyID){case"readonly":case"required":this.afterMutilEditorChanged(m,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},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string",$converter:be},enableTitle:{description:"鼠标悬停显示文本内容",title:"悬停提示",type:"boolean",$converter:be,editor:this.comboListEditor},editable:{description:"",title:"允许编辑",type:"boolean",$converter:be,refreshPanelAfterChanged:!0,editor:this.comboListEditor,visible:!(i.multiSelect&&i.openType==="Popup")},allowFreeInput:{description:"",title:"任意输入",type:"boolean",$converter:be,editor:this.freeInputEditor,visible:!!i.editable&&this.isSimpleStringField()},enableClear:{title:"启用清除按钮",type:"boolean",$converter:be},dataSource:{description:"数据源",title:"数据源",type:"string",refreshPanelAfterChanged:!0,editor:{...l,displayFormatter:u=>u&&u.length?u.map(m=>`${m.name}(${m.code})`).join(","):"",validateFunction:async u=>this.formSchemaUtils.designerMode!=="PC_RTC"?!0:this.checkSameBESource(u,n),onSubmitModal:u=>{if(u){delete i.mappingFields;const m=this.formSchemaUtils.getFormMetadataBasicInfo();return this.metadataService.getPickMetadata(m.relativePath,u[0].data).then(d=>JSON.parse(d==null?void 0:d.metadata.content))}}},$converter:tn},filterConditions:{descriptions:"帮助过滤条件",title:"过滤条件",type:"string",$converter:be,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:gt.FieldSelectorRepositoryToken,beforeOpen:async({repository:u,notifyService:m})=>{var w;if(!(i==null?void 0:i.helpId))return m==null||m.warning({message:"请先配置数据源!"}),!1;const c=o(),p=new He.ExpressionProperty(this.formSchemaUtils).getEntitiesAndVariables();let y={};if(u){const F=await u.getData(c),x=await u.getLookupConditions(c);y={fieldList:F,conditionList:x}}return(w=p.variables)!=null&&w.forms&&(p.variables.forms.items=p.variables.forms.items.filter(F=>F.category==="remote")),{...y,...p,isServerSide:!0}},onSubmitModal:async({loadingService:u,repository:m,conditions:d,originalConditions:c,FMessageBoxService:g})=>{if(m)try{const p=o(),y=await m.getLookupConditions(p)||[];return JSON.stringify(y)!==JSON.stringify(c.value)?(u==null||u.clearAll(),g.question("视图对象中的帮助过滤条件已更改,请点击确定同步过滤数据","",()=>{d.value=y,c.value=JSON.parse(JSON.stringify(d.value))},()=>{}),!1):(JSON.stringify(d.value)===JSON.stringify(c.value)||await m.saveFilterCondition(d.value,p,this.formSchemaUtils.getFormMetadataBasicInfo()),!0)}catch{return g==null||g.error("保存失败",""),!1}finally{u==null||u.clearAll()}}},visible:!!i.helpId},displayType:{description:"类型: 树列表、列表、双列表、左树右列表",title:"展示类型",type:"string",$converter:Bo,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:Po},textField:{description:"显示文本字段",title:"文本字段",type:"string",$converter:No,editor:s},mappingFields:{description:"字段映射",title:"字段映射",type:"string",$converter:be,editor:{...f}},enableToSelect:{description:"数据加载后是否选中现有值",$converter:be,title:"选中已选值",type:"boolean",editor:this.comboListEditor},multiSelect:{description:"启用多选",$converter:be,title:"启用多选",type:"boolean",editor:this.comboListEditor,refreshPanelAfterChanged:!0,visible:this.isSimpleStringField()},showSelections:{description:"显示已选记录",$converter:be,title:"显示已选记录",type:"boolean",visible:!!i.multiSelect&&i.openType!=="Popup"},separator:{description:"多选分隔符",$converter:be,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:be,refreshPanelAfterChanged:!0,title:"启用搜索框",type:"boolean",visible:!1},enableFavorite:{description:"启用收藏夹",$converter:be,title:"启用收藏夹",type:"boolean",visible:i.openType!=="Popup"},enableUserData:{description:"保存界面状态",$converter:be,refreshPanelAfterChanged:!0,title:"保存界面状态",type:"boolean",visible:i.openType!=="Popup"}}}}showNavigatiorWidth(n){return this.getDisplayType(n).startsWith("NAV")&&n.openType!=="Popup"?n.showNavigation===void 0?!0:!!n.showNavigation:!1}getDialogPropertyConfig(n){const i=Ao(n.editor);return i.openType.$converter=be,{description:"帮助窗口尺寸配置",title:"帮助窗口",parentPropertyID:"dialog",$converter:Ue,properties:i}}showPagerProperty(n,i){const o=this.getDisplayType(n)!=="TREELIST"||n.treeToList;return i&&o?n.pagination&&n.pagination[i]:o}getPageConfig(n){return Ho(n)}showLoadType(n){const i=this.getDisplayType(n);return(i==="TREELIST"||i==="NAVTREELIST")&&!n.treeToList&&!n.navTreeToList}isTree(n){return this.getDisplayType(n)==="TREELIST"&&!n.treeToList}getTreePropConfig(n){return{hide:this.getDisplayType(n)!=="TREELIST"&&this.getDisplayType(n)!=="NAVTREELIST",description:"树形数据配置",title:"树形数据配置",parentPropertyID:"editor",properties:{treeToList:{description:"以列表的形式展示树结构数据",$converter:be,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(n)==="TREELIST"},navTreeToList:{description:"以列表的形式展示树结构数据",$converter:be,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(n)==="NAVTREELIST"},loadTreeDataType:{description:"树形数据加载方式",$converter:be,title:"数据加载方式",type:"string",editor:{...this.comboListEditor,data:[{value:"default",text:"默认"},{value:"all",text:"全部加载"},{value:"async",text:"分层加载"}],textField:"text",valueField:"value"},visible:this.showLoadType(n)},enableFullTree:{description:"启用构造完整树",$converter:be,title:"构造完整树",type:"boolean",visible:this.showLoadType(n)},onlySelectLeaf:{description:"仅选择叶子节点",$converter:be,title:"仅选择叶子节点",type:"boolean",visible:this.isTree(n)},enableCascade:{description:"启用级联选择",$converter:be,refreshPanelAfterChanged:!0,title:"启用级联选择",type:"boolean",visible:this.isTree(n)&&!!n.multiSelect&&n.openType!=="Popup"},showCascadeControl:{description:"是否在界面中显示级联状态",$converter:be,title:"显示级联状态",type:"boolean",visible:!!n.enableCascade&&this.isTree(n)},cascadeValue:{description:"缺省级联选择模式",$converter:be,title:"缺省级联选择模式",type:"string",visible:!!n.enableCascade&&this.isTree(n),editor:{...this.comboListEditor,data:ko,textField:"text",valueField:"value"}},expandLevel:{description:"默认展开层级: 0: 不展开; -1: 全部展开;>0: 展开到指定级数 ",$converter:be,title:"默认展开层级",type:"number",visible:this.showLoadType(n),editor:{...this.numberEditor,min:-1,max:99,needValid:!0}}}}}getEventPropConfig(n){const i=this;let o=nn;n.editor.openType==="Popup"&&(o=o.filter(s=>s.label!=="beforeSelectData"));const l=i.eventsEditorUtils.formProperties(n,i.viewModelId,o);return{title:"事件",hideTitle:!0,properties:i.createBaseEventProperty(l),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(s,f){const u=s.propertyValue;delete f[i.viewModelId],u&&i.eventsEditorUtils.saveRelatedParameters(f,i.viewModelId,u.events,u);const m=i.designViewModelUtils.getDgViewModel(i.viewModelId);m&&i.designViewModelField&&m.changeField(i.designViewModelField.id,{valueChanging:f.fieldValueChanging,valueChanged:f.fieldValueChanged})}}}async checkSameBESource(n,i){var o,l,a,s,f;if(n&&((o=i==null?void 0:i.editor)!=null&&o.helpId)&&!i.isRtcControl){if(n.data.id===i.editor.helpId)return!0;const u=await this.metadataService.getPickMetadata("",n.data).then(y=>{var w;if((w=y==null?void 0:y.metadata)!=null&&w.content)return JSON.parse(y.metadata.content)}),m=await this.metadataService.getPickMetadata("",{id:i.editor.helpId}).then(y=>{var w;if((w=y==null?void 0:y.metadata)!=null&&w.content)return JSON.parse(y.metadata.content)}),d=(l=u==null?void 0:u.dataSource)==null?void 0:l.sourceType,c=(a=m.dataSource)==null?void 0:a.sourceType,g=(s=u==null?void 0:u.dataSource)==null?void 0:s.sourceId,p=(f=m==null?void 0:m.dataSource)==null?void 0:f.sourceId;if(d==="BE"&&c==="BE"&&g!==p)return new St.FNotifyService().error({message:"只允许更换同数据源的帮助元数据",position:"top-center"}),!1}return!0}}class $o extends yt{constructor(e,n){super(e,n)}getEditorProperties(e){return this.getComponentConfig(e,{type:"number-range"},{editable:{description:"",title:"允许编辑",type:"boolean"}})}}class Wo extends He.InputBaseProperty{constructor(e,n){super(e,n)}getEditorProperties(e){var l,a,s,f,u,m,d,c;let n,i=!1;if(((l=e==null?void 0:e.binding)==null?void 0:l.type)==="Form"){const g=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(a=g==null?void 0:g.schemaField)!=null&&a.type&&(n=g.schemaField.type.precision,i=g.schemaField.type.name==="BigNumber")}return this.getComponentConfig(e,{type:"number-spinner"},{precision:{description:"",title:"精度",type:"number",editor:{readonly:n===0,min:0,max:n,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:(f=e==null?void 0:e.editor)==null?void 0:f.max,precision:(u=e==null?void 0:e.editor)==null?void 0:u.precision,bigNumber:i,needValid:!0},refreshPanelAfterChanged:!0},max:{description:"",title:"最大值",type:"number",editor:{nullable:!0,min:((m=e==null?void 0:e.editor)==null?void 0:m.min)===void 0||(d=e==null?void 0:e.editor)==null?void 0:d.min,precision:(c=e==null?void 0:e.editor)==null?void 0:c.precision,bigNumber:i,needValid:!0},refreshPanelAfterChanged:!0},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,n,i){var l;super.changeBindingField(e,n);const o=i;e.editor&&((l=o==null?void 0:o.type)==null?void 0:l.name)===D.FormSchemaEntityFieldTypeName.Number&&(e.editor.precision=o.type.precision)}}class zo extends yt{constructor(e,n){super(e,n)}getEditorProperties(e){const n=this;return n.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",...n.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,n,i){if(!e||!n.editor)return;const o=this;switch(e.propertyID){case"dataSourceType":{e.propertyValue==="static"&&(n.editor.valueField="value",n.editor.textField="name");break}case"data":{!o.checkEnumDataReadonly(n)&&n.formatter&&(n.formatter.data=[...e.propertyValue]);break}}}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;e.editor&&((l=o==null?void 0:o.type)==null?void 0:l.$type)===D.FormSchemaEntityFieldType$Type.EnumType&&(e.editor.data=o.type.enumValues||[])}}class qo extends He.InputBaseProperty{constructor(e,n){super(e,n)}getEditorProperties(e){var n,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:((n=this.designViewModelField)==null?void 0:n.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()},falseValue:{description:"关闭时的值",title:"关闭的值",type:this.getBindingDataType(),visible:((i=this.designViewModelField)==null?void 0:i.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()}})}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;if(e.editor&&((l=o==null?void 0:o.type)!=null&&l.name)){let a,s;o.type.name===D.FormSchemaEntityFieldTypeName.String&&(a="true",s="false"),o.type.name===D.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 yt{constructor(e,n){super(e,n)}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}}},(n,i)=>{n.propertyID==="use12Hours"&&(i.editor.format=i.editor.format||"hh:mm:ss",i.editor.format=n.propertyValue?i.editor.format.replace("HH","hh"):i.editor.format.replace("hh","HH"))})}}class Uo extends He.InputBaseProperty{constructor(e,n){super(e,n)}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(n,i){super(n,i);ie(this,"dataGridProps",null);ie(this,"notifyService",new St.FNotifyService)}getPropertyConfig(n,i){var s,f,u;this.dataGridProps=i,this.getBasicPropConfig(n),this.getAppearanceProperties(n,i);const l={formatterEnumData:{description:"",title:"枚举数据",type:"array",visible:!!(((s=n.formatter)==null?void 0:s.type)==="enum"&&((f=n.editor)==null?void 0:f.type)!=="combo-list"),$converter:"/converter/change-formatter-enum.converter",...this.getItemCollectionEditor(n,"value","name"),refreshPanelAfterChanged:!0}},a=(m,d)=>{if(m)switch(m.propertyID){case"formatterEnumData":{n.formatter&&(n.formatter.data=[...m.propertyValue]);break}}};return this.propertyConfig.categories.behavior=this.getBehaviorConfig(n,"gridFieldEditor",l,a),this.getFieldEditorProperties(n,i),this.propertyConfig.categories.templateFormat=this.getColumnTemplate(n),((u=n.formatter)==null?void 0:u.type)!=="multilingual"&&(this.propertyConfig.categories.formatter=this.getTemplateProperties(n)),this.getEventPropConfig(n),this.propertyConfig}getColumnTemplate(n){const i=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:n.columnTemplateType==="custom"||n.columnTemplateType==="hyperlink",editor:{type:"code-editor",language:"html"}}},setPropertyRelates(o,l,a){var s;if(o){switch(o&&o.propertyID){case"columnTemplateType":{o.propertyValue==="custom"&&l.columnTemplate&&i.notifyService.warning({position:"top-center",message:"注意:已自定义列模板,【列格式化】【悬浮提示】【数据水平对齐方式】【数据垂直对齐方式】等列属性会失效"});break}case"columnTemplate":{o.propertyValue&&i.notifyService.warning({position:"top-center",message:"注意:已自定义列模板,【列格式化】【悬浮提示】【数据水平对齐方式】【数据垂直对齐方式】等列属性会失效"});break}}(s=i.getFormDesignerInstance())==null||s.reloadPropertyPanel()}}}}getItemCollectionEditor(n,i,o){const l=i||"value",a=o||"name";return{editor:{columns:[{field:l,title:"值",dataType:"string"},{field:a,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:l,nameField:a,requiredFields:[l,a],uniqueFields:[l,a],readonly:this.checkEnumDataReadonly(n)}}}checkEnumDataReadonly(n){return!n.binding||n.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===D.FormSchemaEntityFieldType$Type.EnumType)}getEventPropConfig(n){var s,f;let i=[];((s=n.editor)==null?void 0:s.type)==="combo-list"&&i.push({label:"onChange",name:"值变化事件"},{label:"onClear",name:"清空事件"},{label:"beforeOpen",name:"打卡下拉面板前事件"}),n.columnTemplateType==="hyperlink"&&i.push({label:"onClickLinkCommand",name:"超链接事件"}),((f=n==null?void 0:n.editor)==null?void 0:f.type)==="lookup"&&(i=[...i,...nn],n.editor.openType==="Popup"&&(i=i.filter(u=>u.label!=="beforeSelectData")));const o=this,l=o.eventsEditorUtils.formProperties(n,o.viewModelId,i),a=o.createBaseEventProperty(l);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:a,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(u,m){var c;const d=u.propertyValue;delete n[o.viewModelId],d&&(d.setPropertyRelates=this.setPropertyRelates,o.eventsEditorUtils.saveRelatedParameters(n,o.viewModelId,d.events,d)),n.remoteSort=!!n.columnSorted,n.onClickLinkCommand&&!n.onClickLinkCommand.includes("communication:")&&(n.columnTemplate=`<span class="f-pretend-link f-cursor-pointer"
20
+ `,S.children[1].style.cssText="width: 30px;color: #f4625f;padding: 0 14px 0 0",S.children[2].style.cssText="padding: 0 14px 0 0;",document.body.appendChild(S),S}function x(C,g,b){if(C.stopPropagation(),c(),g){if(h=F(C.target),C.dataTransfer){const S=new Image;S.src="",C.dataTransfer.setDragImage(S,0,0)}p=C.pageX,y=C.pageY,setTimeout(()=>{a.value=b,s.value=!0,g.moving=!0})}}function M(C,g){if(C.preventDefault(),a.value!==g){const b=l.value[a.value],S=l.value;S.splice(a.value,1),S.splice(g,0,b),a.value=g,w(C.pageX,C.pageY)}}function _(C){C.preventDefault(),C.dataTransfer&&(C.dataTransfer.dropEffect="move"),w(C.pageX,C.pageY)}function v(C,g){g&&(g.moving=!1,h&&(document.body.removeChild(h),h=null)),l.value.forEach((b,S)=>{b.__fv_index__=S}),s.value=!1,d(),m.value=g.raw.__fv_index__,f.value=g.raw.__fv_index__,u.value=g.raw[o.value],e.emit("change",l.value),e.emit("activeChange",[g.raw])}return{dragstart:x,dragenter:M,dragover:_,dragend:v,isDragging:s}}function Ki(t,e,n,i,o,l){const a=r.ref(t.idField),s=r.ref(t.disableField),f=r.ref(t.draggable);r.ref(t.itemClass);const u=r.ref(t.selection.multiSelect??!1),m=r.ref(t.selection.multiSelectMode),{isDragging:d}=i,{activeIndex:c,focusedItemId:h,hoverIndex:p}=o,{clearSelection:y,getSelectedItems:w,toggleSelectItem:F,currentSelectedDataId:x}=l,M=r.ref(w()),_=k=>M.value.length===0?!1:M.value.some(T=>{let V="";return T.data?V=T.data[a.value]:V=T[a.value],V===k});function v(){M.value=w()}function C(k,T){return k.raw[a.value]!=null?k.raw[a.value]:""}function g(k,T){const V={"f-list-view-group-item":!0,"f-list-view-draggable-item":f.value,"f-un-click":!k.checked,"f-un-select":!!k.raw[s.value],"f-listview-active":u.value&&_(C(k))||!u.value&&k.raw[a.value]===x.value,"f-listview-hover":!d.value&&T===p.value,moving:!!k.moving};if(typeof t.itemClass=="string")return D.getCustomClass(V,t.itemClass);if(typeof t.itemClass=="function"){const H=t.itemClass(k);return D.getCustomClass(V,H)}return V}function b(k,T){const V=u.value&&_(C(k))||!u.value&&k.raw[a.value]===x.value,H={};if(V&&(H.backgroundColor="#dae9ff"),typeof t.itemStyle=="string")return D.getCustomStyle(H,t.itemStyle);if(typeof t.itemStyle=="function"){const I=t.itemStyle(k);return D.getCustomStyle(H,I)}return H}const S=r.computed(()=>!u.value);function P(k,T,V){k.checked=V,!k.raw[s.value]&&(S.value&&(h.value=k.raw[a.value]),F(k))}const B=r.computed(()=>u.value&&m.value==="OnCheckClearByClick"),E=r.computed(()=>!u.value||u.value&&(m.value==="OnCheckAndClick"||m.value==="OnClick"));function N(k,T,V){if(k.raw[s.value]){V==null||V.preventDefault(),V==null||V.stopPropagation();return}h.value=k.raw[a.value],c.value=T,B.value&&y(),E.value&&(F(k),v()),e.emit("clickItem",{data:M.value,index:T,dataItem:k.raw}),e.emit("activeChange",M.value)}return{getKey:C,selectedItems:M,listViewItemClass:g,listViewItemStyle:b,updateSelectedItems:v,onCheckItem:P,onClickItem:N}}const Yt=r.defineComponent({name:"FListView",props:zi,emits:["afterSearch","checkValuesChange","clickItem","selectItem","unSelectItem","selectionChange","removeItem","change","activeChange","pageIndexChanged","pageSizeChanged","changed","selectionUpdate"],setup(t,e){const n=r.ref(),i=r.ref(!0),o=r.ref(!1),l=r.ref([]),a=0,s=r.ref(t.columns),f=_e.useFilter(t,e),u=_e.useIdentify(t),m=_e.useHierarchy(t),d=_e.useGroupData(t,u),c=_e.useDataView(t,new Map,f,m,u),h=_e.useSelection(t,c,u,l,e),p=qi(t,n),y=_e.usePagination(t,c),w=r.computed(()=>c.dataView.value.length),F=_e.useRow(t,e,h,u),x=_e.useEdit(t,e,u,F,l),M=_e.useVisualDataBound(t),_=_e.useVisualDataCell(t,{},M),v=_e.useVisualDataRow(t,c,x,m,u,M,_),C=_e.useVisualGroupRow(t,u,_,v),g=_e.useVisualSummaryRow(t,u,_,v),b=_e.useVisualData(t,s,c,w,a,v,C,g),{getVisualData:S}=b;l.value=S(0,w.value+a-1);const P=r.computed(()=>{const re={"f-list-view":!0,"f-list-view-multiple":t.multiSelect};return t.size!=="default"&&(re[`${t.size}-item`]=!0),D.getCustomClass(re,t.customClass)}),B=r.computed(()=>!!e.slots.footer||i.value);function E(){return t.header==="SearchBar"?Dt:t.header==="ContentHeader"?Zi:Dt}const N=E(),{renderHeader:k}=N(t,e,p),T=Ji(),V=Qi(t,e,c,T),H=Ki(t,e,l,V,T,h),{renderListArea:I}=Xi(t,e,l,c,d,T,h,b,H,V);function R(re){p.search(re)}function q(re){re&&(c.load(re),l.value=S(0,w.value+a-1))}function J(){h.clearSelection(),T.clearActiveItem()}function j(){return H.selectedItems.value}function ee(){return H.selectedItems.value.map(re=>re[u.idField.value])}function oe(re){h.selectedValues.value=re,H.updateSelectedItems()}function ce(){return h.currentSelectedDataId.value}function Z(re){F.activeRowById(re)}function L(re){const ve=u.idField.value,Ne=l.value.find(Qe=>Qe.raw[ve]===re),De=l.value.findIndex(Qe=>Qe.raw[ve]===re);Ne&&De>-1&&H.onClickItem(Ne,De)}function W(re){const ve=u.idField.value,Ne=l.value.find(De=>De.raw[ve]===re);Ne&&F.changeRow(Ne)}function G(re){y.updatePagination(re)}function U(re){return l.value.filter(ve=>re.includes(ve.raw[t.idField]))}e.expose({search:R,updateDataSource:q,clearSelection:J,getSelections:j,updateSelectionByIds:oe,getSelectionIds:ee,activeRowById:Z,getCurrentRowId:ce,clickRowItemById:L,updatePagination:G,getVisibleDataByIds:U,selectRowById:W});function ne(re){t.multiSelect&&(re.preventDefault(),re.stopPropagation())}r.watch(()=>t.selectionValues,(re,ve)=>{re!==ve&&oe(re)});const ue=_e.useSidebar(t,h),{sidebarWidth:me,showSidebarCheckBox:ge}=ue,ye=_e.useColumn(t,e),{applyColumnSorter:he,columnContext:Ie,updateColumnRenderContext:Le}=ye,O=_e.useVirtualScroll(t,c,l,Ie,b,w,a,me,x),{shouldRenderPagination:Y}=y,{renderDataGridPagination:Q}=_e.getPagination(t,e,c,O,y,h);return()=>r.createVNode("div",{class:P.value,onClick:ne},[k(),r.createVNode("div",{ref:n,class:"f-list-view-content",onMouseover:()=>{o.value=!0},onMouseleave:()=>{o.value=!1}},[I()]),B.value&&r.createVNode("div",{class:"f-list-view-footer"},[t.footerTemplate?t.footerTemplate():e.slots.footer&&e.slots.footer()])])}}),eo=r.defineComponent({name:"FTransfer",props:Gt,emits:["change","activeChange","selectItem","unSelecteItem","removeItem"],setup(t,e){const n=r.ref(t.identifyField),i=r.ref(t.displayType),o=r.ref(!1),l=r.ref(t.dataSource),a=r.ref(t.textField),s=r.ref(t.selections||[]),f=r.computed(()=>s.value.map(N=>N[n.value])),u=new Map,m=r.ref(),d=r.ref(),c=r.ref();let h;function p(){const N=new Map,k=t.selectionValues||[];k.length&&k.reduce((V,H)=>(V.set(H,!0),V),N);const T=t.selections||[];T.length&&(N.clear(),T.reduce((V,H)=>(V.set(H[n.value],!0),V),N)),s.value.length||(s.value=l.value.filter(V=>N.has(V[n.value])).map(V=>Object.assign({},V))),l.value.forEach(V=>{const H=V[n.value],I=N.has(H);V.checked=I,I&&u.set(H,V)})}p(),r.watch(()=>t.selections,N=>{s.value=N,p()});const y=r.computed(()=>i.value==="List"),w=r.computed(()=>i.value==="Tree");function F(N){const k=Re.cloneDeep(s.value);s.value=N.map(T=>Object.assign({},T)),e.emit("change",s.value,k)}function x(N){e.emit("selectItem",N)}function M(N){e.emit("unSelectItem",N)}function _(){return r.createVNode(Yt,{class:"f-utils-fill",data:l.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:f.value,onSelectionUpdate:F},null)}function v(){return r.createVNode(hn,{ref:c,data:l.value,columns:t.columns,virtualized:t.virtualized,rowOption:t.rowOption,textField:a.value,selection:{enableSelectRow:!0,multiSelect:!0,multiSelectMode:"OnCheckAndClick",showCheckbox:!0,showSelectAll:!1,showSelection:!0},selectionValues:f.value,onSelectionUpdate:F,onSelectItem:x,onUnSelectItem:M},null)}function C(){return r.createVNode("div",{class:"f-utils-fill option-pane d-flex flex-column"},[r.createVNode("div",{class:"f-utils-flex-column option-pane-content f-utils-fill"},[r.createVNode("div",{class:"container columns-box d-flex f-utils-fill"},[y.value&&_(),w.value&&v()])])])}function g(N){const k=N[n.value];if(k!==null||k!==void 0){s.value=s.value.filter(V=>V[n.value]!==k);const T=u.get(k);T&&(T.checked=!1,u.delete(k)),e.emit("change",s.value),e.emit("removeItem",N)}}r.watch(s,N=>{m.value.updateDataSource(Re.cloneDeep(N));const k=h==null?void 0:h[n.value],T=N.find(V=>k===V[n.value]);T?m.value.activeRowById(T[n.value]):(h=null,m.value.activeRowById(""))});function b(N){const k=new Map;s.value.reduce((T,V)=>(T.set(V[n.value],V),T),k),s.value=N.map(T=>k.get(T[n.value])),e.emit("change",s.value)}function S(N){h=N[0],e.emit("activeChange",N)}function P(){var N;return r.createVNode(Yt,{ref:m,columns:t.columns,style:"flex:1",data:s.value,draggable:!0,view:"DraggableView","keep-order":!0,textField:a.value,itemClass:t.selectedItemClass,onChange:b,onRemoveItem:g,onActiveChange:S,checkBeforeRemoveItem:t.checkBeforeRemoveItem},{itemContent:(N=e.slots)!=null&&N.text?k=>{var T;return((T=e.slots)==null?void 0:T.text)&&e.slots.text(k)}:null})}function B(){return r.createVNode("div",{class:"f-utils-fill selection-pane d-flex flex-column"},[r.createVNode("div",{class:"f-utils-flex-column selection-pane-content f-utils-fill"},[r.createVNode("div",{class:"selection-pane-title"},[r.createVNode("span",{class:"selection-title"},[je.LocaleService.getLocaleValue("transfer.selectedStart")]),r.createVNode("span",{class:"selection-count"},[s.value&&s.value.length]),r.createVNode("span",{class:"selection-item-title"},[je.LocaleService.getLocaleValue("transfer.selectedEnd")])]),r.createVNode("div",{class:"container columns-box f-utils-fill d-flex"},[P()])])])}const E=r.computed(()=>({"f-transfer":!0,row:!0,"f-utils-fill":o.value}));return r.onMounted(()=>{d.value&&d.value.parentElement&&getComputedStyle(d.value.parentElement).display==="flex"&&(o.value=!0)}),()=>r.createVNode("div",{ref:d,class:E.value,style:"height:480px"},[e.slots.children?e.slots.children({selections:s.value}):C(),B()])}}),to=r.defineComponent({name:"FGridFieldEditor",props:qt,emits:["change"],setup(t,e){const n=r.ref(t.viewModelId),i=r.inject("designViewModelUtils"),o=r.inject("useFormSchema"),l=r.inject("schemaService"),a=r.inject("controlCreatorUtils"),s=r.inject("designerContext");let f=t.gridData.columns;const{fieldEditable:u}=t.gridData,m=r.ref(`共 ${(f||[]).length} 项`),d=r.ref([]),c=r.ref([]);let h=[];function p(k,T=!0){if(s.checkCanDeleteControl){const V=h.find(H=>{var I;return((I=H.data)==null?void 0:I.id)===k.id});return s.checkCanDeleteControl(V,T)}return!0}const y={customRowStatus:k=>{const T=k.raw;T.type&&T.type.fields&&T.type.fields.length>0&&(k.disabled=!0),p(T,!1)||(k.disabled=!0)}};function w(){if(d.value=[],!f||f.length===0)return[];const k="[绑定字段不存在,待移除]";f.forEach(T=>{if(T.binding&&T.binding.field){const V=h.find(H=>H.data.id===T.binding.field);V?V.data.$type===D.FormSchemaEntityField$Type.ComplexField?d.value.push(Object.assign({isInValidBinding:!0},V.data,{name:V.data.name+k})):d.value.push(Object.assign({},V.data)):d.value.push({id:T.binding.field,name:T.title+k,label:T.field,bindingField:null,isInValidBinding:!0})}}),m.value=`共 ${d.value.length} 项`}function F(k,T=[]){return k&&k.forEach(V=>{if(T.push(V),V.children&&F(V.children,T),s.appendIdentifyForNewControl){const H=f.find(I=>{var R;return((R=I.binding)==null?void 0:R.field)===V.data.id});(!H||H[s.identifyForNewControl])&&s.appendIdentifyForNewControl(V)}}),T}function x(){if(o.designerMode==="PC_RTC"&&l.rtcAddedTreeNodes.value){const k=l.getTableInfoByViewModelId(n.value);if(k!=null&&k.id){const T=l.rtcAddedTreeNodes.value[k.id];T!=null&&T.length&&(c.value=c.value.concat(T))}}}function M(){c.value=i.getAllFields2TreeByVMId(n.value),x(),h=F(c.value)}function _(k,T,V){if(o.getComponents().find(I=>{let R=o.getControlsInCmpWidthBinding(I.viewModel,k);if(R=R.filter(q=>{var j;if(q.id===V)return!1;const J=T.type==="visible"?q[T.type]:(j=q.editor)==null?void 0:j[T.type];if(J&&J.type==="Expression"&&J.expressionId===T.id)return!0}),R.length)return!0}))return!0}function v(k){k.map(T=>{var H;const V=f.find(I=>{var R;return((R=I.binding)==null?void 0:R.field)===T});if(V&&o.getExpressions().length){const I=o.getExpressions(),R=I.findIndex(q=>q.target===T);R>-1&&((H=I[R].rules)==null||H.map(q=>{var J;switch(q.type){case"visible":case"readonly":case"required":{const j=q.type==="visible"?V[q.type]:(J=V.editor)==null?void 0:J[q.type];j&&j.type==="Expression"&&j.expressionId===q.id&&(_(T,q,V.id)||(q.needDelete=!0));break}default:_(T,q,V.id)||(q.needDelete=!0)}}),I[R].rules=I[R].rules.filter(q=>!q.needDelete))}})}function C(){const k=i.getDgViewModel(n.value),T=[],V=[],H=d.value;H.forEach(R=>{const q=f==null?void 0:f.find(J=>{if(J.binding&&J.binding.field)return J.binding.field===R.id});if(q)T.push(q);else{const J=a.setGridFieldProperty(t.gridType,R.data,null,u);k.addField(R),T.push(J)}V.push(R.id)});const I=k.fields.filter(R=>!V.includes(R.id));if(I&&I.length>0){const R=I.map(q=>q.id);k.removeField(R),v(R)}H.length!==d.value.length&&(d.value=H),m.value=`共 ${T.length} 项`,e.emit("change",T)}const g={fitContent:!1,width:900,height:600,title:"列编辑器",draggable:!0,acceptCallback:()=>{C()},rejectCallback:()=>{}};function b(){return t.getLatestGridData?f=t.getLatestGridData().columns:f=t.gridData.columns,M(),w(),Promise.resolve(!0)}function S(k){d.value=[...d.value,k.raw]}function P(k){const T=d.value.findIndex(V=>V.id===k.raw.id);T>-1&&(d.value=[...d.value.slice(0,T),...d.value.slice(T+1)])}function B(k){const T=d.value.findIndex(V=>V.id===k.id);T>-1&&(d.value=[...d.value.slice(0,T),...d.value.slice(T+1)])}function E(k){const T=k[0].__fv_index__,V=d.value.findIndex(I=>I.id===k[0].id),H=d.value.find(I=>I.id===k[0].id);d.value.splice(V,1),d.value.splice(T,0,H)}const N=[{field:"name",title:"",dataType:"string",width:"100%",formatter:(k,T)=>k.data+` [${T.data.bindingField.data}]`},{field:"bindingField",visible:!1,title:"",dataType:"string"}];return r.onMounted(()=>{M()}),()=>r.createVNode(Bi,{"button-behavior":"Modal","modal-options":g,modelValue:m.value,"onUpdate:modelValue":k=>m.value=k,editable:!1,beforeOpen:b},{default:()=>[r.createVNode("div",{class:"f-utils-absolute-all"},[r.createVNode(eo,{selections:d.value,"data-source":c.value,rowOption:y,class:"mx-2",columns:N,displayType:"Tree",onRemoveItem:B,onSelectItem:S,onUnSelectItem:P,onActiveChange:E,checkBeforeRemoveItem:p},{text:k=>r.createVNode("div",{style:"margin: 10px 0px 10px 14px;"},[k.data.name.data,r.createTextVNode(" ["),k.data.bindingField.data,r.createTextVNode("]")])})])]})}}),no={$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:"超链接事件"}},io={$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"]},xt={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:""}},oo=ze.createPropsResolver(xt,no,$t,zt),ro=ze.createPropsResolver(xt,io,$t,zt);function lo(t){const{formSchemaUtils:e,formStateMachineUtils:n}=t;function i(f,u=""){return{path:u+f.code,field:f.id,fullPath:f.code}}function o(f,u=""){return e.getViewModelById(f).states.map(d=>i(d,u))}function l(f){const u=e.getRootViewModelId(),m=o(f);if(f===u)return m;const d=o(u,"root-component.");return[...m,...d]}function a(f){return f.binding&&f.binding.path||f.id||""}function s(){return n&&n.getRenderStates()||[]}return{getVariables:l,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,n)=>({convertFrom:(i,o,l,a)=>{const s=l.getExpressionRuleValue(e,n||o);return s&&s.value||""},convertTo:(i,o,l,a,s)=>{var f;if(o==="dataPicking"&&(l!=null&&l.target)){const u=`${l.target}_dataPicking`;((f=l.rules)==null?void 0:f.some(d=>d.id===u&&d.value))?i.dictPickingExpressionId=u:delete i.dictPickingExpressionId}a.updateExpression(l)}}));this.formSchemaService=e}getExpressionRule(e,n){const i=this.formSchemaService.getExpressions();if(!i)return"";const o=i.find(a=>a.target===e);if(!o)return"";const l=o.rules.find(a=>a.type===n);return l||""}getContextFormVariables(){const{module:e}=this.formSchemaService.getFormSchema();if(!e.viewmodels||e.viewmodels.length===0)return[];const n=this.formSchemaService.getRootViewModelId(),i=this.formSchemaService.getViewModelById(n);if(!i||!i.states||i.states.length===0)return[];const o=[];return i.states.filter(l=>l.category==="remote").forEach(l=>{o.push({key:l.code,name:l.name,description:l.name,category:l.category})}),o}createTreeNode(e,n,i="label"){return{id:e.id,name:e.name,bindingPath:e[i],parents:n,type:"field"}}buildEntityFieldsTreeData(e=null,n){const i=[];return e==null||e.forEach(o=>{var s;const l=this.createTreeNode(o,n);let a=[];(s=o.type)!=null&&s.fields&&(a=this.buildEntityFieldsTreeData(o.type.fields,[...n,o.label])),i.push({data:l,children:a,expanded:!0})}),i}buildChildEntityTreeData(e=null,n){const i=[];return e==null||e.forEach(o=>{var f,u;const l=this.createTreeNode(o,n);l.type="entity";const a=this.buildEntityFieldsTreeData((f=o.type)==null?void 0:f.fields,[...n,o.label]),s=this.buildChildEntityTreeData((u=o.type)==null?void 0:u.entities,[...n,o.label]);s!=null&&s.length&&(a==null||a.push(...s)),i.push({data:l,children:a||[],expanded:!0})}),i}getEntitiesTreeData(){const e=this.formSchemaService.getSchemaEntities();if(!(e!=null&&e.length))return[];const n=e[0];if(!(n!=null&&n.type))return[];const i=this.buildEntityFieldsTreeData(n.type.fields,[n.code]),o=this.buildChildEntityTreeData(n.type.entities,[n.code]);return o!=null&&o.length&&(i==null||i.push(...o)),{entityCode:n.code,fields:[{data:this.createTreeNode(n,[],"code"),children:i||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(e,n,i){const o=i==="Field"?e.binding.field:e.id,l=this.getExpressionRule(o,n),a=this.getEntitiesAndVariables(),s={message:["validate","required","dataPicking"].includes(n)&&l?l.message:"",...a};return l.messageType!=null&&(s.messageType=l.messageType),s}buildRule(e,n,i,o){const{expression:l,message:a,messageType:s}=n,f={id:`${e}_${i}`,type:i,value:l};return(i==="validate"||i==="dataPicking"||i==="required")&&(f.message=a),i==="dataPicking"&&(f.messageType=s),i==="validate"&&o&&(f.elementId=o),f}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,n,i,o){const l=n==="Field"?e.binding.field:e.id,a=this.buildRule(l,i,o,e.type==="form-group"?e.id:"");let f=this.getExpressionData().find(m=>m.targetType===n&&m.target===l);const u=m=>m.value.trim()==="";if(f){const m=f.rules.find(d=>d.id===a.id);if(m)u(a)?f.rules=f.rules.filter(d=>d.id!==a.id):(Object.assign(m,a),o==="validate"&&e.type==="form-group"&&(m.elementId=e.id));else{if(u(a))return null;f.rules=f.rules||[],f.rules.push(a)}}else{if(u(a))return null;f={target:`${l}`,rules:[a],targetType:n}}return f}getExpressionEditorOptions(e,n,i,o){return i.reduce((l,a)=>{var f,u;const s=n==="Field"?(f=e==null?void 0:e.binding)==null?void 0:f.field:e.id;return l[a]={hide:n==="Field"?!!((u=e==null?void 0:e.binding)!=null&&u.field):!1,description:"",title:this.expressionNames[a],type:"string",$converter:this.getExpressionConverter(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,n),onSubmitModal:m=>{const d=this.updateExpression(e,n,m,a);if(o){const c=this.buildRule(s,m,a);o(c)}return d}}},l},{})}getExpressionInfo(e,n,i){const o=n==="Field"?e.binding.field:e.id,l=this.getExpressionRule(o,i),a={value:l&&l.value,targetId:o,targetType:n,expressionType:i};return l&&l.message&&(a.message=l.message),a}getExpressionConfig(e,n,i=["compute","dependency","validate"],o){return{description:"表达式",title:"表达式",hide:!e.binding,properties:{...this.getExpressionEditorOptions(e,n,i,o)}}}getExpressionOptions(e,n,i){const o=this.getExpressionInfo(e,n,i);return{dialogTitle:`${this.expressionNames[i]}编辑器`,singleExpand:!1,showMessage:i==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,i,n),expressionInfo:o}}}class Zt{constructor(e,n){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=n,this.eventsEditorUtils=n.eventsEditorUtils,this.formSchemaUtils=n.formSchemaUtils,this.formMetadataConverter=n.formMetadataConverter,this.viewModelId=((i=this.formSchemaUtils)==null?void 0:i.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=n.designViewModelUtils,this.controlCreatorUtils=n.controlCreatorUtils,this.metadataService=n.metadataService,this.schemaService=n.schemaService,this.designerContext=n.designerContext}getFormDesignerInstance(){var e,n;return(n=(e=this.designerContext)==null?void 0:e.instances)==null?void 0:n.formDesigner.value}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){var i;const n=e.binding&&e.binding.type==="Form"&&e.binding.field;if(n){if(!this.designViewModelField){const o=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=o.fields.find(l=>l.id===n)}e.updateOn=(i=this.designViewModelField)==null?void 0:i.updateOn}}getBasicPropConfig(e){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",idField:"value",editable:!1,data:[{value:e.type,name:A.DgControl[e.type]&&A.DgControl[e.type].name}]}}}}}getAppearanceConfig(e=null,n={},i){const o={title:"外观",description:"Appearance"},l={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"}};for(const a in n)l[a]=Object.assign(l[a]||{},n[a]);return{...o,properties:{...l},setPropertyRelates(a,s){if(a){switch(a&&a.propertyID){case"class":case"style":{A.canvasChanged.value++;break}}i&&i(a,e,s)}}}}getPropertyEditorParams(e,n=[],i="visible",o={},l={},a=""){const{getVariables:s,getControlName:f,getStateMachines:u}=lo(this.designerHostService),m=this.getRealTargetType(e),d=n&&n.length>0?n:["Const","Variable","StateMachine","Expression"],c={type:"property-editor",propertyTypes:d};return d.map(h=>{switch(h){case"Const":Object.assign(c,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},o);break;case"Expression":c.expressionConfig=this.getExpressionOptions(e,m,a||i);break;case"StateMachine":c.stateMachines=u();break;case"Variable":Object.assign(c,{controlName:f(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:s(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:p=>{p.value=s(this.viewModelId)}},l),this.designerContext.designerMode==="PC_RTC"&&(c.newVariablePrefix="ext_"+c.newVariablePrefix);break}}),c}getVisibleProperty(e,n=""){var l;let i=["Const","Variable","StateMachine","Expression"];return n==="gridFieldEditor"?i=["Const","Expression"]:n==="form-group"&&!((l=e.binding)!=null&&l.field)&&(i=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,i,"visible")}}}getBehaviorConfig(e,n="",i={},o){const l={title:"行为",description:""},a=this.getVisibleProperty(e,n);for(const f in i)a[f]=Object.assign(a[f]||{},i[f]);const s=this;return{...l,properties:{...a},setPropertyRelates(f,u){if(f){switch(f.propertyID){case"disabled":case"readonly":case"visible":s.afterMutilEditorChanged(e,f);break}o&&o(f,u)}}}}afterMutilEditorChanged(e,n){this.addNewVariableToViewModel(n,this.viewModelId),this.updateExpressionValue(n),this.clearExpression(n,e)}updateElementByParentContainer(e,n){const i=n&&n.parent&&n.parent.schema;if(!i)return;const o=i.contents.findIndex(a=>a.id===e),l=Re.cloneDeep(i.contents[o]);i.contents.splice(o,1),i.contents.splice(o,0,l),A.refreshCanvas()}addNewVariableToViewModel(e,n){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 n=e.propertyValue;if(!((n&&n.type)==="Expression"&&n.expressionInfo))return;const{expressionId:l,expressionInfo:a}=n,{targetId:s,targetType:f,expressionType:u,value:m,message:d}=a,c=this.formSchemaUtils.getModule();c.expressions=c.expressions||[];const{expressions:h}=c;let p=h.find(w=>w.target===s);p||(p={target:s,rules:[],targetType:f},h.push(p));const y=p.rules.find(w=>w.type===u);if(y)y.value=m,y.message=d;else{const w={id:l,type:u,value:m,message:d};p.rules.push(w)}delete n.expressionInfo}clearExpression(e,n){const i=e.propertyValue;if(i&&i.type==="Expression")return;const l=e.propertyID,a=this.formSchemaUtils.getExpressions(),s=n.binding?n.binding.field:n.id,f=a.find(u=>u.target===s);!f||!f.rules||(f.rules=f.rules.filter(u=>u.type!==l))}getExpressionOptions(e,n,i){return new Xt(this.formSchemaUtils).getExpressionOptions(e,n,i)}getRealTargetType(e){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item"].indexOf(e.type)>-1?"Button":e.binding&&e.binding.field?"Field":"Container"}createBaseEventProperty(e){const n={};return n[this.viewModelId]={type:"events-editor",editor:{initialData:e,viewSourceHandle:i=>{var o;((o=i.controller)==null?void 0:o.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(i)}}},n}}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 ao(t){switch(t){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 so(t){var e;return"请输入正确的"+((e=Jt.find(n=>n.key===t))==null?void 0:e.value)}const co={convertTo:(t,e,n,i)=>{t.editor.formatValidation||(t.editor.formatValidation={type:"none"}),t.editor.formatValidation.type=n,t.editor.formatValidation.expression=ao(n),t.editor.formatValidation.message=so(n)},convertFrom:(t,e,n)=>t.editor.formatValidation?e==="type"?t.editor.formatValidation[e]||"none":t.editor.formatValidation[e]:"none"},Qt={convertTo:(t,e,n,i)=>{t.editor.formatValidation||(t.editor.formatValidation={type:"none"}),t.editor.formatValidation[e]=n},convertFrom:(t,e,n)=>t.editor.formatValidation?t.editor.formatValidation[e]:t.editor[e]};class uo extends He.InputBaseProperty{constructor(e,n){super(e,n)}getPropertyConfig(e,n){return super.getPropertyConfig(e,n),this.propertyConfig.categories.formatValidation=this.getFormatValidation(e),this.propertyConfig}getEditorProperties(e){var i,o;let n;if(((i=e==null?void 0:e.binding)==null?void 0:i.type)==="Form"){const l=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(o=l==null?void 0:l.schemaField)!=null&&o.type&&(n=l.schemaField.type.length)}return this.getComponentConfig(e,{},{maxLength:{description:"文本字数最大长度",title:"最大长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,max:n,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 n;if(((i=e==null?void 0:e.binding)==null?void 0:i.type)==="Form"){const l=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(o=l==null?void 0:l.schemaField)!=null&&o.type&&(n=l.schemaField.type.length)}return this.getComponentConfig(e,{},{maxLength:{description:"文本字数最大长度",title:"最大长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,max:n}},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,l,a;const n={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:co,parentPropertyID:"formatValidation"}}};return(o=e.editor.formatValidation)!=null&&o.type&&((l=e.editor.formatValidation)==null?void 0:l.type)!=="none"&&(n.properties.message={title:"输入错误提示",type:"string",description:"输入错误提示",$converter:Qt,parentPropertyID:"formatValidation"}),((a=e.editor.formatValidation)==null?void 0:a.type)==="custom"&&(n.properties.expression={title:"匹配正则",type:"string",description:"匹配正则",$converter:Qt,parentPropertyID:"formatValidation"}),n}}const dt=class dt{static getEditorTypesByMDataType(e,n=!1,i=""){if(n)return[{key:A.DgControl["language-textbox"].type,value:A.DgControl["language-textbox"].name}];let o=dt.fieldControlTypeMapping[e];if(i==="data-grid-column"&&(o!=null&&o.length)){const l=[A.DgControl["check-group"].type,A.DgControl["radio-group"].type,A.DgControl.image.type];o=o.filter(a=>!l.includes(a.key))}return o}static getAllInputTypes(){const e=[];for(const n in dt.fieldControlTypeMapping)dt.fieldControlTypeMapping[n].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,n){var l;const i=(l=e.editor)==null?void 0:l.type,o=[];return(e.type===A.DgControl["data-grid-column"].type||e.type===A.DgControl["tree-grid-column"].type)&&n&&n.categoryId&&n.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===A.DgControl["input-group"].type||i===A.DgControl.textarea.type||i===A.DgControl["number-spinner"].type)&&o.push({domField:"editor.maxLength",schemaField:"type.length"}),i===A.DgControl["number-spinner"].type&&o.push({domField:"editor.precision",schemaField:"type.precision"}),(e.type===A.DgControl["data-grid-column"].type||e.type===A.DgControl["tree-grid-column"].type)&&o.push({domField:"formatter.precision",schemaField:"type.precision"}),(i===A.DgControl["combo-list"].type||i===A.DgControl["radio-group"].type)&&o.push({domField:"editor.data",schemaField:"type.enumValues"}),(e.type===A.DgControl["data-grid-column"].type||e.type===A.DgControl["tree-grid-column"].type)&&o.push({domField:"formatter.data",schemaField:"type.enumValues"}),i===A.DgControl["date-picker"].type&&(o.push({domField:"editor.displayFormat",schemaField:"editor.format"}),o.push({domField:"editor.fieldType",schemaField:"type.name"})),i===A.DgControl["number-spinner"].type&&(o.push({domField:"editor.max",schemaField:"editor.maxValue"}),o.push({domField:"editor.min",schemaField:"editor.minValue"})),i===A.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===A.DgControl["data-grid-column"].type||e.type===A.DgControl["tree-grid-column"].type)&&o.push({domField:"field",schemaField:"bindingPath"}),o}};ie(dt,"fieldControlTypeMapping",{String:[{key:A.DgControl["input-group"].type,value:A.DgControl["input-group"].name},{key:A.DgControl.lookup.type,value:A.DgControl.lookup.name},{key:A.DgControl.image.type,value:A.DgControl.image.name},{key:A.DgControl["date-picker"].type,value:A.DgControl["date-picker"].name},{key:A.DgControl.switch.type,value:A.DgControl.switch.name},{key:A.DgControl["check-box"].type,value:A.DgControl["check-box"].name},{key:A.DgControl["check-group"].type,value:A.DgControl["check-group"].name},{key:A.DgControl["radio-group"].type,value:A.DgControl["radio-group"].name},{key:A.DgControl["combo-list"].type,value:A.DgControl["combo-list"].name},{key:A.DgControl.textarea.type,value:A.DgControl.textarea.name},{key:A.DgControl["time-picker"].type,value:A.DgControl["time-picker"].name}],Text:[{key:A.DgControl.textarea.type,value:A.DgControl.textarea.name},{key:A.DgControl.lookup.type,value:A.DgControl.lookup.name},{key:A.DgControl.image.type,value:A.DgControl.image.name},{key:A.DgControl["rich-text-editor"].type,value:A.DgControl["rich-text-editor"].name}],Decimal:[{key:A.DgControl["number-spinner"].type,value:A.DgControl["number-spinner"].name}],Integer:[{key:A.DgControl["number-spinner"].type,value:A.DgControl["number-spinner"].name}],Number:[{key:A.DgControl["number-spinner"].type,value:A.DgControl["number-spinner"].name},{key:A.DgControl.switch.type,value:A.DgControl.switch.name},{key:A.DgControl["check-box"].type,value:A.DgControl["check-box"].name}],BigNumber:[{key:A.DgControl["number-spinner"].type,value:A.DgControl["number-spinner"].name}],Date:[{key:A.DgControl["date-picker"].type,value:A.DgControl["date-picker"].name}],DateTime:[{key:A.DgControl["date-picker"].type,value:A.DgControl["date-picker"].name}],Boolean:[{key:A.DgControl.switch.type,value:A.DgControl.switch.name},{key:A.DgControl["check-box"].type,value:A.DgControl["check-box"].name}],Enum:[{key:A.DgControl["combo-list"].type,value:A.DgControl["combo-list"].name},{key:A.DgControl["radio-group"].type,value:A.DgControl["radio-group"].name}],Object:[{key:A.DgControl.lookup.type,value:A.DgControl.lookup.name},{key:A.DgControl["combo-list"].type,value:A.DgControl["combo-list"].name},{key:A.DgControl["radio-group"].type,value:A.DgControl["radio-group"].name}]});let pt=dt;var st=(t=>(t.Form="Form",t.Variable="Variable",t))(st||{});class fo{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 mo(t){let e,n;const i=new Map;let o=[];function l(m,d){const h=m.split(" ").filter(x=>x.startsWith("col-"));if(h.length===0){d.isSupportedClass=!1;return}let p=h.find(x=>/^col-([1-9]|10|11|12)$/.test(x)),y=h.find(x=>/^col-md-([1-9]|10|11|12)$/.test(x)),w=h.find(x=>/^col-xl-([1-9]|10|11|12)$/.test(x)),F=h.find(x=>/^col-el-([1-9]|10|11|12)$/.test(x));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),w=w||"col-xl-"+d.columnInMD,d.columnInLG=parseInt(w.replace("col-xl-",""),10),d.displayWidthInLG=d.columnInLG/3,[1,2,3,4].includes(d.displayWidthInLG)||(d.isSupportedClass=!1),F=F||"col-el-"+d.columnInLG,d.columnInEL=parseInt(F.replace("col-el-",""),10),d.displayWidthInEL=d.columnInEL/2,[1,2,3,4,5,6].includes(d.displayWidthInEL)||(d.isSupportedClass=!1)}function a(m,d,c,h=!1){let p=!1;m.contents.forEach(y=>{if(y.type==="fieldset"){c+=1,a(y,d,c,!0),p=!0;return}p&&(c+=1,p=!1);const w=y.appearance&&y.appearance.class,F=new fo;w?l(w,F):F.isSupportedClass=!1,F.label=y.label||y.id,F.id=y.id,F.group=c,h&&(F.fieldSetId=m.id),n===y.id&&(e=c),i.set(y.id,y),d.push(F)})}function s(m){const d=t.getComponentById(m);if(!d||!d.componentType||!d.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const c=t.selectNode(d,h=>h.type===A.DgControl["response-form"].type);return!c||!c.contents||c.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:c}}function f(m,d){d=d||m.id;const{result:c,message:h,formNode:p}=s(d);if(!c)return{result:c,message:h};n=m.id,o=[],i.clear();const y=p.contents[0].type===A.DgControl.fieldset.type?0:1;a(p,o,y);const w=o.find(x=>!x.isSupportedClass);return{defaultState:{defaultGroupNumber:e||1,model:w?"customize":"standard"},importData:o}}function u(m,d){d=d;const{result:c,formNode:h}=s(d);if(!c)return"";const p=[];return m.forEach(y=>{var x;const w=i.get(y.id),F=w.appearance&&w.appearance.class;if(F){const _=F.split(" ").filter(P=>!P.startsWith("col-")),v="col-"+y.columnInSM,C="col-md-"+y.columnInMD,g="col-xl-"+y.columnInLG,b="col-el-"+y.columnInEL,S=[v,C,g,b].concat(_);w.appearance.class=S.join(" ")}if(y.fieldSetId){const M=h.contents.find(v=>v.id===y.fieldSetId),_=p.find(v=>v.id===y.fieldSetId);_?(x=_.contents)==null||x.push(w):(p.push(M),M.contents=[w])}else p.push(w)}),h.contents=p,h.id}return{checkCanFindFormNode:s,checkCanOpenLayoutEditor:f,changeFormControlsByResponseLayoutConfig:u,getResonseFormLayoutConfig:a}}class yt extends Zt{constructor(n,i){super(n,i);ie(this,"responseLayoutEditorFunction");ie(this,"bindingVarible");ie(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});this.responseLayoutEditorFunction=mo(this.formSchemaUtils)}getCommonPropertyConfig(n,i,o="Card"){this.propertyConfig.categories.basic=this.getBasicProperties(n,i,o),this.propertyConfig.categories.appearance=this.getAppearanceProperties(n,i),this.propertyConfig.categories.behavior=this.getBehaviorConfig(n,"form-group")}getPropertyConfig(n,i){return this.getCommonPropertyConfig(n,i,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(n),this.propertyConfig.categories.expressions=this.getExpressionConfig(n,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(n),this.propertyConfig}getGridFieldEdtiorPropConfig(n,i){return this.propertyConfig.categories={},this.getCommonPropertyConfig(n,i,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(n):this.propertyConfig.categories.editor=this.getEditorProperties(n),this.propertyConfig.categories.expressons=this.getExpressionConfig(n,"Field"),this.propertyConfig.categories}getBasicProperties(n,i,o="Card"){var u;const l=this;this.setDesignViewModelField(n);const{canChangeControlType:a,editorTypeList:s}=this.getAvailableEditorType(n),f={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:((u=n.editor)==null?void 0:u.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:n,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!n.isRtcControl}},setPropertyRelates(m,d,c){if(m)switch(m&&m.propertyID){case"type":{l.changeControlType(n,m,i);break}case"label":{m.needRefreshControlTree=!0;break}case"binding":{l.changeBindingField(n,m,c);break}}}};return o.toLocaleLowerCase()!=="card"&&delete f.properties.showLabelType,f}checkCanChangeControlType(n,i){if(!n.binding)return!1;if(n.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(n.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==D.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(n){var l;const i=this.checkCanChangeControlType(n,this.viewModelId);if(!i)return{canChangeControlType:!1,editorTypeList:[{key:n.editor.type,value:((l=A.DgControl[n.editor.type])==null?void 0:l.name)||n.editor.type}]};let o=[];return this.designViewModelField&&this.designViewModelField.$type===D.FormSchemaEntityField$Type.SimpleField?o=pt.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(o=pt.getEditorTypesByMDataType(this.bindingVarible.type,this.designViewModelField.multiLanguage)),{canChangeControlType:i,editorTypeList:o}}changeBindingField(n,i,o){i.needRefreshEntityTree=!0}getAppearanceProperties(n,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(n,o.componentId)}}},setPropertyRelates(l,a){if(l)switch(l&&l.propertyID){case"responseLayout":o.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(l.propertyValue,o.componentId||n.id),o.updateUnifiedLayoutAfterResponseLayoutChanged(o.componentId),o.updateElementByParentContainer(n.id,i),delete n.responseLayout;break;case"class":o.updateUnifiedLayoutAfterControlChanged(l.propertyValue,n.id,this.componentId),A.canvasChanged.value++;break;case"style":{A.canvasChanged.value++;break}}}}}getEditorProperties(n){return this.getComponentConfig(n)}changeControlType(n,i,o){const l=i.propertyValue,a=o&&o.parent&&o.parent.schema;if(!a)return;const s=a.contents.findIndex(m=>m.id===n.id);if(s===-1)return;const f=a.contents[s];let u;if(this.designViewModelField){const c=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(p=>p.id===this.designViewModelField.id).fieldSchema||{};c.editor||(c.editor={}),c.editor.$type=l,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,c,!1),u=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,l)}u||(u=this.controlCreatorUtils.createFormGroupWithoutField(l)),Object.assign(u,{id:f.id,appearance:f.appearance,size:f.size,label:f.label,binding:f.binding}),Object.prototype.hasOwnProperty.call(f,"visible")&&Object.assign(u,{visible:f.visible}),f.editor&&["readonly","required","placeholder"].map(m=>{Object.prototype.hasOwnProperty.call(f.editor,m)&&(u.editor[m]=f.editor[m])}),o!=null&&o.updateContextSchema?o.updateContextSchema(u):(o.schema=Object.assign(f,u),Object.assign(n,u)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(m=>m.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(m=>m.classList.remove("dgComponentFocused")),A.canvasChanged.value++,r.nextTick(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}getComponentConfig(n,i={},o={},l){var c,h;const a=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},i),s=(c=n.binding)!=null&&c.field?[]:["Const","Variable","StateMachine"],f=this.getPropertyEditorParams(n,s,"readonly"),u=this.getPropertyEditorParams(n,s,"required"),m={readonly:{description:"",title:"只读",editor:f},required:{description:"",title:"必填",type:"boolean",editor:u,visible:!!((h=n.binding)!=null&&h.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const p in o)m[p]=Object.assign(m[p]||{},o[p]);const d=this;return{...a,properties:{...m},setPropertyRelates(p,y){if(p){switch(p.propertyID){case"readonly":case"required":d.afterMutilEditorChanged(n,p);break}l&&l.bind(d)(p,n,y)}}}}updateUnifiedLayoutAfterControlChanged(n,i,o){const l=n.split(" ");let a=l.find(d=>/^col-([1-9]|10|11|12)$/.test(d)),s=l.find(d=>/^col-md-([1-9]|10|11|12)$/.test(d)),f=l.find(d=>/^col-xl-([1-9]|10|11|12)$/.test(d)),u=l.find(d=>/^col-el-([1-9]|10|11|12)$/.test(d));a=a||"col-12",s=s||"col-md-"+a.replace("col-",""),f=f||"col-xl-"+s.replace("col-md-",""),u=u||"col-el-"+f.replace("col-xl-","");const m={id:i,columnInSM:parseInt(a.replace("col-",""),10),columnInMD:parseInt(s.replace("col-md-",""),10),columnInLG:parseInt(f.replace("col-xl-",""),10),columnInEL:parseInt(u.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(o,m)}updateUnifiedLayoutAfterResponseLayoutChanged(n,i){const{formNode:o}=this.responseLayoutEditorFunction.checkCanFindFormNode(n);if(!o||!o.unifiedLayout)return;const l=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(o,l,1),i){const p=l.find(y=>y.id===i.id);Object.assign(p||{},i)}const a=l.map(p=>p.columnInSM),s=l.map(p=>p.columnInMD),f=l.map(p=>p.columnInLG),u=l.map(p=>p.columnInEL),m=this.checkIsUniqueColumn(a)?a[0]:null,d=this.checkIsUniqueColumn(s)?s[0]:null,c=this.checkIsUniqueColumn(f)?f[0]:null,h=this.checkIsUniqueColumn(u)?u[0]:null;Object.assign(o.unifiedLayout,{uniqueColClassInSM:m,uniqueColClassInMD:d,uniqueColClassInLG:c,uniqueColClassInEL:h})}checkIsUniqueColumn(n){const i=new Set(n);return Array.from(i).length===1}getItemCollectionEditor(n,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(n)}}}checkEnumDataReadonly(n){return!n.binding||n.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===D.FormSchemaEntityFieldType$Type.EnumType)}appendFieldValueChangeEvents(n,i){n.binding&&n.binding.type===st.Form&&n.binding.field?(i.find(o=>o.label==="fieldValueChanging"),i.find(o=>o.label==="fieldValueChanged"),this.designViewModelField&&(n.fieldValueChanging=this.designViewModelField.valueChanging,n.fieldValueChanged=this.designViewModelField.valueChanged)):i=i.filter(o=>o.label!=="fieldValueChanging"&&o.label!=="fieldValueChanged")}getControlMethodType(n){if(!n.binding)return n.type;switch(n.binding.type){case st.Form:return n.binding.path||n.type;case st.Variable:return n.binding.fullPath||n.type}return n.type}getEventPropertyConfig(n,i="card",o,l){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(n,s);const f=a.eventsEditorUtils.formProperties(n,a.viewModelId,s);return{title:"事件",hideTitle:!0,properties:a.createBaseEventProperty(f),tabId:"commands",tabName:"交互",setPropertyRelates(d,c){const h=d.propertyValue;delete n[a.viewModelId],h&&(h.setPropertyRelates=this.setPropertyRelates,h.controlInfo={type:a.getControlMethodType(n),name:n.title},a.eventsEditorUtils.saveRelatedParameters(n,a.viewModelId,h.events,h)),l&&l(d,c,h);const p=a.designViewModelUtils.getDgViewModel(a.viewModelId);p&&a.designViewModelField&&p.changeField(a.designViewModelField.id,{valueChanging:n.fieldValueChanging,valueChanged:n.fieldValueChanged})}}}getExpressionConfig(n,i,o=["compute","dependency","validate"],l){return new Xt(this.formSchemaUtils).getExpressionConfig(n,i,o,l)}getBindingDataType(){return this.designViewModelField?this.designViewModelField.type.name==="Number"?"number":this.designViewModelField.type.name==="String"?"string":"boolean":"boolean"}getEditor(){return this.getBindingDataType()==="number"?this.numberEditorOptions:{}}updatePropertyValue(n,i,o){var l;n.editor[i]!==o?n.editor[i]=o:(l=this.getFormDesignerInstance())==null||l.reloadPropertyPanel()}setBooleanValue(n,i,o){let l=o;this.getBindingDataType()==="string"&&(l=(l||"").trim()||(i==="trueValue"?"true":"false"));const s=i==="trueValue"?"falseValue":"trueValue";n.editor[s]===l&&(l=l+1),this.updatePropertyValue(n,i,l)}getBooleanValueConverter(){return{convertFrom:(n,i)=>n.editor[i],convertTo:(n,i,o)=>{this.setBooleanValue(n,i,o)}}}}class po extends yt{constructor(e,n){super(e,n)}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 ho extends He.InputBaseProperty{constructor(e,n){super(e,n)}getEditorProperties(e){const n=this;return n.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",...n.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,l)=>{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 go extends He.InputBaseProperty{constructor(e,n){super(e,n)}getEditorProperties(e){var n,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:((n=this.designViewModelField)==null?void 0:n.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()},falseValue:{description:"未选中的值",title:"未选中的值",type:this.getBindingDataType(),visible:((i=this.designViewModelField)==null?void 0:i.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()}})}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;if(e.editor&&((l=o==null?void 0:o.type)!=null&&l.name)){let a,s;o.type.name===D.FormSchemaEntityFieldTypeName.String&&(a="true",s="false"),o.type.name===D.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:(t,e)=>(t.editor.remote||{})[e],convertTo:(t,e,n)=>{t.editor.remote=t.editor.remote||{},t.editor.remote[e]=n}};class yo extends He.InputBaseProperty{constructor(e,n){super(e,n)}getCommonEditorProperties(e){var n,i,o;return{viewType:{visible:!!((n=e.editor)!=null&&n.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 l,a;const n=this;let i="";if(((l=e==null?void 0:e.binding)==null?void 0:l.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 n.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",...n.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,f)=>{if(!s||!f.editor)return;const u=this;switch(s.propertyID){case"dataSourceType":{s.propertyValue==="static"?(f.editor.valueField="value",f.editor.textField="name",f.editor.remote=null):s.propertyValue==="dynamic"&&(f.editor.remote={method:"GET"},f.editor.valueField="value",f.editor.textField="name");break}case"data":{!u.checkEnumDataReadonly(f)&&f.formatter&&(f.formatter.data=[...s.propertyValue]);break}case"viewType":s.propertyValue==="tag"&&(f.editor.editable=!1)}})}getGridFieldEdtiorProperties(e,n){var a,s,f,u,m,d;const i=this;let o="";if(((a=e==null?void 0:e.binding)==null?void 0:a.type)==="Form"){const c=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(s=c==null?void 0:c.schemaField)!=null&&s.type&&(o=c.schemaField.type.$type)}return i.getComponentConfig(e,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},data:{description:"",title:"数据",type:"array",visible:!((f=e.editor)!=null&&f.dataSourceType)||((u=e.editor)==null?void 0:u.dataSourceType)==="static",...i.getItemCollectionEditor(e,(m=e.editor)==null?void 0:m.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)},(c,h)=>{if(!c||!h.editor)return;const p=this;switch(c.propertyID){case"dataSourceType":{c.propertyValue==="static"?(h.editor.valueField="value",h.editor.textField="name",h.editor.remote=null):c.propertyValue==="dynamic"&&(h.editor.remote={method:"GET"},h.editor.valueField="value",h.editor.textField="name");break}case"data":{!p.checkEnumDataReadonly(h)&&h.formatter&&(h.formatter.data=[...c.propertyValue]);break}}})}setEditorPropertyRelates(e,n,i){if(!e||!n.editor)return;const o=this;switch(e.propertyID){case"dataSourceType":{e.propertyValue==="static"&&(n.editor.valueField="value",n.editor.textField="name",n.editor.remote={});break}case"data":{!o.checkEnumDataReadonly(n)&&n.formatter&&(n.formatter.data=[...e.propertyValue]);break}}}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;e.editor&&((l=o==null?void 0:o.type)==null?void 0:l.$type)===D.FormSchemaEntityFieldType$Type.EnumType&&(e.editor.data=o.type.enumValues||[])}getEventPropertyConfig(e,n="card",i,o){const l=this;let a=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"下拉面板前事件"}];i&&(a=a.concat(i)),this.appendFieldValueChangeEvents(e,a);const s=l.eventsEditorUtils.formProperties(e,l.viewModelId,a);return{title:"事件",hideTitle:!0,properties:l.createBaseEventProperty(s),tabId:"commands",tabName:"交互",setPropertyRelates(m,d){const c=m.propertyValue;delete e[l.viewModelId],c&&(c.setPropertyRelates=this.setPropertyRelates,l.eventsEditorUtils.saveRelatedParameters(e,l.viewModelId,c.events,c)),o&&o(m,d,c);const h=l.designViewModelUtils.getDgViewModel(l.viewModelId);h&&l.designViewModelField&&h.changeField(l.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 vo extends He.InputBaseProperty{constructor(e,n){super(e,n)}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 bo(){let t="zh-CHS";window&&window.top&&window.top.localStorage&&window.top.localStorage.languageCode&&({languageCode:t}=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"}],n=[{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"}],l=[{id:"yyyy",name:"yyyy"}];return t==="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分"}),n.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日"}),l.push({id:"yyyy年",name:"yyyy年"})),t==="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分"}),n.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日"}),l.push({id:"yyyy年",name:"yyyy年"})),{timeFormats:e,yMFormats:i,yMdFormats:n,mdFormats:o,yFormats:l}}const Co=[{id:"yyyy-MM-dd",name:"yyyy-MM-dd"},{id:"yyyy/MM/dd",name:"yyyy/MM/dd"},{id:"MM/dd/yyyy",name:"MM/dd/yyyy"}],wo=[{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"}],So=[{id:"yyyy-MM",name:"yyyy-MM"},{id:"yyyy/MM",name:"yyyy/MM"},{id:"yyyyMM",name:"yyyyMM"}],xo=[{id:"yyyy",name:"yyyy"}],{timeFormats:Mo,yMdFormats:Fo,yMFormats:en,mdFormats:To,yFormats:Mt}=bo();class _o extends He.InputBaseProperty{constructor(e,n){super(e,n)}getDatePickerModes(e){return e==="Date"||e==="DateTime"?[{label:"年月日",value:"day"}]:[{label:"年月日",value:"day"},{label:"年月",value:"month"},{label:"年",value:"year"}]}checkMaxMinDate(e){const{minDate:n,maxDate:i,showTime:o}=(e==null?void 0:e.editor)||{},{parseToDate:l,formatTo:a}=D.useDateFormat();if(i){const s=l(i,"yyyy-MM-dd HH:mm:ss");s&&(e.editor.maxDate=a(s,o?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd"))}if(n){const s=l(n,"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,f,u,m,d,c,h,p,y,w,F,x,M,_,v;const n=this.getDateFormatOptions(e==null?void 0:e.editor),i=this.getValueFormatOptions(e==null?void 0:e.editor),o=(f=(s=this.designViewModelField)==null?void 0:s.type)==null?void 0:f.name,l=this.getDatePickerModes(o),a=this.getExtremeDateFormat(e);return(u=e==null?void 0:e.editor)!=null&&u.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:l}},showWeekNumber:{description:"",title:"显示第几周",type:"boolean",visible:((m=e==null?void 0:e.editor)==null?void 0:m.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:((c=e==null?void 0:e.editor)==null?void 0:c.fieldType)==="Date",refreshPanelAfterChanged:!0,visible:((h=e==null?void 0:e.editor)==null?void 0:h.selectMode)==="day"},displayFormat:{description:"",title:"展示格式",type:"enum",editor:{data:n}},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:((w=e==null?void 0:e.editor)==null?void 0:w.maxDate)||"9999-12-31 23:59:59",showTime:(F=e==null?void 0:e.editor)==null?void 0:F.showTime},refreshPanelAfterChanged:!0},maxDate:{description:"",title:"最大日期",type:"string",editor:{type:"date-picker",enableClear:!0,selectMode:((x=e==null?void 0:e.editor)==null?void 0:x.selectMode)||"day",displayFormat:a,valueFormat:a,minDate:((M=e==null?void 0:e.editor)==null?void 0:M.minDate)||"1900-01-01 00:00:00",maxDate:"9999-12-31 23:59:59",showTime:(_=e==null?void 0:e.editor)==null?void 0:_.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 n,i,o,l;if(((n=e==null?void 0:e.editor)==null?void 0:n.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(((l=e==null?void 0:e.editor)==null?void 0:l.selectMode)==="year")return"yyyy"}getEventPropertyConfig(e){const n=this,i=[{label:"onDatePicked",name:"日期选择后事件"}],o=n.eventsEditorUtils.formProperties(e,n.viewModelId,i);return{title:"事件",hideTitle:!0,properties:n.createBaseEventProperty(o),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,s){const f=a.propertyValue;delete s[n.viewModelId],f&&n.eventsEditorUtils.saveRelatedParameters(s,n.viewModelId,f.events,f);const u=n.designViewModelUtils.getDgViewModel(n.viewModelId);u&&n.designViewModelField&&u.changeField(n.designViewModelField.id,{valueChanging:s.fieldValueChanging,valueChanged:s.fieldValueChanged})}}}setEditorPropertyRelates(e,n,i){if(!(!e||!n.editor))switch(e.propertyID){case"showTime":{const o=n.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"),n.formatter&&(n.formatter.dateFormat=o.displayFormat);break}case"displayFormat":{n.formatter&&(n.formatter.dateFormat=e.propertyValue);break}case"selectMode":{e.propertyValue!=="day"?(n.editor.showWeekNumber=!1,n.editor.showTime=!1,n.editor.enableQuickSelect=!1,e.propertyValue==="month"?(n.editor.displayFormat="yyyy-MM",n.editor.valueFormat="yyyy-MM"):(n.editor.displayFormat="yyyy",n.editor.valueFormat="yyyy")):(n.editor.displayFormat="yyyy-MM-dd",n.editor.valueFormat="yyyy-MM-dd");break}}}getDateFormatOptions(e){const n=e.selectMode||"day";let i=[];switch(n){case"day":{const o=[];e.showTime&&o.push(...Mo),o.push(...Fo,...en,...Mt,...To),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=[...Co];return e.showTime&&(i=[...wo]),i}case"month":return So;case"year":return xo;default:return[]}}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;e.editor&&((l=o==null?void 0:o.type)!=null&&l.name)&&(e.editor.fieldType=o.type.name,o.type.name===D.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 ko=[{value:"both",text:"同步选择"},{value:"up",text:"包含上级"},{value:"down",text:"包含下级"},{value:"disable",text:"仅选择自身"}],Vo="";function vt(t){let e=[10,20,30,50,100];return t&&(typeof t=="string"&&(e=t.replaceAll("[","").replaceAll("]","").replaceAll(" ","").split(",")),Array.isArray(t)&&(e=t)),e.map(n=>({value:parseInt(n,10)})).sort((n,i)=>n.value-i.value)}const be={convertFrom:(t,e)=>{const n=t.editor?t.editor:t;return e==="multiSelect"||e==="enableTitle"?!!n[e]:e==="separator"?n[e]||",":e==="onlySelectLeaf"?n[e]==null?!1:n[e]:e==="loadTreeDataType"?n[e]||"default":e==="placeholder"?Re.isNil(n[e])?"请选择":n[e]:e==="openType"?n[e]||"Modal":n[e]},convertTo:(t,e,n)=>{const i=t.editor?t.editor:t;if(i[e]=n,e==="multiSelect"&&!n&&(i.enableCascade=!1),e==="openType"){if(n==="Popup")i.showSelections=!1,i.enableCascade=!1;else if(i.dialog){const{width:o}=i.dialog,{displayType:l}=i;l&&l.toUpperCase().indexOf("NAV")>-1&&(!o||o<520)&&(i.dialog.width=960)}}i.multiSelect&&i.openType==="Popup"&&(i.editable=!1,i.allowFreeInput=!1)}};function Eo(t){let e="form_group_"+Date.now();return t&&(e=t.replaceAll("-","_").replaceAll(".","_")),"lookup."+e}function Io(t,e){const{enablePager:n,pageSize:i,pageList:o}=e;t.pagination=t.pagination||{},Object.assign(t.pagination,{enable:n,sizeLimits:vt(o).map(l=>l.value),size:i,showLimits:!0,showGoto:!1,mode:"server"})}const tn={convertFrom:(t,e)=>{var i;return(i=(t.editor?t.editor:t).dataSource)==null?void 0:i.displayName},convertTo:(t,e,n)=>{if(n&&n.length>0){const i=t.editor?t.editor:t,o=n[0],{name:l,id:a,metadataContent:s,code:f}=o;i.dataSource||(i.dataSource={}),i.dataSource.displayName=`${l}(${f})`,i.helpId=a;const{displayType:u,idField:m,textField:d}=s;i.displayType=u,i.dataSource.idField=m,i.textField=d,i.dataSource.type="ViewObject",i.enableEqualSearch=!1;const{pageInfo:c}=s.dataSource;Io(i,c);const{treeInfo:h}=u.toUpperCase()==="NAVTREELIST"?s.navigation:s.dataSource;if(h){const{onlySelectLeaf:p,loadDataType:y}=h;i.loadTreeDataType="default",i.onlySelectLeaf=p??!1}if(i.dataSource.uri||(i.dataSource.uri=Eo(t.id)),i.dialog){const{width:p}=i.dialog;u&&u.toUpperCase().indexOf("NAV")>-1&&(!p||p<520)&&(i.dialog.width=960)}}}},Po={convertFrom:(t,e)=>{var n;return(n=t.editor.dataSource)==null?void 0:n.idField},convertTo:(t,e,n)=>{if(n&&n.length>0){const i=n[0];t.editor.dataSource.idField=i==null?void 0:i.bindingPath}}},No={convertFrom:(t,e)=>{var n;return(n=t.editor)==null?void 0:n.textField},convertTo:(t,e,n)=>{if(n&&n.length>0){const i=n[0];t.editor.textField=i==null?void 0:i.bindingPath}}},Bo={convertFrom:(t,e)=>t.editor.displayType?t.editor.displayType.toUpperCase():"LIST",convertTo:(t,e,n)=>{t.editor.displayType=n}},Ue={convertFrom:(t,e)=>{var l;let n=t.editor?t.editor.dialog:t.dialog;const i=t.editor?t.editor.openType:t.openType;if(n||(n={}),e==="title")return n[e]||Vo;if(!i||i==="Modal"){if(e==="width")return(l=n.displayType)!=null&&l.toUpperCase().startsWith("NAV")?n[e]||960:n[e]||590;if(e==="height")return n[e]||620;if(e==="navigatorWidth")return n[e]||320}else{if(e==="width")return n[e]||460;if(e==="height")return n[e]||380}if(e==="draggable")return!0;if(["showMaxButton","showCloseButton","resizeable","enableEsc","rememberSize"].includes(e))return n[e]==null?!0:n[e]},convertTo:(t,e,n)=>{const i=t.editor?t.editor:t;i.dialog=i.dialog||{},i.dialog[e]=n}},Oo={convertFrom:(t,e)=>{const n=t.editor?t.editor:t;if(n.pagination=n.pagination||{},e==="enable"||e==="showLimits")return n.pagination[e]==null?!1:n.pagination[e];if(e==="sizeLimits"){const i=n.pagination[e];return vt(i)}if(e==="size")return n.pagination[e]||20},convertTo:(t,e,n)=>{var o;const i=t.editor?t.editor.pagination||{}:t;if(i.pagination=i.pagination||{},e==="sizeLimits"){const l=n.map(s=>s.value);i.pagination[e]=l;const a=((o=i.pagination)==null?void 0:o.size)??20;l.includes(a)||(i.pagination.size=l[0]);return}i.pagination[e]=n}},nn=[{label:"clear",name:"清空事件"},{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],jo=Symbol("schema_repository_token");function Ro(t,e){const n=i=>i&&i.length?i.map(o=>`${o.name}[${o.bindingPath}]`).join(","):"";return{dataSourceEditor:{type:"schema-selector",title:"选择数据源",editorParams:{propertyData:t,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:jo},dataSourceConverter:tn,defaultConverter:be,idFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",disabled:!1,editorParams:{propertyData:t,formBasicInfo:e.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:gt.FieldSelectorRepositoryToken},textFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",editorParams:{propertyData:t,formBasicInfo:e.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:gt.FieldSelectorRepositoryToken},mappingFieldsEditor:{type:"mapping-editor",modalWidth:800,modalHeight:600,editable:!1,editorParams:{propertyData:t,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:gt.FieldSelectorRepositoryToken,displayFormatter:n},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(l=>l.data.bindingPath!==o):i},formatter:(i,o)=>`${o.raw.name} [${o.raw.bindingPath}]`,displayFormatter:n}}}}function Ao(t){var l,a;const e={type:"combo-list",enableClear:!1,editable:!1},n={type:"number-spinner",useThousands:!1},i=()=>t.displayType?t.displayType.toUpperCase():"",o=()=>i().startsWith("NAV")?t.showNavigation===void 0?!0:!!t.showNavigation:!1;return{openType:{description:"窗口展示方式:弹出窗口、下拉面板",title:"打开方式",type:"string",refreshPanelAfterChanged:!0,$converter:be,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:t.openType!=="Popup",$converter:Ue},width:{description:"窗口宽度,单位:px,最小值:300px",title:"宽度",type:"number",editor:{...n,min:o()?520:300,needValid:!0},$converter:Ue},height:{description:"窗口高度,单位:px,最小值:200px",title:"高度",type:"number",editor:{...n,min:200,needValid:!0},$converter:Ue},showNavigation:{description:"显示导航栏",$converter:be,refreshPanelAfterChanged:!0,title:"显示导航栏",type:"boolean",visible:i().includes("NAV")&&t.openType!=="Popup"},navigatorWidth:{description:"导航栏宽度,最小200px, 最大为窗口宽度减去200px",title:"导航栏宽度",type:"number",visible:o()&&t.openType!=="Popup",editor:{...n,min:200,max:(((l=t==null?void 0:t.dialog)==null?void 0:l.width)??960)-200,needValid:!0},$converter:Ue},resizeable:{description:"允许鼠标拖拽窗口边缘调整尺寸",title:"允许调整窗口尺寸",type:"boolean",visible:t.openType!=="Popup",$converter:Ue},rememberSize:{description:"记录窗口尺寸",title:"记录窗口尺寸",type:"boolean",visible:!!t.enableUserData&&(((a=t==null?void 0:t.dialog)==null?void 0:a.resizeable)??!0)&&t.openType!=="Popup",$converter:Ue},enableEsc:{description:"允许ESC关闭",title:"允许ESC关闭",type:"boolean",visible:t.openType!=="Popup",$converter:Ue},showMaxButton:{description:"显示最大化按钮",title:"显示最大化按钮",type:"boolean",visible:t.openType!=="Popup",$converter:Ue},showCloseButton:{description:"显示关闭按钮",title:"显示关闭按钮",type:"boolean",visible:t.openType!=="Popup",$converter:Ue}}}function Ho(t,e=!0){var l,a,s,f;const n=!((l=t.pagination)!=null&&l.enable),i=()=>t.displayType?t.displayType.toUpperCase():"",o=(u,m)=>{const d=i()!=="TREELIST"||u.treeToList;return m&&d?u.pagination&&u.pagination[m]:d};return{hide:i()==="TREELIST"||!t.helpId||n,description:"分页配置",title:"分页",parentPropertyID:"pagination",$converter:Oo,properties:{showLimits:{description:"显示每页条数选择器",title:"显示条数选择器",type:"boolean",refreshPanelAfterChanged:e,visible:o(t)},sizeLimits:{description:"每页可显示条数",title:"每页显示条数",type:"array",refreshPanelAfterChanged:e,visible:o(t,"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:vt((a=t.pagination)==null?void 0:a.sizeLimits),beforeSubmit:({notifyService:u,data:m})=>!m||!m.length?(u==null||u.warning({message:"每页显示条数不能为空!"}),!1):new Set(m.map(c=>parseInt(c.value,10))).size===m.length?!0:(u==null||u.warning({message:"每页显示条数不能重复!"}),!1)}},size:{description:"默认显示条数",title:"默认显示条数",type:"number",visible:o(t),editor:{type:"combo-list",enableClear:!1,editable:!1,data:vt((s=t.pagination)==null?void 0:s.sizeLimits),textField:"value",idField:"value",valueField:"value",modelValue:(f=t.pagination)==null?void 0:f.size}}}}}class Lo extends He.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(n,i){const o=["validate"];return n.type==="form-group"&&o.push("dataPicking"),new He.ExpressionProperty(this.formSchemaUtils).getExpressionConfig(n,"Field",o)}getPropertyConfig(n,i,o="Card"){var F;const l=(F=n.binding)!=null&&F.field?[]:["Const","Variable","StateMachine"];this.readonlyEditor=this.getPropertyEditorParams(n,l,"readonly"),this.visibleEditor=this.getPropertyEditorParams(n,l,"visible"),this.requiredEditor=this.getPropertyEditorParams(n,l,"required"),this.freeInputEditor=this.getPropertyEditorParams(n,["Const","Variable"],"allowFreeInput");const a=this.getBasicProperties(n,i,o),s=this.getBehaviorConfig(n),f=this.getAppearanceProperties(n,i),u=this.getLookupConfig(n),m=this.getEventPropConfig(n),d=this.getDialogPropertyConfig(n),c=this.getPageConfig(n.editor),h=this.getTreePropConfig(n.editor),p=this.getSearchConfig(n),y=this.getExpressionConfig(n,"Field"),w={basic:a,appearance:f,behavior:s,lookup:u,treeConfig:h,dialog:d,pager:c,searchConfig:p,expressions:y};return n.type==="form-group"&&(w.eventsEditor=m),{type:"object",categories:w}}getGridFieldEdtiorPropConfig(n){return this.getPropertyConfig(n,null,"Grid").categories}flattenTreeNodes(n){return n.reduce((i,o)=>{var l;return i.push(o),(l=o.children)!=null&&l.length&&i.push(...this.flattenTreeNodes(o.children)),i},[])}isSimpleStringField(){var s;const n=((s=this.designViewModelField)==null?void 0:s.path)||"";if(!n||!n.includes("."))return!0;const i=n.split("."),o=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);if(!(o!=null&&o.length))return!1;const l=o.find(f=>f.data.code===i[0]);if(!l)return!1;const a=[l,...this.flattenTreeNodes(l.children)];return!i.reduce((f,u,m)=>[...f,m?`${f[m-1]}.${u}`:u],[]).some(f=>{var u,m,d;return((d=(m=(u=a.find(c=>c.data.path===f))==null?void 0:u.data)==null?void 0:m.type)==null?void 0:d.$type)==="EntityType"})}getBehaviorConfig(n){return{description:"Basic Infomation",title:"行为",properties:{visible:{description:"运行时组件是否可见",title:"是否可见",type:"boolean",editor:this.visibleEditor}},setPropertyRelates:(i,o)=>{this.afterMutilEditorChanged(o,i)}}}changeBindingField(n,i){super.changeBindingField(n,i),n.editor.multiSelect=!1}getDisplayType(n){return n.displayType?n.displayType.toUpperCase():""}mapFieldsDisplayFormatter(n){return n&&n.length?n.map(i=>`${i.name}[${i.bindingPath}]`).join(","):""}getSearchConfig(n){var i;return{description:"Lookup Search Infomation",title:"搜索",parentPropertyID:"editor",properties:{enableSearchBar:{$converter:be,description:"是否启用搜索栏",refreshPanelAfterChanged:!0,title:"启用搜索栏",type:"boolean",visible:!1},searchAnyField:{description:"显示所有列",$converter:be,title:"允许查询所有列",type:"boolean",visible:n.editor.openType!=="Popup"&&n.editor.enableSearchBar==null?!0:!!n.editor.enableSearchBar},enableEqualSearch:{$converter:be,description:"是否启用等于搜索",title:"启用精确搜索",type:"boolean",visible:n.editor.openType!=="Popup"&&(((i=n.editor)==null?void 0:i.enableSearchBar)??!0)!==!1&&this.getDisplayType(n.editor)!=="TREELIST"}},hide:n.editor.openType==="Popup"}}getLookupConfig(n){const i=n.editor,o=()=>{const u=this.formSchemaUtils.getFormSchema().module.entity[0].id,m=this.formSchemaUtils.getFormMetadataBasicInfo();return{propertyData:i,formBasicInfo:m,viewModelId:u,dataSourceId:i.helpId}},{dataSourceEditor:l,idFieldEditor:a,textFieldEditor:s,mappingFieldsEditor:f}=Ro(i,this);return{description:"Basic Infomation",title:"编辑器",setPropertyRelates:(u,m)=>{if(u)switch(u.propertyID){case"readonly":case"required":this.afterMutilEditorChanged(m,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},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string",$converter:be},enableTitle:{description:"鼠标悬停显示文本内容",title:"悬停提示",type:"boolean",$converter:be,editor:this.comboListEditor},editable:{description:"",title:"允许编辑",type:"boolean",$converter:be,refreshPanelAfterChanged:!0,editor:this.comboListEditor,visible:!(i.multiSelect&&i.openType==="Popup")},allowFreeInput:{description:"",title:"任意输入",type:"boolean",$converter:be,editor:this.freeInputEditor,visible:!!i.editable&&this.isSimpleStringField()},enableClear:{title:"启用清除按钮",type:"boolean",$converter:be},dataSource:{description:"数据源",title:"数据源",type:"string",refreshPanelAfterChanged:!0,editor:{...l,displayFormatter:u=>u&&u.length?u.map(m=>`${m.name}(${m.code})`).join(","):"",validateFunction:async u=>this.formSchemaUtils.designerMode!=="PC_RTC"?!0:this.checkSameBESource(u,n),onSubmitModal:u=>{if(u){delete i.mappingFields;const m=this.formSchemaUtils.getFormMetadataBasicInfo();return this.metadataService.getPickMetadata(m.relativePath,u[0].data).then(d=>JSON.parse(d==null?void 0:d.metadata.content))}}},$converter:tn},filterConditions:{descriptions:"帮助过滤条件",title:"过滤条件",type:"string",$converter:be,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:gt.FieldSelectorRepositoryToken,beforeOpen:async({repository:u,notifyService:m})=>{var w;if(!(i==null?void 0:i.helpId))return m==null||m.warning({message:"请先配置数据源!"}),!1;const c=o(),p=new He.ExpressionProperty(this.formSchemaUtils).getEntitiesAndVariables();let y={};if(u){const F=await u.getData(c),x=await u.getLookupConditions(c);y={fieldList:F,conditionList:x}}return(w=p.variables)!=null&&w.forms&&(p.variables.forms.items=p.variables.forms.items.filter(F=>F.category==="remote")),{...y,...p,isServerSide:!0}},onSubmitModal:async({loadingService:u,repository:m,conditions:d,originalConditions:c,FMessageBoxService:h})=>{if(m)try{const p=o(),y=await m.getLookupConditions(p)||[];return JSON.stringify(y)!==JSON.stringify(c.value)?(u==null||u.clearAll(),h.question("视图对象中的帮助过滤条件已更改,请点击确定同步过滤数据","",()=>{d.value=y,c.value=JSON.parse(JSON.stringify(d.value))},()=>{}),!1):(JSON.stringify(d.value)===JSON.stringify(c.value)||await m.saveFilterCondition(d.value,p,this.formSchemaUtils.getFormMetadataBasicInfo()),!0)}catch{return h==null||h.error("保存失败",""),!1}finally{u==null||u.clearAll()}}},visible:!!i.helpId},displayType:{description:"类型: 树列表、列表、双列表、左树右列表",title:"展示类型",type:"string",$converter:Bo,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:Po},textField:{description:"显示文本字段",title:"文本字段",type:"string",$converter:No,editor:s},mappingFields:{description:"字段映射",title:"字段映射",type:"string",$converter:be,editor:{...f}},enableToSelect:{description:"数据加载后是否选中现有值",$converter:be,title:"选中已选值",type:"boolean",editor:this.comboListEditor},multiSelect:{description:"启用多选",$converter:be,title:"启用多选",type:"boolean",editor:this.comboListEditor,refreshPanelAfterChanged:!0,visible:this.isSimpleStringField()},showSelections:{description:"显示已选记录",$converter:be,title:"显示已选记录",type:"boolean",visible:!!i.multiSelect&&i.openType!=="Popup"},separator:{description:"多选分隔符",$converter:be,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:be,refreshPanelAfterChanged:!0,title:"启用搜索框",type:"boolean",visible:!1},enableFavorite:{description:"启用收藏夹",$converter:be,title:"启用收藏夹",type:"boolean",visible:i.openType!=="Popup"},enableUserData:{description:"保存界面状态",$converter:be,refreshPanelAfterChanged:!0,title:"保存界面状态",type:"boolean",visible:i.openType!=="Popup"}}}}showNavigatiorWidth(n){return this.getDisplayType(n).startsWith("NAV")&&n.openType!=="Popup"?n.showNavigation===void 0?!0:!!n.showNavigation:!1}getDialogPropertyConfig(n){const i=Ao(n.editor);return i.openType.$converter=be,{description:"帮助窗口尺寸配置",title:"帮助窗口",parentPropertyID:"dialog",$converter:Ue,properties:i}}showPagerProperty(n,i){const o=this.getDisplayType(n)!=="TREELIST"||n.treeToList;return i&&o?n.pagination&&n.pagination[i]:o}getPageConfig(n){return Ho(n)}showLoadType(n){const i=this.getDisplayType(n);return(i==="TREELIST"||i==="NAVTREELIST")&&!n.treeToList&&!n.navTreeToList}isTree(n){return this.getDisplayType(n)==="TREELIST"&&!n.treeToList}getTreePropConfig(n){return{hide:this.getDisplayType(n)!=="TREELIST"&&this.getDisplayType(n)!=="NAVTREELIST",description:"树形数据配置",title:"树形数据配置",parentPropertyID:"editor",properties:{treeToList:{description:"以列表的形式展示树结构数据",$converter:be,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(n)==="TREELIST"},navTreeToList:{description:"以列表的形式展示树结构数据",$converter:be,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(n)==="NAVTREELIST"},loadTreeDataType:{description:"树形数据加载方式",$converter:be,title:"数据加载方式",type:"string",editor:{...this.comboListEditor,data:[{value:"default",text:"默认"},{value:"all",text:"全部加载"},{value:"async",text:"分层加载"}],textField:"text",valueField:"value"},visible:this.showLoadType(n)},enableFullTree:{description:"启用构造完整树",$converter:be,title:"构造完整树",type:"boolean",visible:this.showLoadType(n)},onlySelectLeaf:{description:"仅选择叶子节点",$converter:be,title:"仅选择叶子节点",type:"boolean",visible:this.isTree(n)},enableCascade:{description:"启用级联选择",$converter:be,refreshPanelAfterChanged:!0,title:"启用级联选择",type:"boolean",visible:this.isTree(n)&&!!n.multiSelect&&n.openType!=="Popup"},showCascadeControl:{description:"是否在界面中显示级联状态",$converter:be,title:"显示级联状态",type:"boolean",visible:!!n.enableCascade&&this.isTree(n)},cascadeValue:{description:"缺省级联选择模式",$converter:be,title:"缺省级联选择模式",type:"string",visible:!!n.enableCascade&&this.isTree(n),editor:{...this.comboListEditor,data:ko,textField:"text",valueField:"value"}},expandLevel:{description:"默认展开层级: 0: 不展开; -1: 全部展开;>0: 展开到指定级数 ",$converter:be,title:"默认展开层级",type:"number",visible:this.showLoadType(n),editor:{...this.numberEditor,min:-1,max:99,needValid:!0}}}}}getEventPropConfig(n){const i=this;let o=nn;n.editor.openType==="Popup"&&(o=o.filter(s=>s.label!=="beforeSelectData"));const l=i.eventsEditorUtils.formProperties(n,i.viewModelId,o);return{title:"事件",hideTitle:!0,properties:i.createBaseEventProperty(l),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(s,f){const u=s.propertyValue;delete f[i.viewModelId],u&&i.eventsEditorUtils.saveRelatedParameters(f,i.viewModelId,u.events,u);const m=i.designViewModelUtils.getDgViewModel(i.viewModelId);m&&i.designViewModelField&&m.changeField(i.designViewModelField.id,{valueChanging:f.fieldValueChanging,valueChanged:f.fieldValueChanged})}}}async checkSameBESource(n,i){var o,l,a,s,f;if(n&&((o=i==null?void 0:i.editor)!=null&&o.helpId)&&!i.isRtcControl){if(n.data.id===i.editor.helpId)return!0;const u=await this.metadataService.getPickMetadata("",n.data).then(y=>{var w;if((w=y==null?void 0:y.metadata)!=null&&w.content)return JSON.parse(y.metadata.content)}),m=await this.metadataService.getPickMetadata("",{id:i.editor.helpId}).then(y=>{var w;if((w=y==null?void 0:y.metadata)!=null&&w.content)return JSON.parse(y.metadata.content)}),d=(l=u==null?void 0:u.dataSource)==null?void 0:l.sourceType,c=(a=m.dataSource)==null?void 0:a.sourceType,h=(s=u==null?void 0:u.dataSource)==null?void 0:s.sourceId,p=(f=m==null?void 0:m.dataSource)==null?void 0:f.sourceId;if(d==="BE"&&c==="BE"&&h!==p)return new St.FNotifyService().error({message:"只允许更换同数据源的帮助元数据",position:"top-center"}),!1}return!0}}class $o extends yt{constructor(e,n){super(e,n)}getEditorProperties(e){return this.getComponentConfig(e,{type:"number-range"},{editable:{description:"",title:"允许编辑",type:"boolean"}})}}class Wo extends He.InputBaseProperty{constructor(e,n){super(e,n)}getEditorProperties(e){var l,a,s,f,u,m,d,c;let n,i=!1;if(((l=e==null?void 0:e.binding)==null?void 0:l.type)==="Form"){const h=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(a=h==null?void 0:h.schemaField)!=null&&a.type&&(n=h.schemaField.type.precision,i=h.schemaField.type.name==="BigNumber")}return this.getComponentConfig(e,{type:"number-spinner"},{precision:{description:"",title:"精度",type:"number",editor:{readonly:n===0,min:0,max:n,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:(f=e==null?void 0:e.editor)==null?void 0:f.max,precision:(u=e==null?void 0:e.editor)==null?void 0:u.precision,bigNumber:i,needValid:!0},refreshPanelAfterChanged:!0},max:{description:"",title:"最大值",type:"number",editor:{nullable:!0,min:((m=e==null?void 0:e.editor)==null?void 0:m.min)===void 0||(d=e==null?void 0:e.editor)==null?void 0:d.min,precision:(c=e==null?void 0:e.editor)==null?void 0:c.precision,bigNumber:i,needValid:!0},refreshPanelAfterChanged:!0},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(h,p,y){if(h)switch(h.propertyID){case"precision":{p.formatter&&(p.formatter.precision=h.propertyValue);break}}})}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;e.editor&&((l=o==null?void 0:o.type)==null?void 0:l.name)===D.FormSchemaEntityFieldTypeName.Number&&(e.editor.precision=o.type.precision)}}class zo extends yt{constructor(e,n){super(e,n)}getEditorProperties(e){const n=this;return n.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",...n.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,n,i){if(!e||!n.editor)return;const o=this;switch(e.propertyID){case"dataSourceType":{e.propertyValue==="static"&&(n.editor.valueField="value",n.editor.textField="name");break}case"data":{!o.checkEnumDataReadonly(n)&&n.formatter&&(n.formatter.data=[...e.propertyValue]);break}}}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;e.editor&&((l=o==null?void 0:o.type)==null?void 0:l.$type)===D.FormSchemaEntityFieldType$Type.EnumType&&(e.editor.data=o.type.enumValues||[])}}class qo extends He.InputBaseProperty{constructor(e,n){super(e,n)}getEditorProperties(e){var n,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:((n=this.designViewModelField)==null?void 0:n.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()},falseValue:{description:"关闭时的值",title:"关闭的值",type:this.getBindingDataType(),visible:((i=this.designViewModelField)==null?void 0:i.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()}})}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;if(e.editor&&((l=o==null?void 0:o.type)!=null&&l.name)){let a,s;o.type.name===D.FormSchemaEntityFieldTypeName.String&&(a="true",s="false"),o.type.name===D.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 yt{constructor(e,n){super(e,n)}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}}},(n,i)=>{n.propertyID==="use12Hours"&&(i.editor.format=i.editor.format||"hh:mm:ss",i.editor.format=n.propertyValue?i.editor.format.replace("HH","hh"):i.editor.format.replace("hh","HH"))})}}class Uo extends He.InputBaseProperty{constructor(e,n){super(e,n)}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(n,i){super(n,i);ie(this,"dataGridProps",null);ie(this,"notifyService",new St.FNotifyService)}getPropertyConfig(n,i){var s,f,u;this.dataGridProps=i,this.getBasicPropConfig(n),this.getAppearanceProperties(n,i);const l={formatterEnumData:{description:"",title:"枚举数据",type:"array",visible:!!(((s=n.formatter)==null?void 0:s.type)==="enum"&&((f=n.editor)==null?void 0:f.type)!=="combo-list"),$converter:"/converter/change-formatter-enum.converter",...this.getItemCollectionEditor(n,"value","name"),refreshPanelAfterChanged:!0}},a=(m,d)=>{if(m)switch(m.propertyID){case"formatterEnumData":{n.formatter&&(n.formatter.data=[...m.propertyValue]);break}}};return this.propertyConfig.categories.behavior=this.getBehaviorConfig(n,"gridFieldEditor",l,a),this.getFieldEditorProperties(n,i),this.propertyConfig.categories.templateFormat=this.getColumnTemplate(n),((u=n.formatter)==null?void 0:u.type)!=="multilingual"&&(this.propertyConfig.categories.formatter=this.getTemplateProperties(n)),this.getEventPropConfig(n),this.propertyConfig}getColumnTemplate(n){const i=n.columnTemplateType==="custom"||n.columnTemplateType==="hyperlink"||!n.columnTemplateType&&n.columnTemplate,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(l,a,s){var f;if(l){switch(l&&l.propertyID){case"columnTemplateType":{l.propertyValue==="custom"&&a.columnTemplate&&o.notifyService.warning({position:"top-center",message:"注意:已自定义列模板,【列格式化】【悬浮提示】【数据水平对齐方式】【数据垂直对齐方式】等列属性会失效"});break}case"columnTemplate":{l.propertyValue&&o.notifyService.warning({position:"top-center",message:"注意:已自定义列模板,【列格式化】【悬浮提示】【数据水平对齐方式】【数据垂直对齐方式】等列属性会失效"});break}}(f=o.getFormDesignerInstance())==null||f.reloadPropertyPanel()}}}}getItemCollectionEditor(n,i,o){const l=i||"value",a=o||"name";return{editor:{columns:[{field:l,title:"值",dataType:"string"},{field:a,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:l,nameField:a,requiredFields:[l,a],uniqueFields:[l,a],readonly:this.checkEnumDataReadonly(n)}}}checkEnumDataReadonly(n){return!n.binding||n.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===D.FormSchemaEntityFieldType$Type.EnumType)}getEventPropConfig(n){var f,u;const i=n.columnTemplateType==="hyperlink"||!n.columnTemplateType&&n.columnTemplate&&n.onClickLinkCommand;let o=[];((f=n.editor)==null?void 0:f.type)==="combo-list"&&o.push({label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"下拉面板前事件"}),i&&o.push({label:"onClickLinkCommand",name:"超链接事件"}),((u=n==null?void 0:n.editor)==null?void 0:u.type)==="lookup"&&(o=[...o,...nn],n.editor.openType==="Popup"&&(o=o.filter(m=>m.label!=="beforeSelectData")));const l=this,a=l.eventsEditorUtils.formProperties(n,l.viewModelId,o),s=l.createBaseEventProperty(a);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:s,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(m,d){var h;const c=m.propertyValue;delete n[l.viewModelId],c&&(c.setPropertyRelates=this.setPropertyRelates,l.eventsEditorUtils.saveRelatedParameters(n,l.viewModelId,c.events,c)),n.remoteSort=!!n.columnSorted,n.onClickLinkCommand&&!n.onClickLinkCommand.includes("communication:")&&(n.columnTemplate=`<span class="f-pretend-link f-cursor-pointer"
21
21
  @click="(ctx)=>viewModel.current.${n.onClickLinkCommand}({id: rowData.id,context: ctx})">
22
22
  {{rowData.${n.field}}}
23
- </span>`,(c=o.getFormDesignerInstance())==null||c.reloadPropertyPanel()),n.editor.beforeOpen!==n.beforeOpen&&(n.editor.beforeOpen=n.beforeOpen),n.editor.onChange!==n.onChange&&(n.editor.onChange=n.onChange),n.editor.onClear!==n.onClear&&(n.editor.onClear=n.onClear)}}}getBasicPropConfig(n){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:n,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0}},setPropertyRelates(o,l,a){if(o)switch(o&&o.propertyID){case"binding":{i.afterChangeBindingType(n,a),o.needRefreshEntityTree=!0;break}}}}}getAppearanceProperties(n,i){var o,l;this.propertyConfig.categories.appearance={description:"",title:"外观",properties:{resizable:{description:"允许拖拽改变列宽",title:"拖拽改变列宽",type:"boolean"},filterable:{visible:n.dataType!=="enum",description:"启用过滤",title:"启用过滤",type:"boolean"},sortable:{description:"启用排序",title:"启用排序",type:"boolean",visible:i.type!=="tree-grid"},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:!!((l=(o=this.dataGridProps)==null?void 0:o.summary)!=null&&l.enable)&&n.dataType==="number",type:"enum",editor:{data:[{id:"none",name:"无"},{id:"sum",name:"求和"}]},refreshPanelAfterChanged:!0}},setPropertyRelates(a,s,f){if(a)switch(a&&a.propertyID){case"width":{s.actualWidth=a.propertyValue;break}case"summaryType":{const{groupFields:u}=i.summary;!u.includes(s.field)&&a.propertyValue==="sum"&&u.push(s.field),u.includes(s.field)&&a.propertyValue==="none"&&u.splice(u.indexOf(s.field),1);break}case"columnTemplate":{a.propertyValue;break}case"enableGroup":a.propertyValue?i.group.groupFields=[s.field]:i.group.groupFields=[]}}}}getFieldEditorProperties(n,i){i.fieldEditable&&n.editor&&this.getFieldEditorProp(n)}setFormatterEnumData(n){var i,o;(i=n.formatter)!=null&&i.data&&!n.formatterEnumData&&(n.formatterEnumData=(o=n.formatter)==null?void 0:o.data)}getTemplateProperties(n){var l,a,s,f,u,m,d,c,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:"无"}]}[n.dataType]}},trueText:{title:"布尔为true时文本",$converter:"/converter/change-formatter.converter",type:"string",visible:((l=n.formatter)==null?void 0:l.type)==="boolean",refreshPanelAfterChanged:!0,description:"布尔为true时文本"},falseText:{title:"布尔为false时文本",$converter:"/converter/change-formatter.converter",type:"string",visible:((a=n.formatter)==null?void 0:a.type)==="boolean",refreshPanelAfterChanged:!0,description:"布尔为false时文本"},prefix:{title:"前缀",$converter:"/converter/change-formatter.converter",type:"string",visible:((s=n.formatter)==null?void 0:s.type)==="number",refreshPanelAfterChanged:!0,description:"前缀"},suffix:{title:"后缀",$converter:"/converter/change-formatter.converter",type:"string",visible:((f=n.formatter)==null?void 0:f.type)==="number",refreshPanelAfterChanged:!0,description:"后缀"},precision:{title:"精度",$converter:"/converter/change-formatter.converter",type:"number",visible:((u=n.formatter)==null?void 0:u.type)==="number",refreshPanelAfterChanged:!0,description:"精度"},decimal:{title:"小数分隔符",$converter:"/converter/change-formatter.converter",type:"string",visible:((m=n.formatter)==null?void 0:m.type)==="number",refreshPanelAfterChanged:!0,description:"小数分隔符"},thousand:{title:"千分位",$converter:"/converter/change-formatter.converter",type:"string",visible:((d=n.formatter)==null?void 0:d.type)==="number",refreshPanelAfterChanged:!0,description:"千分位"},dateFormat:{title:"日期格式",$converter:"/converter/change-formatter.converter",visible:((c=n.formatter)==null?void 0:c.type)==="date"||((g=n.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,w){var F;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=[],(F=y.formatterEnumData)!=null&&F.length&&(y.formatterEnumData=[])));break}}}}}getFieldEditorProp(n,i="gridFieldEditor",o=!1){const l=this.formMetadataConverter.getRealEditorType(n.editor.type);let a;switch(l){case"avatar":a=new po(this.componentId,this.designerHostService);break;case"check-group":a=new ho(this.componentId,this.designerHostService);break;case"check-box":a=new go(this.componentId,this.designerHostService);break;case"combo-list":a=new yo(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 Wo(this.componentId,this.designerHostService);break;case"radio-group":a=new zo(this.componentId,this.designerHostService);break;case"switch":a=new qo(this.componentId,this.designerHostService);break;case"textarea":a=new vo(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 uo(this.componentId,this.designerHostService)}this.setDesignViewModelField(n);const s=this,{canChangeControlType:f,editorTypeList:u}=this.getAvailableEditorType(n);this.propertyConfig.categories[`${i}_editorType`]={description:"",title:"编辑器类型",propertyData:n.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:u,readonly:!f}}},setPropertyRelates(c,g){if(c)switch(c&&c.propertyID){case"type":{s.changeFieldEditorType(n,c.propertyValue);break}}}};const m=["id","type","class","style","binding","label","responseLayout","visible"],d=a.getGridFieldEdtiorPropConfig(n);Object.keys(d).map(c=>{const g=d[c],p={};if(Object.keys(g.properties).map(y=>{m.findIndex(w=>w===y)===-1&&g.properties[y]!==!1&&(p[y]=g.properties[y])}),Object.keys(p).length!==0){const y=g==null?void 0:g.title,w="gridFieldEditor",F="编辑器",x=g==null?void 0:g.description,M=(g==null?void 0:g.$converter)||"";s.propertyConfig.categories[i+"_"+c]={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||w,tabName:g.tabName||F,description:x,$converter:M,parentPropertyID:"editor",propertyData:n,properties:p,setPropertyRelates:g==null?void 0:g.setPropertyRelates}}})}changeFieldEditorType(n,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 l=this.formSchemaUtils.getComponentByViewModelId(this.viewModelId),a=this.formSchemaUtils.selectNode(l,d=>d.type===A.DgControl["data-grid"].type||d.type===A.DgControl["tree-grid"].type);if(!a)return;const s=o.fields.find(d=>d.id===this.designViewModelField.id),f=this.controlCreatorUtils.setGridFieldProperty(i,s,null,!0),u=Object.prototype.hasOwnProperty.call(a,"columns")?a.columns:a.fields,m=u.findIndex(d=>d.id===n.id);if(m>-1&&u[m].editor){const d={};["readonly","required","placeholder"].map(c=>{Object.prototype.hasOwnProperty.call(u[m].editor,c)&&(d[c]=u[m].editor[c])}),u[m].editor=Object.assign(f.editor,d)}Object.assign(u[m],{dataType:f.dataType},f.formatter?{formatter:f.formatter}:{}),!f.formatter&&u[m].formatter&&delete u[m].formatter}checkCanChangeControlType(n,i){return!(!n.binding||!this.designViewModelField||this.designViewModelField.$type!==D.FormSchemaEntityField$Type.SimpleField)}getAvailableEditorType(n){var l;const i=this.checkCanChangeControlType(n,this.viewModelId);if(!i)return{canChangeControlType:!1,editorTypeList:[{key:n.editor.type,value:((l=A.DgControl[n.editor.type])==null?void 0:l.name)||n.editor.type}]};let o=[];return this.designViewModelField&&this.designViewModelField.$type===D.FormSchemaEntityField$Type.SimpleField&&(o=pt.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage,n.type)),{canChangeControlType:i,editorTypeList:o}}afterChangeBindingType(n,i){!n||!i||(n.dataType=this.controlCreatorUtils.mapControlType2GridFieldType(i),this.controlCreatorUtils.setGridFieldFormatter(n.dataType,n,i))}}function Yo(t,e,n){const i=t.schema,o=r.ref(!0),l=r.ref(!0);function a(c){return!1}function s(){return!1}function f(){return!1}function u(){return!0}function m(c){var y,w;const g=new Do(c,e),p=(y=t==null?void 0:t.parent)==null?void 0:y.schema;return p!=null&&p.groupFields&&p!=null&&p.groupFields.includes(i.field)&&(i.enableSummary=!0),g.getPropertyConfig(i,(w=t==null?void 0:t.parent)==null?void 0:w.schema)}function d(){var w,F;if(!e||!t)return;const{formSchemaUtils:c}=e;let g=ft["data-grid"].name;const p=c.getControlBasicInfoMap(),y=p.get((F=(w=t.parent)==null?void 0:w.schema)==null?void 0:F.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:f,hideNestedPaddingInDesginerView:u,triggerBelongedComponentToMoveWhenMoved:o,triggerBelongedComponentToDeleteWhenDeleted:l,getPropsConfig:m,setComponentBasicInfoMap:d}}function Xo(t={}){function e(u,m,d,c){if(typeof d=="number")return c[u].length===d;if(typeof d=="object"){const g=Object.keys(d)[0],p=d[g];if(g==="not")return Number(c[u].length)!==Number(p);if(g==="moreThan")return Number(c[u].length)>=Number(p);if(g==="lessThan")return Number(c[u].length)<=Number(p)}return!1}function n(u,m,d,c){return c[u]&&c[u].propertyValue&&String(c[u].propertyValue.value)===String(d)}const i=new Map([["length",e],["getProperty",n]]);Object.keys(t).reduce((u,m)=>(u.set(m,t[m]),u),i);function o(u,m){const d=u;return typeof m=="number"?[{target:d,operator:"length",param:null,value:Number(m)}]:typeof m=="boolean"?[{target:d,operator:"getProperty",param:u,value:!!m}]:typeof m=="object"?Object.keys(m).map(c=>{if(c==="length")return{target:d,operator:"length",param:null,value:m[c]};const g=c,p=m[c];return{target:d,operator:"getProperty",param:g,value:p}}):[]}function l(u){return Object.keys(u).reduce((d,c)=>{const g=o(c,u[c]);return d.push(...g),d},[])}function a(u,m){if(i.has(u.operator)){const d=i.get(u.operator);return d&&d(u.target,u.param,u.value,m)||!1}return!1}function s(u,m){return l(u).reduce((g,p)=>g&&a(p,m),!0)}function f(u,m){const d=Object.keys(u),c=d.includes("allOf"),g=d.includes("anyOf"),p=c||g,F=(p?u[p?c?"allOf":"anyOf":"allOf"]:[u]).map(M=>s(M,m));return c?!F.includes(!1):F.includes(!0)}return{parseValueSchema:f}}const Zo={convertTo:(t,e,n,i)=>{t.appearance||(t.appearance={}),t.appearance[e]=n},convertFrom:(t,e,n)=>t.appearance?t.appearance[e]:t[e]},Jo={convertFrom:(t,e,n)=>t.buttons&&t.buttons.length?`共 ${t.buttons.length} 项`:"无"},Qo={convertTo:(t,e,n,i)=>{t.editor&&(t.editor[e]=n)},convertFrom:(t,e,n)=>t.editor&&Object.prototype.hasOwnProperty.call(t.editor,e)?t.editor[e]:t[e]},Ko={convertFrom:(t,e,n)=>{var o;const i=t.editor&&t.editor[e]?t.editor[e]:t[e];return((o=ft[i])==null?void 0:o.name)||i}},er={convertTo:(t,e,n,i)=>{t[e]=t[e]},convertFrom:(t,e,n)=>t.editor?n.getRealEditorType(t.editor.type):""},tr={convertTo:(t,e,n,i)=>{(t.type==="data-grid-column"||t.type==="tree-grid-column")&&(t.formatter?t.formatter[e]=n:t.formatter={[e]:n})},convertFrom:(t,e,n)=>{if(t.formatter){if(e==="trueText")return t.formatter.trueText;if(e==="falseText")return t.formatter.falseText;if(e==="prefix")return t.formatter.prefix;if(e==="suffix")return t.formatter.suffix;if(e==="precision")return t.formatter.precision;if(e==="decimal")return t.formatter.decimal;if(e==="thousand")return t.formatter.thousand;if(e==="dateFormat")return t.formatter.dateFormat||"yyyy-MM-dd";if(e==="customFormat")return t.formatter.customFormat;if(e==="type")return t.formatter.type||"none"}return"none"}},nr={convertTo:(t,e,n,i)=>{t.command?t.command[e]=n:t.command={[e]:n},e==="enableType"&&n==="default"&&(t.command.enable=!0,t.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),e==="enableType"&&n==="custom"&&(t.command.enable=!0,t.command.commands=[{value:"add",text:"增加",type:"link"},{value:"edit",text:"编辑",type:"danger"},{value:"remove",text:"删除",type:"remove"}]),e==="enableType"&&n==="unable"&&(t.command.enable=!1)},convertFrom:(t,e,n)=>{var i,o;if(t.command){if(e==="enableType"){const l=(o=(i=t.command)==null?void 0:i.commands)==null?void 0:o.find(a=>a.command==="edit"&&a.type==="primary");return t.command.enable?l?"default":"custom":"unable"}if(e==="commands")return t.command.enableType==="custom"?t.command.commands:[]}return""}},ir={convertTo:(t,e,n,i)=>{t.column?t.column[e]=n:t.column={[e]:n},e==="fitColumns"&&n&&(t.column.fitMode||(t.column.fitMode="average"))},convertFrom:(t,e,n)=>{if(t.column){if(e==="fitColumns")return t.column.fitColumns;if(e==="fitMode")return t.column.fitMode}return""}},or={convertTo:(t,e,n,i)=>{t.summary?t.summary[e]=n:t.summary={[e]:n},e==="enable"&&n&&(t.summary?t.summary.groupFields||(t.summary.groupFields=[]):t.summary={enable:n,groupFields:[]})},convertFrom:(t,e,n)=>t.summary&&e==="enable"?t.summary.enable:t.type==="data-grid-column"?t.enableSummary===void 0?!1:t.enableSummary:""},rr={convertTo:(t,e,n,i)=>{t.group?t.group[e]=n:t.group={[e]:n},e==="enable"&&n&&(t.group?t.group.groupFields||(t.group.groupFields=[]):t.group={enable:n,groupFields:[],showSummary:!1})},convertFrom:(t,e,n)=>{if(t.group){if(e==="enable")return t.group.enable;if(e==="showSummary")return t.group.showSummary}}},lr={convertFrom:(t,e)=>t.binding?t.binding.path:"",convertTo:(t,e,n)=>{if(n&&n.length>0){const i=n[0];t.binding||(t.binding={}),t.binding.type="Form",t.binding.path=i.bindingField,t.binding.field=i.id,t.binding.fullPath=i.path,t.path=i.bindingPath}}},ar={convertTo:(t,e,n,i)=>{t.pagination||(t.pagination={}),t.pagination[e]=n},convertFrom:(t,e,n)=>t.pagination?t.pagination[e]:t[e]},sr={convertTo:(t,e,n,i)=>{t.rowNumber||(t.rowNumber={}),t.rowNumber[e]=n},convertFrom:(t,e,n)=>t.rowNumber?t.rowNumber[e]:t[e]},dr={convertTo:(t,e,n,i)=>{t.selection||(t.selection={}),t.selection[e]=n},convertFrom:(t,e,n)=>{var i,o;return e==="showCheckbox"?(i=t.selection)!=null&&i.multiSelect?!0:(o=t.selection)==null?void 0:o.showCheckbox:t.selection?t.selection[e]:t[e]}},cr={convertFrom:(t,e,n)=>t[e]&&t[e].length?`共 ${t[e].length} 项`:""},ur={convertFrom:(t,e)=>t[e]||"",convertTo:(t,e,n)=>{t[e]=n}},fr={convertTo:(t,e,n,i)=>{t.size||(t.size={}),t.size[e]=n},convertFrom:(t,e,n)=>t.size?t.size[e]:t[e]},mr={convertFrom:(t,e,n)=>{var i,o;return(i=t.formatter)!=null&&i.data&&e==="formatterEnumData"&&!t.formatterEnumData?(o=t.formatter)==null?void 0:o.data:t.formatterEnumData}},pr={convertTo:(t,e,n,i)=>{t.sort||(t.sort={}),t.sort[e]=n},convertFrom:(t,e,n)=>{var i,o;if(e==="mode")return((i=t.sort)==null?void 0:i.mode)||"client";if(e==="multiSort")return!!((o=t.sort)!=null&&o.multiSort)}},hr={convertTo:(t,e,n,i)=>{t.filter||(t.filter={}),t.filter[e]=n},convertFrom:(t,e,n)=>{var i;if(e==="mode")return((i=t.filter)==null?void 0:i.mode)||"client"}},gr={convertTo:(t,e,n,i)=>{t.rowOption?t.rowOption[e]=n:t.rowOption={[e]:n}},convertFrom:(t,e,n)=>{if(t.rowOption){if(e==="customRowStyle")return t.rowOption.customRowStyle;if(e==="customCellStyle")return t.rowOption.customCellStyle}return""}},yr={convertTo:(t,e,n,i)=>{(t.type==="data-grid-column"||t.type==="tree-grid-column")&&(t[e]=n,e==="columnTemplateType"&&n==="hyperlink"&&(t.onClickLinkCommand?t.columnTemplate=`
23
+ </span>`,(h=l.getFormDesignerInstance())==null||h.reloadPropertyPanel()),n.editor.beforeOpen!==n.beforeOpen&&(n.editor.beforeOpen=n.beforeOpen),n.editor.onChange!==n.onChange&&(n.editor.onChange=n.onChange)}}}getBasicPropConfig(n){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:n,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0}},setPropertyRelates(o,l,a){if(o)switch(o&&o.propertyID){case"binding":{i.afterChangeBindingType(n,a),o.needRefreshEntityTree=!0;break}}}}}getAppearanceProperties(n,i){var o,l;this.propertyConfig.categories.appearance={description:"",title:"外观",properties:{resizable:{description:"允许拖拽改变列宽",title:"拖拽改变列宽",type:"boolean"},filterable:{visible:n.dataType!=="enum",description:"启用过滤",title:"启用过滤",type:"boolean"},sortable:{description:"启用排序",title:"启用排序",type:"boolean",visible:i.type!=="tree-grid"},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:!!((l=(o=this.dataGridProps)==null?void 0:o.summary)!=null&&l.enable)&&n.dataType==="number",type:"enum",editor:{data:[{id:"none",name:"无"},{id:"sum",name:"求和"}]},refreshPanelAfterChanged:!0}},setPropertyRelates(a,s,f){if(a)switch(a&&a.propertyID){case"width":{s.actualWidth=a.propertyValue;break}case"summaryType":{const{groupFields:u}=i.summary;!u.includes(s.field)&&a.propertyValue==="sum"&&u.push(s.field),u.includes(s.field)&&a.propertyValue==="none"&&u.splice(u.indexOf(s.field),1);break}case"columnTemplate":{a.propertyValue;break}case"enableGroup":a.propertyValue?i.group.groupFields=[s.field]:i.group.groupFields=[]}}}}getFieldEditorProperties(n,i){i.fieldEditable&&n.editor&&this.getFieldEditorProp(n)}setFormatterEnumData(n){var i,o;(i=n.formatter)!=null&&i.data&&!n.formatterEnumData&&(n.formatterEnumData=(o=n.formatter)==null?void 0:o.data)}getTemplateProperties(n){var l,a,s,f,u,m,d,c,h;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:"无"}]}[n.dataType]}},trueText:{title:"布尔为true时文本",$converter:"/converter/change-formatter.converter",type:"string",visible:((l=n.formatter)==null?void 0:l.type)==="boolean",refreshPanelAfterChanged:!0,description:"布尔为true时文本"},falseText:{title:"布尔为false时文本",$converter:"/converter/change-formatter.converter",type:"string",visible:((a=n.formatter)==null?void 0:a.type)==="boolean",refreshPanelAfterChanged:!0,description:"布尔为false时文本"},prefix:{title:"前缀",$converter:"/converter/change-formatter.converter",type:"string",visible:((s=n.formatter)==null?void 0:s.type)==="number",refreshPanelAfterChanged:!0,description:"前缀"},suffix:{title:"后缀",$converter:"/converter/change-formatter.converter",type:"string",visible:((f=n.formatter)==null?void 0:f.type)==="number",refreshPanelAfterChanged:!0,description:"后缀"},precision:{title:"精度",$converter:"/converter/change-formatter.converter",type:"number",visible:((u=n.formatter)==null?void 0:u.type)==="number",refreshPanelAfterChanged:!0,description:"精度"},decimal:{title:"小数分隔符",$converter:"/converter/change-formatter.converter",type:"string",visible:((m=n.formatter)==null?void 0:m.type)==="number",refreshPanelAfterChanged:!0,description:"小数分隔符"},thousand:{title:"千分位",$converter:"/converter/change-formatter.converter",type:"string",visible:((d=n.formatter)==null?void 0:d.type)==="number",refreshPanelAfterChanged:!0,description:"千分位"},dateFormat:{title:"日期格式",$converter:"/converter/change-formatter.converter",visible:((c=n.formatter)==null?void 0:c.type)==="date"||((h=n.formatter)==null?void 0:h.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,w){var F;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=[],(F=y.formatterEnumData)!=null&&F.length&&(y.formatterEnumData=[])));break}}}}}getFieldEditorProp(n,i="gridFieldEditor",o=!1){const l=this.formMetadataConverter.getRealEditorType(n.editor.type);let a;switch(l){case"avatar":a=new po(this.componentId,this.designerHostService);break;case"check-group":a=new ho(this.componentId,this.designerHostService);break;case"check-box":a=new go(this.componentId,this.designerHostService);break;case"combo-list":a=new yo(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 Wo(this.componentId,this.designerHostService);break;case"radio-group":a=new zo(this.componentId,this.designerHostService);break;case"switch":a=new qo(this.componentId,this.designerHostService);break;case"textarea":a=new vo(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 uo(this.componentId,this.designerHostService)}this.setDesignViewModelField(n);const s=this,{canChangeControlType:f,editorTypeList:u}=this.getAvailableEditorType(n);this.propertyConfig.categories[`${i}_editorType`]={description:"",title:"编辑器类型",propertyData:n.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:u,readonly:!f}}},setPropertyRelates(c,h){if(c)switch(c&&c.propertyID){case"type":{s.changeFieldEditorType(n,c.propertyValue);break}}}};const m=["id","type","class","style","binding","label","responseLayout","visible"],d=a.getGridFieldEdtiorPropConfig(n);Object.keys(d).map(c=>{const h=d[c],p={};if(Object.keys(h.properties).map(y=>{m.findIndex(w=>w===y)===-1&&h.properties[y]!==!1&&(p[y]=h.properties[y])}),Object.keys(p).length!==0){const y=h==null?void 0:h.title,w="gridFieldEditor",F="编辑器",x=h==null?void 0:h.description,M=(h==null?void 0:h.$converter)||"";s.propertyConfig.categories[i+"_"+c]={title:y,hide:Object.prototype.hasOwnProperty.call(h,"hide")?h.hide:!1,hideTitle:Object.prototype.hasOwnProperty.call(h,"hideTitle")?h.hideTitle:!1,tabId:h.tabId||w,tabName:h.tabName||F,description:x,$converter:M,parentPropertyID:"editor",propertyData:n,properties:p,setPropertyRelates:h==null?void 0:h.setPropertyRelates}}})}changeFieldEditorType(n,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 l=this.formSchemaUtils.getComponentByViewModelId(this.viewModelId),a=this.formSchemaUtils.selectNode(l,d=>d.type===A.DgControl["data-grid"].type||d.type===A.DgControl["tree-grid"].type);if(!a)return;const s=o.fields.find(d=>d.id===this.designViewModelField.id),f=this.controlCreatorUtils.setGridFieldProperty(i,s,null,!0),u=Object.prototype.hasOwnProperty.call(a,"columns")?a.columns:a.fields,m=u.findIndex(d=>d.id===n.id);if(m>-1&&u[m].editor){const d={};["readonly","required","placeholder"].map(c=>{Object.prototype.hasOwnProperty.call(u[m].editor,c)&&(d[c]=u[m].editor[c])}),u[m].editor=Object.assign(f.editor,d)}Object.assign(u[m],{dataType:f.dataType},f.formatter?{formatter:f.formatter}:{}),!f.formatter&&u[m].formatter&&delete u[m].formatter}checkCanChangeControlType(n,i){return!(!n.binding||!this.designViewModelField||this.designViewModelField.$type!==D.FormSchemaEntityField$Type.SimpleField)}getAvailableEditorType(n){var l;const i=this.checkCanChangeControlType(n,this.viewModelId);if(!i)return{canChangeControlType:!1,editorTypeList:[{key:n.editor.type,value:((l=A.DgControl[n.editor.type])==null?void 0:l.name)||n.editor.type}]};let o=[];return this.designViewModelField&&this.designViewModelField.$type===D.FormSchemaEntityField$Type.SimpleField&&(o=pt.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage,n.type)),{canChangeControlType:i,editorTypeList:o}}afterChangeBindingType(n,i){!n||!i||(n.dataType=this.controlCreatorUtils.mapControlType2GridFieldType(i),this.controlCreatorUtils.setGridFieldFormatter(n.dataType,n,i))}}function Yo(t,e,n){const i=t.schema,o=r.ref(!0),l=r.ref(!0);function a(c){return!1}function s(){return!1}function f(){return!1}function u(){return!0}function m(c){var y,w;const h=new Do(c,e),p=(y=t==null?void 0:t.parent)==null?void 0:y.schema;return p!=null&&p.groupFields&&p!=null&&p.groupFields.includes(i.field)&&(i.enableSummary=!0),h.getPropertyConfig(i,(w=t==null?void 0:t.parent)==null?void 0:w.schema)}function d(){var w,F;if(!e||!t)return;const{formSchemaUtils:c}=e;let h=ft["data-grid"].name;const p=c.getControlBasicInfoMap(),y=p.get((F=(w=t.parent)==null?void 0:w.schema)==null?void 0:F.id);y&&y.parentPathName&&(h=y.parentPathName),p.set(i.id,{showName:i.title,parentPathName:`${h} > ${i.title}`,reliedComponentId:y.reliedComponentId})}return{canAccepts:a,checkCanDeleteComponent:s,checkCanMoveComponent:f,hideNestedPaddingInDesginerView:u,triggerBelongedComponentToMoveWhenMoved:o,triggerBelongedComponentToDeleteWhenDeleted:l,getPropsConfig:m,setComponentBasicInfoMap:d}}function Xo(t={}){function e(u,m,d,c){if(typeof d=="number")return c[u].length===d;if(typeof d=="object"){const h=Object.keys(d)[0],p=d[h];if(h==="not")return Number(c[u].length)!==Number(p);if(h==="moreThan")return Number(c[u].length)>=Number(p);if(h==="lessThan")return Number(c[u].length)<=Number(p)}return!1}function n(u,m,d,c){return c[u]&&c[u].propertyValue&&String(c[u].propertyValue.value)===String(d)}const i=new Map([["length",e],["getProperty",n]]);Object.keys(t).reduce((u,m)=>(u.set(m,t[m]),u),i);function o(u,m){const d=u;return typeof m=="number"?[{target:d,operator:"length",param:null,value:Number(m)}]:typeof m=="boolean"?[{target:d,operator:"getProperty",param:u,value:!!m}]:typeof m=="object"?Object.keys(m).map(c=>{if(c==="length")return{target:d,operator:"length",param:null,value:m[c]};const h=c,p=m[c];return{target:d,operator:"getProperty",param:h,value:p}}):[]}function l(u){return Object.keys(u).reduce((d,c)=>{const h=o(c,u[c]);return d.push(...h),d},[])}function a(u,m){if(i.has(u.operator)){const d=i.get(u.operator);return d&&d(u.target,u.param,u.value,m)||!1}return!1}function s(u,m){return l(u).reduce((h,p)=>h&&a(p,m),!0)}function f(u,m){const d=Object.keys(u),c=d.includes("allOf"),h=d.includes("anyOf"),p=c||h,F=(p?u[p?c?"allOf":"anyOf":"allOf"]:[u]).map(M=>s(M,m));return c?!F.includes(!1):F.includes(!0)}return{parseValueSchema:f}}const Zo={convertTo:(t,e,n,i)=>{t.appearance||(t.appearance={}),t.appearance[e]=n},convertFrom:(t,e,n)=>t.appearance?t.appearance[e]:t[e]},Jo={convertFrom:(t,e,n)=>t.buttons&&t.buttons.length?`共 ${t.buttons.length} 项`:"无"},Qo={convertTo:(t,e,n,i)=>{t.editor&&(t.editor[e]=n)},convertFrom:(t,e,n)=>t.editor&&Object.prototype.hasOwnProperty.call(t.editor,e)?t.editor[e]:t[e]},Ko={convertFrom:(t,e,n)=>{var o;const i=t.editor&&t.editor[e]?t.editor[e]:t[e];return((o=ft[i])==null?void 0:o.name)||i}},er={convertTo:(t,e,n,i)=>{t[e]=t[e]},convertFrom:(t,e,n)=>t.editor?n.getRealEditorType(t.editor.type):""},tr={convertTo:(t,e,n,i)=>{(t.type==="data-grid-column"||t.type==="tree-grid-column")&&(t.formatter?t.formatter[e]=n:t.formatter={[e]:n})},convertFrom:(t,e,n)=>{if(t.formatter){if(e==="trueText")return t.formatter.trueText;if(e==="falseText")return t.formatter.falseText;if(e==="prefix")return t.formatter.prefix;if(e==="suffix")return t.formatter.suffix;if(e==="precision")return t.formatter.precision;if(e==="decimal")return t.formatter.decimal;if(e==="thousand")return t.formatter.thousand;if(e==="dateFormat")return t.formatter.dateFormat||"yyyy-MM-dd";if(e==="customFormat")return t.formatter.customFormat;if(e==="type")return t.formatter.type||"none"}return"none"}},nr={convertTo:(t,e,n,i)=>{t.command?t.command[e]=n:t.command={[e]:n},e==="enableType"&&n==="default"&&(t.command.enable=!0,t.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),e==="enableType"&&n==="custom"&&(t.command.enable=!0,t.command.commands=[{value:"add",text:"增加",type:"link"},{value:"edit",text:"编辑",type:"danger"},{value:"remove",text:"删除",type:"remove"}]),e==="enableType"&&n==="unable"&&(t.command.enable=!1)},convertFrom:(t,e,n)=>{var i,o;if(t.command){if(e==="enableType"){const l=(o=(i=t.command)==null?void 0:i.commands)==null?void 0:o.find(a=>a.command==="edit"&&a.type==="primary");return t.command.enable?l?"default":"custom":"unable"}if(e==="commands")return t.command.enableType==="custom"?t.command.commands:[];if(e==="formatter")return t.command.formatter}return""}},ir={convertTo:(t,e,n,i)=>{t.column?t.column[e]=n:t.column={[e]:n},e==="fitColumns"&&n&&(t.column.fitMode||(t.column.fitMode="average"))},convertFrom:(t,e,n)=>{if(t.column){if(e==="fitColumns")return t.column.fitColumns;if(e==="fitMode")return t.column.fitMode}return""}},or={convertTo:(t,e,n,i)=>{t.summary?t.summary[e]=n:t.summary={[e]:n},e==="enable"&&n&&(t.summary?t.summary.groupFields||(t.summary.groupFields=[]):t.summary={enable:n,groupFields:[]})},convertFrom:(t,e,n)=>t.summary&&e==="enable"?t.summary.enable:t.type==="data-grid-column"?t.enableSummary===void 0?!1:t.enableSummary:""},rr={convertTo:(t,e,n,i)=>{t.group?t.group[e]=n:t.group={[e]:n},e==="enable"&&n&&(t.group?t.group.groupFields||(t.group.groupFields=[]):t.group={enable:n,groupFields:[],showSummary:!1})},convertFrom:(t,e,n)=>{if(t.group){if(e==="enable")return t.group.enable;if(e==="showSummary")return t.group.showSummary}}},lr={convertFrom:(t,e)=>t.binding?t.binding.path:"",convertTo:(t,e,n)=>{if(n&&n.length>0){const i=n[0];t.binding||(t.binding={}),t.binding.type="Form",t.binding.path=i.bindingField,t.binding.field=i.id,t.binding.fullPath=i.path,t.path=i.bindingPath}}},ar={convertTo:(t,e,n,i)=>{t.pagination||(t.pagination={}),t.pagination[e]=n},convertFrom:(t,e,n)=>t.pagination?t.pagination[e]:t[e]},sr={convertTo:(t,e,n,i)=>{t.rowNumber||(t.rowNumber={}),t.rowNumber[e]=n},convertFrom:(t,e,n)=>t.rowNumber?t.rowNumber[e]:t[e]},dr={convertTo:(t,e,n,i)=>{t.selection||(t.selection={}),t.selection[e]=n},convertFrom:(t,e,n)=>{var i,o;return e==="showCheckbox"?(i=t.selection)!=null&&i.multiSelect?!0:(o=t.selection)==null?void 0:o.showCheckbox:t.selection?t.selection[e]:t[e]}},cr={convertFrom:(t,e,n)=>t[e]&&t[e].length?`共 ${t[e].length} 项`:""},ur={convertFrom:(t,e)=>t[e]||"",convertTo:(t,e,n)=>{t[e]=n}},fr={convertTo:(t,e,n,i)=>{t.size||(t.size={}),t.size[e]=n},convertFrom:(t,e,n)=>t.size?t.size[e]:t[e]},mr={convertFrom:(t,e,n)=>{var i,o;return(i=t.formatter)!=null&&i.data&&e==="formatterEnumData"&&!t.formatterEnumData?(o=t.formatter)==null?void 0:o.data:t.formatterEnumData}},pr={convertTo:(t,e,n,i)=>{t.sort||(t.sort={}),t.sort[e]=n},convertFrom:(t,e,n)=>{var i,o;if(e==="mode")return((i=t.sort)==null?void 0:i.mode)||"client";if(e==="multiSort")return!!((o=t.sort)!=null&&o.multiSort)}},hr={convertTo:(t,e,n,i)=>{t.filter||(t.filter={}),t.filter[e]=n},convertFrom:(t,e,n)=>{var i;if(e==="mode")return((i=t.filter)==null?void 0:i.mode)||"client"}},gr={convertTo:(t,e,n,i)=>{t.rowOption?t.rowOption[e]=n:t.rowOption={[e]:n}},convertFrom:(t,e,n)=>{if(t.rowOption){if(e==="customRowStyle")return t.rowOption.customRowStyle;if(e==="customCellStyle")return t.rowOption.customCellStyle}return""}},yr={convertTo:(t,e,n,i)=>{(t.type==="data-grid-column"||t.type==="tree-grid-column")&&(t[e]=n,e==="columnTemplateType"&&n==="hyperlink"&&(t.onClickLinkCommand?t.columnTemplate=`
24
24
  <span class="f-pretend-link f-cursor-pointer"
25
25
  @click="(ctx)=>viewModel.current.${t.onClickLinkCommand||""}({id: rowData.id,context: ctx})">
26
26
  {{rowData.${t.field}}}
27
27
  </span>`:t.columnTemplate=`
28
28
  <span class="f-pretend-link f-cursor-pointer">
29
29
  {{rowData.${t.field}}}
30
- </span>`),e==="columnTemplateType"&&n==="default"&&(t.columnTemplate=""))},convertFrom:(t,e,n)=>e==="columnTemplate"?t.columnTemplate:e==="columnTemplateType"?t.columnTemplateType?t.columnTemplateType||"default":t.columnTemplate&&!t.onClickLinkCommand?"custom":t.columnTemplate&&t.onClickLinkCommand?"hyperlink":"default":""};function vr(t,e,n){const i=new Map([["/converter/appearance.converter",Zo],["/converter/buttons.converter",Jo],["/converter/property-editor.converter",Qo],["/converter/items-count.converter",cr],["/converter/type.converter",Ko],["/converter/change-editor.converter",er],["/converter/change-formatter.converter",tr],["/converter/column-command.converter",nr],["/converter/column-option.converter",ir],["/converter/summary.converter",or],["/converter/group.converter",rr],["/converter/form-group-label.converter",ur],["/converter/field-selector.converter",lr],["/converter/pagination.converter",ar],["/converter/row-number.converter",sr],["/converter/grid-selection.converter",dr],["/converter/size.converter",fr],["/converter/change-formatter-enum.converter",mr],["/converter/grid-sort.converter",pr],["/converter/grid-filter.converter",hr],["/converter/row-option.converter",gr],["/converter/change-formatter-type.converter",yr]]),o=new Map([["string",{type:"input-group",enableClear:!1}],["boolean",{type:"combo-list",textField:"name",valueField:"value",idField:"value",enableClear:!1,editable:!1,data:[{value:!0,name:"是"},{value:!1,name:"否"}]}],["enum",{type:"combo-list",maxHeight:128,enableClear:!1,editable:!1}],["array",{type:"button-edit"}],["number",{type:"number-spinner",placeholder:""}],["events-editor",{type:"events-editor",hide:!0}]]),l=Xo();function a(p,y){return()=>l.parseValueSchema(p,y)}function s(p,y,w){return p.includes("visible")&&y.visible!==void 0?typeof y.visible=="boolean"?()=>!!y.visible:y.visible===void 0?!0:a(y.visible,w):()=>!0}function f(p,y,w){return p.includes("readonly")&&y.readonly!==void 0?typeof y.readonly=="boolean"?()=>!!y.readonly:a(y.readonly,w):()=>!1}function u(p,y){const w=p.$converter||y;return typeof w=="string"&&w&&i.has(w)?i.get(w)||null:w||null}function m(p,y,w,F,x,M="",_=""){return Object.keys(p).map(C=>{const h=r.ref(1),b=C,S=p[C],P=Object.keys(S),B=S.title,E=S.type,N=o.get(E)||{type:"input-group",enableClear:!1},k=S.editor?Object.assign({},N,S.editor):Object.assign({},N),T=s(P,S,y),V=f(P,S,y);k.readonly=k.readonly===void 0?V():k.readonly;const H=S.type==="cascade"?m(S.properties,y,w,F,x,M,_):[],I=!0;let R=u(S,_);const q=r.computed({get(){if(h.value){if(["class","style"].find(L=>L===b)&&!R&&(R=i.get("/converter/appearance.converter")||null),R&&R.convertFrom)return R.convertFrom(w,C,x,M);const Z=w[C];return Object.prototype.hasOwnProperty.call(S,"defaultValue")&&(Z===void 0||typeof Z=="string"&&Z==="")?S.type==="boolean"?S.defaultValue:S.defaultValue||"":Z}return null},set(Z){h.value+=1,R&&R.convertTo?(R.convertTo(F,C,Z,x,M),R.convertTo(w,C,Z,x,M)):(F[C]=Z,w[C]=Z)}}),{refreshPanelAfterChanged:J,description:j,isExpand:ee,parentPropertyID:oe}=S,ce={propertyID:b,propertyName:B,propertyType:E,propertyValue:q,editor:k,visible:T,readonly:V,cascadeConfig:H,hideCascadeTitle:I,refreshPanelAfterChanged:J,description:j,isExpand:ee,parentPropertyID:oe};return y[b]=ce,ce})}function d(p,y,w={}){const F={},x=t[p];return x&&x.categories?Object.keys(x.categories).map(_=>{const v=x.categories[_],C=v==null?void 0:v.title,h=m(v.properties||{},F,{},w,y);return{categoryId:_,categoryName:C,properties:h}}):[]}function c(p,y,w,F,x=""){const M=y.$ref.schema,_=y.$ref.converter,v=w[M],C=v.type,h=n(v),b={},S=t[C];if(S&&S.categories){const P=S.categories[p],B=P==null?void 0:P.title;_&&Object.keys(P.properties).forEach(k=>{P.properties[k].$converter=_});const E=(P==null?void 0:P.properties)||{},N=m(E,b,h,v,F,x);return{categoryId:p,categoryName:B,properties:N}}return{categoryId:p,categoryName:"",properties:[]}}function g(p,y,w,F,x){const M=p.type,_=n(p),v={};let C=x||t[M];if(C&&Object.keys(C).length===0&&w&&w.getPropConfig&&(C=w.getPropConfig(F)),C&&C.categories){const h=[];return Object.keys(C.categories).map(b=>{const S=C.categories[b];if(S.$ref){h.push(c(b,S,p,y,F));return}const P=S==null?void 0:S.title,B=S==null?void 0:S.tabId,E=S==null?void 0:S.tabName,N=S==null?void 0:S.hide,k=S==null?void 0:S.hideTitle,T=m(S.properties||{},v,_,p,y,F,S.$converter),{setPropertyRelates:V}=S,H=S==null?void 0:S.parentPropertyID;h.push({categoryId:b,categoryName:P,tabId:B,tabName:E,hide:N,properties:T,hideTitle:k,setPropertyRelates:V,parentPropertyID:H})}),h}return[]}return{getPropertyConfigBySchema:g,getPropertyConfigByType:d,propertyConverterMap:i}}function br(t,e){let n;function i(d){const{properties:c,title:g,ignore:p}=d,y=p&&Array.isArray(p),w=Object.keys(c).reduce((F,x)=>((!y||!p.find(M=>M===x))&&(F[x]=c[x].type==="object"&&c[x].properties?i(c[x]):Re.cloneDeep(c[x].default)),F),{});if(g&&(!y||!p.find(F=>F==="id"))){const F=g.toLowerCase().replace(/-/g,"_");w.id=`${F}_${Math.random().toString().slice(2,6)}`}return w}function o(d){const{properties:c,title:g,required:p}=d;if(p&&Array.isArray(p)){const y=p.reduce((w,F)=>(w[F]=c[F].type==="object"&&c[F].properties?i(c[F]):Re.cloneDeep(c[F].default),w),{});if(g&&p.find(w=>w==="id")){const w=g.toLowerCase().replace(/-/g,"_");y.id=`${w}_${Math.random().toString().slice(2,6)}`}return y}return{type:g}}function l(d,c={},g){const p=t[d];if(p){let y=o(p);const w=e[d];return y=w?w({getSchemaByType:l},y,c,g):y,n!=null&&n.appendIdentifyForNewControl&&n.appendIdentifyForNewControl(y),y}return null}function a(d,c){const g=i(c);return Object.keys(g).reduce((p,y)=>(Object.prototype.hasOwnProperty.call(d,y)&&(p[y]&&Re.isPlainObject(p[y])&&Re.isPlainObject(d[y]||!d[y])?Object.assign(p[y],d[y]||{}):p[y]=d[y]),p),g),g}function s(d,c){return Object.keys(d).filter(p=>d[p]!=null).reduce((p,y)=>{if(c.has(y)){const w=c.get(y);if(typeof w=="string")p[w]=d[y];else{const F=w(y,d[y],d);Object.assign(p,F)}}else p[y]=d[y];return p},{})}function f(d,c,g=new Map){const p=a(d,c);return s(p,g)}function u(d){var g;const c=d.type;if(c){const p=t[c];if(!p)return d;const y=a(d,p),w=((g=d.editor)==null?void 0:g.type)||"";if(w){const F=t[w],x=a(d.editor,F);y.editor=x}return y}return d}function m(d){n=d}return{getSchemaByType:l,resolveSchemaWithDefaultValue:u,resolveSchemaToProps:f,mappingSchemaToProps:s,setDesignerContext:m}}const Cr={},wr={},{resolveSchemaWithDefaultValue:Sr}=br(Cr,wr);vr({},{},Sr);const{globalStorageKey:Sl}=D.useThirdComponent();var on=(t=>(t.SimpleField="SimpleField",t.ComplexField="ComplexField",t))(on||{});function xr(t,e,n){function i(){const a=n.componentId;if(!a)return!1;const s=t.formSchemaUtils.getViewModelIdByComponentId(a);if(!s)return!1;const{schema:f}=e,{designViewModelUtils:u}=t,m=u.getDgViewModel(s),d=m==null?void 0:m.fields.find(c=>c.id===f.binding.field);return!(!d||d.$type!==on.SimpleField)}function o(){const{schema:a}=e;return!!t.formSchemaUtils.getVariableById(a.binding.field)}function l(){var f;const{schema:a}=e;let s=!0;if(!t||!((f=a.binding)!=null&&f.field))return s;switch(a.binding.type){case st.Form:{s=i();break}case st.Variable:s=o()}return s}return{checkBindingFieldValidation:l}}const rn=r.defineComponent({name:"FDataGridColumnDesign",props:xt,emits:[],setup(t,e){const n=r.ref(),i=r.inject("designer-host-service"),o=r.inject("design-item-context");r.inject("data-grid-context");const l=Yo(o,i),a=A.useDesignerComponent(n,o,l);r.onMounted(()=>{n.value.componentInstance=a}),e.expose(a.value);function s(d){var c;(c=o==null?void 0:o.setupContext)==null||c.emit("selectionChange",a.value.schema,o.schema,t.componentId,a.value)}const{checkBindingFieldValidation:f}=xr(i,o,t),m=!r.inject("external-container-id");return()=>{var p;const d=m?f():!0,c="绑定信息已失效,请手动移除列",g=d?"":"color:red";return r.createVNode(r.Fragment,null,[d?"":r.createVNode("span",{class:"f-icon f-icon-warning mr-1",style:"color: red; min-width: 16px;",title:c},null),r.createVNode("span",{class:"fv-column-title",style:g,ref:n,onClick:y=>s()},[((p=t.editor)==null?void 0:p.required)===!0&&r.createVNode("span",{class:"text-danger"},[r.createTextVNode("*")]),t.title])])}}}),Mr={$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:[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]},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:""}}},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 Fr(){function t(e,n){const i={};return i.beforeEditCell=o=>n.call("beforeEditCell",e,[o,e]),i.beforeUpdate=o=>n.call("beforeUpdate",e,[o,e]),i}return{resolve:t}}const Ft=ze.createPropsResolver(nt.dataGridProps,Mr,Lt,Wt),ln=ze.createCollectionBindingResolver(),an=ze.createDataGridSelectionItemResolver(),sn=ze.createDataViewUpdateColumnsResolver(),dn=Fr();Ke.install=t=>{t.component(Ke.name,Ke)},Ke.register=(t,e,n,i)=>{t["data-grid"]=nt,e["data-grid"]=Ft,t["grid-field-editor"]=to,e["grid-field-editor"]=Ai,i["data-grid"]={bindingResolver:ln,selectionItemResolver:an,updateColumnsResolver:sn,callbackResolver:dn}},Ke.registerDesigner=(t,e,n)=>{t["data-grid"]=Ke,e["data-grid"]=Ft,e["data-grid-column"]=oo,t["data-grid-column"]=rn,e["tree-grid-column"]=ro,t["tree-grid-column"]=rn};const Tr=D.withInstall(Ke);de.FDataGridDesign=Ke,de.bindingResolver=ln,de.callbackResolver=dn,de.default=Tr,de.getColumnHeader=Ot,de.propsResolver=Ft,de.selectionItemResolver=an,de.updateColumnsResolver=sn,Object.defineProperties(de,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
30
+ </span>`),e==="columnTemplateType"&&n==="default"&&(t.columnTemplate=""),e==="columnTemplateType"&&n==="custom"&&(t.columnTemplate=""))},convertFrom:(t,e,n)=>e==="columnTemplate"?t.columnTemplate:e==="columnTemplateType"?t.columnTemplateType?t.columnTemplateType||"default":t.columnTemplate&&!t.onClickLinkCommand?"custom":t.columnTemplate&&t.onClickLinkCommand?"hyperlink":"default":""};function vr(t,e,n){const i=new Map([["/converter/appearance.converter",Zo],["/converter/buttons.converter",Jo],["/converter/property-editor.converter",Qo],["/converter/items-count.converter",cr],["/converter/type.converter",Ko],["/converter/change-editor.converter",er],["/converter/change-formatter.converter",tr],["/converter/column-command.converter",nr],["/converter/column-option.converter",ir],["/converter/summary.converter",or],["/converter/group.converter",rr],["/converter/form-group-label.converter",ur],["/converter/field-selector.converter",lr],["/converter/pagination.converter",ar],["/converter/row-number.converter",sr],["/converter/grid-selection.converter",dr],["/converter/size.converter",fr],["/converter/change-formatter-enum.converter",mr],["/converter/grid-sort.converter",pr],["/converter/grid-filter.converter",hr],["/converter/row-option.converter",gr],["/converter/change-formatter-type.converter",yr]]),o=new Map([["string",{type:"input-group",enableClear:!1}],["boolean",{type:"combo-list",textField:"name",valueField:"value",idField:"value",enableClear:!1,editable:!1,data:[{value:!0,name:"是"},{value:!1,name:"否"}]}],["enum",{type:"combo-list",maxHeight:128,enableClear:!1,editable:!1}],["array",{type:"button-edit"}],["number",{type:"number-spinner",placeholder:""}],["events-editor",{type:"events-editor",hide:!0}]]),l=Xo();function a(p,y){return()=>l.parseValueSchema(p,y)}function s(p,y,w){return p.includes("visible")&&y.visible!==void 0?typeof y.visible=="boolean"?()=>!!y.visible:y.visible===void 0?!0:a(y.visible,w):()=>!0}function f(p,y,w){return p.includes("readonly")&&y.readonly!==void 0?typeof y.readonly=="boolean"?()=>!!y.readonly:a(y.readonly,w):()=>!1}function u(p,y){const w=p.$converter||y;return typeof w=="string"&&w&&i.has(w)?i.get(w)||null:w||null}function m(p,y,w,F,x,M="",_=""){return Object.keys(p).map(C=>{const g=r.ref(1),b=C,S=p[C],P=Object.keys(S),B=S.title,E=S.type,N=o.get(E)||{type:"input-group",enableClear:!1},k=S.editor?Object.assign({},N,S.editor):Object.assign({},N),T=s(P,S,y),V=f(P,S,y);k.readonly=k.readonly===void 0?V():k.readonly;const H=S.type==="cascade"?m(S.properties,y,w,F,x,M,_):[],I=!0;let R=u(S,_);const q=r.computed({get(){if(g.value){if(["class","style"].find(L=>L===b)&&!R&&(R=i.get("/converter/appearance.converter")||null),R&&R.convertFrom)return R.convertFrom(w,C,x,M);const Z=w[C];return Object.prototype.hasOwnProperty.call(S,"defaultValue")&&(Z===void 0||typeof Z=="string"&&Z==="")?S.type==="boolean"?S.defaultValue:S.defaultValue||"":Z}return null},set(Z){g.value+=1,R&&R.convertTo?(R.convertTo(F,C,Z,x,M),R.convertTo(w,C,Z,x,M)):(F[C]=Z,w[C]=Z)}}),{refreshPanelAfterChanged:J,description:j,isExpand:ee,parentPropertyID:oe}=S,ce={propertyID:b,propertyName:B,propertyType:E,propertyValue:q,editor:k,visible:T,readonly:V,cascadeConfig:H,hideCascadeTitle:I,refreshPanelAfterChanged:J,description:j,isExpand:ee,parentPropertyID:oe};return y[b]=ce,ce})}function d(p,y,w={}){const F={},x=t[p];return x&&x.categories?Object.keys(x.categories).map(_=>{const v=x.categories[_],C=v==null?void 0:v.title,g=m(v.properties||{},F,{},w,y);return{categoryId:_,categoryName:C,properties:g}}):[]}function c(p,y,w,F,x=""){const M=y.$ref.schema,_=y.$ref.converter,v=w[M],C=v.type,g=n(v),b={},S=t[C];if(S&&S.categories){const P=S.categories[p],B=P==null?void 0:P.title;_&&Object.keys(P.properties).forEach(k=>{P.properties[k].$converter=_});const E=(P==null?void 0:P.properties)||{},N=m(E,b,g,v,F,x);return{categoryId:p,categoryName:B,properties:N}}return{categoryId:p,categoryName:"",properties:[]}}function h(p,y,w,F,x){const M=p.type,_=n(p),v={};let C=x||t[M];if(C&&Object.keys(C).length===0&&w&&w.getPropConfig&&(C=w.getPropConfig(F)),C&&C.categories){const g=[];return Object.keys(C.categories).map(b=>{const S=C.categories[b];if(S.$ref){g.push(c(b,S,p,y,F));return}const P=S==null?void 0:S.title,B=S==null?void 0:S.tabId,E=S==null?void 0:S.tabName,N=S==null?void 0:S.hide,k=S==null?void 0:S.hideTitle,T=m(S.properties||{},v,_,p,y,F,S.$converter),{setPropertyRelates:V}=S,H=S==null?void 0:S.parentPropertyID;g.push({categoryId:b,categoryName:P,tabId:B,tabName:E,hide:N,properties:T,hideTitle:k,setPropertyRelates:V,parentPropertyID:H})}),g}return[]}return{getPropertyConfigBySchema:h,getPropertyConfigByType:d,propertyConverterMap:i}}function br(t,e){let n;function i(d){const{properties:c,title:h,ignore:p}=d,y=p&&Array.isArray(p),w=Object.keys(c).reduce((F,x)=>((!y||!p.find(M=>M===x))&&(F[x]=c[x].type==="object"&&c[x].properties?i(c[x]):Re.cloneDeep(c[x].default)),F),{});if(h&&(!y||!p.find(F=>F==="id"))){const F=h.toLowerCase().replace(/-/g,"_");w.id=`${F}_${Math.random().toString().slice(2,6)}`}return w}function o(d){const{properties:c,title:h,required:p}=d;if(p&&Array.isArray(p)){const y=p.reduce((w,F)=>(w[F]=c[F].type==="object"&&c[F].properties?i(c[F]):Re.cloneDeep(c[F].default),w),{});if(h&&p.find(w=>w==="id")){const w=h.toLowerCase().replace(/-/g,"_");y.id=`${w}_${Math.random().toString().slice(2,6)}`}return y}return{type:h}}function l(d,c={},h){const p=t[d];if(p){let y=o(p);const w=e[d];return y=w?w({getSchemaByType:l},y,c,h):y,n!=null&&n.appendIdentifyForNewControl&&n.appendIdentifyForNewControl(y),y}return null}function a(d,c){const h=i(c);return Object.keys(h).reduce((p,y)=>(Object.prototype.hasOwnProperty.call(d,y)&&(p[y]&&Re.isPlainObject(p[y])&&Re.isPlainObject(d[y]||!d[y])?Object.assign(p[y],d[y]||{}):p[y]=d[y]),p),h),h}function s(d,c){return Object.keys(d).filter(p=>d[p]!=null).reduce((p,y)=>{if(c.has(y)){const w=c.get(y);if(typeof w=="string")p[w]=d[y];else{const F=w(y,d[y],d);Object.assign(p,F)}}else p[y]=d[y];return p},{})}function f(d,c,h=new Map){const p=a(d,c);return s(p,h)}function u(d){var h;const c=d.type;if(c){const p=t[c];if(!p)return d;const y=a(d,p),w=((h=d.editor)==null?void 0:h.type)||"";if(w){const F=t[w],x=a(d.editor,F);y.editor=x}return y}return d}function m(d){n=d}return{getSchemaByType:l,resolveSchemaWithDefaultValue:u,resolveSchemaToProps:f,mappingSchemaToProps:s,setDesignerContext:m}}const Cr={},wr={},{resolveSchemaWithDefaultValue:Sr}=br(Cr,wr);vr({},{},Sr);const{globalStorageKey:Sl}=D.useThirdComponent();var on=(t=>(t.SimpleField="SimpleField",t.ComplexField="ComplexField",t))(on||{});function xr(t,e,n){function i(){const a=n.componentId;if(!a)return!1;const s=t.formSchemaUtils.getViewModelIdByComponentId(a);if(!s)return!1;const{schema:f}=e,{designViewModelUtils:u}=t,m=u.getDgViewModel(s),d=m==null?void 0:m.fields.find(c=>c.id===f.binding.field);return!(!d||d.$type!==on.SimpleField)}function o(){const{schema:a}=e;return!!t.formSchemaUtils.getVariableById(a.binding.field)}function l(){var f;const{schema:a}=e;let s=!0;if(!t||!((f=a.binding)!=null&&f.field))return s;switch(a.binding.type){case st.Form:{s=i();break}case st.Variable:s=o()}return s}return{checkBindingFieldValidation:l}}const rn=r.defineComponent({name:"FDataGridColumnDesign",props:xt,emits:[],setup(t,e){const n=r.ref(),i=r.inject("designer-host-service"),o=r.inject("design-item-context");r.inject("data-grid-context");const l=Yo(o,i),a=A.useDesignerComponent(n,o,l);r.onMounted(()=>{n.value.componentInstance=a}),e.expose(a.value);function s(d){var c;(c=o==null?void 0:o.setupContext)==null||c.emit("selectionChange",a.value.schema,o.schema,t.componentId,a.value)}const{checkBindingFieldValidation:f}=xr(i,o,t),m=!r.inject("external-container-id");return()=>{var p;const d=m?f():!0,c="绑定信息已失效,请手动移除列",h=d?"":"color:red";return r.createVNode(r.Fragment,null,[d?"":r.createVNode("span",{class:"f-icon f-icon-warning mr-1",style:"color: red; min-width: 16px;",title:c},null),r.createVNode("span",{class:"fv-column-title",style:h,ref:n,onClick:y=>s()},[((p=t.editor)==null?void 0:p.required)===!0&&r.createVNode("span",{class:"text-danger"},[r.createTextVNode("*")]),t.title])])}}}),Mr={$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:""}}},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 Fr(){function t(e,n){const i={};return i.beforeEditCell=o=>n.call("beforeEditCell",e,[o,e]),i.beforeUpdate=o=>n.call("beforeUpdate",e,[o,e]),i}return{resolve:t}}const Ft=ze.createPropsResolver(nt.dataGridProps,Mr,Lt,Wt),ln=ze.createCollectionBindingResolver(),an=ze.createDataGridSelectionItemResolver(),sn=ze.createDataViewUpdateColumnsResolver(),dn=Fr();Ke.install=t=>{t.component(Ke.name,Ke)},Ke.register=(t,e,n,i)=>{t["data-grid"]=nt,e["data-grid"]=Ft,t["grid-field-editor"]=to,e["grid-field-editor"]=Ai,i["data-grid"]={bindingResolver:ln,selectionItemResolver:an,updateColumnsResolver:sn,callbackResolver:dn}},Ke.registerDesigner=(t,e,n)=>{t["data-grid"]=Ke,e["data-grid"]=Ft,e["data-grid-column"]=oo,t["data-grid-column"]=rn,e["tree-grid-column"]=ro,t["tree-grid-column"]=rn};const Tr=D.withInstall(Ke);de.FDataGridDesign=Ke,de.bindingResolver=ln,de.callbackResolver=dn,de.default=Tr,de.getColumnHeader=Ot,de.propsResolver=Ft,de.selectionItemResolver=an,de.updateColumnsResolver=sn,Object.defineProperties(de,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});