@farris/ui-vue 1.2.9 → 1.3.0

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 (236) hide show
  1. package/components/accordion/index.esm.js +63 -63
  2. package/components/accordion/index.umd.cjs +1 -1
  3. package/components/avatar/index.esm.js +402 -323
  4. package/components/avatar/index.umd.cjs +1 -1
  5. package/components/button-edit/index.css +1 -1
  6. package/components/button-edit/index.esm.js +98 -96
  7. package/components/button-edit/index.umd.cjs +1 -1
  8. package/components/calendar/index.esm.js +66 -66
  9. package/components/calendar/index.umd.cjs +1 -1
  10. package/components/capsule/index.esm.js +118 -118
  11. package/components/capsule/index.umd.cjs +1 -1
  12. package/components/checkbox/index.esm.js +539 -460
  13. package/components/checkbox/index.umd.cjs +1 -1
  14. package/components/color-picker/index.esm.js +135 -135
  15. package/components/color-picker/index.umd.cjs +2 -2
  16. package/components/combo-list/index.css +1 -0
  17. package/components/combo-list/index.esm.js +1007 -312
  18. package/components/combo-list/index.umd.cjs +1 -1
  19. package/components/combo-tree/index.esm.js +97 -97
  20. package/components/combo-tree/index.umd.cjs +1 -1
  21. package/components/common/index.esm.js +778 -700
  22. package/components/common/index.umd.cjs +1 -1
  23. package/components/component/index.esm.js +472 -329
  24. package/components/component/index.umd.cjs +1 -1
  25. package/components/condition/index.css +1 -0
  26. package/components/condition/index.esm.js +2231 -1055
  27. package/components/condition/index.umd.cjs +1 -1
  28. package/components/content-container/index.esm.js +79 -79
  29. package/components/content-container/index.umd.cjs +1 -1
  30. package/components/data-grid/index.css +1 -1
  31. package/components/data-grid/index.esm.js +6408 -5034
  32. package/components/data-grid/index.umd.cjs +1 -1
  33. package/components/data-view/index.css +1 -0
  34. package/components/data-view/index.esm.js +4762 -3511
  35. package/components/data-view/index.umd.cjs +1 -1
  36. package/components/date-picker/index.css +1 -1
  37. package/components/date-picker/index.esm.js +3442 -2742
  38. package/components/date-picker/index.umd.cjs +1 -1
  39. package/components/designer-outline/index.esm.js +14 -13
  40. package/components/designer-outline/index.umd.cjs +1 -1
  41. package/components/dropdown/index.esm.js +73 -73
  42. package/components/dropdown/index.umd.cjs +2 -2
  43. package/components/dynamic-form/index.css +1 -0
  44. package/components/dynamic-form/index.esm.js +2597 -1141
  45. package/components/dynamic-form/index.umd.cjs +1 -1
  46. package/components/dynamic-resolver/index.esm.js +114 -71
  47. package/components/dynamic-resolver/index.umd.cjs +1 -1
  48. package/components/dynamic-view/index.esm.js +303 -290
  49. package/components/dynamic-view/index.umd.cjs +1 -1
  50. package/components/events-editor/index.esm.js +171 -171
  51. package/components/events-editor/index.umd.cjs +1 -1
  52. package/components/expression-editor/index.esm.js +65 -65
  53. package/components/expression-editor/index.umd.cjs +1 -1
  54. package/components/external-container/index.css +1 -1
  55. package/components/external-container/index.esm.js +3075 -2586
  56. package/components/external-container/index.umd.cjs +1 -1
  57. package/components/field-selector/index.css +1 -1
  58. package/components/field-selector/index.esm.js +5272 -8511
  59. package/components/field-selector/index.umd.cjs +1 -1
  60. package/components/filter-bar/index.css +1 -1
  61. package/components/filter-bar/index.esm.js +1726 -1822
  62. package/components/filter-bar/index.umd.cjs +1 -1
  63. package/components/image-cropper/index.esm.js +126 -126
  64. package/components/image-cropper/index.umd.cjs +1 -1
  65. package/components/input-group/index.esm.js +620 -540
  66. package/components/input-group/index.umd.cjs +1 -1
  67. package/components/layout/index.esm.js +88 -88
  68. package/components/layout/index.umd.cjs +1 -1
  69. package/components/list-nav/index.esm.js +71 -71
  70. package/components/list-nav/index.umd.cjs +1 -1
  71. package/components/list-view/index.css +1 -1
  72. package/components/list-view/index.esm.js +3582 -2356
  73. package/components/list-view/index.umd.cjs +1 -1
  74. package/components/lookup/index.css +1 -1
  75. package/components/lookup/index.esm.js +10752 -8972
  76. package/components/lookup/index.umd.cjs +1 -1
  77. package/components/mapping-editor/index.css +1 -1
  78. package/components/mapping-editor/index.esm.js +5601 -5329
  79. package/components/mapping-editor/index.umd.cjs +1 -1
  80. package/components/message-box/index.css +1 -1
  81. package/components/message-box/index.esm.js +511 -471
  82. package/components/message-box/index.umd.cjs +1 -1
  83. package/components/modal/index.css +1 -1
  84. package/components/modal/index.esm.js +438 -398
  85. package/components/modal/index.umd.cjs +1 -1
  86. package/components/nav/index.esm.js +535 -452
  87. package/components/nav/index.umd.cjs +2 -2
  88. package/components/notify/index.esm.js +59 -53
  89. package/components/notify/index.umd.cjs +1 -1
  90. package/components/number-range/index.esm.js +556 -477
  91. package/components/number-range/index.umd.cjs +1 -1
  92. package/components/number-spinner/index.esm.js +504 -425
  93. package/components/number-spinner/index.umd.cjs +1 -1
  94. package/components/order/index.css +1 -1
  95. package/components/order/index.esm.js +1833 -1054
  96. package/components/order/index.umd.cjs +1 -1
  97. package/components/page-footer/index.esm.js +100 -100
  98. package/components/page-footer/index.umd.cjs +1 -1
  99. package/components/page-header/index.esm.js +899 -870
  100. package/components/page-header/index.umd.cjs +1 -1
  101. package/components/pagination/index.esm.js +576 -487
  102. package/components/pagination/index.umd.cjs +1 -1
  103. package/components/popover/index.esm.js +71 -70
  104. package/components/popover/index.umd.cjs +1 -1
  105. package/components/progress/index.esm.js +73 -73
  106. package/components/progress/index.umd.cjs +2 -2
  107. package/components/property-editor/index.css +1 -1
  108. package/components/property-editor/index.esm.js +1916 -1220
  109. package/components/property-editor/index.umd.cjs +3 -3
  110. package/components/property-panel/index.esm.js +783 -886
  111. package/components/property-panel/index.umd.cjs +1 -1
  112. package/components/query-solution/index.css +1 -1
  113. package/components/query-solution/index.esm.js +3632 -2556
  114. package/components/query-solution/index.umd.cjs +1 -1
  115. package/components/radio-button/index.esm.js +72 -72
  116. package/components/radio-button/index.umd.cjs +1 -1
  117. package/components/radio-group/index.esm.js +484 -405
  118. package/components/radio-group/index.umd.cjs +1 -1
  119. package/components/rate/index.esm.js +152 -152
  120. package/components/rate/index.umd.cjs +1 -1
  121. package/components/response-layout/index.esm.js +73 -73
  122. package/components/response-layout/index.umd.cjs +1 -1
  123. package/components/response-layout-editor/index.css +1 -1
  124. package/components/response-layout-editor/index.esm.js +1081 -1043
  125. package/components/response-layout-editor/index.umd.cjs +1 -1
  126. package/components/response-toolbar/index.esm.js +753 -738
  127. package/components/response-toolbar/index.umd.cjs +1 -1
  128. package/components/schema-selector/index.css +1 -1
  129. package/components/schema-selector/index.esm.js +4418 -4177
  130. package/components/schema-selector/index.umd.cjs +2 -2
  131. package/components/search-box/index.esm.js +119 -119
  132. package/components/search-box/index.umd.cjs +1 -1
  133. package/components/section/index.esm.js +92 -91
  134. package/components/section/index.umd.cjs +1 -1
  135. package/components/smoke-detector/index.esm.js +59 -59
  136. package/components/smoke-detector/index.umd.cjs +1 -1
  137. package/components/splitter/index.esm.js +103 -103
  138. package/components/splitter/index.umd.cjs +1 -1
  139. package/components/step/index.esm.js +85 -85
  140. package/components/step/index.umd.cjs +1 -1
  141. package/components/switch/index.esm.js +457 -378
  142. package/components/switch/index.umd.cjs +1 -1
  143. package/components/tabs/index.css +1 -1
  144. package/components/tabs/index.esm.js +1696 -1617
  145. package/components/tabs/index.umd.cjs +1 -1
  146. package/components/tags/index.esm.js +53 -53
  147. package/components/tags/index.umd.cjs +1 -1
  148. package/components/text/index.esm.js +268 -268
  149. package/components/text/index.umd.cjs +1 -1
  150. package/components/textarea/index.esm.js +420 -341
  151. package/components/textarea/index.umd.cjs +1 -1
  152. package/components/time-picker/index.css +1 -1
  153. package/components/time-picker/index.esm.js +1062 -981
  154. package/components/time-picker/index.umd.cjs +1 -1
  155. package/components/transfer/index.css +1 -1
  156. package/components/transfer/index.esm.js +381 -379
  157. package/components/transfer/index.umd.cjs +1 -1
  158. package/components/tree-grid/index.css +1 -1
  159. package/components/tree-grid/index.esm.js +5252 -9560
  160. package/components/tree-grid/index.umd.cjs +1 -1
  161. package/components/tree-view/index.css +1 -0
  162. package/components/tree-view/index.esm.js +3920 -2692
  163. package/components/tree-view/index.umd.cjs +1 -1
  164. package/components/uploader/index.esm.js +373 -367
  165. package/components/uploader/index.umd.cjs +2 -2
  166. package/components/verify-detail/index.esm.js +92 -92
  167. package/components/verify-detail/index.umd.cjs +1 -1
  168. package/components/video/index.esm.js +597 -417
  169. package/components/video/index.umd.cjs +1 -1
  170. package/components/weather/index.esm.js +251 -251
  171. package/components/weather/index.umd.cjs +4 -4
  172. package/farris.all.esm.js +17125 -16176
  173. package/farris.all.umd.cjs +8 -8
  174. package/index.css +1 -1
  175. package/package.json +1 -1
  176. package/types/capsule/src/capsule.props.d.ts +2 -2
  177. package/types/combo-list/src/components/list-container.component.d.ts +0 -3
  178. package/types/combo-list/src/components/list-container.props.d.ts +0 -4
  179. package/types/common/index.d.ts +1 -0
  180. package/types/common/types.d.ts +1 -1
  181. package/types/common/utils/encrypt.d.ts +2 -0
  182. package/types/component/src/component.props.d.ts +7 -0
  183. package/types/component/src/designer/use-designer-rules.d.ts +1 -1
  184. package/types/component/src/property-config/component.property-config.d.ts +9 -0
  185. package/types/components.d.ts +1 -0
  186. package/types/data-grid/index.d.ts +5 -2
  187. package/types/data-grid/src/data-grid.component.d.ts +2 -1
  188. package/types/data-grid/src/data-grid.props.d.ts +1 -0
  189. package/types/data-view/composition/types.d.ts +18 -1
  190. package/types/data-view/composition/visualization/use-virtual-scroll.d.ts +0 -15
  191. package/types/designer-canvas/src/composition/dg-control.d.ts +5 -0
  192. package/types/designer-canvas/src/composition/types.d.ts +1 -1
  193. package/types/dynamic-form/src/composition/use-response-form-layout-setting.d.ts +2 -0
  194. package/types/dynamic-form/src/designer/response-form-layout-setting.component.d.ts +8 -0
  195. package/types/dynamic-form/src/designer/response-form-layout-setting.props.d.ts +4 -0
  196. package/types/dynamic-form/src/designer/use-designer-rules.d.ts +2 -2
  197. package/types/dynamic-form/src/property-config/form.property-config.d.ts +9 -0
  198. package/types/dynamic-form/src/schema/schema-mapper.d.ts +1 -0
  199. package/types/dynamic-form/src/schema/schema-resolver.d.ts +1 -0
  200. package/types/dynamic-form/src/types.d.ts +12 -1
  201. package/types/dynamic-resolver/index.d.ts +1 -0
  202. package/types/dynamic-resolver/src/event-handler-resolver.d.ts +4 -0
  203. package/types/dynamic-resolver/src/types.d.ts +9 -0
  204. package/types/dynamic-view/index.d.ts +1 -0
  205. package/types/dynamic-view/src/event-dispatcher.d.ts +1 -1
  206. package/types/index.d.ts +2 -0
  207. package/types/lookup/src/components/favorite/lookup-favorite.component.d.ts +29 -0
  208. package/types/lookup/src/components/favorite/lookup-favorite.props.d.ts +15 -0
  209. package/types/lookup/src/components/modal-container.component.d.ts +25 -0
  210. package/types/lookup/src/components/modal-container.props.d.ts +29 -0
  211. package/types/lookup/src/composition/types.d.ts +8 -0
  212. package/types/lookup/src/composition/use-check-props.d.ts +9 -2
  213. package/types/lookup/src/composition/use-dialog.d.ts +5 -1
  214. package/types/lookup/src/composition/use-favorite.d.ts +12 -0
  215. package/types/lookup/src/composition/use-http.d.ts +9 -5
  216. package/types/lookup/src/composition/use-input-change.d.ts +3 -0
  217. package/types/lookup/src/composition/use-user-data.d.ts +24 -0
  218. package/types/lookup/src/property-config/lookup.property-config.d.ts +6 -4
  219. package/types/mapping-editor/src/mapping-editor.component.d.ts +3 -0
  220. package/types/mapping-editor/src/mapping-editor.props.d.ts +0 -1
  221. package/types/modal/src/composition/use-draggable.d.ts +2 -1
  222. package/types/modal/src/composition/use-shortcut.d.ts +6 -0
  223. package/types/modal/src/modal.component.d.ts +3 -0
  224. package/types/modal/src/modal.props.d.ts +4 -0
  225. package/types/page-header/src/page-header.props.d.ts +1 -0
  226. package/types/property-panel/src/composition/entity/base-property.d.ts +8 -0
  227. package/types/property-panel/src/composition/entity/input-base-property.d.ts +20 -1
  228. package/types/response-layout-editor/src/composition/converter/use-response-layout-editor-setting.d.ts +2 -0
  229. package/types/response-layout-editor/src/type.d.ts +21 -0
  230. package/types/tabs/src/tabs.props.d.ts +1 -0
  231. package/types/tree-grid/index.d.ts +8 -2
  232. package/types/tree-grid/src/tree-grid.component.d.ts +3 -1
  233. package/types/data-grid/src/designer/use-group-column.d.ts +0 -20
  234. package/types/modal/src/composition/use-esc.d.ts +0 -1
  235. package/types/response-layout-editor/src/composition/converter/response-layout-editor.converter.d.ts +0 -3
  236. package/types/response-layout-editor/src/composition/converter/use-convert-property-value.d.ts +0 -20
@@ -1 +1 @@
1
- (function(E,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("lodash-es"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../tags/index.umd.js"),require("../popover/index.umd.js"),require("@vueuse/core"),require("../data-view/index.umd.js"),require("../modal/index.umd.js"),require("../transfer/index.umd.js"),require("../tabs/index.umd.js"),require("../order/index.umd.js"),require("../condition/index.umd.js"),require("../checkbox/index.umd.js"),require("../filter-bar/index.umd.js"),require("../pagination/index.umd.js"),require("../dynamic-form/index.umd.js"),require("../combo-list/index.umd.js"),require("bignumber.js"),require("../number-spinner/index.umd.js"),require("../accordion/index.umd.js"),require("../avatar/index.umd.js"),require("../button-edit/index.umd.js"),require("../button-group/index.umd.js"),require("../calendar/index.umd.js"),require("../capsule/index.umd.js"),require("../combo-tree/index.umd.js"),require("../component/index.umd.js"),require("../color-picker/index.umd.js"),require("../content-container/index.umd.js"),require("../date-picker/index.umd.js"),require("../data-grid/index.umd.js"),require("../dropdown/index.umd.js"),require("../events-editor/index.umd.js"),require("../field-selector/index.umd.js"),require("../image-cropper/index.umd.js"),require("../input-group/index.umd.js"),require("../layout/index.umd.js"),require("../list-nav/index.umd.js"),require("../list-view/index.umd.js"),require("../lookup/index.umd.js"),require("../mapping-editor/index.umd.js"),require("../nav/index.umd.js"),require("../number-range/index.umd.js"),require("../page-header/index.umd.js"),require("../page-footer/index.umd.js"),require("../progress/index.umd.js"),require("../query-solution/index.umd.js"),require("../radio-group/index.umd.js"),require("../rate/index.umd.js"),require("../response-toolbar/index.umd.js"),require("../response-layout/index.umd.js"),require("../response-layout-editor/index.umd.js"),require("../search-box/index.umd.js"),require("../section/index.umd.js"),require("../smoke-detector/index.umd.js"),require("../splitter/index.umd.js"),require("../step/index.umd.js"),require("../switch/index.umd.js"),require("../text/index.umd.js"),require("../time-picker/index.umd.js"),require("../tree-view/index.umd.js"),require("../uploader/index.umd.js"),require("../verify-detail/index.umd.js"),require("../weather/index.umd.js"),require("../video/index.umd.js"),require("../textarea/index.umd.js"),require("../schema-selector/index.umd.js"),require("../tree-grid/index.umd.js"),require("../external-container/index.umd.js"),require("../common/index.umd.js"),require("../button-edit/index.umd.js/src/designer/button-edit.design.component")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../tags/index.umd.js","../popover/index.umd.js","@vueuse/core","../data-view/index.umd.js","../modal/index.umd.js","../transfer/index.umd.js","../tabs/index.umd.js","../order/index.umd.js","../condition/index.umd.js","../checkbox/index.umd.js","../filter-bar/index.umd.js","../pagination/index.umd.js","../dynamic-form/index.umd.js","../combo-list/index.umd.js","bignumber.js","../number-spinner/index.umd.js","../accordion/index.umd.js","../avatar/index.umd.js","../button-edit/index.umd.js","../button-group/index.umd.js","../calendar/index.umd.js","../capsule/index.umd.js","../combo-tree/index.umd.js","../component/index.umd.js","../color-picker/index.umd.js","../content-container/index.umd.js","../date-picker/index.umd.js","../data-grid/index.umd.js","../dropdown/index.umd.js","../events-editor/index.umd.js","../field-selector/index.umd.js","../image-cropper/index.umd.js","../input-group/index.umd.js","../layout/index.umd.js","../list-nav/index.umd.js","../list-view/index.umd.js","../lookup/index.umd.js","../mapping-editor/index.umd.js","../nav/index.umd.js","../number-range/index.umd.js","../page-header/index.umd.js","../page-footer/index.umd.js","../progress/index.umd.js","../query-solution/index.umd.js","../radio-group/index.umd.js","../rate/index.umd.js","../response-toolbar/index.umd.js","../response-layout/index.umd.js","../response-layout-editor/index.umd.js","../search-box/index.umd.js","../section/index.umd.js","../smoke-detector/index.umd.js","../splitter/index.umd.js","../step/index.umd.js","../switch/index.umd.js","../text/index.umd.js","../time-picker/index.umd.js","../tree-view/index.umd.js","../uploader/index.umd.js","../verify-detail/index.umd.js","../weather/index.umd.js","../video/index.umd.js","../textarea/index.umd.js","../schema-selector/index.umd.js","../tree-grid/index.umd.js","../external-container/index.umd.js","../common/index.umd.js","../button-edit/index.umd.js/src/designer/button-edit.design.component"],n):(E=typeof globalThis<"u"?globalThis:E||self,n(E.lookup={},E.Vue,E.LodashES,E.dynamicResolver,E.designerCanvas,E.FTags,E.FPopover,E.VueUseCore,E.dataView,null,E.FTransfer$1,E.FTabs,E.FOrder,null,E.FCheckBox$1,E.FFilterBar,E.FPagination,E.FDynamicForm,E.FComboList$1,E.BigNumber,E.FNumberSpinner,E.FAccordion,E.FAvatar,E.FButtonEdit$1,E.FButtonGroup,E.FCalendar,E.FCapsule,E.FComboTree,E.FComponent,E.FColorPicker,E.FContentContainer,E.FDatePicker,E.FDataGrid$1,E.FDropdown,E.FEventsEditor,E.FFieldSelector,E.FImageCropper,E.FInputGroup$1,E.FLayout$1,E.FListNav,E.FListView$1,E.FLookup$1,E.FMappingEditor,E.FNav,E.FNumberRange,E.FPageHeader,E.FPageFooter,E.FProgress,E.FQuerySolution,E.FRadioGroup,E.FRate,E.FResponseToolbar,E.FResponseLayout,E.FResponseLayoutEditorSetting,E.FSearchBox,E.FSection,E.FSmokeDetector,E.FSplitter,E.FStep,E.FSwitch,E.FText,E.FTimePicker,E.FTreeview,E.FUploader,E.FVerifyDetail,E.FWeather,E.FVideo,E.FTextArea,E.FSchemaSelector,E.FTreeGrid$1,null,E.common,E.FButtonEditDesign$1))})(this,function(E,n,Re,Tt,nn,on,zo,St,R,ic,qo,Uo,Ko,ac,ft,an,rn,It,Ot,rc,pt,Xo,Yo,ln,Jo,Qo,Zo,ei,ti,ni,oi,ii,ai,ri,li,si,ci,di,ui,fi,sn,pi,mi,gi,hi,yi,vi,bi,Ci,wi,Si,xi,_i,Fi,Vi,Ni,ki,Ti,Ii,Oi,$i,Bi,Mi,ji,Pi,Di,Ri,Ei,Li,Ai,lc,Xe,Hi){"use strict";var nc=Object.defineProperty;var oc=(E,n,Re)=>n in E?nc(E,n,{enumerable:!0,configurable:!0,writable:!0,value:Re}):E[n]=Re;var z=(E,n,Re)=>oc(E,typeof n!="symbol"?n+"":n,Re);const cn={},dn={};function $t(e){const{properties:t,title:o,ignore:i}=e,a=i&&Array.isArray(i),r=Object.keys(t).reduce((l,s)=>((!a||!i.find(f=>f==s))&&(l[s]=t[s].type==="object"&&t[s].properties?$t(t[s]):Re.cloneDeep(t[s].default)),l),{});return(!a||!i.find(l=>l=="id"))&&(r.id=`${o}-${Date.now()}`),r}function Bt(e,t={},o){const i=cn[e];if(i){let a=$t(i);const r=dn[e];return a=r?r({getSchemaByType:Bt},a,t,o):a,a}return null}function Gi(e,t){const o=$t(t);return Object.keys(e).reduce((i,a)=>(i[a]&&typeof i[a]=="object"?Object.assign(i[a],e[a]):i[a]=e[a],i),o),o}function Wi(e,t){return Object.keys(e).filter(i=>e[i]!=null).reduce((i,a)=>{if(t.has(a)){const r=t.get(a);if(typeof r=="string")i[r]=e[a];else{const l=r(a,e[a],e);Object.assign(i,l)}}else i[a]=e[a];return i},{})}function zi(e,t,o=new Map){const i=Gi(e,t);return Wi(i,o)}function qi(e={}){function t(d,p,c,u){if(typeof c=="number")return u[d].length===c;if(typeof c=="object"){const _=Object.keys(c)[0],m=c[_];if(_==="not")return Number(u[d].length)!==Number(m);if(_==="moreThan")return Number(u[d].length)>=Number(m);if(_==="lessThan")return Number(u[d].length)<=Number(m)}return!1}function o(d,p,c,u){return u[d]&&u[d].propertyValue&&String(u[d].propertyValue.value)===String(c)}const i=new Map([["length",t],["getProperty",o]]);Object.keys(e).reduce((d,p)=>(d.set(p,e[p]),d),i);function a(d,p){const c=d;return typeof p=="number"?[{target:c,operator:"length",param:null,value:Number(p)}]:typeof p=="boolean"?[{target:c,operator:"getProperty",param:d,value:!!p}]:typeof p=="object"?Object.keys(p).map(u=>{if(u==="length")return{target:c,operator:"length",param:null,value:p[u]};const _=u,m=p[u];return{target:c,operator:"getProperty",param:_,value:m}}):[]}function r(d){return Object.keys(d).reduce((c,u)=>{const _=a(u,d[u]);return c.push(..._),c},[])}function l(d,p){if(i.has(d.operator)){const c=i.get(d.operator);return c&&c(d.target,d.param,d.value,p)||!1}return!1}function s(d,p){return r(d).reduce((_,m)=>_&&l(m,p),!0)}function f(d,p){const c=Object.keys(d),u=c.includes("allOf"),_=c.includes("anyOf"),m=u||_,S=(m?d[m?u?"allOf":"anyOf":"allOf"]:[d]).map(g=>s(g,p));return u?!S.includes(!1):S.includes(!0)}return{parseValueSchema:f}}const Z={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"}},Ui={},Ki={};qi();function Ie(e,t,o=new Map,i=(l,s,f)=>s,a={},r=l=>l){return cn[t.title]=t,dn[t.title]=i,Ui[t.title]=a,Ki[t.title]=r,(l={})=>{const s=zi(l,t,o),f=Object.keys(e).reduce((d,p)=>(d[p]=e[p].default,d),{});return Object.assign(f,s)}}function Ge(e,t){return{customClass:t.class,customStyle:t.style}}function Xi(){function e(t,o){const{id:i}=t||{},{dataSource:a}=t||{};return a===void 0?{}:{data:o.getValue(i),"onUpdate:data":(...r)=>{}}}return{resolve:e}}function Yi(){function e(t,o){return t.selectItemById(o)}return{selectItemById:e}}function Ji(){function e(t,o){return t.selectItemById(o)}return{selectItemById:e}}const Qi=new Map([["appearance",Tt.resolveAppearance]]);function Zi(e,t,o){return t}const ea={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/button-edit.schema.json",title:"button-edit",description:"A Farris Input 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:"button-edit"},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},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""},autoComplete:{description:"",type:"boolean",default:!1},buttonContent:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},inputType:{description:"",type:"string",enum:["text","tag"],default:"text"},multiSelect:{description:"",type:"boolean",default:!1},popup:{description:"",type:"object",properties:{footerButtons:{type:"array",default:[]},height:{type:"number",default:600},dataMapping:{type:"object"},contents:{type:"array",default:[]},showMaxButton:{type:"boolean",default:!0},showCloseButton:{type:"boolean",default:!0},showFooter:{type:"boolean",default:!0},title:{type:"string",default:""},width:{type:"number",default:800}}},separator:{type:"string",default:","},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},wrapText:{type:"boolean",default:!1},onClear:{description:"",type:"string",default:""}},required:["id","type"]},ta={title:"buttonEdit",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:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean"},readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中对齐"},{value:"right",name:"右对齐"}]}}}}}},Mt={id:String,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:Number,tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},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}},un=Ie(Mt,ea,Qi,Zi,ta),na={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},oa=n.defineComponent({name:"FOverlay",props:na,emits:["click"],setup(e,t){const o=n.ref(e.popupContentPosition),i=n.ref(e.host),a=n.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function r(s){t.emit("click"),s.preventDefault(),s.stopPropagation()}n.computed(()=>{const s=i.value;if(s){const f=s.getBoundingClientRect(),{left:d,top:p,height:c}=f;return{left:d,top:p+c}}return o.value});const l=n.computed(()=>({}));return()=>n.createVNode(n.Teleport,{to:"body"},{default:()=>{var s,f;return[n.createVNode("div",{class:"overlay-container",onClick:d=>r(d),style:a.value},[n.createVNode("div",{style:l.value},[(f=(s=t.slots).default)==null?void 0:f.call(s)])])]}})}});function ia(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function aa(e){const t=document.createElement("div");t.style.display="contents";let o;const i=e.onClickCallback||(()=>{}),a=()=>{i(),o&&o.unmount()};return o=n.createApp({setup(){n.onUnmounted(()=>{document.body.removeChild(t)});const r=ia(e);return()=>n.createVNode(oa,{"popup-content-position":e.popupPosition,host:e.host,onClick:a,backgroundColor:e.backgroundColor},{default:()=>[r&&r()]})}}),document.body.appendChild(t),o.mount(t),o}class ra{static show(t){return aa(t)}}const fn=Symbol("FModalService");function pn(e,t){function o(){const i=e.beforeOpen||e.beforeClickButton||null;let a=Promise.resolve(!0);if(i){const r=i(t.value);if(typeof r>"u")return a;typeof r=="boolean"?a=Promise.resolve(r):a=r}return a}return{judgeCanOpen:o}}function mn(e,t,o,i,a){const r=n.ref(e.buttonBehavior),l=n.ref(e.popupOnInput),s=n.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:f}=pn(e,a),d=n.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),p=n.inject(fn,null),c=n.ref();async function u(y){if(await f()&&d.value){const b=!!t.slots.default;if(r.value==="Modal"){const S=e.modalOptions,C=p==null?void 0:p.open({...S,render:()=>t.slots.default&&t.slots.default()});c.value=C==null?void 0:C.modalRef}r.value==="Overlay"&&ra.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>t.slots.default&&t.slots.default()}),b&&r.value==="Popup"&&i.togglePopup(!0),b&&l.value&&i.hidePopup(),t.emit("clickButton",{origin:y,value:e.modelValue})}}function _(y){t.emit("mouseEnterIcon",y)}function m(y){t.emit("mouseLeaveIcon",y)}return{buttonGroupClass:s,onClickButton:u,onMouseEnterButton:_,onMouseLeaveButton:m,modalRef:c}}function gn(e,t,o,i){const a=n.ref(),r=n.ref(!1),{judgeCanOpen:l}=pn(e,i);function s(){const c=a.value;c&&c.show(o.value)}async function f(c=!1){if(!!t.slots.default){if(!c&&!r.value&&!await l())return;r.value=!r.value,await n.nextTick(),s()}}async function d(c=!1){if(!!t.slots.default){if(!c&&!await l())return;r.value=!0,await n.nextTick(),s()}}function p(){r.value=!1}return{hidePopup:p,popup:d,shouldPopupContent:r,togglePopup:f,popoverRef:a}}function la(e,t,o){const{buttonGroupClass:i}=o,a=n.ref();return{renderButtonGroup:()=>n.createVNode("div",{id:`${e.id}-button-group`,class:i.value},[t.slots.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button"},[t.slots.buttonContent()]):e.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:a},null):null]),buttonHandleElement:a}}const hn=n.defineComponent({name:"FButtonEdit",props:Mt,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,t){const o=n.ref(),i=n.inject("design-item-context"),a=nn.useDesignerComponent(o,i),r=n.ref(e.customClass),l=n.ref(e.modelValue),s=gn(e,t,o,l),f=mn(e,t,o,s,l),d=n.ref(),p=n.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disable":!0,"f-state-editable":!1,"f-state-readonly":!0}));n.onMounted(()=>{o.value.componentInstance=a}),t.expose(a.value);const c=n.computed(()=>{const _={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return r.value&&r.value.split(" ").reduce((m,y)=>(m[y]=!0,m),_),_}),{renderButtonGroup:u}=la(e,t,f);return()=>n.createVNode("div",n.mergeProps(t.attrs,{ref:o,class:c.value,id:e.id}),[n.createVNode("div",{class:p.value},[n.createVNode("input",{ref:d,class:"form-control",readonly:!0,placeholder:e.placeholder},null),u()])])}});function rt(e,t,o){var x;function i(){o!=null&&o.resolveComponentContext&&o.resolveComponentContext()}i();const a=o&&o.getStyles&&o.getStyles()||"",r=o&&o.getDesignerClass&&o.getDesignerClass()||"",l=n.ref();function s(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:o&&o.checkCanMoveComponent?o.checkCanMoveComponent():!0}function f(){return!1}function d(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:o&&o.checkCanDeleteComponent?o.checkCanDeleteComponent():!0}function p(){return(t==null?void 0:t.schema.componentType)==="frame"?!0:o&&o.hideNestedPaddingInDesginerView?o.hideNestedPaddingInDesginerView():!1}function c(h){if(!h||!h.value)return null;if(h.value.schema&&h.value.schema.type==="component")return h.value;const V=n.ref(h==null?void 0:h.value.parent),v=c(V);return v||null}function u(h=t){const{componentInstance:V,designerItemElementRef:v}=h;return!V||!V.value?null:V.value.canMove?v:u(h.parent)}function _(h){return!!o&&o.canAccepts(h)}function m(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function y(){}function b(h,V){V&&o!=null&&o.onAcceptMovedChildElement&&o.onAcceptMovedChildElement(V)}function S(h,V){const{componentType:v}=h;let w=Bt(v,h,V);o&&o.onResolveNewComponentSchema&&(w=o.onResolveNewComponentSchema(h,w));const k=v.toLowerCase().replace("-","_");return w&&!w.id&&w.type===v&&(w.id=`${k}_${Math.random().toString().slice(2,6)}`),w}function C(h,V){const v=String(h.getAttribute("data-controltype")),w=h.getAttribute("data-feature"),k=w?JSON.parse(w):{};k.parentComponentInstance=l.value;let I=Bt(v,k);o&&o.onAcceptNewChildElement&&(I=o.onAcceptNewChildElement(h,V,I));const O=v.toLowerCase().replace("-","_");return I&&!I.id&&I.type===v&&(I.id=`${O}_${Math.random().toString().slice(2,6)}`),I}function g(h){}function F(...h){if(o&&o.getPropsConfig)return o.getPropsConfig(...h)}return l.value={canMove:s(),canSelectParent:f(),canDelete:d(),canNested:!p(),contents:t==null?void 0:t.schema.contents,elementRef:e,parent:(x=t==null?void 0:t.parent)==null?void 0:x.componentInstance,schema:t==null?void 0:t.schema,styles:a,designerClass:r,canAccepts:_,getBelongedComponentInstance:c,getDraggableDesignItemElement:u,getDraggingDisplayText:m,getPropConfig:F,getDragScopeElement:y,onAcceptMovedChildElement:b,onAcceptNewChildElement:C,onChildElementMovedOut:g,addNewChildComponentSchema:S,updateDragAndDropRules:i,triggerBelongedComponentToMoveWhenMoved:!!o&&o.triggerBelongedComponentToMoveWhenMoved||n.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!o&&o.triggerBelongedComponentToDeleteWhenDeleted||n.ref(!1)},l}const sa=new Map([["appearance",Ge],["mappingFields",(e,t,o)=>{let{mappingFields:i}=o;return typeof i=="string"&&i.startsWith("{")&&i.endsWith("}")?(i=i.replace(/'/g,'"'),{mappingFields:JSON.parse(i)}):{mappingFields:i}}],["uri",(e,t,o)=>{var i;return{uri:(i=o==null?void 0:o.dataSource)==null?void 0:i.uri}}]]),ca={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/lookup.schema.json",title:"lookup",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"lookup"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:"帮助"},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},textField:{description:"帮助显示文本字段",type:"string",default:""},mappingFields:{description:"帮助字段映射",type:"object",default:{}},uri:{type:"string",default:""}},required:["id","type"],ignore:["id","appearance","binding"]};function da(e,t,o){return t}var Ue=(e=>(e.List="LIST",e.Tree="TREELIST",e.ListList="NAVLIST",e.TreeList="NAVTREELIST",e.ListTree="NAVLISTTREE",e))(Ue||{}),jt=(e=>(e.default="default",e.all="all",e.async="async",e))(jt||{});const yn=Symbol("f_lookup-http-service_token");var Pt=(e=>(e[e.Equal=0]="Equal",e[e.NotEqual=1]="NotEqual",e[e.Greater=2]="Greater",e[e.GreaterOrEqual=3]="GreaterOrEqual",e[e.Less=4]="Less",e[e.LessOrEqual=5]="LessOrEqual",e[e.Like=6]="Like",e[e.LikeStartWith=7]="LikeStartWith",e[e.LikeEndWith=8]="LikeEndWith",e[e.NotLike=9]="NotLike",e[e.NotLikeStartWith=10]="NotLikeStartWith",e[e.NotLikeEndWith=11]="NotLikeEndWith",e[e.Is=12]="Is",e[e.IsNot=13]="IsNot",e[e.In=14]="In",e[e.NotIn=15]="NotIn",e))(Pt||{}),xt=(e=>(e[e.Empty=0]="Empty",e[e.And=1]="And",e[e.Or=2]="Or",e))(xt||{}),vn=(e=>(e[e.Value=0]="Value",e[e.Expression=1]="Expression",e.FrontExpress="frontExpress",e))(vn||{});const mt={id:{type:String,require:!0},uri:{type:String,default:""},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},editable:{type:Boolean,default:!1},mappingFields:{type:Object,default:null},fitColumns:{type:Boolean,default:!0},columns:{type:Array,default:[]},idField:{type:String,default:"id"},textField:{type:String,defalut:"name"},data:{type:Array,default:[]},displayType:{type:String,default:Ue.List},dialog:{type:Object,default:{title:"选择"}},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},pagination:{type:Object,default:{enable:!1,showLimits:!0,sizeLimits:[10,20,30,50,100],size:20,index:1,total:0,mode:"server",showGoto:!1}},enableClear:{type:Boolean,default:!0},inputType:{type:String,default:"text"},idValue:{type:String,default:""},dictPicking:{type:Function,default:null},dictPicked:{type:Function,default:null},beforeSelectData:{type:Function,default:null},enableSearchBar:{type:Boolean,default:!0},searchFields:{type:Array,default:[]},showAllSearchColumns:{type:Boolean,default:!0},navigation:{type:Object,default:null},textChangeType:{type:String,default:"any"},enableMultiFieldSearch:{type:Boolean,default:!1},treeToList:{type:Boolean,default:!1},navTreeToList:{type:Boolean,default:!1},loadTreeDataType:{type:String,default:jt.all},enableToSelect:{type:Boolean,default:!0},customData:{type:Object,default:null},modelValue:{type:String,default:""}},Dt=Ie(mt,ca,sa,da);function bn(e,t){e.schema;const o=n.ref(!0),i=n.ref(!0);function a(c){return!1}function r(){return!1}function l(){return!1}function s(){return!0}function f(c){}function d(){}function p(c){return null}return{canAccepts:a,checkCanDeleteComponent:r,checkCanMoveComponent:l,hideNestedPaddingInDesginerView:s,onAcceptMovedChildElement:f,resolveComponentContext:d,triggerBelongedComponentToMoveWhenMoved:o,triggerBelongedComponentToDeleteWhenDeleted:i,getPropsConfig:p}}class _t{constructor(t,o){z(this,"componentId");z(this,"viewModelId");z(this,"eventsEditorUtils");z(this,"formSchemaUtils");z(this,"formMetadataConverter");z(this,"designViewModelUtils");z(this,"designViewModelField");z(this,"controlCreatorUtils");z(this,"designerHostService");z(this,"schemaService",null);z(this,"metadataService",null);z(this,"propertyConfig",{type:"object",categories:{}});var i;this.componentId=t,this.designerHostService=o,this.eventsEditorUtils=o.eventsEditorUtils,this.formSchemaUtils=o.formSchemaUtils,this.formMetadataConverter=o.formMetadataConverter,this.viewModelId=((i=this.formSchemaUtils)==null?void 0:i.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=o.designViewModelUtils,this.controlCreatorUtils=o.controlCreatorUtils,this.metadataService=o.metadataService,this.schemaService=o.schemaService}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){const o=t.binding&&t.binding.type==="Form"&&t.binding.field;if(o){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(a=>a.id===o)}t.updateOn=this.designViewModelField.updateOn}}changeFieldEditorType(t,o){}getBasicPropConfig(t){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:t.type,name:Z[t.type].name}]}}}}}getAppearanceConfig(t=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}}const dt=class dt{static getEditorTypesByMDataType(t){const o=dt.fieldControlTypeMapping[t];return o||[{key:"",value:""}]}static getAllInputTypes(){const t=[];for(let o in dt.fieldControlTypeMapping)dt.fieldControlTypeMapping[o].forEach(i=>{t.find(a=>a.key===i.key&&a.value===i.value)||t.push({key:i.key,value:i.value})});return t}};z(dt,"fieldControlTypeMapping",{String:[{key:Z["input-group"].type,value:Z["input-group"].name},{key:Z.lookup.type,value:Z.lookup.name},{key:Z["date-picker"].type,value:Z["date-picker"].name},{key:Z["check-box"].type,value:Z["check-box"].name},{key:Z["radio-group"].type,value:Z["radio-group"].name},{key:Z["combo-list"].type,value:Z["combo-list"].name},{key:Z.textarea.type,value:Z.textarea.name}],Text:[{key:Z.textarea.type,value:Z.textarea.name},{key:Z.lookup.type,value:Z.lookup.name}],Decimal:[{key:Z["number-spinner"].type,value:Z["number-spinner"].name}],Integer:[{key:Z["number-spinner"].type,value:Z["number-spinner"].name}],Number:[{key:Z["number-spinner"].type,value:Z["number-spinner"].name}],BigNumber:[{key:Z["number-spinner"].type,value:Z["number-spinner"].name}],Date:[{key:Z["date-picker"].type,value:Z["date-picker"].name}],DateTime:[{key:Z["date-picker"].type,value:Z["date-picker"].name}],Boolean:[{key:Z.switch.type,value:Z.switch.name},{key:Z["check-box"].type,value:Z["check-box"].name}],Enum:[{key:Z["combo-list"].type,value:Z["combo-list"].name},{key:Z["radio-group"].type,value:Z["radio-group"].name}],Object:[{key:Z.lookup.type,value:Z.lookup.name},{key:Z["combo-list"].type,value:Z["combo-list"].name},{key:Z["radio-group"].type,value:Z["radio-group"].name}]});let gt=dt;const Ft=n.ref(0);function ua(e,t){const o=t.getBoundingClientRect(),i=e.getBoundingClientRect(),a=i.top>=o.top,r=i.top<=o.bottom;return a&&r}function fa(e){if(!e)return;let t;if(e.className.includes("dgComponentSelected")?t=e:t=e.querySelector(".dgComponentSelected"),!t)return;const o=t.getBoundingClientRect();if(o.width===0&&o.height===0)return;const i=t.querySelector(".component-btn-group");if(i){if(!ua(t,e)){i.style.display="none";return}i.style.display="";const r=i.getBoundingClientRect(),l=i.querySelector("div");if(l){const s=l.getBoundingClientRect();l.style.top=r.top+"px",l.style.left=r.left-s.width+"px"}}}class Ae extends _t{constructor(t,o){super(t,o)}getPropertyConfig(t,o){return this.propertyConfig.categories.basic=this.getBasicProperties(t,o),this.propertyConfig.categories.appearance=this.getAppearanceProperties(t),this.propertyConfig.categories.editor=this.getEditorProperties(t),this.propertyConfig}getBasicProperties(t,o){var l;var i=this;this.setDesignViewModelField(t);const a=this.formSchemaUtils.getFormMetadataBasicInfo(),r=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",editable:!1,data:i.designViewModelField?gt.getEditorTypesByMDataType((l=i.designViewModelField.type)==null?void 0:l.name):gt.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",$converter:"/converter/field-selector.converter",editor:{type:"field-selector",bindingType:{enable:!1},editorParams:{propertyData:t,formBasicInfo:a},columns:[{field:"name",title:"字段名称"},{field:"bindingField",title:"绑定字段"},{field:"fieldType",title:"字段类型"}],textField:"bindingField",data:r}}},setPropertyRelates(s,f){if(s)switch(s&&s.propertyID){case"type":{i.changeControlType(t,s,o);break}case"label":{s.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(t){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!1,editor:{type:"response-layout-editor-setting"},$converter:"/converter/response-form-layout.converter"}}}}getEditorProperties(t){return this.getComponentConfig(t)}changeControlType(t,o,i){var d,p,c,u;const a=o.propertyValue,r=i&&i.parent&&i.parent.schema;if(!r)return;const l=r.contents.findIndex(_=>_.id===t.id),s=r.contents[l];let f;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:a},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),f=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,a)),f||(f=Tt.getSchemaByType("form-group")||{},f.editor=Tt.getSchemaByType(a)||{},delete f.editor.id,delete f.editor.binding,delete f.editor.appearance),Object.assign(f,{id:s.id,appearance:s.appearance,size:s.size,label:s.label,binding:s.binding,visible:s.visible}),Object.assign(f.editor,{isTextArea:f.isTextArea&&s.isTextArea,placeholder:(d=s.editor)==null?void 0:d.placeholder,holdPlace:(p=s.editor)==null?void 0:p.holdPlace,readonly:(c=s.editor)==null?void 0:c.readonly,require:(u=s.editor)==null?void 0:u.require}),r.contents.splice(l,1),r.contents.splice(l,0,f),i.schema=Object.assign(s,f),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(_=>_.classList.remove("dgComponentSelected")),Ft.value++}getComponentConfig(t,o={},i={}){const a=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},o),r=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},i);return{...a,properties:{...r}}}}function pa(e,t,o,i,a,r){const l=n.ref(!1),s=n.computed(()=>e.enableClear&&!e.readonly&&!e.disable),{changeTextBoxValue:f}=r;function d(_){l.value=_}n.watch(a,()=>{d(!!a.value)});function p(_){const m=!e.readonly&&!e.disable&&e.editable,y=!e.editable;_.stopPropagation(),(m||y)&&(f("",!1),d(!l.value),t.emit("clear"))}function c(_){if(s.value){if(!o.value){d(!1);return}!e.disable&&!e.readonly&&d(!0)}}function u(_){s.value&&d(!1)}return{enableClearButton:s,showClearButton:l,onClearValue:p,onMouseEnterTextBox:c,onMouseLeaveTextBox:u}}function ma(e,t,o,i,a){const r=n.computed(()=>e.popupOnInput),l=n.computed(()=>e.popupOnFocus),{shouldPopupContent:s}=a,f=n.computed(()=>e.enableTitle?o.value:""),d=n.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),p=n.computed(()=>e.readonly||!e.editable),c=n.ref(!1),u=n.computed(()=>!e.disable&&c.value),_=n.computed(()=>({"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right","form-control":!0,"f-utils-fill":!0})),m=n.computed(()=>({"input-group":!0,"f-state-disable":e.disable,"f-state-editable":e.editable&&!e.disable&&!e.readonly,"f-state-readonly":e.readonly&&!e.disable,"f-state-focus":u.value}));function y(w,k=!0){o.value!==w&&(o.value=w,k&&t.emit("change",w),t.emit("update:modelValue",w))}function b(w){s.value=!1,y(w,!0)}n.watch(()=>e.modelValue,w=>{o.value=w});function S(w){c.value=!1,t.emit("blur",w),w.stopPropagation()}function C(w){t.emit("click",w)}function g(w){e.disable||(c.value=!0,p.value||(t.emit("focus",w),l.value&&!s.value&&a.popup()))}function F(w){t.emit("input",w.target.value);const k=w.target.value;i.value=k,o.value!==k&&y(k,!0),r.value&&!s.value&&a.popup()}function x(w){w.target.tagName!=="INPUT"&&w.preventDefault(),w.stopPropagation()}function h(w){t.emit("keydown",w)}function V(w){w.key==="Enter"&&(r.value||l.value)&&a.hidePopup(),t.emit("keyup",w)}function v(w){const k=w.target.value;w.stopPropagation(),y(k)}return{hasFocusedTextBox:u,isTextBoxReadonly:p,textBoxClass:_,textBoxPlaceholder:d,textBoxTitle:f,inputGroupClass:m,changeTextBoxValue:y,commitValue:b,onBlurTextBox:S,onClickTextBox:C,onFocusTextBox:g,onInput:F,onKeyDownTextBox:h,onKeyUpTextBox:V,onMouseDownTextBox:x,onTextBoxValueChange:v}}function ga(e,t,o){const i=n.ref(),{isTextBoxReadonly:a,textBoxClass:r,textBoxPlaceholder:l,textBoxTitle:s,onBlurTextBox:f,onClickTextBox:d,onFocusTextBox:p,onInput:c,onKeyDownTextBox:u,onKeyUpTextBox:_,onMouseDownTextBox:m,onTextBoxValueChange:y}=o;return n.onMounted(()=>{var b,S;e.selectOnCreated&&((b=i.value)==null||b.select()),e.focusOnCreated&&((S=i.value)==null||S.focus())}),()=>n.createVNode("input",{ref:i,name:"input-group-value",autocomplete:e.autoComplete?"on":"off",class:r.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:l.value,readonly:a.value,tabindex:e.tabIndex,title:s.value,type:e.inputType,value:t.value,onBlur:f,onChange:y,onClick:d,onFocus:p,onInput:c,onKeydown:u,onKeyup:_,onMousedown:m},null)}function ha(e,t,o){const i=n.ref(e.separator),{changeTextBoxValue:a}=o,r=n.computed(()=>t.value?t.value.split(i.value).map(s=>({name:s,selectable:!0})):[]);function l(s){a(s.map(f=>f.name).join(i.value),!0)}return()=>n.createVNode(on,{id:`${e.id}-tag-editor`,class:"form-control",data:r.value,showClose:!0,showInput:!0,onChange:l},null)}function ya(e,t,o,i){const{buttonGroupClass:a,onClickButton:r,onMouseEnterButton:l,onMouseLeaveButton:s}=o,{enableClearButton:f,showClearButton:d,onClearValue:p}=i,c=n.ref();return{renderButtonGroup:()=>n.createVNode("div",{id:`${e.id}-button-group`,class:a.value},[f.value&&n.withDirectives(n.createVNode("span",{class:"input-group-text input-group-clear",onClick:p},[n.createVNode("i",{class:"f-icon modal_close"},null)]),[[n.vShow,d.value]]),t.slots.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",onClick:r,onMouseenter:l,onMouseleave:s},[t.slots.buttonContent()]):e.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:c,onClick:r,onMouseenter:l,onMouseleave:s},null):null]),buttonHandleElement:c}}function va(e,t,o){const i=n.ref(e.popupMinWidth),{hidePopup:a,popoverRef:r}=o;return()=>n.createVNode(zo,{id:`${e.id}-popover`,ref:r,visible:!0,placement:"bottom-left",host:e.popupHost,"keep-width-with-reference":!0,fitContent:!0,"right-boundary":e.popupRightBoundary,minWidth:i.value,offsetX:e.popupOffsetX,onHidden:a},{default:()=>{var l,s;return[(s=(l=t.slots).default)==null?void 0:s.call(l)]}})}const Ze=n.defineComponent({name:"FButtonEdit",props:Mt,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,t){const o=n.ref(),i=n.ref(e.customClass),a=n.ref(e.modelValue),r=gn(e,t,o,a),{shouldPopupContent:l,hidePopup:s,togglePopup:f}=r,d=mn(e,t,o,r,a),p=n.ref(""),c=ma(e,t,a,p,r),{hasFocusedTextBox:u,commitValue:_,inputGroupClass:m}=c,y=pa(e,t,a,u,p,c),{onMouseEnterTextBox:b,onMouseLeaveTextBox:S}=y,C=n.computed(()=>{const w={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return i.value&&i.value.split(" ").reduce((k,I)=>(k[I]=!0,k),w),w});function g(){return e.multiSelect&&e.inputType==="tag"?ha(e,a,c):ga(e,a,c)}let F=g();n.watch([()=>e.multiSelect,()=>e.inputType],()=>{F=g()});const{renderButtonGroup:x,buttonHandleElement:h}=ya(e,t,d,y),V=va(e,t,r),v={commitValue:_,elementRef:o,hidePopup:s,shouldPopupContent:l,togglePopup:f,openDialog:()=>{h.value&&e.buttonBehavior==="Modal"&&h.value.click()},getModal:()=>{var w;return e.buttonBehavior==="Modal"?(w=d.modalRef.value)==null?void 0:w.value:null}};return n.onMounted(()=>{o.value.componentInstance=v,window.onresize=()=>{document.body.click()}}),t.expose(v),()=>n.createVNode(n.Fragment,null,[n.createVNode("div",n.mergeProps(t.attrs,{ref:o,class:C.value,id:e.id}),[n.createVNode("div",{id:`${e.id}-input-group`,class:m.value,onMouseenter:b,onMouseleave:S},[F(),x()])]),l.value&&V()])}}),ba={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/field-selector.schema.json",title:"field-selector",description:"A Farris Input Component",type:"object",properties:{}},Ca=[{field:"code",title:"绑定字段"},{field:"name",title:"名称"},{field:"fieldType",title:"字段类型"}],Rt=Symbol("Field_Selector Component Repository Service Token");Ie({disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},modelValue:{type:[String,Array],default:null},bindingType:{type:Object,default:{enable:!0,data:[{value:"Form",text:"绑定字段"},{value:"LocaleVariable",text:"绑定组件变量"},{value:"RemoteVariable",text:"绑定表单变量"}],value:"Form",textField:"text",valueField:"value"}},data:{type:Array,default:[]},idField:{type:String,default:"id"},columns:{type:Array,default:Ca},title:{type:String,default:"字段选择器"},modalWidth:{type:Number,default:600},modalHeight:{type:Number,default:500},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},bindingData:{type:Array,default:[]},textField:{type:String,default:"code"},beforeOpenDialog:{type:Function,default:null},editorParams:{type:Object,default:null},onFieldSelected:{type:Function,default:null},repositoryToken:{type:Symbol,default:null}},ba);function wa(e,t,o){return!t||!t.length?{columns:[]}:(t.forEach(i=>{i.title=i.caption?i.caption:i.title,i.field=i.binding?i.binding.path:i.field}),{columns:t})}const Cn=new Map([["appearance",Ge],["column","columnOption"],["fields",wa]]);function Sa(e,t,o){var c;const i=o.parentComponentInstance,a=i.schema.type,r=String(((c=i.schema.appearance)==null?void 0:c.class)||"").split(" "),l=a==="section"||a==="tab-page",s=r.includes("f-page-content-nav"),f=r.includes("f-page-main"),d=e.getSchemaByType("component");d.id=`${t.id}-component`,d.componentType="data-grid";let p="";return p+=l?"f-struct-data-grid-in-card f-struct-is-subgrid":"",p+=s?"f-struct-data-grid-in-nav f-struct-wrapper f-utils-fill-flex-column":"",p+=f?"f-struct-data-grid f-struct-wrapper":"",d.appearance={class:p},d.contents=[t],d}function xa(e,t,o){const i=o.parentComponentInstance,a=String(i.schema.appearance.class||"").split(" "),r=a.includes("f-page-content-nav"),l=a.includes("f-page-main"),s=e.getSchemaByType("section");s.id=`${t.id}-section`;let f="";return f+=r?"f-section-in-nav ":"",f+=l?"f-section-in-managelist ":"",f+="f-section-grid",s.appearance={class:f},s.contents=[t],s}function _a(e,t,o){const i=e.getSchemaByType("content-container");return i.id=`${t.id}-layout`,i.appearance={class:"f-grid-is-sub f-utils-flex-column"},i.contents=[t],i}function wn(e,t,o){const a=o.parentComponentInstance.schema.type,r=a==="section"||a==="tab-page";t.appearance={class:"f-component-grid"};const s=(r?_a:xa)(e,t,o);return Sa(e,s,o)}const Sn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/tree-grid.schema.json",title:"tree-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:"tree-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},showTreeNodeIcons:{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},disable:{description:"",type:"boolean",default:!1},visible:{description:"",type:"boolean",default:!0},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:{enable:{description:"",type:"boolean",default:!1},commands:{type:"array",default:[]},commandColumnWidth:{description:"",type:"number",default:120},onClickDeleteCommand:{description:"",type:"string",default:""},onClickEditCommand:{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:"obejct",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:!0},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:"obejct"},customSummaryStyle:{description:"",type:"obejct"},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:"string",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:""}}},row:{type:"object",properties:{customRowStyle:{description:"",type:"object"},disable:{description:"",type:"obejct"},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:!1},heading:{description:"",type:"string",default:"序号"},width:{description:"",type:"number",default:36},onClickRow:{description:"",type:"string",default:""},onDoubleClickRow:{description:"",type:"string",default:""}}},selection:{type:"object",properties:{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},showCheckAll:{description:"",type:"boolean",default:!1},showSelection:{description:"",type:"boolean",default:!1},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:"string",default:"client",enum:["client","server"]},multiSort:{description:"",type:"boolean",default:!1}}},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}}},required:["id","type"]},Et={columns:{type:Array,default:[]},displayField:{type:String,default:"name"},showLines:{type:Boolean,default:!1},columnOption:{type:Object},data:{type:Array,default:[]},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!1},editOption:{type:Object,default:{selectOnEditing:!1,editMode:"cell"}},fit:{type:Boolean,default:!1},header:{type:Object},height:{type:Number,default:-1},id:{type:String,default:""},idField:{type:String,default:"id",require:!0},loading:{type:Boolean,default:!1},minHeight:{type:Number,default:300},minWidth:{type:Number,default:400},pagination:{type:Object,default:{enable:!1,size:-1}},rowNumber:{type:Object,default:{enable:!0,width:32,heading:"序号"}},rowOption:{type:Object,default:{wrapContent:!1}},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!0}},selectionValues:{type:Array,default:[]},showBorder:{type:Boolean,default:!1},showOptions:{type:Boolean,default:!1},showScrollBar:{type:String,default:"auto"},showStripe:{type:Boolean,default:!0},showTreeNodeIcons:{type:Boolean,default:!1},treeNodeIconsData:{type:[Object,String],default:{}},width:{type:Number,default:-1},newDataItem:{type:Function,default:()=>{}},commandOption:{type:Object,default:{enable:!1,commands:[]}},hierarchy:{type:Object,default:{cascadeOption:{autoCheckChildren:!1,autoCheckParent:!1,selectionRange:"All"},parentIdField:"parent"}},autoCheckChildren:{type:Boolean,default:!1},showSetting:{type:Boolean,default:!1}},Fa=Ie(Et,Sn,Cn,wn),Va=Ji(),xn=Object.assign({},Et,{componentId:{type:String,default:""}}),Na=Ie(xn,Sn,Cn,wn);var Me=(e=>(e[e.readonly=0]="readonly",e[e.editable=1]="editable",e[e.editing=2]="editing",e))(Me||{}),We=(e=>(e[e.initial=0]="initial",e[e.editing=1]="editing",e))(We||{}),et=(e=>(e[e.data=0]="data",e[e.group=1]="group",e[e.summary=2]="summary",e))(et||{}),Pe=(e=>(e[e.none=0]="none",e[e.filterable=1]="filterable",e[e.sortable=2]="sortable",e[e.filtered=4]="filtered",e[e.sorted=8]="sorted",e[e.ascending=16]="ascending",e[e.descending=32]="descending",e))(Pe||{}),Lt=(e=>(e.NONE="none",e.NUMBER="number",e.DATE="date",e.TEXT="boolean",e.IMAGE="boolean2",e.ENUM="enum",e.CUSTOM="custom",e))(Lt||{});function ka(){function e(){return n.createVNode("div",{class:"fv-grid-disable"},null)}return{renderDisableMask:e}}function Ta(e,t,o,i,a){const{columnContext:r}=t,{conditions:l,clearCondition:s,removeCondition:f}=i,d=n.ref([]);function p(){const m=[];Array.from(l.value).forEach((y,b)=>{const S={id:y.id,code:y.fieldCode,labelCode:y.fieldCode,name:y.fieldName,editor:{type:y.value.editorType}};m.push(S)}),d.value=m}n.watch(l,()=>p());function c(m){f(`field_filter_${m}`);const y=r.value.primaryHeaderColumns.find(b=>b.field===m);if(y){y.filterValue=null;let b=y.status;b=(b&Pe.filtered)===Pe.filtered?b^Pe.filtered:b,y.status=b}o.refresh(),a.reCalculateVisualDataRows()}function u(){s(),r.value.primaryHeaderColumns.forEach(m=>{m.filterValue=null;let y=m.status;y=(y&Pe.filtered)===Pe.filtered?y^Pe.filtered:y,m.status=y}),o.refresh(),a.reCalculateVisualDataRows()}function _(){return n.createVNode("div",{class:"fv-grid-filter-panel"},[n.createVNode(an.FFilterBar,{data:l.value,fields:d.value,mode:"display-only","show-reset":!0,onRemove:c,onReset:u},null)])}return{renderFilterPanel:_}}function Ia(e,t,o,i,a){const{dropOnGroupPanel:r,groupColumnItems:l}=o,{groupFields:s,shouldGroupingData:f}=i,d=n.ref();function p(_){s.value=_.map(m=>m.value),t.updateDataView(),a.reCalculateVisualDataRows()}function c(_){_.preventDefault()}function u(){return f.value&&n.createVNode("div",{class:"fv-grid-group-panel",onDrop:r,onDragover:c},[l.value&&n.createVNode(n.resolveComponent("f-tags"),{ref:d,style:"margin:0.375rem","tag-type":"default",data:l.value,"tag-style":"capsule","show-close":!0,onChange:p},null)])}return{renderGroupPanel:u}}function At(e,t){var _;const o=String(Date.now()),i=((_=e.rowOption)==null?void 0:_.height)||28,a=n.ref(t.value.primaryColumnsWidth);function r(m){const y={};return m.reduce((b,S,C)=>{const g=C<m.length-1?m[C+1]:null;return C===0&&(b[S.field]={left:0}),S.actualWidth!==void 0&&(b[S.field].width=S.actualWidth),g&&(b[g.field]={left:b[S.field].left+(S.actualWidth||0)}),b},y),y}function l(m,y,b){const S=i*(b+1),g=y[m.field].left-S+(y[m.field].width||0),F=m.parent.height?`${m.parent.height}px`:"";return{left:`${S}px`,width:`${g}px`,height:`${F}`}}function s(m,y,b){return{right:"0px",height:`${m.parent.height?`${m.parent.height}px`:""}`}}function f(m,y){const b=m.parent.height?`${m.parent.height}px`:"";return{left:`${y[m.field].left}px`,height:`${b}`,width:isNaN(Number(y[m.field].width))?"100%":`${y[m.field].width}px`}}function d(m,y,b){const C=(y.spanned||[]).reduce((F,x)=>F+(x.parent.height||0),0)+(m.height||0);return{top:`${m.top}px`,left:`${b[y.field].left}px`,width:`${b[y.field].width}px`,height:`${C}px`,padding:`calc(${C/2}px - 1rem) 0`}}function p(m,y){return`${o}_${m.type}_r_${m.index}_c_${y}_${m.refreshKey||""}`}function c(m){return`${o}_${m.type}_r_${m.index}_${m.refreshKey||""}`}function u(m){const y=m.height?`${m.height}px`:"";return{top:`${m.top}px`,width:isNaN(a.value)?"100%":`${a.value}px`,height:`${y}`}}return n.watch(t,()=>{a.value=t.value.primaryColumnsWidth}),{calculateCellPositionInRow:r,cellKey:p,cellPosition:f,groupCellPosition:l,rowKey:c,rowPosition:u,rowSpanCellPosition:d,summaryCellPosition:s}}function Oa(e,t,o){const{hasChildrenField:i}=o,a=n.ref("#9399a0"),r=n.ref(28);function l(){return[].concat(...t.value.filter(u=>u.raw.__fv_descendant_index__.length!==0).map(u=>[...u.raw.__fv_descendant_index__.slice(-1)]).flat()).sort((u,_)=>Number(u)-Number(_))}function s(p){const c=new Array(t.value.length).fill(0);if(e.showLines){const u=l();t.value.forEach((_,m)=>{const y=u.includes(m),b=_.raw[i.value];c[m]=`repeating-linear-gradient(90deg, ${a.value} 0 1px, transparent 0px 2px) ${b?"-10px":"0px"} ${r.value/2}px/20px 1px no-repeat,repeating-linear-gradient(${a.value} 0 1px, transparent 0px 2px) 0px 0px/1px ${y?"50%":"100%"} no-repeat`}),c[0]=""}return c[p]}function f(p,c,u){return u[p].parents.set(p,!0).forEach(m=>{u[m].childsLength=u[m].childWithLines.filter(y=>c[y].visible).length}),c}function d(p){const _=p.raw.__fv_parent_index__===void 0||p.raw.__fv_parent_index__===-1?0:8,m=0,y=p.raw[i.value],b=p.visible?{left:`${p.layer*10+p.layer*_+m}px`,background:s(p.index),display:"flex",width:"100%",position:"relative",paddingLeft:"0.75rem"}:{display:"none"};return y||(b.paddingLeft="2rem"),b}return{hierarchyCellContentStyle:d,handleCollapsedPaddingBottom:f}}function $a(e,t,o){const i=n.ref(e.iconField);function a(r,l){if(i.value)return r.raw[e.iconField];let s="";return r.raw[o.value]!==!0?s=t.value.leafnodes:s=r.collapse?t.value.fold:t.value.unfold,s}return{treeNodeIconsClass:a}}function Ht(){function e(o,i){const a=o.pre;if(a){const r=o.visible?(a.__fv_data_position__||0)+(a.__fv_data_height__||0):a.__fv_data_position__;o.top=r,i.__fv_data_position__=r}else o.top=0,i.__fv_data_position__=0}function t(o,i,a){if(o){const r=i.parent;i.cellHeight!==o.offsetHeight&&(i.cellHeight=o.offsetHeight),i.cellHeight&&i.cellHeight>(r.height||0)&&(r.height=i.cellHeight,a.__fv_data_height__=r.height),e(r,a)}}return{updateRowPosition:e,updateVisualInfomation:t}}function Ba(e,t,o,i,a,r){const{dataView:l,fold:s,hasRealChildren:f,unFold:d}=i,{collapseField:p,hasChildrenField:c}=a,{updateRowPosition:u}=Ht();function _(b,S){const C=S[b].layer;let g=b+1;for(;g<S.length&&S[g].layer>C;)g++;return g-1}function m(b,S){o.value[b].collapse=!o.value[b].collapse,o.value[b].raw[p.value]=o.value[b].collapse,o.value[b].raw[c.value]=f(o.value[b].raw);const C=o.value[b].collapse;let g=!1,F=b;for(;F<o.value.length;){const h=o.value[F];if((typeof h.raw.__fv_parent_index__=="number"?Number(h.raw.__fv_parent_index__):-1)>S)h.visible=!C,h.raw.__fv_visible__=h.visible,h.collapse&&(F=_(F,o.value)),g=!0;else if(g){F++;break}F++}let x=b;for(;x<o.value.length;){const h=o.value[x];u(h,h.raw),x++}}function y(b){if(b.raw[c.value]){const C=typeof b.raw.__fv_parent_index__=="number"?Number(b.raw.__fv_parent_index__):-1;m(Number(b.raw.__fv_index__),C)}}return{toggleTreeNode:y}}function Ma(e,t,o,i,a,r,l,s,f,d,p){const{onClickCell:c}=r,{gridRowClass:u,onClickRow:_,onMouseoverRow:m,onMouseoutRow:y}=s,{clearSelection:b,enableMultiSelect:S,select:C,unSelect:g,isSelectingHirarchyItem:F,multiSelectOnClickRow:x,multiSelectOnlyOnCheck:h,selectItem:V,toggleSelectItem:v}=f;n.ref(e.cellHeight);const w=n.ref(e.treeNodeIconsData||{}),{hasChildrenField:k,shouldShowCheckBox:I,shouldShowIcon:O}=l,{toggleTreeNode:T}=Ba(e,t,i,a,l),{toggleSelectHierarchyItem:N}=d,{cellKey:$,cellPosition:B,rowKey:j,rowPosition:P}=At(e,o),{hierarchyCellContentStyle:M}=Oa(e,i,l),{treeNodeIconsClass:D}=$a(e,w,k);function H(G,q){const le=G.raw[k.value];return{"fv-tree-node-toggle":le&&G.collapse,"fv-tree-node-toggle-minus":le&&!G.collapse}}function ne(G,q){G.stopPropagation(),T(q)}function re(G,q){return n.createVNode("div",{class:H(G),onClick:le=>ne(le,G)},null)}function be(G,q){return O.value&&n.createVNode("div",{id:"treeNodeIcons",class:D(G,q)},null)}function $e(G){S.value?(G.checked?C(G):g(G),N(G)):V(G)}function _e(G,q){return I.value&&n.createVNode(ft.FCheckBox,{id:"checkbox_for_"+$(G,q.index),indeterminate:G.indeterminate,checked:G.checked,"onUpdate:checked":le=>G.checked=le,onChange:()=>$e(G)},null)}function ve(G,q){return n.createVNode("span",{title:q.data},[q.mode===Me.editing?q.getEditor(q):q.formatter?q.formatter(q,G):q.data!=null?q.data.toString():q.data])}function Se(G,q,le){return n.createVNode("div",{ref:q.setRef,key:$(G,q.index),class:"fv-grid-hierarchy-cell",style:B(q,le)},[n.createVNode("div",{style:M(G)},[re(G),be(G,q),_e(G,q),ve(G,q)])])}function ke(G,q,le){return n.createVNode("div",{ref:q.setRef,key:$(G,q.index),class:"fv-grid-cell",style:B(q,le),onClick:Q=>c(Q,q)},[q.mode===Me.editing?q.getEditor(q):q.formatter?q.formatter(q,G):q.data!=null?q.data.toString():q.data])}function ie(G,q){return q==="left"&&o.value.leftColumns.length>0&&o.value.leftColumns[0].field===G.field||q==="primary"&&o.value.primaryColumns.length>0&&o.value.primaryColumns[0].field===G.field}function fe(G,q,le="primary"){return n.createVNode("div",{ref:G.setRef,key:j(G),class:u(G),style:P(G),onMouseover:Q=>m(Q,G),onMouseout:Q=>y(Q,G),onClick:Q=>_(Q,G)},[Object.values(G.data).filter(Q=>q[Q.field]&&Q.rowSpan===1).map((Q,me)=>ie(Q,le)?Se(G,Q,q):ke(G,Q,q))])}return{renderDataRow:fe}}function _n(e,t,o){const{horizontalScrollThumbStyle:i,onMouseDownScrollThumb:a,shouldShowHorizontalScrollbar:r}=o;function l(){return r.value&&n.createVNode("div",{class:"fv-grid-horizontal-scroll"},[n.createVNode("div",{class:"fv-grid-horizontal-scroll-thumb",style:i.value,onMousedown:s=>a(s,t,"horizontal")},null)])}return{renderHorizontalScrollbar:l}}function ja(e,t,o,i,a){const{currentPage:r,pageSize:l,pageList:s,total:f,showPageIndex:d,showPageList:p,mode:c}=a;function u(y){o.navigatePageTo(y),i.resetScroll(),t.emit("pageIndexChanged",y)}function _(y){o.changePageSizeTo(y),i.resetScroll(),t.emit("pageSizeChanged",y)}n.onMounted(()=>{c.value==="server"&&u(1)});function m(){return n.createVNode("div",{class:"fv-datagrid-pagination"},[n.createVNode(rn,{mode:"default",currentPage:r.value,"onUpdate:currentPage":y=>r.value=y,pageSize:l.value,"onUpdate:pageSize":y=>l.value=y,showPageList:p.value,showPageNumbers:d.value,totalItems:f.value,pageList:s.value,onPageIndexChanged:u,onPageSizeChanged:_},null)])}return{renderDataGridPagination:m}}function Fn(e,t,o,i,a){const{isSelectingHirarchyItem:r,multiSelectOnClickRow:l,multiSelectOnlyOnCheck:s,selectItem:f,toggleSelectItem:d}=o,{onMouseoverRow:p,sidebarRowClass:c}=t,{showRowNumer:u,showSidebarCheckBox:_,sidebarCellPosition:m,rowKey:y,cellKey:b}=i,{gridSideStyle:S}=a;function C(v){v.stopPropagation()}function g(v){return n.createVNode("div",{class:"d-inline-flex "},[n.createVNode("div",{class:"custom-control custom-checkbox f-checkradio-single",style:"margin:0;padding-left:0.5rem"},[n.withDirectives(n.createVNode("input",{id:b(v),title:b(v),type:"checkbox","onUpdate:modelValue":w=>v.checked=w,class:"custom-control-input"},null),[[n.vModelCheckbox,v.checked]]),n.createVNode("label",{class:"custom-control-label",for:b(v),onClick:C},null)])])}function F(v){return n.createVNode("div",{class:"fv-grid-sidebar-row-number justify-content-center",style:"padding:0",onMouseover:w=>p(w,v)},[n.createVNode("div",{title:v.dataIndex,class:{"text-center":!0,"text-truncate":e.rowNumber.showEllipsis,"w-100":e.rowNumber.showEllipsis}},[v.dataIndex])])}function x(v,w,k){r.value?l.value?d(k):f(k):s.value||l.value?d(k):f(k)}function h(v){return(_.value||u.value)&&v.value.map(w=>n.createVNode("div",{key:y(w),class:c(w),style:m(w),onClick:k=>x(k,v,w)},[_.value&&!e.hierarchy&&g(w),u.value&&F(w)]))}function V(v){return n.createVNode("div",{class:"fv-grid-content-side"},[n.createVNode("div",{class:"fv-grid-side",style:S.value},[h(v)])])}return{renderDataGridSidebar:V}}function Pa(e,t,o){const{columnContext:i}=o,a=n.ref(e.summary),r=n.computed(()=>{const s=a.value;return s&&s.enable&&s.groupFields&&s.groupFields.length>0});function l(){return r.value&&n.createVNode("div",{class:"fv-datagrid-summary"},[n.createVNode("div",{class:"fv-datagird-summary-panel"},[n.createVNode("span",{class:"fv-datagrid-summary-title"},[n.createTextVNode("当页合计")]),n.createVNode("div",{class:"fv-datagrid-summary-content"},[i.value.summaryColumns.map(s=>n.createVNode("div",{class:"fv-datagrid-summary-field"},[n.createVNode("span",{class:"fv-datagrid-summary-field-title"},[`${s.title}:`]),n.createVNode("span",{class:"fv-datagrid-summary-field-value"},[t.summaries.get(s.field)])]))])])])}return{renderDataGridSummery:l}}function Vn(e,t,o){const{verticalScrollThumbStyle:i,onMouseDownScrollThumb:a,shouldShowVirticalScrollbar:r}=o;function l(){return r.value&&n.createVNode("div",{class:"fv-grid-vertical-scroll"},[n.createVNode("div",{class:"fv-grid-vertical-scroll-thumb",style:i.value,onMousedown:s=>a(s,t,"vertical")},null)])}return{renderVerticalScrollbar:l}}function Da(){function e(i,a){switch(i.command){case"edit":case"remove":return a.status===We.initial;case"accept":case"cancel":return a.status===We.editing;default:return!i.hidden}}function t(i,a,r){switch(i.onClick(a,r.dataIndex,r),i.command){case"edit":r.status,We.editing;break;case"accept":case"cancel":r.status,We.initial;break}}function o(i,a){return n.createVNode("div",null,[i.commands&&i.commands.map(r=>e(r,a)&&n.createVNode(n.resolveComponent("f-button"),{class:"ml-2",type:r.type,size:r.size||"small",onClick:l=>t(r,l,a)},{default:()=>[n.createTextVNode(" "),r.text,n.createTextVNode(" ")]}))])}return{renderCommandColumn:o}}function Ra(e){function t(){return n.createVNode("div",{class:"d-flex flex-column f-datagrid-norecords"},[n.createVNode("div",{class:"f-datagrid-norecords-content",style:"margin: 0;width: 100%;position: relative; top: 0"},[n.createTextVNode(" "),e.slots.empty&&e.slots.empty()||"暂无数据"])])}return{renderEmpty:t}}function Nn(e){const t=n.ref(e.minHeight),o=n.ref(e.minWidth),i=n.ref(e.height),a=n.ref(e.width),r=n.computed(()=>i.value<=0?0:Math.max(i.value,t.value)),l=n.computed(()=>a.value<=0?0:Math.max(a.value,o.value));return n.watch([()=>e.height,()=>e.width,()=>e.minHeight,()=>e.minWidth],([f,d,p,c])=>{t.value=Number(p),o.value=Number(c),i.value=Number(f),a.value=Number(d)}),{containerStyleObject:n.computed(()=>({height:r.value>0?`${r.value}px`:e.fit?"100%":"",width:l.value>0?`${l.value}px`:e.fit?"100%":""}))}}function kn(e){const o={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=n.ref(o);function a(){i.value={defaultColumnWidth:120,headerDepth:1,leftColumns:[],leftColumnsMap:new Map,leftColumnsWidth:0,leftHeaderColumns:[],primaryColumns:[],primaryColumnsMap:new Map,primaryColumnsWidth:0,primaryHeaderColumns:[],rightColumns:[],rightColumnsMap:new Map,rightColumnsWidth:0,rightHeaderColumns:[],summaryColumns:[]}}const r=n.ref(e.summary),l=n.computed(()=>{const g=r.value;return(g==null?void 0:g.groupFields)||[]});function s(){i.value.rightColumns.forEach(x=>{x.showSetting=!1}),i.value.primaryColumns.forEach(x=>{x.showSetting=!1});const g=i.value.rightColumns.filter(x=>x.visible),F=i.value.primaryColumns.filter(x=>x.visible);g.length>0?g[g.length-1].showSetting=!0:F.length>0&&(F[F.length-1].showSetting=!0)}function f(g){a();const F=new Map;return l.value&&l.value.reduce((x,h)=>(x.set(h,!0),x),F),g.reduce((x,h)=>(h.visible=h.visible!==!1,h.fixed==="left"?(i.value.leftColumns.push(h),i.value.leftColumnsMap.set(h.field,h),i.value.leftColumnsWidth+=h.actualWidth):h.fixed==="right"?(i.value.rightColumns.push(h),i.value.rightColumnsMap.set(h.field,h),i.value.rightColumnsWidth+=h.actualWidth):(i.value.primaryColumns.push(h),i.value.primaryColumnsMap.set(h.field,h),i.value.primaryColumnsWidth+=h.actualWidth),F.has(h.field)&&i.value.summaryColumns.push(h),x),i),s(),i}f(e.columns);const d=n.computed(()=>i.value.leftColumns.length>0),p=n.computed(()=>i.value.rightColumns.length>0);function c(g,F){return F.sortable&&F.sort&&F.sort!=="none"&&g.push(F),g}function u(g,F){return g.sortOrder=g.sortOrder||0,F.sortOrder=F.sortOrder||0,g.sortOrder===F.sortOrder?0:g.sortOrder<F.sortOrder?-1:1}function _(g,F){return g.sortOrder=g.sortOrder||0,F.sortOrder=F.sortOrder||0,g.sortOrder===F.sortOrder?0:g.sortOrder<F.sortOrder?1:-1}function m(g,F){return F.filterable&&g.push(F),g}function y(){const g=[];return i.value.leftColumns.reduce(m,g),i.value.primaryColumns.reduce(m,g),i.value.rightColumns.reduce(m,g),g}function b(){const g=[];i.value.leftColumns.reduce(c,g),i.value.primaryColumns.reduce(c,g),i.value.rightColumns.reduce(c,g);const F=Math.max(...g.map(x=>x.sortOrder||0));return g.sort(_).map(x=>{const h=x.sortOrder||F+1;return x.sortOrder=h,x}).sort(u).map((x,h)=>{const V=h+1;return x.sortOrder=V,x})}function S(g,F,x){const h=g.map(V=>{const v=x.getSorterByColumn(V),w=V.sort==="asc",k=V.sort==="desc",I=w?v.ascend:k?v.decend:void 0;return{field:V.field,compare:I}});F.setSorters(h)}function C(g,F){const x=b();S(x,g,F)}return{applyColumnSorter:C,collectionFilterableColumns:y,applySortableColumns:S,collectionSortableColumns:b,columnContext:i,hasLeftFixedColumn:d,hasRightFixedColumn:p,updateColumnRenderContext:f,updateColumnSettingIcon:s}}const Ea=[{name:"是",value:!0},{name:"否",value:!1}];function La(e){return e.filter=e.filter||function(t){return String(e.filterValue).split(",").includes(String(t[e.field]))},n.createVNode("div",null,[n.createVNode(n.resolveComponent("f-checkbox-group"),{modelValue:e.filterValue,"onUpdate:modelValue":t=>e.filterValue=t,"enum-data":Ea},null)])}const Aa=n.ref([{name:"七天",selectable:!0},{name:"一个月",selectable:!0},{name:"三个月",selectable:!0},{name:"半年",selectable:!0}]);function Ha(e){const t=n.ref(!1);return e.filter=e.filter||function(o){const i=new Date(new Date(e.filterValue).toLocaleDateString()).valueOf();return new Date(new Date(o[e.field]).toLocaleDateString()).valueOf()===i},n.createVNode("div",{style:"display:flex;flex-direction:column;"},[n.createVNode("div",{style:"display:flex;margin-bottom:6px;"},[n.createVNode("label",{style:"margin-right:8px"},[n.createTextVNode("按区间筛选")]),n.createVNode(n.resolveComponent("f-switch"),{modelValue:t.value,"onUpdate:modelValue":o=>t.value=o,size:"small"},null)]),n.createVNode(n.resolveComponent("f-date-picker"),{modelValue:e.filterValue,"onUpdate:modelValue":o=>e.filterValue=o},null),n.createVNode(n.resolveComponent("f-tags"),{style:"margin-top:10px",data:Aa.value,selectable:!0,"tag-style":"capsule"},null)])}function Ga(e){e.filter=e.filter||function(o){const i=Number.parseFloat(e.filterValue),a=Number.parseFloat(o[e.field]);return isNaN(i)?isNaN(a):i===a};function t(o){e.filterValue=o}return n.createVNode("div",null,[n.createVNode(n.resolveComponent("f-number-spinner"),{"can-null":!0,precision:"2",value:e.filterValue,onValueChange:t},null)])}function Wa(e,t,o,i,a,r){e.filterHistory=e.filterHistory||a.getFilterHistory(e),e.filter=e.filter||function(u){return(u[e.field]||"").startsWith(e.filterValue)};function l(u,_){a.removeFilterHistory(e,u.name),e.filterHistory=a.getFilterHistory(e)}function s(u){e.filterValue=u.name}function f(u){e.filterHistory=u}const d=i.rawView.value.reduce((u,_,m)=>(u.push(_[e.field]),u),[]),c=[...new Set(d)].map((u,_)=>({id:_,name:u}));return n.createVNode("div",{style:"display:flex;flex-direction:column;"},[n.createVNode(n.resolveComponent("f-search-box"),{modelValue:e.filterValue,"onUpdate:modelValue":u=>e.filterValue=u,"popup-host":t.value,"popup-right-boundary":o.value,"popup-offset-x":r.offsetX,"recommended-data":c},null),n.createVNode(n.resolveComponent("f-tags"),{style:"margin-top:10px","tag-type":"default",data:e.filterHistory,"show-close":!0,selectable:!0,onRemove:l,onSelectionChange:s,onChange:f},null)])}function za(e,t,o,i,a,r){e.filter=e.filter||function(_){return String(e.filterValue).split(",").includes(String(_[e.field]))};const l=",",s=i.rawView.value.reduce((_,m,y)=>(_.push(m[e.field]),_),[]),d=[...new Set(s)].map((_,m)=>({id:m,name:_}));function p(_){return(_==null?void 0:_.split(l))||[]}function c(_){return _.map(y=>y.name).join(l)}function u(_){e.filterValue=c(_)}return n.createVNode(n.resolveComponent("f-list-view"),{data:d,"multi-select":!0,"multi-select-mode":"OnCheckAndClick","id-field":"name",view:"SingleView",header:"Search",size:"Small","selection-values":p(e.filterValue),onSelectChange:_=>u(_)},{default:()=>[n.createTextVNode(" ")]})}function qa(e){n.ref("请输入关键词"),n.ref('<i class="f-icon f-icon-search"></i>');const t=[{name:"发票类型",checked:!1},{name:"发票代码",checked:!1},{name:"开票日期",checked:!1},{name:"票价(燃油附加费)",checked:!1},{name:"税收分类编号",checked:!1},{name:"不含税单价",checked:!1},{name:"往来单位",checked:!1},{name:"商品服务描述",checked:!1},{name:"项目负责人",checked:!1},{name:"所属单位",checked:!1}];return n.createVNode(n.resolveComponent("f-list-view"),{data:t,"multi-select":!0,view:"SingleView",size:"Small"},{default:()=>[n.createTextVNode(" ")]})}function Tn(e,t,o,i,a){const r=new Map([["boolean","boolean-filter"],["date","date-filter"],["datetime","date-filter"],["number","numeric-filter"],["string","text-filter"],["text","text-filter"],["enum","enum-filter"],["reference","list-filter"]]),l=new Map([["boolean-filter",La],["date-filter",Ha],["enum-filter",za],["list-filter",qa],["numeric-filter",Ga],["text-filter",Wa]]);function s(f){var u,_;const d=((u=f.column)==null?void 0:u.dataType)||"string",p=((_=f.column)==null?void 0:_.filter)||r.get(d)||"text-editor",c=l.get(p);if(c)return c(f,e,t,o,i,a)}return{getFilterEditor:s}}function In(e){const o=n.ref(e.commandOption.enable||!1),i=n.ref(e.commandOption.commands||[]);function a(r){if(o.value&&!(r.value.findIndex(s=>s.dataType==="commands")>-1)){const s={field:"__commands__",title:"操作",width:120,fixed:"right",dataType:"commands",commands:i.value,visible:!0};r.value.push(s)}}return{applyCommands:a}}function On(e,t,o,i,a,r,l){const{columnContext:s}=o,{getGridHeaderCells:f}=a,{groupFields:d}=r,p=n.ref(-1),c=n.ref(!1),u=n.computed(()=>d.value&&d.value.map(C=>{var g;return{name:((g=s.value.primaryColumnsMap.get(C))==null?void 0:g.title)||C,value:C}}));function _(C,g,F){var x,h,V;if(C.stopPropagation(),g){const v=`${(x=g.column)==null?void 0:x.title}:${(h=g.column)==null?void 0:h.field}`;(V=C.dataTransfer)==null||V.setData("Text",v),setTimeout(()=>{p.value=F,c.value=!0})}}function m(C,g){if(C.preventDefault(),p.value!==g){const{primaryColumns:F}=s.value,x=F[p.value],h=F;h.splice(p.value,1),h.splice(g,0,x),s.value.primaryHeaderColumns=Array.from(f(h).values()),p.value=g}}function y(C,g){C.preventDefault(),C.dataTransfer&&(C.dataTransfer.dropEffect="move")}function b(C,g){c.value=!1,i.updateDataView(),l.reCalculateVisualDataRows()}function S(C){var F;C.preventDefault(),C.stopPropagation();const g=(F=C.dataTransfer)==null?void 0:F.getData("Text");if(g){const x=g.split(":");x[0];const h=x[1];r.groupFields.value.push(h)}i.updateDataView(),l.reCalculateVisualDataRows()}return{dragstart:_,dragenter:m,dragover:y,dragend:b,dropOnGroupPanel:S,isDragging:c,groupColumnItems:u}}function $n(e,t,o,i,a){const{getGridHeaderCells:r}=a,l=120,s=50,f=n.computed(()=>{var v;return((v=e.rowNumber)==null?void 0:v.enable)||!1}),d=n.computed(()=>{var v,w;return((v=e.selection)==null?void 0:v.multiSelect)||((w=e.selection)==null?void 0:w.showCheckbox)||!1}),p=n.computed(()=>{var v;return 0+(f.value?((v=e.rowNumber)==null?void 0:v.width)||32:0)+(d.value?s:0)}),c=n.computed(()=>{var v;return(v=e.columnOption)==null?void 0:v.fitColumns}),u=n.computed(()=>{var v;return c.value&&((v=e.columnOption)==null?void 0:v.fitMode)||"average"});function _(v,w,k){const I=parseInt(v.width,10)/100;return k*I}function m(v,w,k){return typeof v.width=="string"?_(v,w,k):v.width||l}function y(v,w){const k=[],I=[];let O=0;v.value.primaryColumns.filter($=>$.visible).forEach($=>{typeof $.width=="string"?I.push($):($.width=$.width||l,O+=$.width,k.push($))});const T=w*(k.length/v.value.primaryColumns.filter($=>$.visible).length);k.forEach($=>{const B=T*($.width/O);$.actualWidth=B,v.value.primaryColumnsWidth+=$.actualWidth});const N=w-T;I.forEach($=>{const B=_($,v.value,N);$.actualWidth=B,v.value.primaryColumnsWidth+=$.actualWidth})}function b(v,w){const k=w/(v.value.primaryColumns.filter(I=>I.visible).length||1);v.value.primaryColumns.filter(I=>I.visible).forEach(I=>{I.actualWidth=k,v.value.primaryColumnsWidth+=I.actualWidth})}function S(v,w){const k=[],I=[],O=new WeakMap;let T=0,N=0;if(v.value.primaryColumns.filter(B=>B.visible).forEach(B=>{if(typeof B.width=="string"){const j=_(B,v.value,w);O.set(B,j),T+=j,I.push(B)}else B.width=B.width||l,N+=B.width,k.push(B)}),w-T>N){const B=w-T;I.forEach(j=>{j.actualWidth=O.get(j)||l,v.value.primaryColumnsWidth+=j.actualWidth}),k.forEach(j=>{j.actualWidth=B*(j.width/N),v.value.primaryColumnsWidth+=j.actualWidth})}else y(v,w)}function C(v,w){v.value.primaryColumns.filter(k=>k.visible).forEach(k=>{k.actualWidth=m(k,v.value,w),v.value.primaryColumnsWidth+=k.actualWidth})}const g={average:b,expand:S,none:C,percentage:y};function F(v){v.value.leftHeaderColumns=Array.from(r(v.value.leftColumns.filter(w=>w.visible)).values()),v.value.primaryHeaderColumns=Array.from(r(v.value.primaryColumns.filter(w=>w.visible)).values()),v.value.rightHeaderColumns=Array.from(r(v.value.rightColumns.filter(w=>w.visible)).values())}function x(v){v.value.leftColumnsWidth=0,v.value.primaryColumnsWidth=0,v.value.rightColumnsWidth=0,v.value.leftColumns.filter(w=>w.visible).forEach(w=>{v.value.leftColumnsWidth+=w.actualWidth||0}),v.value.primaryColumns.filter(w=>w.visible).forEach(w=>{v.value.primaryColumnsWidth+=w.actualWidth||0}),v.value.rightColumns.filter(w=>w.visible).forEach(w=>{v.value.rightColumnsWidth+=w.actualWidth||0}),v.value=Object.assign({},v.value)}function h(v,w,k){var j;let I=0;const O=v.value.primaryColumns,T=v.value.rightColumns;v.value.rightColumns.filter(P=>P.visible).forEach(P=>{P.actualWidth=m(P,v.value,w),I+=P.actualWidth});const N=k-I,$=g[u.value];if($&&$(v,N),v.value.primaryColumnsWidth+I<=k)return v.value.primaryColumns=[...O,...T],v.value.primaryColumnsWidth+=I,v.value.rightColumns=[],v.value.rightColumnsWidth=0,!0;const B=new Map;return B.set("primary",[]),B.set("right",[]),v.value.primaryColumns.reduce((P,M)=>{var D,H;return M.fixed==="right"?(D=P.get("right"))==null||D.push(M):(H=P.get("primary"))==null||H.push(M),P},B),(j=B.get("right"))!=null&&j.length&&(v.value.primaryColumns=[...B.get("primary")||[]],v.value.rightColumns=[...B.get("right")||[]]),v.value.primaryColumnsWidth=0,v.value.rightColumnsWidth=0,!1}function V(){if(o.value){t.value.leftColumnsWidth=0,t.value.primaryColumnsWidth=0,t.value.rightColumnsWidth=0;const v=o.value.clientWidth-p.value;t.value.leftColumns.filter(k=>k.visible).forEach(k=>{k.actualWidth=m(k,t.value,v),t.value.leftColumnsWidth+=k.actualWidth});const w=v-t.value.leftColumnsWidth;if(h(t,v,w))i.value=w;else{t.value.rightColumns.filter(O=>O.visible).forEach(O=>{O.actualWidth=m(O,t.value,v),t.value.rightColumnsWidth+=O.actualWidth});const k=v-t.value.leftColumnsWidth-t.value.rightColumnsWidth,I=g[u.value];I&&I(t,k),i.value=k}F(t),t.value=Object.assign({},t.value)}}return n.watch(()=>{var v;return(v=e.columnOption)==null?void 0:v.fitColumns},(v,w)=>{v!==w&&v&&V()}),n.watch(u,(v,w)=>{v!==w&&c.value&&V()}),{calculateColumnHeaders:F,calculateColumnsSize:V,calculateColumnsWidth:x}}const Bn={conditions:{type:Array,default:[]},fields:{type:Array,default:[]},key:{type:String,default:""},isControlInline:{type:Boolean,default:!0}};class Ua{constructor(t={value:[]}){z(this,"editorType","check-box");z(this,"value");z(this,"valueType","boolean");this.value=t.value}clear(){this.value=[]}setValue(t){this.value=t}getValue(){return this.value}isEmpty(){return this.value.length===0}}class Ka{constructor(t={textValue:"",value:"",valueField:""}){z(this,"editorType","combo-lookup");z(this,"textValue");z(this,"value");z(this,"valueField");z(this,"valueType","text");this.textValue=t.textValue,this.value=t.value,this.valueField=t.valueField}clear(){this.value="",this.valueField="",this.textValue=""}getPropValue(t,o){if(o.length>1){const i=o.shift();return t[i]?this.getPropValue(t[i],o):null}return t[o[0]]}getTextValue(t){const o=t.split("."),i=this.value.split(",").map(a=>this.getPropValue(a,Re.cloneDeep(o)));return i&&i.length?i.join(","):""}getValue(){const t=this.valueField.split("."),o=this.value.split(",").map(i=>this.getPropValue(i,Re.cloneDeep(t)));return o&&o.length?o.join(","):""}setValue(t){throw new Error("Method not implemented.")}isEmpty(){return!this.valueField}}class Xa{constructor(t={value:""}){z(this,"editorType","date-picker");z(this,"value");z(this,"valueType","datetime");this.value=t.value}setValue(t){this.value=t.formatted}getValue(){return this.value}isEmpty(){return!this.value}clear(){this.value=void 0}}class Mn{constructor(t={begin:"",end:""}){z(this,"editorType","date-range");z(this,"begin","");z(this,"end","");z(this,"valueType","datetime");this.begin=t.begin,this.end=t.end}clear(){this.begin="",this.end=""}getValue(){return!this.begin||!this.end?"":`${this.begin}~${this.end}`}setValue(t){t.dataRange?(this.begin=t.dataRange.split(t.delimiter)[0],this.end=t.dataRange.split(t.delimiter)[1]):this.clear()}isEmpty(){return!this.begin||!this.end}}class Ya{constructor(t={value:""}){z(this,"editorType","datetime-picker");z(this,"value");z(this,"valueType","datetime");this.value=t.value}clear(){this.value=void 0}getValue(){return this.value}setValue(t){this.value=t.formatted}isEmpty(){return!this.value}}class Ja{constructor(t={value:"",dispalyText:""}){z(this,"editorType","combo-list");z(this,"value");z(this,"valueType","enum");z(this,"displayText");this.displayText=t.dispalyText,this.value=t.value}clear(){this.value="",this.displayText=""}getValue(){return this.displayText}setValue(t){this.displayText=t.dispalyText,this.value=t.value}isEmpty(){return!this.displayText}}class Qa{constructor(t={value:[],displayText:"",displayField:"",isInputText:!1}){z(this,"editorType","input-group");z(this,"value");z(this,"valueType","text");z(this,"displayText");z(this,"valueField");z(this,"isInputText");this.value=t.value,this.displayText=t.displayText,this.valueField=t.displayField,this.isInputText=t.isInputText}clear(){this.value=[],this.displayText="",this.valueField=""}getPropValue(t,o){if(o.length>1){const i=o.shift();return t[i]?this.getPropValue(t[i],o):""}return t[o[0]]}getTextValue(t){const o=t.split("."),i=this.value.map(a=>this.getPropValue(a,Re.cloneDeep(o)));return i&&i.length?i.join(","):""}getValue(){const t=this.valueField.split(".")||[],o=this.value.map(i=>this.getPropValue(i,Re.cloneDeep(t)));return o&&o.length?o.join(","):""}setValue(t){throw new Error("Method not implemented.")}isEmpty(){return!this.displayText}}class Za{constructor(t={textValue:"",value:[],valueField:"",isInputText:!1}){z(this,"editorType","lookup");z(this,"textValue");z(this,"value");z(this,"valueField");z(this,"valueType","text");z(this,"isInputText");this.value=t.value,this.valueField=t.valueField,this.textValue=t.textValue,this.isInputText=t.isInputText}clear(){this.value=[],this.valueField="",this.textValue=""}getPropValue(t,o){if(o.length>1){const i=o.shift();return t[i]?this.getPropValue(t[i],o):null}return t[o[0]]}getTextValue(t){const o=t.split("."),i=this.value.map(a=>this.getPropValue(a,o));return i&&i.length?i.join(","):""}getValue(){const t=this.valueField.split("."),o=this.value.map(i=>this.getPropValue(i,t));return o&&o.length?o.join(","):""}setValue(t){throw new Error("Method not implemented.")}isEmpty(){return!this.value.length}}class er{constructor(t={value:""}){z(this,"editorType","month-picker");z(this,"value");z(this,"valueType","datetime");this.value=t.value}setValue(t){this.value=t.formatted}getValue(){return this.value}clear(){this.value=void 0}isEmpty(){return!this.value}}class tr{constructor(t={begin:"",end:""}){z(this,"editorType","month-range");z(this,"begin");z(this,"end");z(this,"valueType","datetime");this.begin=t.begin,this.end=t.end}clear(){this.begin="",this.end=""}getValue(){return!this.begin||!this.end?"":`${this.begin}~${this.end}`}setValue(t){t.dataRange?(this.begin=t.dataRange.split(t.delimiter)[0],this.end=t.dataRange.split(t.delimiter)[1]):this.clear()}isEmpty(){return!this.begin||!this.end}}class nr{constructor(t={begin:null,end:null}){z(this,"editorType","number-range");z(this,"begin");z(this,"end");z(this,"valueType","number");this.begin=t.begin==null?null:parseFloat(t.begin),this.end=t.end==null?null:parseFloat(t.end)}clear(){this.begin=null,this.end=null}getValue(){return{begin:this.begin,end:this.end}}setValue(t){this.begin=t.begin==null?null:parseFloat(t.begin),this.end=t.end==null?null:parseFloat(t.end)}isEmpty(){return this.begin==null&&this.end==null}}class or{constructor(t={value:""}){z(this,"editorType","number-spinner");z(this,"value");z(this,"valueType","number");this.value=t.value==null?null:parseFloat(t.value)}clear(){this.value=void 0}getValue(){return this.value}setValue(t){this.value=isNaN(parseFloat(t))?null:t}isEmpty(){return this.value==null}}class ir{constructor(t={value:null}){z(this,"editorType","radio-group");z(this,"value");z(this,"valueType","enum");this.value=t.value}clear(){this.value=void 0}getValue(){return this.value}setValue(t){this.value=t}isEmpty(){return!this.value}}class jn{constructor(t={value:""}){z(this,"editorType","text");z(this,"value");z(this,"valueType","text");this.value=t.value}clear(){this.value=void 0}getValue(){return this.value}setValue(t){this.value=t}isEmpty(){return!this.value}}function Pn(){function e(t,o){switch(t){case"check-box":return new Ua(o);case"combo-list":return new Ja(o);case"combo-lookup":return new Ka(o);case"input-group":return new Qa(o);case"date-picker":return new Xa(o);case"date-range":return new Mn(o);case"datetime-picker":return new Ya(o);case"datetime-range":return new Mn(o);case"lookup":return new Za(o);case"month-picker":return new er(o);case"month-range":return new tr(o);case"number-range":return new nr(o);case"number-spinner":return new or(o);case"radio-group":return new ir(o);default:return new jn(o)}}return{createConditionValue:e}}function Dn(e,t){const o=n.ref(e.fields),i=n.ref([]),a=new Map,{createConditionValue:r}=Pn();function l(p){switch(p.editor?p.editor.type:"input-group"){case"date-range":p.editor.type="date-picker";break;case"datetime-range":p.editor.type="datetime-picker";break;case"number-range":p.editor.type="number-spinner";break}return p.editor}function s(p){return p.map(u=>Object.assign({},u)).map(u=>(u.editor=l(u),u))}function f(p=!0){o.value.reduce((c,u)=>(p||(u.editor=l(u)),c.set(u.labelCode,u),c),a)}function d(p){return p.forEach(c=>{if(c&&typeof c.valueConfig=="object"){const u=a.get(c.fieldCode);c.value=r(u.editor.type,c.valueConfig.content)}}),p}return{convertToSingleControl:s,fields:o,fieldMap:a,fieldConditions:i,loadFieldConfigs:f,initialConditionValue:d}}function ar(e,t,o){const i=n.ref(null),a=n.ref(o),r=n.ref(0),l=n.computed(()=>d(r.value));function s(){a.value&&(i.value=new ResizeObserver(f(p=>{const c=p[0];r.value=c.contentRect.width})),i.value.observe(a.value))}function f(p,c){let u=null;return function(){const _=arguments;u||(u=setTimeout(()=>{u=null},500),p(..._))}}function d(p){let u="col-12";return p>250*6?u="col-2":p>250*4?u="col-3":p>250*3?u="col-4":p>250*2&&(u="col-6"),u}return n.watch([o],([p])=>{a.value=p,s()}),{conditionClass:l,resizeObserver:i}}const Rn=n.defineComponent({name:"FConditionFields",props:Bn,emits:["valueChange","blur","focus","click","input"],setup(e,t){const o=n.ref(),i=n.ref(e.key),a=n.ref(e.isControlInline),r=n.ref(e.conditions),l=Dn(e),{initialConditionValue:s,fieldMap:f,loadFieldConfigs:d}=l,p=ar(e,t,o),{conditionClass:c,resizeObserver:u}=p;d(!0),s(r.value),n.onBeforeUnmount(()=>{var S;(S=u.value)==null||S.unobserve(o.value)}),n.watch(()=>e.conditions,()=>{r.value=e.conditions});const _=n.computed(()=>({"f-utils-flex-row-wrap":!0,"farris-form":!0,"farris-form-controls-inline":a.value})),m=n.computed(()=>c.value);function y(S,C){t.emit("valueChange",S,C)}function b(){return r.value.map(S=>{var C;return n.createVNode(It.FDynamicFormGroup,{customClass:m.value,label:S.fieldName,editor:(C=f.get(S.fieldCode))==null?void 0:C.editor,modelValue:S.value.value,"onUpdate:modelValue":g=>S.value.value=g,onChange:g=>{y(g,S)}},null)})}return()=>n.createVNode("div",{class:_.value,key:i.value,ref:o},[b()])}}),Gt=new Map([["appearance",Ge]]);var En=(e=>(e.SimpleField="SimpleField",e.ComplexField="ComplexField",e))(En||{}),ht=(e=>(e.String="String",e.DateTime="DateTime",e.Date="Date",e.Enum="Enum",e.Boolean="Boolean",e.Number="Number",e.Text="Text",e.BigNumber="BigNumber",e))(ht||{});const rr="root-viewmodel";class lr{constructor(t,o){z(this,"formSchemaUtils");z(this,"controlCreatorUtils");z(this,"designViewModelUtils");this.resolver=t,this.designerHostService=o,this.formSchemaUtils=this.designerHostService.formSchemaUtils,this.controlCreatorUtils=this.designerHostService.controlCreatorUtils,this.designViewModelUtils=this.designerHostService.designViewModelUtils}createComponent(t){const o=this.createComponentRefNode(t),i=this.createComponentNode(t),a=this.createViewModeNode(t),r=this.formSchemaUtils.getFormSchema();return r.module.viewmodels.push(a),r.module.components.push(i),this.designViewModelUtils.assembleDesignViewModel(),o}createComponentRefNode(t){const o=this.resolver.getSchemaByType("component-ref");return Object.assign(o,{id:`${t.componentId}-component-ref`,component:`${t.componentId}-component`}),o}createComponentNode(t){const o=this.resolver.getSchemaByType("component"),i=this.createFormComponentContents(t);return Object.assign(o,{id:`${t.componentId}-component`,viewModel:`${t.componentId}-component-viewmodel`,componentType:t.componentType,appearance:{class:this.getFormComponentClass()},formColumns:t.formColumns,contents:i}),o}getFormComponentClass(){return this.formSchemaUtils.getFormSchema().module.templateId==="double-list-in-tab-template"?"f-struct-wrapper f-utils-fill-flex-column":"f-struct-wrapper"}createFormComponentContents(t){const o=this.resolver.getSchemaByType("section");Object.assign(o,{id:t.componentId+"-form-section",appearance:{class:"f-section-form f-section-in-mainsubcard"},mainTitle:t.componentName});const i=this.resolver.getSchemaByType("response-form"),a=[];Object.assign(i,{id:t.componentId+"-form",appearance:{class:"f-form-layout farris-form farris-form-controls-inline"},contents:a}),o.contents=[i];const{selectedFields:r}=t;return r==null||r.forEach(s=>{const f=Re.cloneDeep(s),d=this.resolveControlClassByFormColumns(t),p=this.controlCreatorUtils.setFormFieldProperty(f,"",d);p&&a.push(p)}),this.formSchemaUtils.getFormSchema().module.templateId==="double-list-in-tab-template"&&(o.appearance.class="f-section-grid f-section-in-main px-0 pt-0",o.fill=!0),[o]}resolveControlClassByFormColumns(t){let o="";switch(t.formColumns){case 1:{o="col-12 col-md-12 col-xl-12 col-el-12";break}case 2:{o="col-12 col-md-6 col-xl-6 col-el-6";break}case 3:{o="col-12 col-md-6 col-xl-4 col-el-4";break}case 4:{o="col-12 col-md-6 col-xl-3 col-el-2";break}}return o}createViewModeNode(t){return{id:`${t.componentId}-component-viewmodel`,code:`${t.componentId}-component-viewmodel`,name:t.componentName,bindTo:t.bindTo,parent:rr,fields:this.assembleViewModelFields(t),commands:[],states:[],enableValidation:!0,pagination:{enable:!1}}}assembleViewModelFields(t){const o=[],{selectedFields:i}=t;return i==null||i.forEach(a=>{let r="blur";const l=a.type.name;(l===ht.Enum||l===ht.Boolean)&&(r="change"),o.push({type:"Form",id:a.id,fieldName:a.bindingField,groupId:null,groupName:null,updateOn:r,fieldSchema:{}})}),o}}function sr(e,t,o,i){const a=o.parentComponentInstance;if(a){const l={componentId:`form-${Math.random().toString(36).slice(2,6)}`,componentName:"标题",componentType:"form",formColumns:4,parentContainerId:a.schema.id,bindTo:"/"};return new lr(e,i).createComponent(l)}else return t}Ie({customClass:{type:String,default:""}},{$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/response-form.schema.json",title:"response-form",description:"A Farris Data Collection Component",type:"object",properties:{id:{description:"The unique identifier for a form group",type:"string"},type:{description:"The type string of form group component",type:"string",default:"response-form"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},contents:{description:"",type:"array",default:[]}},required:["id","type"]},Gt,sr,{title:"response-form",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:[]}}}}}});const Ln={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/form-group.schema.json",title:"form-group",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a form group",type:"string"},type:{description:"The type string of form group component",type:"string",default:"form-group"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},enableLinkLabel:{description:"",type:"boolean",default:!1},editor:{description:"",type:"obejct"},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"}},required:["id","type"]},An={id:{type:String,default:""},customClass:{type:String,default:""},editor:{type:Object,default:{}},label:{type:String,default:""},modelValue:{type:[String,Boolean,Array,Number],default:""},visible:{type:Boolean,default:!0},required:{type:Boolean,default:!1},showLabel:{type:Boolean,default:!0},type:{type:String,default:"input-group"}};Ie(An,Ln,Gt,void 0);function cr(){function e(t){var a,r;if(!t)return!1;const o=((a=t.targetContainer)==null?void 0:a.componentInstance)&&t.targetContainer.componentInstance.value;if(!o)return!1;const i=(r=o.schema.appearance)==null?void 0:r.class;if(t.controlCategory==="input"||t.controlType==="form-group"){const l=o.schema.type,s=(l==="response-form"||l==="content-container")&&i&&i.includes("farris-form");if(o.schema.type!=="response-layout-item"&&!s)return!1}return t.controlType!=="field-set"}return{basalDragulaRuleForContainer:e}}const dr={id:{type:String},required:{type:Boolean,default:!1},text:{type:String,default:""},title:{type:String}},ur=n.defineComponent({name:"FDynamicFormLabel",props:dr,emits:[],setup(e,t){const o=n.ref(e.title||e.text),i=n.ref(e.required),a=n.ref(e.text);return n.watch(()=>e.text,()=>{a.value=e.text}),n.watch(()=>e.required,(r,l)=>{r!==l&&(i.value=r)}),()=>n.createVNode("label",{class:"col-form-label",title:o.value},[i.value&&n.createVNode("span",{class:"farris-label-info text-danger"},[n.createTextVNode("*")]),n.createVNode("span",{class:"farris-label-text"},[a.value])])}}),fr=new Map([["appearance",Ge]]);function pr(e,t,o){return t}const mr={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/input-group.schema.json",title:"input-group",description:"A Farris Input 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:"input-group"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},labelWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},disabled:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabIndex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"enum",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""},addonDisabled:{description:"",type:"boolean",default:!1},addonContent:{description:"",type:"string",default:""},autoHeight:{description:"",type:"boolean",default:!1},enableAddon:{description:"",type:"boolean",default:!1},addonType:{description:"",type:"string",enum:["button","static"],default:"button"},enableClear:{description:"",type:"boolean",default:!0},enableViewPassword:{description:"",type:"boolean",default:!1},inputType:{description:"",type:"string",enum:["input","password","text"],default:"input"},maxHeight:{description:"",type:"number",default:500},popUp:{description:"",type:"object",properties:{footerButtons:{type:"array",default:[]},height:{type:"number",default:600},dataMapping:{type:"object"},contents:{type:"array",default:[]},showMaxButton:{type:"boolean",default:!0},showCloseButton:{type:"boolean",default:!0},showFooter:{type:"boolean",default:!0},title:{type:"string",default:""},width:{type:"number",default:800}}},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},onClear:{description:"",type:"string",default:""}},required:["id","type"]},Hn={autocomplete:{Type:String,default:"off"},customClass:{Type:String,default:""},disabled:{Type:Boolean,default:!1},editable:{Type:Boolean,default:!0},enableClear:{Type:Boolean,default:!0},enableTitle:{Type:Boolean,default:!0},enableViewPassword:{Type:Boolean,default:!0},forcePlaceholder:{Type:Boolean,default:!1},groupText:{Type:String,default:""},type:{Type:String,default:"text"},max:{type:[Number,String]},min:{type:[Number,String]},maxLength:{Type:Number||void 0,default:void 0},minLength:{Type:Number||void 0,default:void 0},modelValue:{Type:String||Boolean,default:""},showBorder:{Type:Boolean,default:!0},step:{Type:Number,default:1},placeholder:{Type:String,default:""},precision:{Type:Number,default:0},readonly:{Type:Boolean,default:!1},showButtonWhenDisabled:{Type:Boolean,default:!1},tabIndex:{Type:Number||void 0,default:void 0},textAlign:{Type:String,default:"left"},useExtendInfo:{Type:Boolean,default:!1},extendInfo:{Type:String,default:""},value:{Type:String,default:""},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},updateOn:{type:String,default:"blur"}};Ie(Hn,mr,fr,pr);function gr(e,t,o,i){const a=n.ref(e.disabled),r=n.ref(!1),l=n.ref("text"),s=n.ref(e.showBorder),f=n.ref(e.textAlign),d=n.ref(e.updateOn),p=n.computed(()=>e.editable||!e.readonly),c=n.computed(()=>e.editable&&!e.disabled&&!e.readonly),u=n.computed(()=>!e.disabled&&r.value),_=n.computed(()=>o.value===""||o.value===null||o.value===void 0),m=n.computed(()=>(e.disabled||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),y=n.computed(()=>e.readonly||!e.editable),b=n.computed(()=>e.enableTitle?o.value:""),S=n.computed(()=>({"form-control":!0,"f-utils-fill":!0,"text-left":f.value==="left","text-center":f.value==="center","text-right":f.value==="right"})),C=n.computed(()=>{const T={"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disable":a.value,"f-state-editable":c.value,"f-state-readonly":y.value,"f-state-focus":u.value};return(e.customClass||"").split(" ").reduce(($,B)=>($[B]=!0,$),T),T}),g=n.computed(()=>s.value?"":"border-width : 0 ");function F(T,N=!0){o.value=T,i.value!==T&&(i.value=T),N&&t.emit("change",T),t.emit("update:modelValue",T),t.emit("update:value",T)}n.watch(()=>e.modelValue,(T,N)=>{T!==N&&(o.value=T,i.value=T)}),n.watch(()=>e.disabled,(T,N)=>{T!==N&&(a.value=T)});function x(T){return r.value=!1,t.emit("blur",T),T.stopPropagation(),!1}function h(T){t.emit("click",T)}function V(T){e.disabled||(s.value&&(r.value=!0),p.value&&t.emit("focus",T))}function v(T){t.emit("input",T.target.value);const N=T.target.value;i.value=N,d.value==="input"&&(t.emit("update:modelValue",N),t.emit("update:value",N))}function w(T){t.emit("keydown",T)}function k(T){t.emit("keyup",T)}function I(T){T.target.tagName!=="INPUT"&&T.preventDefault(),T.stopPropagation()}function O(T){if(d.value==="blur"){const N=T.target.value;T.stopPropagation(),F(N)}}return{changeTextBoxValue:F,disabled:a,displayText:i,editable:c,hasFocused:u,inputGroupClass:C,inputType:l,isEmpty:_,modelValue:o,readonly:y,onBlur:x,onClick:h,onFocus:V,onInput:v,onKeydown:w,onKeyup:k,onMousedown:I,onTextBoxValueChange:O,placeholder:m,textBoxClass:S,textBoxTitle:b,inputGroupStyle:g}}function hr(e,t,o){const i=n.ref(!1),a=n.computed(()=>e.enableClear&&!e.readonly&&!e.disabled),{changeTextBoxValue:r,displayText:l,hasFocused:s,isEmpty:f}=o;function d(y){i.value=y}n.watch(l,()=>{s!=null&&s.value?d(!!(l!=null&&l.value)):d(!1)});const p=n.computed(()=>({"input-group-text":!0,"input-group-clear":!0})),c=n.computed(()=>({width:"24px",display:i.value?"flex":"none"}));function u(y){y.stopPropagation(),a.value&&(r("",!0),d(!i.value),t.emit("clear"))}function _(y){a.value&&!f.value&&d(!0)}function m(y){a.value&&d(!1)}return{clearButtonClass:p,clearButtonStyle:c,hasShownClearButton:i,onClearValue:u,onMouseEnter:_,onMouseLeave:m,shouldShowClearButton:a}}const yr=["moz","ms","webkit"];function vr(){let e=0;return t=>{const o=new Date().getTime(),i=Math.max(0,16-(o-e)),a=setTimeout(()=>{t(o+i)},i);return e=o+i,a}}function br(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const e=yr.filter(t=>`${t}RequestAnimationFrame`in window)[0];return e?window[`${e}RequestAnimationFrame`]:vr()}br();function Cr(e,t){return((t==null?void 0:t.split(" "))||[]).reduce((i,a)=>(a&&(i[a]=!0),i),e),e}function wr(e,t){return((t==null?void 0:t.split(";"))||[]).reduce((i,a)=>{if(a){const r=a.split(":");i[r[0]]=r[1]}return i},e),e}const Gn=e=>{const t=e;return t.install=function(o){o.component(t.name,e)},e},Sr={checked:{type:Boolean,default:!1},mode:{type:String,default:"default"},type:{type:String,default:"secondary"},size:{type:String,default:"middle"}};function xr(e,t){const o=n.ref(e.groupText),i=n.computed(()=>e.showButtonWhenDisabled&&(e.readonly||e.disabled)),a=n.computed(()=>e.enableClear||!!e.groupText);return{appendedButtonClass:n.computed(()=>({"input-group-append":!0,"append-force-show":i.value})),appendedContent:o,shouldShowAppendedButton:a}}function _r(e,t,o,i){const{appendedContent:a}=i,r=n.ref(e.enableViewPassword),l=n.computed(()=>e.type==="password"),s='<span class="f-icon f-icon-eye" style="color: rgb(56, 143, 255);"></span>',f='<span class="f-icon f-icon-eye"></span>',d=n.ref(!1);n.watch(()=>[e.readonly,e.disabled],([u,_])=>{l.value&&(o.value=u||_?"password":o.value,a.value=u||_?f:a.value)});function p(){return d.value=!d.value,o.value=d.value?"text":"password",a.value=d.value?s:f,!1}function c(){o.value=l.value?"password":"text",a.value=l.value?r.value?f:"":a.value}return c(),{isPassword:l,onClickAppendedButton:p}}function Fr(e,t,o){const i=n.ref(),{onBlurTextBox:a,onFocusTextBox:r,onInput:l,onKeyDown:s,textBoxValue:f}=o,d=n.computed(()=>e.disabled||e.readonly||!e.editable?"":e.placeholder),p=n.computed(()=>({"form-control":!0,"f-utils-fill":!0})),c=n.computed(()=>({"text-align":e.textAlign}));function u(y){y.stopPropagation()}function _(){e.selectOnCreated,e.focusOnCreated}async function m(y){r(y),await n.nextTick,_()}return n.onMounted(async()=>{await n.nextTick,_()}),()=>n.createVNode("input",{ref:i,class:p.value,style:c.value,type:"text",value:f.value,disabled:e.disabled,readonly:e.readonly||!e.editable,placeholder:d.value,onBlur:a,onChange:u,onFocus:m,onInput:l,onKeydown:s},null)}function Vr(e,t,o){const{canDownward:i,canUpward:a,onClickDownButton:r,onClickUpButton:l}=o,s=n.computed(()=>({"input-group-append":!0,"btn-group":!0,"btn-group-number":!0})),f=n.computed(()=>({btn:!0,"btn-secondary":!0,"btn-number-flag":!0})),d=n.computed(()=>({cursor:a()?"pointer":"not-allowed","margin-left":0})),p=n.computed(()=>({cursor:i()?"pointer":"not-allowed","margin-left":0}));return()=>n.createVNode("div",{class:s.value},[n.createVNode("button",{title:"upButton",class:f.value,style:d.value,onClick:l,disabled:!a()},[n.createVNode("span",{class:"f-icon f-icon-arrow-chevron-up number-arrow-chevron"},null)]),n.createVNode("button",{title:"downButton",class:f.value,style:p.value,onClick:r,disabled:!i()},[n.createVNode("span",{class:"f-icon f-icon-arrow-chevron-down number-arrow-chevron"},null)])])}function Nr(e,t){const o=pt.useNumber(e,t),i=pt.useFormat(e,t,o),a=pt.useSpinner(e,t,i,o),r=pt.useTextBox(e,t,i,o,a),l=Vr(e,t,a),{displayValue:s,modelValue:f,getRealValue:d}=o,p=Fr(e,t,r),{format:c}=i,{isFocus:u}=r,_=n.computed(()=>!e.disabled&&!e.readonly);return n.onMounted(()=>{const m=d(e.modelValue);s.value=c(m)}),n.watch(()=>[e.value],([m])=>{const y=d(m);f.value=y,s.value=c(y)}),n.watch(()=>[e.modelValue],([m])=>{m!==f.value&&(f.value=m,!u.value&&(s.value=c(d(m))))}),n.watch(()=>[e.precision,e.useThousands,e.prefix,e.suffix,e.showZero],()=>{s.value=c(f.value)}),()=>n.createVNode("div",{class:"input-group f-state-hover flex-row f-cmp-number-spinner"},[p(),_.value&&l()])}function kr(e,t,o,i){const a=n.ref(),r=n.ref(e.autocomplete),l=n.ref(e.enableTitle),{isPassword:s}=o,f=n.ref(e.minLength),d=n.ref(e.maxLength),p=n.ref(e.tabIndex),{disabled:c,displayText:u,inputType:_,onBlur:m,onFocus:y,onInput:b,onClick:S,onKeydown:C,onKeyup:g,onMousedown:F,onTextBoxValueChange:x,readonly:h,placeholder:V,textBoxClass:v,textBoxTitle:w}=i;return n.onMounted(()=>{e.selectOnCreated,e.focusOnCreated}),()=>n.createVNode("input",{ref:a,name:"input-group-value",autocomplete:r.value,class:v.value,disabled:c==null?void 0:c.value,maxlength:d.value,minlength:f.value,placeholder:V.value,readonly:h==null?void 0:h.value,tabindex:p.value,title:l.value&&!s.value?w.value:"",type:_.value,value:u==null?void 0:u.value,onBlur:m,onClick:S,onChange:x,onFocus:y,onInput:b,onKeydown:C,onKeyup:g,onMousedown:F},null)}function Tr(e,t){const o=n.computed(()=>e.useExtendInfo&&!!e.extendInfo),i=n.reactive({content:e.extendInfo});function a(){t.emit("updateExtendInfo")}return()=>o.value&&n.withDirectives(n.createVNode("span",{class:"input-group-before-tips",onMouseenter:a},[n.createVNode("i",{class:"f-icon f-icon-info-circle"},null),n.createVNode("b",{class:"tips-arrow"},null)]),[[n.resolveDirective("tooltip"),i]])}function Ir(e,t,o,i,a){const{appendedButtonClass:r,appendedContent:l}=o,s=n.computed(()=>e.showButtonWhenDisabled&&(!e.editable||!e.readonly)&&!e.disabled),f=n.computed(()=>l.value&&!t.slots.groupTextTemplate),d=n.computed(()=>!!t.slots.groupTextTemplate),{clearButtonClass:p,clearButtonStyle:c,onClearValue:u,shouldShowClearButton:_}=i;function m(){return n.createVNode("span",{id:"clearIcon",class:p.value,style:c.value,onClick:V=>u(V)},[n.createVNode("i",{class:"f-icon modal_close"},null)])}function y(V){t.emit("iconMouseEnter",V)}function b(V){t.emit("iconMouseLeave",V)}function S(V){s.value&&t.emit("clickHandle",{originalEvent:V}),V.stopPropagation()}const C=e.type==="password"?a.onClickAppendedButton:S;function g(){return n.createVNode("span",{class:"input-group-text",onMouseenter:V=>y(V),onMouseleave:V=>b(V),innerHTML:l.value,onClick:V=>C(V)},null)}function F(){return t.slots.groupTextTemplate&&t.slots.groupTextTemplate()}function x(){return f.value?g:d.value?F:""}const h=x();return()=>n.createVNode("div",{class:r.value},[_.value&&m(),h&&h()])}const Or=n.defineComponent({name:"FInputGroup",props:Hn,emits:["clear","change","blur","click","clickHandle","focus","input","keydown","keyup","iconMouseEnter","iconMouseLeave","update:modelValue","update:value","updateExtendInfo","valueChange"],setup(e,t){const o=n.ref(e.modelValue),i=n.ref(e.modelValue),a=gr(e,t,o,i),{inputGroupClass:r,inputType:l,inputGroupStyle:s}=a,f=xr(e),{shouldShowAppendedButton:d}=f,p=hr(e,t,a),{onMouseEnter:c,onMouseLeave:u}=p,_=_r(e,t,l,f),m=Nr(e,t),y=kr(e,t,_,a),b=Ir(e,t,f,p,_),S=Tr(e,t),C=n.computed(()=>e.type==="number");n.watch(()=>[e.value],([F])=>{o.value=F,i.value=F}),n.watch(()=>[e.modelValue],([F])=>{o.value=F,i.value=F}),n.onMounted(()=>{e.value&&(o.value=e.value,i.value=e.value)});const g=()=>n.createVNode(n.Fragment,null,[n.createVNode("div",{id:"inputGroup",class:r.value,style:s.value,onMouseenter:c,onMouseleave:u},[C.value?m():n.createVNode(n.Fragment,null,[S(),y(),d.value&&b()])])]);return()=>g()}}),U={},K={},Y={},J={};let Wn=!1;function $r(){Wn||(Wn=!0,Yo.register(U,K,Y,J),Xo.register(U,K,Y,J),ln.register(U,K,Y,J),Jo.register(U,K,Y,J),Qo.register(U,K,Y,J),Zo.register(U,K,Y,J),ft.register(U,K,Y,J),Ot.register(U,K,Y,J),ei.register(U,K,Y,J),ti.register(U,K,Y,J),oi.register(U,K,Y,J),ni.register(U,K,Y,J),ii.register(U,K,Y,J),ai.register(U,K,Y,J),ri.register(U,K,Y,J),It.register(U,K,Y,J),li.register(U,K,Y,J),an.register(U,K,Y,J),si.register(U,K,Y,J),ci.register(U,K,Y,J),di.register(U,K,Y,J),ui.register(U,K,Y,J),sn.register(U,K,Y,J),fi.register(U,K,Y,J),pi.register(U,K,Y,J),mi.register(U,K,Y,J),gi.register(U,K,Y,J),hi.register(U,K,Y,J),pt.register(U,K,Y,J),Ko.register(U,K,Y,J),yi.register(U,K,Y,J),vi.register(U,K,Y,J),rn.register(U,K,Y,J),bi.register(U,K,Y,J),Ci.register(U,K,Y,J),wi.register(U,K,Y,J),Si.register(U,K,Y,J),_i.register(U,K,Y,J),Fi.register(U,K,Y,J),xi.register(U,K,Y,J),Li.register(U,K,Y),Vi.register(U,K,Y,J),Ni.register(U,K,Y,J),ki.register(U,K,Y,J),Ti.register(U,K,Y,J),Ii.register(U,K,Y,J),Oi.register(U,K,Y,J),Uo.register(U,K,Y,J),on.register(U,K,Y,J),$i.register(U,K,Y,J),Bi.register(U,K,Y,J),qo.register(U,K,Y,J),Mi.register(U,K,Y,J),Pi.register(U,K,Y,J),ji.register(U,K,Y,J),Di.register(U,K,Y,J),Ri.register(U,K,Y,J),Ei.register(U,K,Y,J),Ai.register(U,K,Y,J))}function Br(){$r();function e(a,r){const l=K[a];return l?l(r):{}}function t(a){return U[a]||Or}function o(a){switch(a){case"check-box":return"onChangeValue";case"switch":return"onModelValueChanged";case"check-group":return"onChangeValue";case"combo-list":case"combo-tree":return"onChange";case"combo-lookup":return"";case"date-picker":return"onDatePicked";case"date-range":return"";case"datetime-picker":return"";case"datetime-range":return"";case"month-picker":return"";case"month-range":return"";case"year-picker":return"";case"year-range":return"";case"input-group":return"onChange";case"lookup":return"";case"number-range":return"onValueChange";case"number-spinner":return"onValueChange";case"radio-group":return"onChangeValue";case"text":return"";case"response-layout-editor-setting":return"onChange";case"events-editor":return"onSavedCommandListChanged";case"grid-field-editor":return"onChange";case"field-selector":return"onFieldSelected";case"schema-selector":return"onSchemaSelected";case"mapping-editor":return"onMappingFieldsChanged";case"textarea":return"onValueChange"}}function i(a){switch(a){case"combo-list":case"input-group":case"textarea":return"onClear"}}return{resolveEditorProps:e,resolveEditorType:t,getChangeFunctionName:o,getClearFunctionName:i}}const Mr=n.defineComponent({name:"FDynamicFormGroup",props:An,emits:["change","update:modelValue"],setup(e,t){const o=n.ref(e.id),i=n.ref(e.customClass),a=n.ref(e.editor),r=n.ref(e.label),l=n.ref(e.modelValue),s=n.ref(e.readonly),f=n.ref(e.required),d=n.ref(e.showLabel),p=n.ref(e.visible);n.ref(e.type);const c=n.ref(),{resolveEditorProps:u,resolveEditorType:_,getChangeFunctionName:m,getClearFunctionName:y}=Br(),b=n.computed(()=>({"form-group":!0,"farris-form-group":!0,"common-group":!0,"q-state-readonly":s.value}));function S(F,x){l.value=x!==void 0?x:F,t.emit("update:modelValue",l.value),t.emit("change",l.value)}function C(){t.emit("update:modelValue","")}const g=n.computed(()=>{const F=a.value.type||"input-group",x=_(F),h=u(F,a.value),V=m(F),v=y(a.value.type);return h[V]=S,h[v]=C,()=>n.createVNode(x,n.mergeProps({ref:c},h,{modelValue:l.value,"onUpdate:modelValue":w=>l.value=w}),null)});return n.watch([()=>e.id,()=>e.customClass,()=>e.editor,()=>e.label,()=>e.modelValue,()=>e.readonly,()=>e.required,()=>e.showLabel,()=>e.visible],([F,x,h,V,v,w,k,I,O])=>{o.value=F,i.value=x,a.value=h,r.value=V,l.value=v,s.value=w,f.value=k,d.value=I,p.value=O}),t.expose({editorRef:c}),()=>p.value&&n.createVNode("div",{id:`${o.value}-input-group`,class:i.value},[n.createVNode("div",{class:"farris-group-wrap"},[n.createVNode("div",{class:b.value},[d.value&&n.createVNode(ur,{id:`${o.value}-lable`,required:f.value,text:r.value,title:r.value},null),n.createVNode("div",{class:"farris-input-wrap"},[g.value()])])])])}}),jr={},Pr={};class Dr extends Ae{constructor(t,o){super(t,o)}}Ie({id:{type:String,default:""},editor:{type:Object,default:{}},modelValue:{type:[String,Boolean,Array,Number],default:""},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1}},Ln,Gt,void 0);var zn=(e=>(e[e.Value=0]="Value",e[e.SmartHelp=1]="SmartHelp",e[e.Enum=2]="Enum",e[e.Express=3]="Express",e))(zn||{}),qn=(e=>(e.Equal="0",e.NotEqual="1",e.Greater="2",e.GreaterOrEqual="3",e.Less="4",e.LessOrEqual="5",e.Like="6",e.LikeStartWith="7",e.LikeEndWith="8",e))(qn||{});const Rr=[{value:"0",name:"等于"},{value:"1",name:"不等于"},{value:"2",name:"大于"},{value:"3",name:"大于等于"},{value:"4",name:"小于"},{value:"5",name:"小于等于"},{value:"6",name:"包含"},{value:"7",name:"开始是"},{value:"8",name:"结束是"}],Er={"button-edit":["0","1"," 6","7","8"],"check-box":["0"],"combo-list":["0","1"],"combo-lookup":["0","1"," 6","7","8"],"date-picker":["0","1","2","3","4","5"],"date-range":[],"datetime-picker":["0","1","2","3","4","5"],"datetime-range":[],"month-picker":["0","1","2","3","4","5"],"month-range":[],"year-picker":["0","1","2","3","4","5"],"year-range":[],"input-group":["0","1","6","7","8"],lookup:["0","1"],"number-range":[],"number-spinner":["0"," 1","2","3","4","5"],"radio-group":["0"],text:["0","1"," 6","7","8"]};function Lr(e,t,o){const{fieldMap:i}=o;function a(r){const l=i.get(r.fieldCode);if(!l)return[];const s=l.editor.type,f=new Set(Er[s]);return Rr.filter(p=>f.has(p.value))}return{getCompareOperators:a}}function Un(){const e=n.ref({relation:0,items:[],children:[],path:[],groupId:0,level:0}),t=new Map,o=new Map;let i=0;function a(){return{id:"",fieldCode:"",fieldName:"",compareType:qn.Equal,valueType:zn.Value,value:new jn,relation:0,conditionId:Date.now()}}function r(w,k){return{relation:w,items:[],children:[],path:[],groupId:++i,level:k}}function l(){const w=Object.assign({},e.value);o.forEach((k,I)=>{k.groupId===w.groupId&&o.set(I,w)}),t.forEach((k,I)=>{k.groupId===w.groupId&&t.set(I,w)}),e.value=w}function s(w){const k=new Map;let I=0;return w.forEach((O,T)=>{var N,$;if(I+=((N=O.lBracket)==null?void 0:N.length)||0,k.set(T,I),I-=(($=O.rBracket)==null?void 0:$.length)||0,I<0)throw new Error("The right bracket is out of range.")}),k}function f(w,k,I,O,T){for(let N=0;N<k;N++){const $=w+(N+1),B=r(T,$);I.children.push(B),o.set(B.groupId,I),I=I.children[I.children.length-1],O.push(I)}return I}function d(w,k,I,O,T){for(let j=k;j<=0;j++)O.pop();const N=O[O.length-1];if(!N)throw new Error("The group path is out of range");const $=w+k,B=r(T,$);return N.children.push(B),o.set(B.groupId,N),I=N.children[N.children.length-1],O.push(I),I}function p(w,k,I,O){I.pop();const T=I[I.length-1],N=r(O,w);return T.children.push(N),o.set(N.groupId,T),k=T.children[T.children.length-1],I.push(k),k}function c(w,k,I,O,T,N){let $=w[w.length-1];if(!$)throw new Error("The group path is out of range");const B=k.get(O)||0,j=k.get(I)||0;if(I<0||I===O)return w[w.length-1];const P=B-j,M=T&&T.relation!==void 0?T.relation:1;return $=P>0?f(j,P,$,w,M):$,$=P<0?d(j,P,$,w,M):$,$=P===0&&j>0&&B>0&&T&&N&&!!T.rBracket&&!!N.lBracket?p(j,$,w,M):$,$}function u(w){const I={relation:w.length&&w[0].relation!==void 0?w[0].relation:1,items:[],children:[],path:[],groupId:0,level:0},O=[I],T=s(w);return w.forEach((N,$)=>{const B=$-1,j=w[B],P=c(O,T,B,$,j,N);P.items.push(N),t.set(N.conditionId,P)}),e.value=I,I}function _(){const w=a();t.set(w.conditionId,e.value),e.value.items.push(w)}function m(w){if(!w)return;const k=t.get(w.conditionId);if(k){const I=k.items.findIndex(T=>T.conditionId===w.conditionId)+1,O=a();t.set(O.conditionId,k),k.items.splice(I,0,O),l()}}function y(w){const k=t.get(w.conditionId);k&&(k.items=k.items.filter(I=>I.conditionId!==w.conditionId),t.delete(w.conditionId),v(),l())}function b(w,k,I,O){w.reduce((T,N)=>{const $=N.conditionId!==void 0,B=N.groupId!==void 0;if($){const j=N;I.push(j),T.items.set(j.conditionId,j)}if(B){const j=N;O.push(j),T.groups.set(j.groupId,j)}return T},k)}function S(w,k,I,O,T){w&&(w.items=k.length?w.items.filter(N=>!I.has(N.conditionId)):w.items,w.children=O.length?w.children.filter(N=>!T.has(N.groupId)):w.children)}function C(w,k,I){k.forEach(O=>{w.items.push(O),t.set(O.conditionId,w)}),I.forEach(O=>{w.children.push(O),o.set(O.groupId,w)})}function g(w){const k=w[0],I=k.conditionId!==void 0?t.get(k.conditionId):o.get(k.groupId),O={items:new Map,groups:new Map},T=[],N=[];if(I){b(w,O,T,N),S(I,T,O.items,N,O.groups);const $=r(I.relation,I.level+1);C($,T,N),I.children.push($),o.set($.groupId,I),l()}}function F(w){const k=[...w.items],I=[...w.children],O=o.get(w.groupId);O&&(O.children=O.children.filter(T=>T.groupId!==w.groupId),o.delete(w.groupId),k.forEach(T=>{O.items.push(T),t.set(T.conditionId,O)}),I.forEach(T=>{O.children.push(T),o.set(T.groupId,O)}),l())}function x(w){w.relation=w.relation===1?2:1,l()}let h;function V(w){const{relation:k}=w;return(w.children&&w.children.length?w.children.map((O,T,N)=>{const $=h(O);return $[0].lBracket=($[0].lBracket||"")+"(",$[$.length-1].rBracket=($[$.length-1].rBracket||"")+")",$[$.length-1].relation=T<N.length-1?k:0,$}):[]).flat()}h=(w=e.value)=>{const{relation:k}=w,I=w.items.map((T,N,$)=>(T.lBracket=N===0?"(":"",T.rBracket=N===$.length-1?")":"",T.relation=N<$.length-1?k||1:0,T)),O=V(w);return[...I,...O]};function v(w){const k=w||e.value;if(k.children.length&&k.children.forEach(I=>{v(I)}),k.level===0&&!k.items.length&&k.children.length===1){const I=k.children[0];e.value.relation=I.relation,F(I)}else k.items.length===0&&k.children.length<=1&&F(k)}return{addCondition:_,changeGroupRelation:x,conditionGroupMap:t,getConditions:h,group:g,groupParentMap:o,insertConditionTo:m,loadConditionGroup:u,refresh:l,removeCondition:y,rootGroup:e,unGroup:F}}function Ar(e,t,o){const i=n.ref(new Set),a=n.ref(new Set),{conditionGroupMap:r,groupParentMap:l}=o;let s,f;function d(S){let C=s.level<=S.level?s:S,g=s.level>S.level?s:S;const F=[];for(;g&&C&&g!==C;)g.level>C.level?(F.push(g),g=l.get(g.groupId)):g.level===C.level&&(C=l.get(C.groupId),C&&F.unshift(C));return F}function p(S){a.value.add(S.groupId),S.items.forEach(C=>i.value.add(C.conditionId)),S.children.forEach(C=>p(C))}function c(S){const{conditionId:C}=S;i.value.add(C),s=i.value.size===0?r.get(C):s;const g=r.get(S.conditionId);d(g).forEach(x=>p(x))}const u=n.computed(()=>i.value.size===0&&a.value.size===1),_=function(S){a.value.delete(S.groupId),S.items.forEach(g=>f(g)),S.children.forEach(g=>!u.value&&_(g));const C=l.get(S.groupId);C&&a.value.has(C.groupId)&&_(C)};f=function(S){const{conditionId:C}=S;if(i.value.has(C)&&i.value.delete(C),a.value.size>0){const g=r.get(C);g&&a.value.has(g.groupId)&&_(g)}};function m(S){const{conditionId:C}=S;i.value.size===0&&(s=r.get(C)),i.value.has(C)?f(S):c(S)}function y(){const S=[];return s&&(s.items.filter(C=>i.value.has(C.conditionId)).forEach(C=>S.push(C)),s.children.filter(C=>a.value.has(C.groupId)).forEach(C=>S.push(C))),S}function b(){i.value.clear(),a.value.clear()}return{clear:b,getSelectedGroupItem:y,selectedItems:i,toggleSelect:m}}const Wt=n.defineComponent({name:"FConditionList",props:Bn,emits:["valueChange","labelCodeChange","compareTypeChange"],setup(e,t){const o=n.ref(e.key),i=n.ref(e.conditions),a=Dn(e),{convertToSingleControl:r,fields:l,fieldMap:s,loadFieldConfigs:f}=a,d=Un(),{addCondition:p,changeGroupRelation:c,getConditions:u,group:_,insertConditionTo:m,loadConditionGroup:y,refresh:b,removeCondition:S,rootGroup:C,unGroup:g}=d,{createConditionValue:F}=Pn(),x=Ar(e,t,d),{selectedItems:h,toggleSelect:V}=x,{getCompareOperators:v}=Lr(e,t,a);f(!1),l.value=r(l.value),y(i.value);function w(P){var D;const M=((D=s.get(P.fieldCode))==null?void 0:D.editor)||{type:"text"};P.value=F(M.type,void 0),t.emit("labelCodeChange",P)}function k(P,M){t.emit("compareTypeChange",M)}function I(){}t.expose({getConditions:u});function O(P,M){t.emit("valueChange",P,M)}function T(P){return P.items.map(M=>{var D;return n.createVNode("div",{class:"condition-list-item",key:M.conditionId},[n.createVNode("div",{class:"condition-list-item-type mr-3"},[n.createVNode(Ot,{"value-field":"labelCode","text-field":"name","id-field":"id",data:l.value,modelValue:M.fieldCode,"onUpdate:modelValue":H=>M.fieldCode=H,onChange:H=>w(M)},null)]),n.createVNode("div",{class:"condition-list-item-compare mr-3"},[n.createVNode(Ot,{"value-field":"value","text-field":"name","id-field":"id",data:v(M),modelValue:M.compareType,"onUpdate:modelValue":H=>M.compareType=H,onChange:H=>k(H,M)},null)]),n.createVNode("div",{class:"condition-list-item-control mr-3"},[n.createVNode(Mr,{editor:(D=s.get(M.fieldCode))==null?void 0:D.editor,showLabel:!1,modelValue:M.value.value,"onUpdate:modelValue":H=>M.value.value=H,onChange:H=>{O(H,M)}},null)]),n.createVNode("div",{class:"condition-list-item-extend"},[n.createVNode("span",{class:"f-icon f-icon-plus-sm mr-2",onClick:()=>m(M)},null),n.createVNode("span",{class:"f-icon f-icon-minus-sm",onClick:()=>S(M)},null)]),n.createVNode("div",{class:"custom-control custom-checkbox"},[n.createVNode("input",{title:"selection",class:"custom-control-input",type:"checkbox",checked:h.value.has(M.conditionId)},null),n.createVNode("label",{class:"custom-control-label",onClick:()=>V(M)},null)])])})}function N(P){return n.createVNode("div",{class:"condition-list-relation"},[n.createVNode("span",{class:"condition-list-relation-close f-icon-filter-cancel btn-link",onClick:()=>g(P)},null),n.createVNode("span",{class:"condition-list-relation-text btn-link",onClick:()=>c(P)},[P.relation===1?"与":"或"])])}function $(P){return n.createVNode("div",{class:"condition-list-content"},[n.createVNode("div",{class:"condition-list-content-group"},[T(P),P.children&&P.children.map(M=>$(M))]),N(P)])}function B(){_(x.getSelectedGroupItem()),x.clear()}function j(){return n.createVNode("div",{class:"condition-list-bottom"},[n.createVNode("div",{class:"add-condition-btn mb-1 mr-3",onClick:p},[n.createVNode("span",{class:"f-icon f-icon-filter-add"},null),n.createVNode("span",{class:"ml-1"},[n.createTextVNode("添加条件")])]),n.createVNode("div",{class:"add-condition-btn mb-1",onClick:B},[n.createVNode("span",{class:"f-icon f-icon-filter-grouping"},null),n.createVNode("span",{class:"ml-1"},[n.createTextVNode("生成条件组")])]),n.createVNode("div",{class:"condition-list-reset add-condition-btn",onClick:I},[n.createTextVNode("重置")])])}return()=>n.createVNode("div",{class:"condition-list",key:o.value},[n.createVNode("div",{class:"condition-list-body"},[$(C.value)]),j()])}});Wt.install=e=>{e.component(Rn.name,Rn).component(Wt.name,Wt)};const Hr=["equal","notEqual","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","contain","startWidth","endWidth"],Gr={equal:(e,t,o)=>e&&e[t]===o,notEqual:(e,t,o)=>e&&e[t]!==o,contain:(e,t,o)=>e?(e[t]||"").indexOf(o)>-1:!1,startWidth:(e,t,o)=>e?(e[t]||"").startsWith(o):!1,endWidth:(e,t,o)=>e?(e[t]||"").endsWith(o):!1},Wr={equal:(e,t,o)=>e&&e[t]===o,notEqual:(e,t,o)=>e&&e[t]!==o},zr={equal:(e,t,o)=>{if(e){const i=new Date(new Date(o).toLocaleDateString()).valueOf();return new Date(new Date(e[t]).toLocaleDateString()).valueOf()===i}return!1},notEqual:(e,t,o)=>{if(e){const i=new Date(new Date(o).toLocaleDateString()).valueOf();return new Date(new Date(e[t]).toLocaleDateString()).valueOf()!==i}return!1},greaterThan:(e,t,o)=>{if(e){const i=new Date(new Date(o).toLocaleDateString()).valueOf();return new Date(new Date(e[t]).toLocaleDateString()).valueOf()>i}return!1},greaterThanOrEqual:(e,t,o)=>{if(e){const i=new Date(new Date(o).toLocaleDateString()).valueOf();return new Date(new Date(e[t]).toLocaleDateString()).valueOf()>=i}return!1},lessThan:(e,t,o)=>{if(e){const i=new Date(new Date(o).toLocaleDateString()).valueOf();return new Date(new Date(e[t]).toLocaleDateString()).valueOf()<i}return!1},lessThanOrEqual:(e,t,o)=>{if(e){const i=new Date(new Date(o).toLocaleDateString()).valueOf();return new Date(new Date(e[t]).toLocaleDateString()).valueOf()<=i}return!1}},qr={equal:(e,t,o)=>e?String(o).split(",").includes(String(e[t])):!1,notEqual:(e,t,o)=>e?String(o).split(",").findIndex(a=>a===String(e[t]))===-1:!1},Ur={equal:(e,t,o)=>{if(e){const i=Number.parseFloat(String(o)),a=Number.parseFloat(String(e[t]));return isNaN(i)?isNaN(a):i===a}return!1},notEqual:(e,t,o)=>{if(e){const i=Number.parseFloat(String(o)),a=Number.parseFloat(String(e[t]));return isNaN(i)?!0:i!==a}return!1},greaterThan:(e,t,o)=>{if(e){const i=Number.parseFloat(String(o)),a=Number.parseFloat(String(e[t]));return isNaN(i)?isNaN(a):a>i}return!1},greaterThanOrEqual:(e,t,o)=>{if(e){const i=Number.parseFloat(String(o)),a=Number.parseFloat(String(e[t]));return isNaN(i)?isNaN(a):a>=i}return!1},lessThan:(e,t,o)=>{if(e){const i=Number.parseFloat(String(o)),a=Number.parseFloat(String(e[t]));return isNaN(i)?isNaN(a):a<i}return!1},lessThanOrEqual:(e,t,o)=>{if(e){const i=Number.parseFloat(String(o)),a=Number.parseFloat(String(e[t]));return isNaN(i)?isNaN(a):a<=i}return!1}};function zt(){const e=n.ref([]),t=new Map,{loadConditionGroup:o}=Un(),i=new Map([["boolean",Wr],["datetime",zr],["enum",qr],["number",Ur],["text",Gr]]);function a(c){t.delete(c),e.value=Array.from(t.values())}function r(){t.clear(),e.value=[]}function l(c){const{valueType:u}=c.value,_=c.compareType||"0",m=Hr[Number(_)];return i.get(u)[m]}function s(c){const u=c.relation===2?0:1,_=c.items.map(y=>{const b=l(y);return C=>b(C,y.fieldCode,y.value.getValue())}),m=c.children&&c.children.length?c.children.map(y=>s(y)):[];return{relation:u,filterFunctions:_,children:m}}function f(){const c=o(e.value);return s(c)}function d(c,u){const _=u.filterFunctions.map(y=>y(c)),m=u.children.map(y=>d(c,y));return u.relation===1?_.every(y=>y)&&m.every(y=>y):_.includes(!0)||m.includes(!0)}function p(c){const u=f();return d(c,u)}return{apply:p,clearCondition:r,conditions:e,removeCondition:a}}function qt(e,t){var b,S;const{idField:o}=t,i=n.ref(e.summary),a=n.ref(e.group),r=n.ref(((b=e.group)==null?void 0:b.groupFields)||[]),l=n.ref(((S=e.group)==null?void 0:S.enable)||!1),s=n.computed(()=>{const C=i.value;return(C==null?void 0:C.groupFields)||[]}),f=n.computed(()=>{const C=a.value;return C&&C.showSummary}),d=new Map;let p=[];function c(C,g,F,x,h){const V=x[F];V&&(g.reduce((v,w,k)=>{var T;const I=w[V];let O=v.get(I);if(!O){const N=s.value.reduce(($,B)=>($.set(B,0),$),new Map);O={field:V,title:((T=h.get(V))==null?void 0:T.title)||V,value:I,layer:F,details:[],groupSummaries:N},v.set(I,O)}return s.value&&s.value.forEach(N=>{if(O){const $=O.groupSummaries.get(N)||0;O.groupSummaries.set(N,$+w[N])}}),O.details.push(w),v},C),F<x.length-1&&C.forEach((v,w)=>{v.nestGroup=new Map,c(v.nestGroup,v.details,F+1,x,h),v.details=[]}))}function u(C,g){return e.group&&e.group.formatter?e.group.formatter(C.value,{...C,total:g}):`${C.title}:${C.value} (${g})`}function _(C){const g=[];return C.forEach(F=>{const x={__fv_data_grid_group_collapse__:!1,__fv_data_grid_group_field__:F.field,__fv_data_grid_group_layer__:F.layer,__fv_data_grid_group_row__:!0,__fv_data_grid_group_value__:F.value};let h=0;if(g.push(x),F.nestGroup){const V=_(F.nestGroup);g.push(...V),h+=V.length}if(F.details&&F.details.length&&(g.push(...F.details),h+=F.details.length),f.value){const V={__fv_data_grid_group_field__:F.field,__fv_data_grid_group_layer__:F.layer,__fv_data_grid_group_summary__:!0};V[o.value]=`summary_of_${F.field}_${F.value}`,V[F.field]=Array.from(F.groupSummaries.entries()).reduce((v,[w,k])=>`${v} ${w} total:${k} `,""),g.push(V)}F.groupSummaries&&F.groupSummaries.size&&F.groupSummaries.forEach((V,v)=>{x[v]=V}),x[o.value]=`group_of_${F.field}_${F.value}`,x[F.field]=u(F,h)}),g.forEach((F,x)=>{F.__fv_data_index__=x}),g}function m(C,g,F){return!C||C.length===0||!g.length?g:(C.join(","),d.clear(),p=[],c(d,g,0,C,F),p=_(d),p)}function y(C){return{"f-icon":!0,"f-icon-arrow-chevron-down":!0,"fv-grid-group-row-icon-collapse":C.collapse}}return{collpaseGroupIconClass:y,generateGroupData:m,groupFields:r,shouldGroupingData:l}}function Kr(e,t,o,i){const a=n.ref(!!e.hierarchy),{idField:r}=i,{collapseField:l,hasChildrenField:s,parentIdField:f}=o,d=new Map;function p(O,T){const N=new Map;return O.reduce(($,B)=>{const j=B[f.value]!==void 0?B[f.value]:"";if(j&&T.has(j)){const M=T.get(j);B.__fv_parent_index__=M.__fv_index__,M.__fv_hasChildren__=!0}const P=$.has(j)?$.get(j):[];return P.push(B),$.set(j,P),$},N),N}function c(O){const T=new Map;return O.reduce((N,$)=>{const B=$[r.value];return N.set(B,$),N},T),T}function u(O){O.forEach(T=>{const N=T[r.value];T.__fv_children_index__.map(B=>O[B]).forEach(B=>{B.__fv_parents__=new Map([...T.__fv_parents__.entries(),[N,!0]])})})}function _(O){O.forEach(T=>{const N=new Set(T.__fv_children_index__);T.__fv_children_index__=[...N].sort(($,B)=>$-B)})}function m(O,T){O.forEach(N=>{const $=N.__fv_parents__;Array.from($.keys()).map(B=>T.get(B)).forEach(B=>{B.__fv_children_index__.push(N.__fv_index__)})}),_(O)}function y(O){O.forEach(T=>{T.__fv_child_with_lines__=[],T.__fv_child_length__=T.__fv_descendant_index__.length,T.__fv_descendant_index__.map(N=>O[N]).reduce((N,$)=>(N.__fv_child_length__+=$.__fv_children_index__.length,N.__fv_child_with_lines__.push(...$.__fv_children_index__,$.__fv_index__),N),T)})}function b(O,T){return{id:O,index:T,parentId:"",parentIndex:-1,parents:new Map,children:new Map,descendant:new Map}}function S(O,T){Array.from(T.keys()).forEach(N=>{T.get(N).reduce((B,j)=>{const P=j[r.value],M=O.get(j[r.value]),D=O.get(N);return D&&(D.children.set(P,M),D.children.set(P,M),M.parentId=N,M.parentIndex=D.index,M.parents.set(N,D)),B},O)})}function C(O){O.children.forEach(N=>{N.parents=new Map([...O.parents.entries(),[O.id,O]]),C(N)})}function g(O,T){O.filter(N=>N[f.value]===void 0||N[f.value]==="").forEach(N=>{const $=N[r.value],B=T.get($);C(B)})}function F(O){Array.from(O.values()).forEach(T=>{Array.from(T.parents.values()).forEach(N=>{N.descendant.set(T.id,T)})})}function x(O){d.clear(),O.forEach(($,B)=>{const j=$[r.value];d.set(j,b(j,B))});const T=c(O),N=p(O,T);return S(d,N),g(O,d),F(d),d}function h(O){const T=O[r.value],N=d.get(T);return N&&N.children.size>0}function V(O){return O[s.value]&&!h(O)}function v(O){x(t.value);const T=c(O),N=p(O,T);return O.forEach(($,B)=>{var D;const j=$[r.value],P=N.has(j)?(D=N.get(j))==null?void 0:D.map(H=>H.__fv_index__):[],M=b(j,B);$.__fv_graph_node__=M,$.__fv_children_index__=P,$.__fv_descendant_index__=[...P],$.__fv_parents__=new Map,V($)&&($[l.value]=!0)}),u(O),m(O,T),e.showLines&&y(O),O}function w(O,T,N){const B=N.value[O][r.value],j=d.get(B);if(j){const P=d.get(j.parentId);let M=N.value.length-1;if(P){const D=Array.from(P.children.keys()).indexOf(j.id);if(D===P.children.size-1){const ne=Array.from(P.descendant.values())[P.descendant.size-1];M=N.value.findIndex(be=>be[r.value]===ne.id)+1}else{const ne=Array.from(P.children.values())[D+1];M=N.value.findIndex(be=>be[r.value]===ne.id)}T[s.value]=!1,T[f.value]=P.id,N.value.splice(M,0,T)}}}function k(O,T,N){const $=N.value[O],B=$[r.value];if(d.get(B)){const M=N.value.findIndex(D=>D[r.value]===B)+1;$[s.value]=!0,$[l.value]=!1,T[s.value]=!1,T[f.value]=B,N.value.splice(M,0,T)}}function I(O,T){const N=O[r.value],$=d.get(N),B=Array.from($.descendant.keys());B.unshift(N);const j=d.get($.parentId);if(j&&(j.children.delete(N),j.children.size===0)){const M=T.find(D=>D[r.value]===$.parentId);M[s.value]=!1,M[l.value]=!1}return T.filter(M=>B.indexOf(M.id)===-1)}return{generateHierarchyData:v,hasRealChildren:h,insertSibling:w,insertChild:k,shouldStratifyData:a,trimmedOriginalData:I}}const Xr={showCloseButton:{type:Boolean,default:!0},position:{type:String,default:"top-center"},timeout:{type:Number,default:3e3},theme:{type:String,default:"bootstrap"},left:{type:Number},right:{type:Number},top:{type:Number},bottom:{type:Number},id:{type:String},animate:{type:String,default:"fadeIn"},options:{type:Object}},Yr={showCloseButton:{type:Boolean,default:!0},animate:{type:String,default:"fadeIn"},options:{type:Object}},Ut=n.defineComponent({name:"Toast",props:Yr,emits:["close","click"],setup:(e,t)=>{const o=n.ref(e.animate),i="fadeOut",a=n.computed(()=>e.options),r=n.ref(!1),l=n.computed(()=>{const S={animated:r.value,toast:!0};return S[e.animate]=!1,S[i]=r.value,S[a.value.type]=!0,a.value.theme&&(S[a.value.theme]=!0),S}),s=n.computed(()=>{const g=`f-icon-${a.value&&a.value.type?a.value.type.replace("toasty-type-",""):"default"}`,F={"f-icon":!0};return F[g]=!0,F}),f=n.computed(()=>a.value.title||a.value.message),d=n.computed(()=>a.value.title&&a.value.message),p=n.computed(()=>!a.value.title&&a.value.message),c=n.computed(()=>e.showCloseButton),u=n.computed(()=>!!a.value.buttons||!!t.slots.default);function _(S){S.stopPropagation(),S.preventDefault(),r.value=!1,setTimeout(()=>{t.emit("close",a.value)},200)}function m(S,C){}function y(S){return`f-preten-link ${S.customClass?S.customClass:""}`}n.watch(o,()=>{o.value});const b=()=>{var S;return n.createVNode(n.Fragment,null,[n.createVNode("div",{class:"after-toast-msg text-right"},[!t.slots.default&&((S=a.value.buttons)==null?void 0:S.map(C=>n.createVNode("span",{class:y(C),onClick:g=>void 0},[C.text]))),t.slots.default&&t.slots.default()])])};return()=>n.createVNode("div",{class:l.value},[c.value&&n.createVNode("button",{title:"close",class:"toast-close f-btn-icon f-bare",onClick:_},[n.createVNode("span",{class:"f-icon modal_close"},null)]),f.value&&n.createVNode("section",{class:"modal-tips"},[n.createVNode("div",{class:"float-left modal-tips-iconwrap"},[n.createVNode("span",{class:s.value},null)]),n.createVNode("div",{class:"modal-tips-content"},[d.value&&n.createVNode(n.Fragment,null,[n.createVNode("h5",{class:"toast-title modal-tips-title",innerHTML:a.value.title},null),n.createVNode("p",{class:"toast-msg",innerHTML:a.value.message},null),u.value&&b()]),p.value&&(a.value.buttons?n.createVNode("div",{class:"toast-title-btns-wrapper d-flex"},[n.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",innerHTML:a.value.message},null),n.createVNode("div",{class:"after-toast-title text-right ml-auto"},[b()])]):n.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",innerHTML:a.value.message},null))])])])}}),Vt=n.defineComponent({name:"Notify",props:Xr,emits:["close","empty"],setup(e,t){const o=n.computed(()=>({"farris-notify":!0})),i={left:12,right:12,top:20,bottom:12},a=n.ref(),r=n.ref(e.options),l=n.ref(e.showCloseButton),s=n.computed(()=>e.position||"bottom-right"),f=n.computed(()=>e.timeout!=null?e.timeout:3e3),d=n.computed(()=>{const u=e.bottom?e.bottom:i.bottom,_=e.top?e.top:i.top,m={transition:"all 0.2s ease",left:s.value.indexOf("left")>-1?`${e.left?e.left:i.left}px`:"",right:s.value.indexOf("right")>-1?`${e.right?e.right:i.right}px`:"",top:s.value.indexOf("top")>-1?`${_}px`:"",bottom:s.value.indexOf("bottom")>-1?`${u}px`:""};return s.value.indexOf("center")>-1&&(m.left="50%",m.marginLeft="calc(-24rem / 2)",s.value==="center-center"&&(m.top="50%",m.transform="translate(-50%, -50%)")),m});function p(u){t.emit("close")}f.value&&setTimeout(()=>{p()},f.value),t.expose({closeToast:p,container:a,notifyPosition:s});function c(u,_){p()}return()=>n.createVNode("div",{class:o.value,style:d.value,ref:a},[n.createVNode(Ut,{options:r.value,showCloseButton:l.value,animate:e.animate,onClose:u=>c(u,r.value)},null)])}});class Kn{constructor(){z(this,"notifyRefs",[]);z(this,"globalConfig",n.reactive({}))}createNotifyInstance(t){const o=this,a=Object.assign({timeout:3e3,position:"bottom-right",showCloseButton:!0},this.globalConfig,{...t}),r=document.createElement("div");r.style.display="contents";const l=n.createApp({setup(){const s=n.ref();function f(){s.value.container.style.transform="scale(0)",setTimeout(()=>{o.updateNotifyPositionForClose(a,s),l.unmount()},220)}if(a.position.indexOf("top")>-1){const d=o.getNotifyInstances(a.position),p=d[d.length-1];if(p){const c=p.value.container.getBoundingClientRect();a.top=c.bottom}}return n.onUnmounted(()=>{document.body.removeChild(r)}),n.onMounted(()=>{o.updateNotifyPositionForCreate(a,s)}),()=>n.createVNode(Vt,n.mergeProps({ref:s},a,{onClose:f}),null)}});return l.provide("NotifyService",this),document.body.appendChild(r),l.mount(r),l}getNotifyInstances(t){return this.notifyRefs.filter(o=>o.value.notifyPosition===t)}updateNotifyPositionForCreate(t,o){if(this.notifyRefs&&this.notifyRefs.length){const i=window.innerHeight;t.position.indexOf("bottom")>-1&&this.getNotifyInstances(t.position).forEach(a=>{const r=a.value.container.getBoundingClientRect();a.value.container.style.bottom=r.height+i-r.bottom+"px"})}this.notifyRefs=[...this.notifyRefs,o]}updateNotifyPositionForClose(t,o){const i=this.notifyRefs.indexOf(o);if(t.position.indexOf("top")>-1){const a=this.getNotifyInstances(t.position),r=a.indexOf(o);a.slice(r+1).forEach(l=>{l.value.container.style.top=l.value.container.offsetTop-l.value.container.offsetHeight+"px"})}i>-1&&this.notifyRefs.splice(i,1)}show(t){return this.createNotifyInstance(t)}buildNotifyProps(t,o){let i="",a="",r,l,s;typeof o=="string"?i=o:o&&(i=o.message||"",a=o.title||"",l=o.position||null,s=o.showCloseButton!=null?o.showCloseButton:null,r=o.timeout!=null?o.timeout:null);const d={options:{type:t,message:i,title:a}};return l!=null&&(d.position=l),s!=null&&(d.showCloseButton=s),r!=null&&(d.timeout=r),d}info(t){const o=this.buildNotifyProps("info",t);return this.show(o)}success(t){const o=this.buildNotifyProps("success",t);return this.show(o)}warning(t){const o=this.buildNotifyProps("warning",t);return this.show(o)}error(t){const o=this.buildNotifyProps("error",t);return this.show(o)}close(t){t&&t.unmount()}closeAll(){this.notifyRefs.forEach(t=>{t==null||t.value.closeToast()}),this.notifyRefs.length=0}}const Xn=Symbol("NOTIFY_SERVICE_TOKEN");Vt.install=e=>{e.component(Vt.name,Vt),e.component(Ut.name,Ut);const t=new Kn;e.provide(Xn,t),e.provide("FNotifyService",t)};function Yn(e,t,o,i,a){var Je;const{pageSize:r,total:l,shouldRenderPagination:s,currentPage:f,mode:d}=a,p=new Map,c=new Map,u=new Map,_=new Map,m=new Map,y=n.ref([]),b=n.ref([]),S=zt(),C=qt(e,i),{generateGroupData:g,groupFields:F,shouldGroupingData:x}=C,h=n.ref(e.data),V=Kr(e,h,o,i),{generateHierarchyData:v,hasRealChildren:w,insertSibling:k,insertChild:I,shouldStratifyData:O,trimmedOriginalData:T}=V,{idField:N,reviseIdentifyField:$}=i,B=n.ref(e.newDataItem),j=n.ref(e.data),P=n.ref(e.data),{flatTreeData:M}=fl(e);if(e.data&&((Je=e.data[0])!=null&&Je.children)){const A=Se(e.data);h.value=A,j.value=A,P.value=A}const D=n.ref(e.summary),H=n.computed(()=>{const A=D.value;return(A==null?void 0:A.groupFields)||[]});let ne=new Map;const re=n.computed(()=>{var A;return((A=j.value)==null?void 0:A.length)||0}),be=n.ref(e.pagination),$e=new Kn,_e=n.computed(()=>s.value?d.value==="server"?0:(f.value-1)*r.value:0),ve=n.computed(()=>s.value?d.value==="server"?Math.min(r.value,l.value,re.value):Math.min(_e.value+r.value,l.value,re.value):re.value);function Se(A){return M(A)}function ke(){var oe;j.value=h.value,x.value&&(j.value=g(F.value,h.value,t)),ne=H.value.reduce((Ne,Ee)=>(Ne.set(Ee,0),Ne),ne);const A=_e.value,ee=ve.value;let ae=0;const Ve=[];if((oe=j.value)!=null&&oe.length){$(j.value);const Ne=N.value!==e.idField;for(let Ee=A;Ee<ee;Ee++){const he=j.value[Ee];he.__fv_data_grid_group_row__?(ae=0,he.__fv_data_index__=""):he.__fv_data_grid_group_summary__?he.__fv_data_index__="":(ae++,s.value?he.__fv_data_index__=ae+(f.value-1)*r.value:he.__fv_data_index__=ae),he.__fv_index__=Ee,Ne&&(he[N.value]=Ee),H.value.forEach(De=>{const Le=ne.get(De)||0;ne.set(De,Le+he[De])}),Ve.push(he)}}return O.value&&v(Ve),P.value=[...Ve],Ve}const ie=n.ref(ke());function fe(A,ee,ae=!1){const oe=(ae?ke():[...P.value]).filter(he=>S.apply(he)),Ne=A&&A.length?oe.filter(he=>A.reduce((De,Le)=>De&&Le.filter(he),!0)):oe,Ee=ee&&ee.length?Ne.sort((he,De)=>{const Le=[...ee],Ce=Le.shift();let Qe=Ce.compare(he[Ce.field],De[Ce.field]);for(;Qe===0&&Le.length!==0;){const ut=Le.shift();ut&&(Qe=ut.compare(he[ut.field],De[ut.field]))}return Qe}):Ne;return ie.value=Ee.map((he,De)=>{if(he.__fv_data_grid_group_row__){const Le=`group_of_${he.__fv_data_grid_group_field__}_${he.__fv_data_grid_group_value__}`;he.__fv_data_grid_group_collapse__=!!p.get(Le)}return he.__fv_index__=De,he}),ie.value}function G(A){return m.clear(),b.value=A,b.value.reduce((ee,ae)=>(ee.set(ae.field,ae),ee),m),fe([],b.value)}function q(A,ee){return m.set(A,ee),b.value=Array.from(m.values()),fe([],b.value)}function le(A){return m.delete(A),b.value=Array.from(m.values()),fe([],b.value)}function Q(A,ee){return c.set(A,ee),y.value=Array.from(c.values()),fe([],Array.from(m.values()))}function me(A){return c.delete(A),y.value=Array.from(c.values()),fe([],Array.from(m.values()),!0)}function ge(){return c.clear(),y.value=[],fe([],Array.from(m.values()),!0)}function ce(A,ee){const ae=`group_of_${A}_${ee}`;p.set(ae,!0);const Ve=oe=>oe[A]!==ee;return u.set(`collapse_${A}_${ee}`,{field:A,fieldName:A,fieldType:"string",filterValue:ee,filter:Ve}),fe(Array.from(u.values()),Array.from(m.values()))}function xe(A,ee){const ae=`group_of_${A}_${ee}`;return p.set(ae,!1),u.delete(`collapse_${A}_${ee}`),fe(Array.from(u.values()),Array.from(m.values()),!0)}function L(A){const ee=A.raw[N.value],ae=Ve=>!Ve.__fv_parents__.has(ee);_.set(`fold_${ee}`,{field:"id",fieldName:"id",fieldType:"string",filterValue:String(ee),filter:ae}),fe(Array.from(_.values()),Array.from(m.values())),v(ie.value)}function se(A){const ee=A[N.value];_.delete(`fold_${ee}`)}function ue(A){se(A.raw),fe(Array.from(_.values()),Array.from(m.values()),!0),v(ie.value)}function W(){const A=ke();ie.value=A,e.hierarchy&&(fe(Array.from(_.values()),Array.from(m.values())),v(ie.value))}function pe(A){var ee;if(A&&((ee=A[0])!=null&&ee.children)){const ae=Se(A);h.value=ae,j.value=ae,P.value=ae}else h.value=A,j.value=A,P.value=A;W()}function Be(A,ee,ae){return(A&&A.length?ie.value.filter((oe,Ne)=>A.reduce((Ee,he)=>Ee&&he.filter(oe),!0)):ie.value).slice(ee,ae)}function X(A){(A-1)*r.value<=re.value&&W()}function te(A){h.value.push(Re.cloneDeep(A)),ie.value=ke()}function de(A=0){if(!(A>-1))return!1;const ae=B.value();e.hierarchy?k(A,ae,h):h.value.splice(A,0,ae),W()}function Fe(A=0){if(!(A>-1&&e.hierarchy))return!1;const ae=B.value(),Ve=h.value[A];se(Ve),I(A,ae,h),W()}function Te(A){const ee=A?A-1:0;h.value.splice(ee,1),W()}function je(A){const ee=h.value.findIndex(ae=>ae[N.value]===A);ee!==-1&&(h.value.splice(ee,1),W())}function ze(A){const ee=A>-1?h.value[A]:null;if(!(ee&&ee.deletable!==!1))return!1;h.value=T(ee,h.value),W()}function qe(){const A=u.size>0?Array.from(u.values()):[];return fe(A,Array.from(m.values()))}function ot(A){be.value&&(be.value.size=A,W())}function it(A,ee){const ae=h.value[Number(A)-1];ae.editable!==!1?(ae.name=ee,W()):$e.show({showCloseButton:!1,timeout:3e3,animate:"fadeIn",toasts:[{type:"string",title:"提示",msg:"当前节点禁止编辑"}]})}function at(A){return A.map(ae=>{const Ve=P.value.findIndex(oe=>oe[N.value]===ae);return Ve>-1?P.value[Ve]:null}).filter(ae=>ae!=null)}return{addFilter:Q,addNewDataItem:te,addSorter:q,changePageSizeTo:ot,collapse:ce,dataView:ie,editDataItem:it,expand:xe,filters:y,fold:L,getRange:Be,getSelectionItems:at,hasRealChildren:w,load:pe,navigatePageTo:X,summaries:ne,totalItems:re,insertNewDataItem:de,insertNewChildDataItem:Fe,removeAllFilter:ge,removeDataItem:Te,removeDataItemById:je,removeFilter:me,removeHierarchyDataItem:ze,removeSorter:le,rawView:P,refresh:qe,setSorters:G,sorters:b,updateDataView:W,unFold:ue,startIndex:_e,endIndex:ve,originalData:h}}function Jn(){function t(l){return l.field}function o(l){const s=t(l),f=localStorage.getItem(s);return f?JSON.parse(f):[]}function i(l,s){const f=t(l);localStorage.setItem(f,JSON.stringify(s))}function a(l,s){if(!s)return;const f=o(l),p=[f.find(c=>c.name===s)||{id:Date.now(),name:s,selectable:!0},...f.filter(c=>c.name!==s)];p.length>5&&(p.length=5),i(l,p)}function r(l,s){const d=[...o(l).filter(c=>c.name!==s)],p=t(l);localStorage.setItem(p,JSON.stringify(d))}return{getFilterHistory:o,removeFilterHistory:r,setFilterHistory:i,updateFilterHistory:a}}function Qn(e){n.ref(e.selection.showCheckbox||!1);const t=n.computed(()=>{var l;return((l=e.hierarchy)==null?void 0:l.collapseField)||"__fv_collapse__"}),o=n.computed(()=>{var l;return((l=e.hierarchy)==null?void 0:l.hasChildrenField)||"__fv_hasChildren__"}),i=n.computed(()=>{var l;return((l=e.hierarchy)==null?void 0:l.parentIdField)||"parent"}),a=n.computed(()=>e.hierarchy&&e.selection.showCheckbox),r=n.computed(()=>(e.treeNodeIconsData.fold||e.iconField)&&e.showTreeNodeIcons);return{collapseField:t,hasChildrenField:o,parentIdField:i,shouldShowCheckBox:a,shouldShowIcon:r}}function Jr(e,t,o,i){var y,b,S,C,g,F;const{idField:a}=o,r=n.ref(((b=(y=e.hierarchy)==null?void 0:y.cascadeOption)==null?void 0:b.autoCheckChildren)||!1),l=n.ref(((C=(S=e.hierarchy)==null?void 0:S.cascadeOption)==null?void 0:C.autoCheckParent)||!1),s=n.ref(((F=(g=e.hierarchy)==null?void 0:g.cascadeOption)==null?void 0:F.selectionRange)||"All");n.watch(()=>{var x;return(x=e.hierarchy)==null?void 0:x.cascadeOption},x=>{r.value=x?!!x.autoCheckChildren:!1,l.value=x?!!x.autoCheckParent:!1,s.value=x?x.selectionRange:"All"});function f(x,h){for(let V=0;V<h.length;V++)if(!x.includes(h[V]))return!1;return!0}function d(x,h){return x.filter(v=>h.indexOf(v)===-1)}const p=n.computed(()=>s.value==="OnlyParent"),c=n.computed(()=>s.value==="OnlyChildren");function u(x,h){let V=x;const v=t.value[h],w=v.raw[a.value],k=Array.from(v.raw.__fv_descendant_index__).map(B=>t.value[B]),I=k.map(B=>B.raw[a.value]),O=f(x,I),T=f(x,[w]);return T&&O&&p.value&&(V=d(x,I),k.forEach(B=>{B.disable=!0})),T&&O&&c.value&&(V=d(x,[w]),k.forEach(B=>{B.disable=!0})),V}function _(x,h){let V=x;const v=h[a.value],w=Array.from(h.__fv_children_index__).map($=>t.value[$]),k=w.map($=>$.raw[a.value]),I=f(x,k),O=f(x,[h[a.value]]);return O&&I&&p.value&&(V=d(x,k),w.forEach($=>{$.disable=!0})),O&&I&&c.value&&(V=d(x,[v]),w.forEach($=>{$.disable=!0})),V}function m(x,h){let V=x.map(I=>I[a.value]);return h.__fv_parent_index__>0&&(V=u(V,h.__fv_parent_index__)),h.__fv_children_index__.length>0&&(V=_(V,h)),x.filter(I=>V.includes(I[a.value]))}return{autoCheckChildren:r,autoCheckParent:l,interactAfterCheckHierarchyItem:m}}function Qr(e,t,o,i,a){const{select:r,unSelect:l,indeterminate:s,getSelectedItems:f}=i,{autoCheckChildren:d,autoCheckParent:p,interactAfterCheckHierarchyItem:c}=Jr(e,t,o),{idField:u}=o;function _(){return t.value.filter(h=>!!h.checked).map(h=>h.raw.__fv_index__)}function m(h,V){return h.filter(w=>V.indexOf(w)===-1)}function y(h){const V=_();h.raw.__fv_children_index__.some(w=>V.includes(w))&&!!h.checked!==!0&&s(h)}function b(h){let V=h.raw.__fv_parent_index__;for(;V!==void 0;){const v=_(),w=t.value[V],k=m(w.raw.__fv_children_index__,v);k.length===w.raw.__fv_children_index__.length&&k.length!==0?l(w):k.length===0?p.value&&r(w):k.length<w.raw.__fv_children_index__.length&&w.checked!==!0&&s(w),V=w.raw.__fv_parent_index__}}function S(h){const V=!!h.checked;d.value&&h.raw.__fv_children_index__.map(v=>t.value[v]).forEach(v=>{V?r(v):l(v)})}function C(h){S(h),b(h);const V=h.raw;let v=f();v=c(v,V),y(h),a.emit("selectionChange",v)}function g(h,V){let v=-1;if(h.raw.__fv_parent_index__>-1){const O=t.value[h.raw.__fv_parent_index__].raw.__fv_descendant_index__,T=O.length>1,N=O.findIndex(B=>B===V),$=N===O.length-1;v=T?$?O[N-1]:O[N+1]:-1}return v>-1?t.value[v]:null}function F(h){return h.raw.__fv_parent_index__>-1?t.value[h.raw.__fv_parent_index__]:null}function x(h){const V=t.value[h];if(!V)return null;const v=g(V,h),k=v!==null?v:F(V);return k?k.raw[u.value]:null}return{getNextSelectableHierarchyItemId:x,toggleSelectHierarchyItem:C}}function Zn(e,t,o,i,a,r,l,s){var Be;const{dataView:f}=t,{getVisualData:d,maxVisibleRowIndex:p,minVisibleRowIndex:c}=a,u=n.ref(i.value.primaryColumnsWidth),_=n.ref(i.value.leftColumnsWidth),m=n.ref(i.value.rightColumnsWidth),y=((Be=e.rowOption)==null?void 0:Be.height)||28,b=n.ref(0),S=n.ref(0);let C=0,g=r.value-1;const F=n.ref(0),x=n.ref(0),h=n.ref(0);function V(){if(f.value.length<=0)return 0;const X=p.value<f.value.length?f.value[p.value]:f.value[f.value.length-1];return(X.__fv_data_position__||0)+(X.__fv_data_height__||0)+Math.max(f.value.length-1-p.value,0)*y}const v=n.computed(()=>{const X=V();return f.value.length>r.value+l?Math.floor((r.value+l)/f.value.length*x.value):Math.floor(x.value/Math.max(X,x.value)*x.value)}),w=n.computed(()=>Math.floor(h.value/Math.max(u.value,h.value)*F.value)),k=0,I=0,O=n.computed(()=>F.value-(_.value+u.value+m.value+s.value));function T(X){const te=f.value.find(de=>de.__fv_data_position__>X);return te?te.__fv_index__-1:0}function N(X){var ze,qe;if(!f.value.length){o.value=[];return}const te=(ze=e.pagination)!=null&&ze.enable?0:Math.max(C-l,0),de=f.value[f.value.length-1].__fv_index__,Fe=(qe=e.pagination)!=null&&qe.enable?f.value.length-1:Math.min(g+l-1,de),Te=f.value[te-1],je=d(te,Fe,Te,X);je.length&&(o.value=[...je])}const $=n.computed(()=>V()>x.value),B=n.computed(()=>Math.floor(u.value)>h.value);function j(X){let te=b.value+X;te>k&&(te=k);const de=te>k,Fe=V(),Te=$.value;Te&&te<x.value-Fe&&(te=x.value-Fe),(!Te||de)&&(te=k),b.value!==te&&(b.value=te,C=T(Math.abs(b.value)),g=C+r.value,(C<c.value||g>p.value-l/2)&&N())}function P(X){if(!B.value){S.value=0;return}let te=S.value+X;te>I&&(te=I),te<O.value&&(te=O.value),S.value!==te&&(S.value=te)}function M(){Math.abs(S.value)+h.value>u.value&&(S.value=Math.min(h.value-u.value,0))}function D(){b.value=0,C=0,g=r.value-1,N()}n.watch(h,()=>{P(0)}),n.watch(i,()=>{u.value=i.value.primaryColumnsWidth,_.value=i.value.leftColumnsWidth,m.value=i.value.rightColumnsWidth});function H(X){let{deltaX:te}=X.deltaX,de=-1*X.deltaY;return typeof te>"u"&&(te=-1*X.wheelDeltaX/6),typeof de>"u"&&(de=X.wheelDeltaY/6),X.deltaMode&&X.deltaMode===1&&(te*=10,de*=10),X.shiftKey?{deltaY:-de,deltaX:-te}:{deltaX:te,deltaY:de}}function ne(X){X.preventDefault(),X.stopPropagation();const{deltaX:te,deltaY:de}=H(X);j(de),P(te)}const re=n.computed(()=>({height:`${f.value.length*y}px`,width:`${_.value}px`,transform:`translateY(${b.value}px)`})),be=n.computed(()=>({transform:`translateY(${b.value}px)`})),$e=n.computed(()=>({height:`${f.value.length*y}px`,width:`${u.value}px`,transform:`translate(${S.value}px, ${b.value}px)`})),_e=n.computed(()=>({transform:`translate(${S.value}px, ${b.value}px)`})),ve=n.computed(()=>({height:`${f.value.length*y}px`,width:`${m.value}px`,transform:`translateY(${b.value}px)`})),Se=n.computed(()=>({transform:`translateY(${b.value}px)`})),ke=n.computed(()=>({height:`${f.value.length*y}px`,width:`${s.value}px`,transform:`translateY(${b.value}px)`})),ie=n.computed(()=>({width:`${_.value}px`})),fe=n.computed(()=>({transform:`translateX(${S.value}px)`})),G=n.computed(()=>({width:`${m.value}px`})),q=n.computed(()=>{const X=V();return b.value/(x.value-X)*(x.value-v.value)}),le=n.computed(()=>({height:`${v.value}px`,top:`${q.value}px`})),Q=n.computed(()=>S.value/O.value*(F.value-w.value)),me=n.computed(()=>({width:`${w.value}px`,left:`${Q.value}px`})),ge=n.ref(!1),ce=n.ref(-1),xe=n.ref(-1),L=n.ref();function se(X){if(ge.value&&xe.value!==-1){const te=xe.value-X.pageX,de=F.value-w.value;if(Math.abs(te)<=de){const Fe=te/(h.value-w.value)*(u.value-h.value);P(Fe),xe.value=X.pageX}}}function ue(X){if(ge.value&&ce.value!==-1){const te=ce.value-X.pageY,de=V(),Fe=de-v.value;if(Math.abs(te)<=Fe){const Te=te/(x.value-v.value)*(de-x.value);j(Te),ce.value=X.pageY}}}function W(X){ge.value=!1,ce.value=-1,xe.value=-1,document.removeEventListener("mouseup",W),document.removeEventListener("mousemove",se),document.removeEventListener("mousemove",ue),document.body.style.userSelect="",L.value&&(L.value.style.opacity=null)}function pe(X,te,de){var je;ge.value=!0;const Fe=(je=X.target)==null?void 0:je.parentElement;Fe&&(Fe.style.opacity=1,L.value=Fe);const Te=de==="horizontal"?se:ue;de==="vertical"&&(ce.value=X.pageY),de==="horizontal"&&(xe.value=X.pageX),te.value&&(te.value,document.addEventListener("mousemove",Te),document.addEventListener("mouseup",W),document.body.style.userSelect="none")}return{onMouseDownScrollThumb:pe,onWheel:ne,dataGridWidth:F,gridDataStyle:$e,gridHeaderColumnsStyle:fe,gridMergedDataStyle:_e,gridSideStyle:ke,fitHorizontalScroll:M,viewPortWidth:h,viewPortHeight:x,horizontalScrollThumbStyle:me,leftFixedGridDataStyle:re,leftFixedGridHeaderColumnsStyle:ie,leftFixedGridMergedDataStyle:be,reCalculateVisualDataRows:N,resetScroll:D,rightFixedGridDataStyle:ve,rightFixedGridHeaderColumnsStyle:G,rightFixedGridMergedDataStyle:Se,shouldShowHorizontalScrollbar:B,shouldShowVirticalScrollbar:$,verticalScrollThumbStyle:le,offsetX:S,offsetY:b}}function eo(e,t,o,i,a,r,l,s){const f=n.ref(i.value-1+a),d=n.ref(0),{renderDataRow:p}=r,c=l?l.renderGroupRow:p,u=s?s.renderSummaryRow:p;function _(b){let S=p;return b.__fv_data_grid_group_row__&&(S=c),b.__fv_data_grid_group_summary__&&(S=u),S}function m(b,S,C,g){const{dataView:F}=o,x=[];if(F.value.length>0){const h=g?Date.now().toString():"";for(let V=b,v=0;V<=S;V++,v++){const w=F.value[V],k=F.value[V-1]||C,I=x[v-1],O=k?(k.__fv_data_position__||0)+(k.__fv_data_height__||0):0,N=_(w)(w,k,I,V,O,t.value);N.refreshKey=h,x.push(N)}}return d.value=x.length>0?x[0].index:0,f.value=x.length>0?x[x.length-1].index:0,x}function y(b,S,C){const g=S.groupField||"",{groupValue:F}=S;o[b](g,F);const{dataView:x}=o,h=C[0].index,V=Math.min(h+i.value+a+1,x.value.length-1);return m(h,V)}return{getVisualData:m,maxVisibleRowIndex:f,minVisibleRowIndex:d,toggleGroupRow:y}}function Zr(){function e(t,o){var r,l;const i=o.raw[t.field],a=(r=t.editor)==null?void 0:r.enumData.find(s=>{var f;return s[(f=t.editor)==null?void 0:f.idField]===i});return a==null?void 0:a[((l=t.editor)==null?void 0:l.textField)||"name"]}return{renderEnumColumn:e}}function el(){function e(i,a){return i?n.createVNode("span",{innerHTML:a.formatter.trueText},null):n.createVNode("span",{innerHTML:a.formatter.falseText},null)}function t(i,a){var r,l;return i?(r=a.formatter)==null?void 0:r.trueText:(l=a.formatter)==null?void 0:l.falseText}function o(i,a){const{formatter:r}=i,l=a.raw[i.field];if(r.type===Lt.TEXT)return t(l,i);if(r.type===Lt.IMAGE)return e(l,i)}return{renderBooleanColumn:o}}function tl(){const{formatTo:e}=Xe.useDateFormat();function t(i,a){return e(i,a.formatter.dateFormat)}function o(i,a){const r=a.raw[i.field];return t(r,i)}return{renderDateColumn:o}}function nl(){const{formatTo:e}=Xe.useNumberFormat();function t(i,a){const{formatter:r}=a,l={precision:r.precision,prefix:r.prefix||"",suffix:r.suffix||"",decimalSeparator:r.decimal||".",groupSeparator:r.thousand||""};return e(i,l)}function o(i,a){const r=a.raw[i.field];return t(r,i)}return{renderNumberColumn:o}}function ol(){const{renderBooleanColumn:e}=el(),{renderEnumColumn:t}=Zr(),{renderNumberColumn:o}=nl(),{renderDateColumn:i}=tl();function a(s){return s}function r(s,f){const{formatter:d}=f;return d.customFormat?new Function(`return ${d.customFormat}`)():s}function l(s,f,d){const p=d.data[f.field],{formatter:c}=f;return c.type==="none"?p:c.type==="custom"?r(p,f):c.type==="enum"?t(f,d):c.type==="number"?o(f,d):c.type==="boolean"?e(f,d):c.type==="date"?i(f,d):p}return{renderFormatColumn:l}}function to(e,t,o){var y;const i=n.ref(e.mergeCell),r=((y=n.ref(e.rowOption).value)==null?void 0:y.wrapContent)||!1,{updateVisualInfomation:l}=o,{renderCommandColumn:s}=Da(),{renderFormatColumn:f}=ol();function d(b,S,C,g,F,x=1){const h={colSpan:x,rowSpan:1,index:C,field:b,data:g[b],editingData:g[b],parent:F,mode:S,getEditor:V=>V.data,setRef:V=>l(V,h,g),update:()=>{},accept:()=>{},cancel:()=>{}};return h}function p(b,S,C){return b.getEditor=g=>t.getEditor(g,S,g.parent),b.setRef=g=>r&&l(g,b,C),b.update=g=>{g!==void 0&&(b.editingData=g)},b.accept=()=>{C[S.field]=b.editingData,b.data=C[S.field]},b.cancel=()=>{b.editingData=b.data},b}function c(b,S){S.dataType==="commands"?b.formatter=(C,g)=>s(S,g):S.formatter&&(b.formatter=(C,g)=>typeof S.formatter=="function"?S.formatter(C,g):f(S.dataType,S,g))}function u(b,S,C){const g=S&&S.data[C];if(g&&g.data===b.data){const x=g&&g.spannedBy||g;x.rowSpan++,x.spanned=x.spanned||[],x.spanned.push(b),b.colSpan=0,b.rowSpan=0,b.spannedBy=x}}function _(b,S,C){i.value&&u(b,S,C.field)}function m(b,S,C,g,F){const x=b.readonly?Me.readonly:Me.editable,h=d(b.field,x,S,C,g);return p(h,b,C),c(h,b),_(h,F,b),h}return{createCellByColumn:m,createCellByField:d}}function no(e,t,o,i,a,r){var S,C;const l=n.ref(e.rowOption),s=((S=l.value)==null?void 0:S.height)||28,f=((C=l.value)==null?void 0:C.wrapContent)||!1,{idField:d}=i,{collapseField:p}=o,{updateRowPosition:c}=a,{createCellByColumn:u}=r;function _(g,F,x,h,V,v){var ne,re;const{__fv_data_grid_group_field__:w,__fv_data_grid_group_value__:k,__fv_data_index__:I}=x,O=x.__fv_data_grid_group_layer__||x.__fv_parents__?(ne=x.__fv_parents__)==null?void 0:ne.size:0,T=typeof x.parent=="number"?Number(x.parent):-1,N=x.__fv_data_grid_group_collapse__||x[p.value],$=x.__fv_visible__===void 0?!0:x.__fv_visible__,B=x.__fv_checked__,j=x.__fv_indeterminate__,P=h&&h[d.value]===x.parent,M=h&&h.parent===x.parent,D=P&&V&&(V.collapse||!V.visible)||M&&V&&!V.visible,H={collapse:N,data:{},dataIndex:I,groupField:w,groupValue:k,layer:O,index:F,parentIndex:T,pre:h,top:v,type:g,raw:x,checked:B,disabled:x.disabled,indeterminate:j,setRef:be=>{H.ref=be},visible:$&&!D,status:We.initial};return h||(x.__fv_data_position__=0),f||(H.height=s,x.__fv_data_height__=H.height,c(H,x)),(re=l.value)!=null&&re.customRowStatus&&(l.value.customRowStatus(H),x.__fv_collapse__=H.collapse,x.__fv_visible__=H.visible),H}function m(g,F,x,h,V,v){const w=_(et.data,V,F,x,h,v);return g.forEach((k,I)=>{w.data[k.field]=u(k,V,F,w,h)}),w}function y(g,F,x,h,V){return Object.assign(g,{index:F,dataIndex:x,top:h,pre:V})}function b(g,F,x,h,V,v){const w=g.__fv_data_index__,k=g[d.value],I=t.getEditingSnapshot(k);return I===null?m(v,g,F,x,h,V):y(I,h,w,V,x)}return{createEmptyRow:_,createNewRowFromDataItem:m,renderDataRow:b}}function il(e,t,o,i){const a=n.ref(e.summary),{idField:r}=t,{createCellByField:l}=o,{createEmptyRow:s}=i,f=n.computed(()=>{const u=a.value;return(u==null?void 0:u.groupFields)||[]}),d=n.computed(()=>{const u=a.value;return u&&u.enable&&u.groupFields&&u.groupFields.length>0});function p(u,_,m,y){if(d.value){const b=u.data[_];let S=b.colSpan;const C=f.value.reduce((g,F)=>(g.set(F,!0),g),new Map);y.reduce((g,F,x)=>{if(C.has(F.field)){const h=l(F.field,Me.readonly,x,m,u);u.data[F.field]=h,S-1>x&&(S=x)}return g},u),b.colSpan=S}}function c(u,_,m,y,b,S){const C=u.__fv_data_grid_group_field__,g=s(et.group,y,u,_,m,b);return g.data[r.value]=l(r.value,Me.readonly,-1,u,g,0),g.data[C]=l(C,Me.readonly,1,u,g,S.length),p(g,C,u,S),g}return{renderGroupRow:c}}function al(e,t,o,i){const{idField:a}=t,{createCellByField:r}=o,{createEmptyRow:l}=i;function s(f,d,p,c,u,_){const m=f.__fv_data_grid_group_field__,y=l(et.summary,c,f,d,p,u);return y.data[a.value]=r(a.value,Me.readonly,-1,f,y),y.data[m]=r(m,Me.readonly,1,f,y,_.length),y}return{renderSummaryRow:s}}function oo(e,t,o){var V;const{idField:i}=o,a=n.ref(e.editable),r=n.ref(e.editOption),l=n.ref(((V=e.rowOption)==null?void 0:V.wrapContent)||!1);n.watch(()=>e.editable,()=>{a.value=e.editable}),n.watch(()=>{var v;return(v=e.editOption)==null?void 0:v.editMode},v=>{r.value.editMode=v});const s=new Map([["boolean","check-box"],["datetime","date-picker"],["enum","combo-list"],["number","number-spinner"],["string","input-group"],["text","text"],["commands","commands-editor"]]);let f,d,p,c;function u(v){return d&&d.raw[i.value]===v?d:null}function _(v,w,k){v.mode=Me.editing,f=v,d=w,p=w.raw[v.field],c=k}function m(v){v.accept(),v.mode=Me.editable,t.emit("endEditCell",{cell:v,row:d,newValue:d==null?void 0:d.raw[v.field],oldValue:p,column:c})}function y(v){f&&(m(f),d&&(d=null)),document.body.removeEventListener("click",y)}function b(v,w,k,I){a.value&&r.value.editMode==="cell"&&w.mode===Me.editable&&(f&&m(f),_(w,k,I),document.body.removeEventListener("click",y),document.body.addEventListener("click",y))}function S(v){Object.values(v.data).filter(w=>w.mode===Me.editable&&w.field!=="__commands__").forEach(w=>{w.mode=Me.editing}),v.status=We.editing,d=v}function C(v,w){Object.values(v.data).filter(k=>k.mode===Me.editing).forEach(k=>{w?k.accept():k.cancel(),k.mode=Me.editable}),v.status=We.initial,d===v&&(d=null)}function g(v){a.value&&r.value.editMode==="row"&&d!==v&&(d&&C(d,!1),S(v))}function F(v){C(v,!0),v.status=We.initial}function x(v){C(v,!1),v.status=We.initial}function h(v,w,k){const I=w.dataType,O=w.editor||{type:s.get(I)||"input-group"};return!l.value&&O.type==="text"&&(O.type="input-group"),O?n.createVNode(It.FDynamicFormInput,{focusOnCreated:e.focusOnEditingCell,selectOnCreated:e.selectOnEditingCell,editor:O,modelValue:v.editingData,"onUpdate:modelValue":T=>v.editingData=T},null):v.data}return{onClickCell:b,onEditingRow:g,acceptEditingRow:F,cancelEditingRow:x,getEditingSnapshot:u,getEditor:h}}function io(e){const t=n.ref(e.idField);function o(i){if(i&&i.length){const a=i[0];Object.keys(a).includes(t.value)||(t.value="__fv_indetify__")}}return{idField:t,reviseIdentifyField:o}}function rl(e,t,o,i,a,r){const{addNewDataItemAtLast:l}=o,{columnContext:s}=i,{onClickCell:f}=a;function d(m,y){const b=s.value.primaryColumns.findIndex(V=>V.field===m.field),S=m.parent,C=S.index,g=s.value.primaryColumns.length-1,F=r.value.length-1,x=b===g,h=C===F;if(b>-1&&!x){const V=s.value.primaryColumns[b+1],v=S.data[V.field];f(y,v)}if(x&&!h){const v=r.value[C+1].data[s.value.primaryColumns[0].field];f(y,v)}if(x&&h){if(e.appendOnEnterAtLastCell){l();const v=r.value[C+1].data[s.value.primaryColumns[0].field];f(y,v)}t.emit("enterUpInLastCell")}}function p(m,y){const b=s.value.primaryColumns.findIndex(F=>F.field===m.field),S=m.parent,C=s.value.primaryColumns.length-1;if(b>0&&b<=C){const F=s.value.primaryColumns[b-1],x=S.data[F.field];f(y,x)}}function c(m,y){const b=m.field,C=m.parent.index,g=r.value.length-1;if(C>-1&&C<g){const h=r.value[C+1].data[b];f(y,h)}}function u(m,y){const b=m.field,C=m.parent.index,g=r.value.length-1;if(C>0&&C<=g){const h=r.value[C-1].data[b];f(y,h)}}function _(m,y){const{key:b,shiftKey:S}=m;if(b==="Enter"&&!S){d(y,m);return}if(S&&b==="Enter"){p(y,m);return}if(b==="ArrowDown"){c(y,m);return}b==="ArrowUp"&&u(y,m)}return{navigateOnKeyUp:_}}function ao(e,t,o,i){const{idField:a}=i,{currentSelectedDataId:r,multiSelectOnClickRow:l,multiSelectOnClickRowWithShift:s,selectItem:f,selectedValues:d,toggleSelectItem:p,enableSelectRow:c}=o,u=n.ref(0),_=n.ref(-1);function m(h){return c.value&&(s.value?d.value.includes(h.raw[a.value]):h.raw[a.value]===r.value)}function y(h){var v;const V={"fv-grid-row":h.type===et.data,"fv-grid-group-row":h.type===et.group,"fv-grid-summary-row":h.type===et.summary,"fv-grid-row-hover":h.index===_.value,"fv-grid-row-selected":m(h),"fv-grid-row-odd":h.dataIndex%2>0,"fv-grid-row-even":h.dataIndex%2===0,"fv-grid-disabled":h.disabled};if((v=e.rowOption)!=null&&v.customRowStyle){const w=e.rowOption.customRowStyle(h.raw)||{};return Object.assign({},V,w)}return V}function b(h){var v;const V={"fv-grid-cell":!0};if((v=e.rowOption)!=null&&v.customCellStyle){const w=e.rowOption.customCellStyle(h)||{};return Object.assign({},V,w)}return V}function S(h){u.value+=1,setTimeout(()=>{u.value===1&&t.emit("ClickRow",h.index,h.raw),u.value=0},250),u.value>1&&(t.emit("doubleClickRow",h.index,h.raw),console.log(`on double click row: ${h.index}`),u.value=0)}function C(h,V){if(V.disabled)return;s.value&&h.shiftKey||l.value?p(V):f(V),S(V),h.stopPropagation()}function g(h,V){}function F(h,V){}function x(h){var v;const V={"fv-grid-sidebar-row":!0,"fv-grid-sidebar-row-hover":h.index===_.value,"fv-grid-sidebar-row-selected":m(h),"fv-grid-sidebar-row-odd":h.dataIndex%2>0,"fv-grid-sidebar-row-even":h.dataIndex%2===0};if((v=e.rowOption)!=null&&v.customRowStyle){const w=e.rowOption.customRowStyle(h.raw)||{};return Object.assign({},V,w)}return V}return{gridCellClass:b,gridRowClass:y,onClickRow:C,onMouseoverRow:g,sidebarRowClass:x,onMouseoutRow:F}}function ro(e,t,o,i,a){const{idField:r}=o,l=n.ref(""),s=n.computed(()=>e.selection.enableSelectRow),f=n.ref(e.selection.multiSelect??!1),d=n.ref(e.selection.multiSelectMode),p=n.ref(e.selection.showCheckbox),c=n.ref(e.selection.showSelectAll),u=n.ref(e.selectionValues);n.watch(()=>e.selection.showSelectAll,(M,D)=>{M!==D&&(c.value=M)});function _(){return t.getSelectionItems(u.value)}function m(){const M=i.value.reduce((H,ne)=>(H.set(ne.raw[r.value],ne),H),new Map);return u.value.map(H=>M.get(H)).filter(H=>!!H)}const y=n.computed(()=>s.value&&f.value),b=n.computed(()=>!!e.hierarchy),S=n.computed(()=>{const M=p.value&&d.value==="DependOnCheck";return y.value&&M}),C=n.computed(()=>y.value&&!p.value),g=n.computed(()=>y.value&&p.value&&d.value==="OnCheckAndClick");n.computed(()=>g.value);function F(){const M=t.getSelectionItems(u.value);a.emit("selectionChange",M)}function x(){i.value.forEach(D=>{D.checked=!1,D.indeterminate=!1,D.raw.__fv_checked__=!1,D.raw.__fv_indeterminate__=!1}),m().forEach(D=>{D.checked=!0,D.raw.__fv_checked__=!0})}n.watch(()=>i.value,()=>{x()}),n.watch(()=>e.selectionValues,M=>{u.value=M,x()},{immediate:!0}),n.watch(()=>e.selection,M=>{f.value=!!M.multiSelect,d.value=M.multiSelectMode||"DependOnCheck",p.value=!!M.showCheckbox});const h=n.computed(()=>!f.value);function V(M){return M.raw[r.value]||""}function v(M){return u.value.findIndex(H=>H===V(M))}function w(){m().forEach(H=>{H.checked=!1}),t.getSelectionItems(u.value).forEach(H=>{H.__fv_checked__=!1}),u.value=[],l.value=""}function k(M){const D=M.raw;D.__fv_checked__=!0,D.__fv_indeterminate__=!1;const H=new Set(u.value);H.add(D[r.value]),u.value=Array.from(H.values()),M.checked=!0,M.indeterminate=!1,l.value=M.raw[r.value]}function I(M){const D=M.raw;D.__fv_checked__=!1,D.__fv_indeterminate__=!1,u.value=u.value.filter(H=>H!==D[r.value]),M.checked=!1,M.indeterminate=!1,l.value=""}function O(M){const D=M.raw;D.__fv_checked__=!1,D.__fv_indeterminate__=!0,u.value=u.value.filter(H=>H!==D[r.value]),M.checked=!1,M.indeterminate=!0}function T(M){h.value&&w(),M.checked?I(M):k(M),F()}function N(M){M.raw[r.value]!==l.value&&(w(),k(M),F())}function $(M){const D=i.value.find(H=>H.raw[r.value]===M);D&&N(D)}function B(){i.value.forEach(M=>k(M)),l.value="",F()}function j(){u.value.splice(0,u.value.length),l.value="",i.value.forEach(M=>{const D=M.raw;D.__fv_checked__=!1,D.__fv_indeterminate__=!1,M.checked=!1,M.indeterminate=!1}),F()}function P(){return i.value.find(M=>M.raw[r.value]===l.value)}return{clearSelection:w,currentSelectedDataId:l,enableMultiSelect:f,enableSelectRow:s,findIndexInSelectedItems:v,getSelectedItems:_,getSelectionRow:P,indeterminate:O,isSelectingHirarchyItem:b,multiSelectMode:d,multiSelectOnClickRow:g,multiSelectOnClickRowWithShift:C,multiSelectOnlyOnCheck:S,select:k,selectAll:B,selectedValues:u,selectItem:N,selectItemById:$,showCheckBox:p,showSelectAll:c,toggleSelectItem:T,unSelect:I,unSelectAll:j}}function lo(e,t){var b,S;const o=String(Date.now()),i=50,{showCheckBox:a,showSelectAll:r}=t,l=n.ref(((b=e.rowNumber)==null?void 0:b.enable)??!1),s=n.computed(()=>e.hierarchy&&a.value&&e.selection.enableSelectRow&&e.selection.multiSelect?!1:a.value),f=n.ref(l.value?((S=e.rowNumber)==null?void 0:S.width)??32:0),d=n.ref(s.value?i:0),p=n.computed(()=>{var C;return l.value?((C=e.rowNumber)==null?void 0:C.heading)??"序号":""}),c=n.computed(()=>(s.value&&!e.hierarchy?Number(d.value):0)+(l.value?Number(f.value):0));n.watch(()=>e.rowNumber,C=>{C&&C.enable!==void 0&&(l.value=C.enable),C&&C.width!==void 0&&(f.value=C.width)});function u(C){return{top:`${C.top}px`,width:`${c.value}px`,height:`${C.height||""}px`}}const _=n.computed(()=>({width:`${c.value}px`}));function m(C){return`${o}_${C.type}_r_${C.index}_${C.refreshKey||""}`}function y(C){return`${o}_${C.type}_r_${C.index}_${C.refreshKey||""}`}return{showRowNumer:l,showSidebarCheckBox:s,sidebarCellPosition:u,sidebarCornerCellStyle:_,sidebarTitle:p,sidebarWidth:c,rowKey:y,cellKey:m}}const ll={ascend:(e,t)=>e===t?0:e===!1?-1:1,decend:(e,t)=>e===t?0:e===!0?-1:1},sl={ascend:(e,t)=>{const o=new Date(new Date(e).toLocaleDateString()).valueOf(),i=new Date(new Date(t).toLocaleDateString()).valueOf();return o===i?0:o<i?-1:1},decend:(e,t)=>{const o=new Date(new Date(e).toLocaleDateString()).valueOf(),i=new Date(new Date(t).toLocaleDateString()).valueOf();return o===i?0:o<i?1:-1}},cl={ascend:(e,t)=>e===t?0:e<t?-1:1,decend:(e,t)=>e===t?0:e<t?1:-1},dl={ascend:(e,t)=>e===t?0:e<t?-1:1,decend:(e,t)=>e===t?0:e<t?1:-1};function so(e){const t=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"]]),o=new Map([["boolean-sorter",ll],["datetime-sorter",sl],["numeric-sorter",cl],["text-sorter",dl]]);function i(l){const s=(l==null?void 0:l.dataType)||"string",f=t.get(s)||"text-sorter";return o.get(f)||(l==null?void 0:l.sorter)}function a(l){return i(l.column)}function r(l,s){const f=a(l),d=(l.status&Pe.sortable)===Pe.sortable&&(l.status&Pe.sorted)===Pe.sorted,p=(l.status&Pe.ascending)===Pe.ascending,c=(l.status&Pe.descending)===Pe.descending;if(d&&f){const u=p?f.ascend:c?f.decend:void 0;u?s.addSorter(l.field,{field:l.field,compare:u}):s.removeSorter(l.field)}else s.removeSorter(l.field)}return{getSorterByColumn:i,updateSorter:r}}function ul(e){function t(i){return{}}function o(i,a){const r=e.value.primaryColumnsMap.get(i.field)||e.value.leftColumnsMap.get(i.field)||e.value.rightColumnsMap.get(i.field)||{valign:"middle",align:"center"},{valign:l,align:s}=r;return{"d-flex":!0,"h-100":!0,"w-100":a==null?void 0:a.showEllipsis,"justify-content-start":s!=="center"&&s!=="right","justify-content-center":s==="center","justify-content-right":s==="right","align-items-start":l!=="middle"&&l!=="bottom","align-items-center":l==="middle","align-items-end":l==="bottom"}}return{cellContentPosition:t,cellContentClass:o}}function tt(e){return typeof e>"u"}function co(e){var c,u,_,m,y,b,S,C;const t=n.ref((c=e.pagination)==null?void 0:c.enable),o=n.ref(((u=e.pagination)==null?void 0:u.index)||1),i=n.ref((_=e.pagination)==null?void 0:_.size),a=n.ref((m=e.pagination)==null?void 0:m.sizeLimits),r=n.ref((y=e.pagination)==null?void 0:y.mode),l=n.ref((b=e.pagination)==null?void 0:b.showIndex),s=n.ref((S=e.pagination)==null?void 0:S.showLimits),f=n.ref(((C=e.pagination)==null?void 0:C.total)||0),d=n.computed(()=>r.value==="server"?f.value||0:f.value||e.data.length||0);return n.watch(()=>{var g;return(g=e.pagination)==null?void 0:g.sizeLimits},(g,F)=>{a.value=g},{immediate:!0,deep:!0}),n.watch(()=>{var g;return(g=e.pagination)==null?void 0:g.showIndex},(g,F)=>{g!==F&&(l.value=g)}),n.watch(()=>{var g;return(g=e.pagination)==null?void 0:g.showLimits},(g,F)=>{g!==F&&(s.value=g)}),n.watch(()=>{var g;return(g=e.pagination)==null?void 0:g.total},(g,F)=>{g!==F&&(f.value=g)}),n.watch(()=>{var g;return(g=e.pagination)==null?void 0:g.enable},(g,F)=>{g!==F&&(t.value=g)}),{currentPage:o,pageSize:i,pageList:a,total:d,shouldRenderPagination:t,showPageIndex:l,showPageList:s,mode:r,updatePagination:g=>{if(!g)return;const{enable:F,total:x,size:h,index:V,sizeLimits:v,showIndex:w,showLimits:k}=g;tt(F)||(t.value=F),tt(V)||(o.value=V),tt(h)||(i.value=h),tt(v)||(a.value=v),tt(w)||(l.value=w),tt(k)||(s.value=k),tt(x)||(f.value=x)}}}function fl(e){const t="parent",o="layer",i="hasChildren",a=(r,l=1,s=[],f=null)=>(r=r||[],r.reduce((d,p)=>(p.id=p.id||p.data[e.idField],p.data[t]=f,p.data[o]=l,p.data[i]=!1,d.push(p.data),p.children&&p.children.length&&(p.data[i]=!0,a(p.children,l+1,s,p.id)),d),s),s);return{flatTreeData:a}}function uo(e,t,o,i,a,r,l,s,f,d,p,c,u,_,m,y){const{calculateCellPositionInRow:b}=r,{columnContext:S,hasLeftFixedColumn:C,hasRightFixedColumn:g}=l,{gridDataStyle:F,leftFixedGridDataStyle:x,rightFixedGridDataStyle:h}=_,{renderDataRow:V}=Ma(e,t,S,y,s,f,d,p,c,u),v=[V];function w(N,$){const B=b(N);return y.value.filter(j=>j.visible!==!1).map(j=>v[j.type](j,B,$))}function k(){return n.createVNode("div",{ref:i,class:"fv-grid-content-left-fixed"},[n.createVNode("div",{class:"fv-grid-data",style:x.value},[w(S.value.leftColumns.filter(N=>N.visible),"left")])])}function I(){return n.createVNode("div",{ref:o,class:"fv-grid-content-primary"},[n.createVNode("div",{class:"fv-grid-data",style:F.value},[w(S.value.primaryColumns.filter(N=>N.visible),"primary")])])}function O(){return n.createVNode("div",{ref:a,class:"fv-grid-content-right-fixed"},[n.createVNode("div",{class:"fv-grid-data",style:h.value},[w(S.value.rightColumns.filter(N=>N.visible),"right")])])}function T(){const N=[];return C.value&&N.push(k()),N.push(I()),g.value&&N.push(O()),N}return{renderDataArea:T}}const lt=n.defineComponent({name:"FTreeGrid",props:Et,emits:["selectionChange"],setup(e,t){var Ve;const a=n.ref(),r=n.ref(),l=n.ref(),s=n.ref(),f=n.ref(),d=n.ref([]),p=n.ref(!1),c=n.ref(((Ve=e.rowOption)==null?void 0:Ve.wrapContent)||!1),{showLoading:u,renderLoading:_}=R.useLoading(e,a),m=R.useIdentify(e),y=R.useGroupData(e,m),b=R.useFilter(),S=R.useHierarchy(e),C=R.usePagination(e),g=R.useDataView(e,new Map,S,m,C),F=R.useSelection(e,g,m,d,t),x=R.useSelectHierarchyItem(e,d,m,F,t),h=n.computed(()=>e.disable),V=n.computed(()=>Math.min(g.dataView.value.length,100)),{containerStyleObject:v}=R.useDataViewContainerStyle(e),w=R.useCommandColumn(e),k=n.ref(e.columns),{applyCommands:I}=w;I(k);const O=R.useColumn(e),T=R.useSort(e),{applyColumnSorter:N,columnContext:$,updateColumnRenderContext:B}=O;N(g,T);const j=R.useGroupColumn(e,$),P=R.useEdit(e,t,m),M=R.useVisualDataBound(),D=R.useVisualDataCell(e,P,M),H=R.useVisualDataRow(e,P,S,m,M,D),ne=R.useVisualData(e,k,g,V,0,H),{getVisualData:re}=ne,be=R.useCellPosition(e,$),$e=R.useSidebar(e,F),{sidebarWidth:_e}=$e;d.value=re(0,V.value+0-1);const ve=R.useVirtualScroll(e,g,d,$,ne,V,0,_e),{onWheel:Se,dataGridWidth:ke,viewPortHeight:ie,viewPortWidth:fe}=ve,G=R.useFitColumn(e,$,r,fe,j),{calculateColumnsSize:q}=G,le=R.useFilterHistory(),Q=R.useColumnFilter(r,f,g,le,ve),me=R.useRow(e,t,F,m),ge=R.useDragColumn(e,t,O,g,j,y,ve),ce=n.computed(()=>({"fv-grid":!0,"fv-grid-bordered":e.showBorder,"fv-datagrid-strip":e.showStripe})),xe=n.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":p.value,"fv-grid-wrap-content":c.value})),{renderDataArea:L}=uo(e,t,l,s,f,be,O,g,P,S,me,F,x,ve,ne,d),{renderGridHeader:se,renderGridColumnResizeOverlay:ue}=R.getColumnHeader(e,r,s,f,O,g,ge,Q,b,le,G,j,F,$e,T,ve,fe,d),{renderDataGridSidebar:W}=R.getSidebar(e,me,F,$e,ve),{renderDisableMask:pe}=R.getDisableMask(),{renderHorizontalScrollbar:Be}=R.getHorizontalScrollbar(e,r,ve),{renderVerticalScrollbar:X}=R.getVerticalScrollbar(e,r,ve);function te(){var oe,Ne;ie.value=((oe=l.value)==null?void 0:oe.clientHeight)||0,ke.value=((Ne=r.value)==null?void 0:Ne.clientWidth)||0,q()}n.onMounted(()=>{r.value&&(St.useResizeObserver(r.value,te),q(),n.nextTick(()=>{r.value&&(ke.value=r.value.clientWidth),l.value&&(fe.value=l.value.clientWidth,ie.value=l.value.clientHeight)})),u.value&&_()}),n.onUnmounted(()=>{}),n.watch(fe,()=>{r.value&&q()});function de(){const oe=F.getSelectionRow();return oe?oe.dataIndex-1:-1}function Fe(){const oe=de();g.insertNewDataItem(oe),d.value=re(0,V.value+0-1)}function Te(){const oe=de();g.insertNewChildDataItem(oe),d.value=re(0,V.value+0-1)}function je(){const oe=de(),Ne=x.getNextSelectableHierarchyItemId(oe);g.removeHierarchyDataItem(oe),d.value=re(0,V.value+0-1),Ne&&F.selectItemById(Ne)}function ze(oe){P.onEditingRow(oe)}function qe(oe){P.acceptEditingRow(oe)}function ot(oe){P.cancelEditingRow(oe)}function it(oe){oe&&(k.value=oe,I(k),B(k.value),N(g,T),q())}function at(oe){oe&&(g.load(oe),d.value=re(0,V.value+0-1))}function Je(oe){F.selectItemById(oe)}function A(){return F.getSelectedItems()}const ee=n.computed(()=>!d.value||!d.value.length),{renderEmpty:ae}=R.getEmpty(t);return t.expose({addNewDataItem:Fe,addNewChildDataItem:Te,removeDataItem:je,editDataItem:ze,acceptDataItem:qe,cancelDataItem:ot,updateColumns:it,updateDataSource:at,selectItemById:Je,getSelectedItems:A}),()=>n.createVNode("div",{ref:a,class:ce.value,style:v.value,onWheel:Se},[se(),ee.value&&ae(),n.createVNode("div",{ref:r,class:xe.value,onMouseover:()=>{},onMouseleave:()=>{}},[W(d),L(),Be(),X()]),ue(),h.value&&pe()])}}),pl={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/check-box.schema.json",title:"check-box",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a check box",type:"string"},type:{description:"The type string of check box component",type:"string",default:"check-box"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},text:{description:"",type:"string",default:""},value:{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"],ignore:["id","appearance","binding"]},ml=new Map([["appearance",Ge]]);function gl(e,t,o){return t}const fo={id:{Type:String,default:""},customClass:{Type:String,default:""},disabled:{Type:Boolean,default:!1},indeterminate:{Type:Boolean,default:!1},modelValue:{Type:Boolean,default:!1},focusOnCreated:{type:Boolean,default:!1},value:{type:String,default:""},name:{type:String,default:""},label:{type:String,default:""},checked:{type:Boolean,default:!1}};Ie(fo,pl,ml,gl);const hl=n.defineComponent({name:"FCheckBox",props:fo,emits:["change","changeValue","update:modelValue","update:checked"],setup(e,t){const o=n.inject(Xe.CHECKBOX_CONTEXT,null),{buttonClass:i,disabled:a,name:r,shouldRenderButton:l,shouldRenderNative:s,shouldRenderTag:f,tagClass:d,checked:p,onClickCheckBox:c}=Xe.useCheck(e,t,o==null?void 0:o.parentProps,o==null?void 0:o.parentContext);n.ref();const u=n.ref(e.id),_=n.ref(e.customClass),m=n.ref(e.modelValue),y=n.ref(e.indeterminate);return n.computed(()=>{const b={"custom-control":!0,"custom-checkbox":!0};return _.value&&_.value.split(" ").reduce((S,C)=>(S[C]=!0,S),b),b}),n.watch(()=>e.modelValue,b=>{m.value=b}),n.watch(()=>e.indeterminate,b=>{y.value=b}),n.onMounted(()=>{}),()=>{var b,S,C,g,F,x;return n.createVNode(n.Fragment,null,[l.value&&n.createVNode("div",{class:i.value,style:"border-radius:0;border: 1px solid #E8EBF2;",onClick:c},[(S=(b=t.slots).default)==null?void 0:S.call(b)]),f.value&&n.createVNode("div",{class:d.value,onClick:c},[n.createVNode("div",{class:"title"},[(g=(C=t.slots).default)==null?void 0:g.call(C)]),n.createVNode("div",{class:"tip"},null),n.createVNode("span",{class:"f-icon f-icon-check f-radio-icon"},null)]),s.value&&n.createVNode("div",{class:"custom-control custom-checkbox",onClick:c},[n.createVNode("input",{type:"checkbox",class:"custom-control-input",name:r.value,id:u,value:e.value,checked:p.value,disabled:a.value},null),n.createVNode("div",{class:"custom-control-label"},[(x=(F=t.slots).default)==null?void 0:x.call(F)])])])}}}),yl={id:{type:String,default:""},componentId:{type:String,default:""},type:{type:String,default:""},canDelete:{type:Boolean,default:!0},canMove:{type:Boolean,default:!0},canSelectParent:{type:Boolean,default:!0},customButtons:{type:Array,default:[]},customClass:{type:String,default:""},customStyle:{type:String,default:""},modelValue:{type:Object},ignore:{type:Boolean,default:!1}},vl={id:{type:String}},bl=n.defineComponent({name:"FDesignerPlaceholder",props:vl,emits:[],setup(e){const t=n.computed(()=>({"drag-and-drop-alert":!0,"no-drag":!0,"w-100":!0})),o=n.computed(()=>({height:"60px",display:"flex","justify-content":"center","align-items":"center",margin:0,padding:".75rem 1.25rem",border:"1px solid transparent","border-radius":"3px",color:"#315585","background-color":"#dfedff","border-color":"#d2e6ff"}));return()=>n.createVNode("div",{class:t.value,style:o.value,role:"alert","data-noattach":"true","data-position":"0"},[n.createTextVNode("拖拽组件到这里")])}});function Cl(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!n.isVNode(e)}const Kt=n.defineComponent({name:"FDesignerItem",props:yl,emits:["selectionChange"],setup(e,t){const o=n.ref(`${e.modelValue.id}-component`),i=n.ref(e.canMove),a=n.ref(e.canDelete),r=n.ref(!1),l=n.ref(e.modelValue),s=n.ref(e.componentId||""),f=n.ref(""),d=n.ref(""),p=n.ref(e.customClass),c=n.ref(),u=n.inject("canvas-dragula"),_=n.ref(),m=n.inject("design-item-context"),y={designerItemElementRef:c,componentInstance:_,schema:l.value,parent:m,setupContext:t};n.provide("design-item-context",y);const b=n.inject("useFormSchema"),S=n.computed(()=>{const N=e.modelValue.appearance&&e.modelValue.appearance.class||"";let $={"farris-component":!0,"flex-fill":l.value.id=="root-component","position-relative":i.value&&a.value,"farris-nested":r.value,"can-move":i.value,"d-none":c.value&&c.value.classList.contains("d-none"),dgComponentSelected:c.value&&c.value.classList.contains("dgComponentSelected"),dgComponentFocused:c.value&&c.value.classList.contains("dgComponentFocused")};return $[`farris-component-${l.value.type}`]=!0,$=Xe.getCustomClass($,N),$=Xe.getCustomClass($,d.value),$=Xe.getCustomClass($,p.value),$}),C=n.computed(()=>{const N={},$=e.modelValue.appearance&&e.modelValue.appearance.style||"";return $&&$.split(";").reduce((B,j)=>{const[P,M]=j.split(":");return B[P]=M,B},N),f.value&&f.value.split(";").reduce((B,j)=>{const[P,M]=j.split(":");return P&&(B[P]=M),B},N),N});function g(N,$){var P,M,D;if(N&&(N.preventDefault(),N.stopPropagation()),_.value.triggerBelongedComponentToDeleteWhenDeleted){const H=_.value.getBelongedComponentInstance(_);if(H&&H.parent){const ne=n.ref(H==null?void 0:H.parent),re=ne.value.contents.findIndex(be=>be.id===H.schema.id);(M=(P=ne.value)==null?void 0:P.contents)==null||M.splice(re,1),(D=ne.value)==null||D.updateDragAndDropRules(),Ft.value++}return}let B=m,j=H=>H.id===$.id;if($.type==="component"&&(B=m==null?void 0:m.parent,j=H=>H.component===$.id),B&&B.schema.contents){const H=B.schema.contents.findIndex(j);B.schema.contents.splice(H,1),B.componentInstance.value.updateDragAndDropRules(),Ft.value++,t.emit("selectionChange")}}function F(N){return a.value&&n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:$=>{g($,N)}},[n.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function x(){return i.value&&n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"移动",ref:"moveComponent"},[n.createVNode("i",{"data-dragging-icon":"true",class:"cmp_move f-icon f-icon-yxs_move"},null)])}function h(){return e.customButtons&&!!e.customButtons.length&&e.customButtons.map(N=>n.createVNode("div",{role:"button",class:`btn component-settings-button ${N.class||""}`,title:N.title,ref:N.id},[n.createVNode("i",{class:N.icon},null)]))}function V(N){return n.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[n.createVNode("div",null,[F(N),x(),h()])])}function v(N,$,B,j){t.emit("selectionChange",N,$,B,j)}function w(N){let $;const B=N.type,j=jr[B],P=Pr[B],M=P?P(N):{};M.customClass=e.ignore?M.customClass:"",M.componentId=s.value;const D=N.contents&&N.contents.length===0;return N.contents&&!!N.contents.length&&j?n.createVNode(j,n.mergeProps({ref:_},M),Cl($=N.contents.map(ne=>n.createVNode(Kt,{key:ne.id,modelValue:ne,"onUpdate:modelValue":re=>ne=re,componentId:s.value,onSelectionChange:v},null)))?$:{default:()=>[$]}):j?D?n.createVNode(j,n.mergeProps({ref:_},M),{default:()=>[n.createVNode(bl,null,null)]}):n.createVNode(j,n.mergeProps({ref:_},M),null):n.createVNode("div",null,null)}function k(N){if(N.type==="component-ref"){let B=b==null?void 0:b.getFormSchema().module.components.find(j=>j.id===N.component);if(B)return n.createVNode(Kt,{key:B.id,modelValue:B,"onUpdate:modelValue":j=>B=j,componentId:B.id,onSelectionChange:v},null)}}n.watch(()=>e.modelValue,N=>{l.value=N,o.value=`${N.id}-component`});function I(N){const $=N.target;fa($)}function O(){var N,$;($=(N=l.value)==null?void 0:N.contents)!=null&&$.length&&c.value&&c.value.addEventListener("scroll",I)}n.onMounted(()=>{if(c.value&&_.value&&_.value.schema){const N=c.value.querySelector(`[data-dragref='${_.value.schema.id}-container']`);u&&N&&u.attachComponents(N,l.value),r.value=_.value.canNested!==void 0?_.value.canNested:r.value,a.value=_.value.canDelete!==void 0?_.value.canDelete:a.value,i.value=_.value.canMove!==void 0?_.value.canMove:i.value,f.value=_.value.styles||"",d.value=_.value.designerClass||"",c.value&&(c.value.componentInstance=_,c.value.designItemContext=y)}O(),Ft.value++}),n.onBeforeUnmount(()=>{c.value&&c.value.removeEventListener("scroll",I)});function T(N){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(B=>B.classList.remove("dgComponentFocused")),N&&(N.preventDefault(),N.stopPropagation());const $=c.value;if($){const B=document.getElementsByClassName("dgComponentSelected");if(!(B&&B.length===1&&B[0]===c.value)&&(Array.from(B).forEach(P=>P.classList.remove("dgComponentSelected")),$.classList.add("dgComponentFocused"),t.emit("selectionChange",l.value.type,l.value,s.value,_.value),_.value.getDraggableDesignItemElement)){const P=_.value.getDraggableDesignItemElement(y);P&&P.value&&P.value.classList.add("dgComponentSelected")}}I(N)}return()=>l.value.type==="component-ref"?k(l.value):n.createVNode("div",{id:`${l.value.id}-design-item`,ref:c,class:S.value,style:C.value,onClick:T},[V(l.value),w(l.value)])}});function po(e,t,o,i,a,r,l,s,f,d,p,c,u,_,m,y,b,S,C,g="data-grid-column"){const{showSelectAll:F,selectAll:x,unSelectAll:h,selectedValues:V}=_,{showRowNumer:v,showSidebarCheckBox:w,sidebarTitle:k,sidebarCornerCellStyle:I}=m,{columnContext:O,hasLeftFixedColumn:T,hasRightFixedColumn:N}=r,{gridHeaderColumnsStyle:$,leftFixedGridHeaderColumnsStyle:B,rightFixedGridHeaderColumnsStyle:j}=b,P=n.computed(()=>F.value||w.value||v.value),M=O.value.defaultColumnWidth,D=32,H=new Map([[0,0]]);function ne(Q,me){const ge=H.get(me)||0,ce={height:`${Q.depth*D}px`,left:`${Q.left}px`,top:`${(Q.layer-1)*D}px`,width:`${Q.actualWidth}px`,padding:0};return O.value.headerDepth>1&&(ce["line-height"]=`${Q.depth*D}px`),H.set(me+1,ge+(Q.actualWidth||M)),ce}const re=n.computed(()=>({"fv-grid-header":!0,"fv-grid-header-group-columns":O.value.headerDepth>1})),be=n.computed(()=>({height:`${O.value.headerDepth*D}px`}));function $e(Q,me,ge,ce){var xe;(xe=e==null?void 0:e.setupContext)==null||xe.emit("selectionChange",Q,me,ge,ce)}function _e(Q,me,ge){let ce=Q.column;return n.createVNode("div",{class:"fv-grid-header-cell",style:ne(Q,ge)},[n.createVNode(Kt,{modelValue:ce,"onUpdate:modelValue":xe=>ce=xe,customClass:"w-100 d-flex align-items-center justify-content-center",canAdd:!1,canDelete:!1,canMove:!1,key:ce==null?void 0:ce.id,type:g,componentId:t.componentId,onSelectionChange:$e},null)])}function ve(Q){return Q.map((me,ge)=>{const ce=[];if(ce.push(_e(me,Q,ge)),me.children&&me.children.length){const xe=ve(me.children);ce.push(...xe)}return ce})}function Se(){return n.createVNode("div",{class:"fv-grid-header-left-fixed"},[n.createVNode("div",{class:"fv-grid-header-columns",style:B.value},[ve(O.value.leftHeaderColumns)])])}function ke(){return n.createVNode("div",{class:"fv-grid-header-right-fixed"},[n.createVNode("div",{class:"fv-grid-header-columns",style:j.value},[ve(O.value.rightHeaderColumns)])])}const ie=n.ref(C.value.length===V.value.length);function fe(Q){ie.value?x():h()}const G=n.computed(()=>V.value.length>0&&C.value.length!==V.value.length);function q(){return n.createVNode("div",{class:"fv-grid-header-corner d-flex",style:I.value},[F.value&&n.createVNode(hl,{id:"checkbox_for_select_all",indeterminate:G.value,modelValue:ie.value,"onUpdate:modelValue":Q=>ie.value=Q,onChange:fe,style:"margin-left:8px"},null),v.value&&n.createVNode("div",{style:"line-height:18px"},[k.value])])}function le(){return n.createVNode("div",{class:re.value,style:be.value},[P.value&&q(),T.value&&Se(),n.createVNode("div",{class:"fv-grid-header-primary"},[n.createVNode("div",{class:"fv-grid-header-columns",style:$.value},[ve(O.value.primaryHeaderColumns)])]),N.value&&ke()])}return{renderGridHeader:le}}function mo(e,t){var d;const o=n.ref((d=e.columnOption)==null?void 0:d.groups);function i(p,c,u,_,m){const y={actualWidth:0,children:[],depth:1,field:p.field,layer:1,left:0,parent:u,resizable:!1,title:p.title||"",status:R.HeaderCellStatus.none,popoverRef:n.ref(),showPopover:!1,column:null,filterValue:null,sortType:"none"},b=_||y;if(p.group){let S=1;p.group.reduce((C,g)=>{if(typeof g=="string"){const F=c.get(g);F&&(m.fieldToRootMap.set(g,b),C.actualWidth+=F.actualWidth,C.children.push(F))}else{const F=i(g,c,C,b,m);S=Math.max(S,F.depth),C.actualWidth+=F.actualWidth,C.children.push(F)}return C},y),y.depth+=S}return t.value.headerDepth=Math.max(t.value.headerDepth,y.depth),y}function a(p){const c={groupedCells:new Map,fieldToRootMap:new Map};return o.value&&o.value.reduce((u,_)=>{const m=i(_,p,null,null,c);return u.groupedCells.set(_.field,m),u},c),c}function r(p){if(!p||p.length===0)return 0;const c=p[0];return c.children&&c.children.length>0&&(c.left=r(c.children)),c.left}function l(p,c){const u=t.value.headerDepth;p.forEach(_=>{_.layer=c?c.layer+1:1;const m=_.children&&_.children.length===0;_.depth=m?u-(_.layer-1):1,_.left=m?_.left:r(_.children),_.children&&l(_.children,_)})}function s(p,c){const u=new Map;return p.forEach(_=>{const m=c.fieldToRootMap.get(_.field),y=m!=null;y&&!u.has(m.field)&&u.set(m.field,m),y||u.set(_.field,_)}),l(Array.from(u.values())),u}function f(p){let c=new Map,u=0;if(p.reduce((_,m)=>{let y=R.HeaderCellStatus.none;y=m.sortable?y|R.HeaderCellStatus.sortable:y,y=m.filterable?y|R.HeaderCellStatus.filterable:y,y=m.sort&&m.sort!=="none"?y|R.HeaderCellStatus.sorted|(m.sort==="asc"?R.HeaderCellStatus.ascending:R.HeaderCellStatus.descending):y;let b=m.binding&&m.binding.field?m.binding.field:m.field;return _.set(b,{actualWidth:m.actualWidth||0,children:[],depth:1,layer:1,left:u,field:b,parent:null,resizable:m.resizable||!1,title:m.title,status:y,popoverRef:n.ref(),showPopover:!1,column:m,filterValue:null,sortType:m.sort||"none",showSetting:m.showSetting}),u+=m.actualWidth||0,_},c),o.value){const _=a(c);c=s(c,_)}return c}return{getGridHeaderCells:f}}class wl extends _t{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.getBasicPropConfig(t),this.getAppearanceProperties(t),this.getEventPropConfig(t),this.propertyConfig}getBasicPropConfig(t){this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"tree-grid",value:Z["tree-grid"].name}]}}}}}getAppearanceProperties(t){var o,i,a;this.propertyConfig.categories.appearance={title:"外观",properties:{fields:{title:"列设置",description:"列设置",type:"",$converter:"/converter/items-count.converter",editor:{type:"grid-field-editor",viewModelId:this.viewModelId,gridData:t,gridType:"tree-grid-column"},refreshPanelAfterChanged:!0},fit:{title:"适配父组件尺寸",type:"boolean",description:"是否适配父组件尺寸"},showStripe:{title:"显示条纹",type:"boolean",description:"是否显示条纹"},showBorder:{title:"显示边框",type:"boolean",description:"是否显示边框"},showTreeNodeIcons:{title:"显示图标",type:"boolean",description:"是否显示图标"}},setPropertyRelates(r,l){switch(r&&r.propertyID){case"useBlankWhenDataIsEmpty":t.emptyDataHeight=t.useBlankWhenDataIsEmpty?36:240;break;case"fields":t.fields=r.propertyValue||[];break}}},this.propertyConfig.categories.pagination={title:"分页",$converter:"/converter/pagination.converter",properties:{enable:{title:"启用分页",type:"boolean",refreshPanelAfterChanged:!0},mode:{visible:((o=t.pagination)==null?void 0:o.enable)||!1,title:"分页交互模式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"client",name:"客户端"},{value:"server",name:"服务器端"}]}},showIndex:{visible:((i=t.pagination)==null?void 0:i.enable)||!1,title:"显示页码",type:"boolean"},showLimits:{visible:((a=t.pagination)==null?void 0:a.enable)||!1,title:"显示每页记录数",type:"boolean"}}}}getEventPropConfig(t){const o=[{label:"selectionChange",name:"行切换事件"}];var i=this;const a=i.eventsEditorUtils.formProperties(t,i.viewModelId,o),r={};r[i.viewModelId]={type:"events-editor",editor:{initialData:a}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:r,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(l,s){const f=l.propertyValue;delete t[i.viewModelId],f&&(f.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(t,i.viewModelId,f.events,f)),t.remoteSort=!!t.columnSorted}}}}function Sl(e,t){const o=e.schema,i=n.ref(!0),a=n.ref(!0);function r(u){return u&&u.sourceType==="control"?u.controlCategory==="input":!1}function l(){return!1}function s(){return!1}function f(){return!0}function d(u){}function p(){}function c(u){return new wl(u,t).getPropertyConfig(o)}return{canAccepts:r,checkCanDeleteComponent:l,checkCanMoveComponent:s,hideNestedPaddingInDesginerView:f,onAcceptMovedChildElement:d,resolveComponentContext:p,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:a,getPropsConfig:c}}const xl=n.defineComponent({name:"FTreeGridDesign",props:xn,emits:[],setup(e,t){var Fe;const o=n.ref(),i=0,a=100,r=n.ref(),l=n.ref(),s=n.ref(),f=n.ref(),d=n.ref([]),p=n.ref(!1),c=n.ref(((Fe=e.rowOption)==null?void 0:Fe.wrapContent)||!1),u=n.inject("designer-host-service"),_=n.inject("design-item-context"),m=Sl(_,u),y=rt(o,_,m);y.value.designerClass="f-utils-fill-flex-column";const b=io(e),S=qt(e,b),C=zt(),g=Qn(e),F=co(e),x=Yn(e,new Map,g,b,F),h=ro(e,x,b,d,t),V=Qr(e,d,b,h,t),v=n.computed(()=>Math.min(x.dataView.value.length,a)),{containerStyleObject:w}=Nn(e),k=In(e),I=n.ref(e.columns),{applyCommands:O}=k;O(I);const T=kn(e),N=so(),{applyColumnSorter:$,columnContext:B,updateColumnRenderContext:j}=T;$(x,N);const P=mo(e,B),M=oo(e,t,b),D=Ht(),H=to(e,M,D),ne=no(e,M,g,b,D,H),re=eo(e,I,x,v,i,ne),{getVisualData:be}=re,$e=At(e,B),_e=lo(e,h),{sidebarWidth:ve}=_e;d.value=be(0,v.value+i-1);const Se=Zn(e,x,d,B,re,v,i,ve),{onWheel:ke,dataGridWidth:ie,viewPortHeight:fe,viewPortWidth:G}=Se,q=$n(e,B,r,G,P),{calculateColumnsSize:le}=q,Q=Jn(),me=Tn(r,f,x,Q,Se),ge=ao(e,t,h,b),ce=On(e,t,T,x,P,S,Se),xe=n.computed(()=>({"drag-container":!0,"fv-grid":!0,"fv-grid-bordered":e.showBorder,"fv-datagrid-strip":e.showStripe})),L=n.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":p.value,"fv-grid-wrap-content":c.value})),{renderDataArea:se}=uo(e,t,l,s,f,$e,T,x,M,g,ge,h,V,Se,re,d),{renderGridHeader:ue}=po(_,e,r,s,f,T,x,ce,me,C,Q,q,P,h,_e,N,Se,G,d,"tree-grid-column"),{renderDataGridSidebar:W}=Fn(e,ge,h,_e,Se),{renderHorizontalScrollbar:pe}=_n(e,r,Se),{renderVerticalScrollbar:Be}=Vn(e,r,Se);function X(){var Te,je;fe.value=((Te=l.value)==null?void 0:Te.clientHeight)||0,ie.value=((je=r.value)==null?void 0:je.clientWidth)||0,le()}n.onMounted(()=>{o.value.componentInstance=y,r.value&&(St.useResizeObserver(r.value,X),le(),n.nextTick(()=>{r.value&&(ie.value=r.value.clientWidth),l.value&&(G.value=l.value.clientWidth,fe.value=l.value.clientHeight)}))}),n.onUnmounted(()=>{}),n.watch(G,()=>{r.value&&le()});const te=n.computed(()=>!d.value||!d.value.length),{renderEmpty:de}=Ra(t);return t.expose(y.value),()=>n.createVNode("div",{ref:o,dragref:`${_.schema.id}-container`,class:xe.value,style:w.value,onWheel:ke},[ue(),te.value&&de(),n.createVNode("div",{ref:r,class:L.value,onMouseover:()=>{p.value=!0},onMouseleave:()=>{p.value=!1}},[W(d),se(),pe(),Be()])])}}),go=new Map([["appearance",Ge],["column","columnOption"]]),ho=new Map([]),_l="root-viewmodel";class Fl{constructor(t,o){z(this,"formSchemaUtils");z(this,"controlCreatorUtils");this.resolver=t,this.designerHostService=o,this.formSchemaUtils=this.designerHostService.formSchemaUtils,this.controlCreatorUtils=this.designerHostService.controlCreatorUtils}createComponent(t){const o=this.createComponentRefNode(t),i=this.createComponentNode(t),a=this.createViewModeNode(t),r=this.formSchemaUtils.getFormSchema();return r.module.viewmodels.push(a),r.module.components.push(i),this.wrapContainerSectionForComponent(o,t)}wrapContainerSectionForComponent(t,o){var r,l;const i=[Z["content-container"].type,Z["response-layout-item"].type,Z["splitter-pane"].type],a=(l=(r=o==null?void 0:o.parentComponentInstance)==null?void 0:r.schema)==null?void 0:l.type;if(a&&i.includes(a)){const s=this.resolver.getSchemaByType("section",{parentComponentInstance:o.parentComponentInstance},this.designerHostService);if(s&&s.contents&&s.contents.length){const f=s.contents[0];return f.contents=[t],s}}return t}createComponentRefNode(t){const o=this.resolver.getSchemaByType("component-ref");return Object.assign(o,{id:`${t.componentId}-component-ref`,component:`${t.componentId}-component`}),o}createComponentNode(t){const o=this.resolver.getSchemaByType("component"),i=this.createDateGridComponentContents(t);return Object.assign(o,{id:`${t.componentId}-component`,viewModel:`${t.componentId}-component-viewmodel`,componentType:t.componentType,appearance:{class:this.getDataGridComponentClass()},contents:i}),o}createViewModeNode(t){return{id:`${t.componentId}-component-viewmodel`,code:`${t.componentId}-component-viewmodel`,name:t.componentName,bindTo:t.bindTo,parent:_l,fields:this.assembleViewModelFields(t),commands:[],states:[],enableValidation:!0,pagination:{enable:!1}}}getDataGridComponentClass(){return this.formSchemaUtils.getFormSchema().module.templateId==="double-list-in-tab-template"?"f-struct-wrapper f-utils-fill-flex-column":"f-struct-is-subgrid"}createDateGridComponentContents(t){const o=this.formSchemaUtils.getFormSchema().module.templateId;let i;if(o==="double-list-in-tab-template"){const s=this.resolver.getSchemaByType("section");Object.assign(s,{id:t.componentId+"-section",appearance:{class:"f-section-grid f-section-in-main px-0 pt-0"},fill:!0,showHeader:!1}),i=s}else{const s=this.resolver.getSchemaByType("content-container");Object.assign(s,{id:t.componentId+"-container",appearance:{class:"f-grid-is-sub f-utils-flex-column"}}),i=s}const a=this.resolver.getSchemaByType("data-grid"),r=[];Object.assign(a,{id:t.componentId+"-dataGrid",appearance:{class:"f-component-grid f-utils-fill"},fields:r,fieldEditable:t.editable,dataSource:t.dataSource||""}),i.contents=[a];const{selectedFields:l}=t;return l==null||l.forEach(s=>{if(s.$type===En.ComplexField)return;const f=Re.cloneDeep(s),d=this.controlCreatorUtils.setGridFieldProperty("data-grid-column",f,"",t.editable);d&&r.push(d)}),[i]}assembleViewModelFields(t){const o=[],{selectedFields:i}=t;return i==null||i.forEach(a=>{let r="blur";const l=a.type.name;(l===ht.Enum||l===ht.Boolean)&&(r="change"),o.push({type:"Form",id:a.id,fieldName:a.bindingField,groupId:null,groupName:null,updateOn:r,fieldSchema:{}})}),o}}function yo(e,t,o,i){const a=o.parentComponentInstance;if(a){const r=Math.random().toString(36).slice(2,6),l={componentId:`data-grid-${r}`,componentName:`表格-${r}`,componentType:"data-grid",parentContainerId:a.schema.id,parentComponentInstance:a,editable:!0,bindTo:"",dataSource:""};return new Fl(e,i).createComponent(l)}else return t}function vo(e,t,o){return t}const Vl={$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},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},disable:{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:{enable:{description:"",type:"boolean",default:!1},commands:{type:"array",default:[]},commandColumnWidth:{description:"",type:"number",default:120},onClickDeleteCommand:{description:"",type:"string",default:""},onClickEditCommand:{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:"obejct",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:!0},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:"obejct"},customSummaryStyle:{description:"",type:"obejct"},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:"client",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:""}}},row:{type:"object",properties:{customRowStyle:{description:"",type:"object"},disable:{description:"",type:"obejct"},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:!1},heading:{description:"",type:"string",default:"序号"},width:{description:"",type:"number",default:36},onClickRow:{description:"",type:"string",default:""},onDoubleClickRow:{description:"",type:"string",default:""}}},clickRow:{description:"行点击事件",type:"string",default:""},selectionChange:{description:"行切换事件",type:"string",default:""},pageIndexChanged:{description:"切换页码事件",type:"string",default:""},pageSizeChanged:{description:"分页条数变化事件",type:"string",default:""},selection:{type:"object",properties:{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},showCheckAll:{description:"",type:"boolean",default:!1},showSelection:{description:"",type:"boolean",default:!1},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:"string",default:"client",enum:["client","server"]},multiSort:{description:"",type:"boolean",default:!1}}},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}}},required:["id","type"]},Xt={changePolicy:{type:String,default:"push"},columns:{type:Array,default:[]},columnOption:{type:Object},data:{type:Array,default:[]},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!1},editOption:{type:Object,default:{selectOnEditing:!1,editMode:"cell"}},filter:{type:Object},fit:{type:Boolean,default:!1},focusOnEditingCell:{type:Boolean,default:!0},selectOnEditingCell:{type:Boolean,default:!1},group:{type:Object},header:{type:Object},height:{type:Number,default:-1},id:{type:String,default:""},idField:{type:String,default:"id",require:!0},minHeight:{type:Number,default:300},minWidth:{type:Number,default:400},mergeCell:{type:Boolean,default:!1},pagination:{type:Object,default:{enable:!1,size:20}},rowNumber:{type:Object,default:{enable:!0,width:32,heading:"序号"}},rowOption:{type:Object,default:{wrapContent:!1}},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!0}},selectionValues:{type:Array,default:[]},showBorder:{type:Boolean,default:!1},showFooter:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},showScrollBar:{type:String,default:"auto"},showSetting:{type:Boolean,default:!1},showStripe:{type:Boolean,default:!0},sort:{type:Object},summary:{type:Object,default:{enable:!1,groupFields:["numericField1","numericField2"]}},virtualized:{type:Boolean,default:!1},width:{type:Number,default:-1},newDataItem:{type:Function,default:()=>{}},enableCommands:{type:Boolean,default:!1},commandOption:{type:Object,default:{enable:!1,commands:[]}},appendOnEnterAtLastCell:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},Nl=Object.assign({},Xt,{componentId:{type:String,default:""}}),bo=Ie(Xt,Vl,go,yo),Co=Xi(),kl=Yi();function wo(e,t,o,i,a,r,l,s,f,d,p,c,u,_,m){const{calculateCellPositionInRow:y,cellKey:b,cellPosition:S,rowKey:C,rowPosition:g,rowSpanCellPosition:F,groupCellPosition:x,summaryCellPosition:h}=l,{cellContentClass:V,cellContentPosition:v}=r,{collpaseGroupIconClass:w}=d,{gridCellClass:k,gridRowClass:I,onClickRow:O,onMouseoverRow:T,onMouseoutRow:N}=c,{onClickCell:$}=f,{toggleGroupRow:B}=u,{columnContext:j,hasLeftFixedColumn:P,hasRightFixedColumn:M}=s,{navigateOnKeyUp:D}=p,{gridDataStyle:H,gridMergedDataStyle:ne,leftFixedGridDataStyle:re,leftFixedGridMergedDataStyle:be,rightFixedGridDataStyle:$e,rightFixedGridMergedDataStyle:_e}=_;function ve(L,se){se.collapse=!se.collapse,m.value=B(se.collapse?"collapse":"expand",se,m.value)}function Se(L,se){const ue=[];if(L.groupField&&se[L.groupField]){for(let pe=0;pe<=L.layer;pe++)ue.push(n.createVNode("div",{class:"fv-grid-group-row-icon",onClick:Be=>ve(Be,L)},[n.createVNode("span",{class:w(L)},null)]));const W=L.data[L.groupField];ue.push(n.createVNode("div",{ref:W.setRef,key:b(L,L.layer+1),class:"fv-grid-cell",style:x(W,se,L.layer)},[W.data])),Object.values(L.data).filter(pe=>pe.field!==L.groupField&&pe.colSpan!==0).forEach(pe=>{ue.push(n.createVNode("div",{ref:pe.setRef,key:b(L,pe.index),class:"fv-grid-cell",style:S(pe,se)},[pe.data]))})}return ue}function ke(L,se,ue){return L.layer>-1&&n.createVNode("div",{ref:L.setRef,key:C(L),class:I(L),style:g(L),onClick:W=>O(W,L),onMouseover:W=>T(W,L)},[Se(L,se)])}function ie(L,se){const ue=[];if(L.groupField&&se[L.groupField]){const W=L.data[L.groupField];ue.push(n.createVNode("div",{ref:W.setRef,key:b(L,L.layer+1),class:"fv-grid-cell",style:h(W,se,L.layer)},[W.data]))}return ue}function fe(L,se,ue){return L.layer>-1&&n.createVNode("div",{ref:L.setRef,key:C(L),class:I(L),style:g(L),onClick:W=>O(W,L),onMouseover:W=>T(W,L)},[ie(L,se)])}function G(L,se,ue){return n.createVNode("div",{ref:L.setRef,key:C(L),class:I(L),style:g(L),onClick:W=>O(W,L),onMouseover:W=>T(W,L),onMouseout:W=>N(W,L)},[Object.values(L.data).filter(W=>se[W.field]&&W.rowSpan===1).map(W=>{const pe=ue==null?void 0:ue.find(Be=>Be.field===W.field);return n.createVNode("div",{ref:W.setRef,key:b(L,W.index),class:k(W),style:S(W,se),onClick:Be=>$(Be,W,L,pe),onKeyup:Be=>D(Be,W)},[n.createVNode("div",{class:V(W,pe),style:v(W)},[n.createVNode("div",{class:{"text-truncate":pe==null?void 0:pe.showEllipsis,"w-100":pe==null?void 0:pe.showEllipsis,"text-center":!0}},[W.data!=null&&t.slots.cellTemplate?t.slots.cellTemplate({cell:W,row:L}):W.mode===Me.editing?W.getEditor(W):W.formatter?W.formatter(W,L):W.data!=null?W.data.toString():W.data])])])})])}const q=[G,ke,fe];function le(L,se){const ue=y(L);return m.value.map(W=>q[W.type](W,ue,L))}function Q(L){const se=y(L);return m.value.map(ue=>Object.values(ue.data).filter(W=>se[W.field]&&W.rowSpan>1).map(W=>n.createVNode("div",{key:b(ue,W.index),class:"fv-grid-cell fv-grid-merged-cell",style:F(ue,W,se)},[W.data])))}function me(){return n.createVNode("div",{ref:i,class:"fv-grid-content-left-fixed"},[n.createVNode("div",{class:"fv-grid-data",style:re.value},[le(j.value.leftColumns.filter(L=>L.visible))]),n.createVNode("div",{class:"fv-grid-merge-date",style:be.value},[Q(j.value.leftColumns.filter(L=>L.visible))])])}function ge(){return n.createVNode("div",{ref:o,class:"fv-grid-content-primary"},[n.createVNode("div",{class:"fv-grid-data",style:H.value},[le(j.value.primaryColumns.filter(L=>L.visible))]),n.createVNode("div",{class:"fv-grid-merge-date",style:ne.value},[Q(j.value.primaryColumns.filter(L=>L.visible))])])}function ce(){return n.createVNode("div",{ref:a,class:"fv-grid-content-right-fixed"},[n.createVNode("div",{class:"fv-grid-data",style:$e.value},[le(j.value.rightColumns.filter(L=>L.visible))]),n.createVNode("div",{class:"fv-grid-merge-date",style:_e.value},[Q(j.value.rightColumns.filter(L=>L.visible))])])}function xe(){const L=[];return P.value&&L.push(me()),L.push(ge()),M.value&&L.push(ce()),L}return{renderDataArea:xe}}const Ye=n.defineComponent({name:"FDataGrid",props:Xt,emits:["ClickRow","doubleClickRow","selectionChange","enterUpInLastCell","pageIndexChanged","pageSizeChanged","endEditCell"],setup(e,t){var Ho;const a=n.ref(e.columns),r=R.useIdentify(e),l=n.ref(),s=n.ref(),f=n.ref(),d=n.ref(),p=n.ref(),c=n.ref([]),u=n.ref(!1),_=n.ref(((Ho=e.rowOption)==null?void 0:Ho.wrapContent)||!1),m=R.useGroupData(e,r),y=R.useFilter(),b=R.useHierarchy(e),{showLoading:S,renderLoading:C}=R.useLoading(e,l),g=R.usePagination(e),{shouldRenderPagination:F}=g,x=R.useDataView(e,new Map,b,r,g),h=R.useSelection(e,x,r,c,t),V=n.computed(()=>e.disable),v=n.computed(()=>F.value?x.dataView.value.length:Math.min(x.totalItems.value,100));n.computed(()=>e.loadingConfig.message);const{containerStyleObject:w}=R.useDataViewContainerStyle(e),k=R.useCommandColumn(e),{applyCommands:I}=k;I(a);const O=R.useColumn(e),T=R.useSort(e),{applyColumnSorter:N,columnContext:$,updateColumnRenderContext:B}=O;N(x,T);const j=R.useGroupColumn(e,$),P=R.useEdit(e,t,r),M=R.useVisualDataBound(),D=R.useVisualDataCell(e,P,M),H=R.useVisualDataRow(e,P,b,r,M,D),ne=R.useVisualGroupRow(e,r,D,H),re=R.useVisualSummaryRow(e,r,D,H),be=R.useVisualData(e,a,x,v,0,H,ne,re),{getVisualData:$e}=be,_e=R.useCellContentStyle($),ve=R.useCellPosition(e,$),Se=R.useSidebar(e,h),{sidebarWidth:ke}=Se;c.value=$e(0,v.value+0-1);const ie=R.useVirtualScroll(e,x,c,$,be,v,0,ke),{onWheel:fe,dataGridWidth:G,viewPortHeight:q,viewPortWidth:le,resetScroll:Q}=ie,me=R.useFitColumn(e,$,s,le,j),{calculateColumnsSize:ge}=me,ce=R.useFilterHistory(),xe=R.useColumnFilter(s,p,x,ce,ie),L=R.useRow(e,t,h,r),se=R.useDragColumn(e,t,O,x,j,m,ie),ue=n.computed(()=>({"fv-grid":!0,"fv-datagrid-strip":e.showStripe})),W=n.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":u.value,"fv-grid-wrap-content":_.value})),{renderGridHeader:pe,renderGridColumnResizeOverlay:Be}=R.getColumnHeader(e,s,d,p,O,x,se,xe,y,ce,me,j,h,Se,T,ie,le,c),{renderDataGridPagination:X}=R.getPagination(e,t,x,ie,g),{renderDataGridSidebar:te}=R.getSidebar(e,L,h,Se,ie),{renderDisableMask:de}=R.getDisableMask(),{renderDataGridSummery:Fe}=R.getSummary(e,x,O),{renderHorizontalScrollbar:Te}=R.getHorizontalScrollbar(e,s,ie),{renderVerticalScrollbar:je}=R.getVerticalScrollbar(e,s,ie),{renderFilterPanel:ze}=R.getFilterPanel(e,O,x,y,ie),{renderGroupPanel:qe}=R.getGroupPanel(e,x,se,m,ie);function ot(){var we,kt;q.value=((we=f.value)==null?void 0:we.clientHeight)||0,G.value=((kt=s.value)==null?void 0:kt.clientWidth)||0,ge()}n.onMounted(()=>{s.value&&(St.useResizeObserver(s.value,ot),ge(),n.nextTick(()=>{s.value&&(G.value=s.value.clientWidth),f.value&&(le.value=f.value.clientWidth,q.value=f.value.clientHeight)})),S.value&&C()}),n.onUnmounted(()=>{}),n.watch(le,()=>{});function it(){x.insertNewDataItem(),Q()}function at(){x.insertNewDataItem(c.value.length),Q()}function Je(we){P.onEditingRow(we)}function A(we){x.removeDataItem(we),Q()}function ee(we){x.removeDataItemById(we),Q()}function ae(we){P.acceptEditingRow(we)}function Ve(we){P.cancelEditingRow(we)}function oe(we){we&&(a.value=we,I(a),B(a.value),N(x,T),ge())}function Ne(we){we&&(x.load(we),c.value=$e(0,v.value+0-1))}function Ee(we){g.updatePagination(we)}n.watch([x.startIndex,x.endIndex],([we,kt],[ec,tc])=>{var Go,Wo;we!==ec&&Ne((Go=x.originalData)==null?void 0:Go.value),kt!==tc&&Ne((Wo=x.originalData)==null?void 0:Wo.value)}),n.watch(()=>e.data,we=>{e.changePolicy==="default"&&Ne(we)},{deep:!0});function he(we){h.selectItemById(we)}const De={addNewDataItem:it,addNewDataItemAtLast:at,removeDataItem:A,removeDataItemById:ee,editDataItem:Je,acceptDataItem:ae,cancelDataItem:Ve,selectItemById:he,updateColumns:oe,updateDataSource:Ne,updatePagination:Ee};t.expose(De);const Le=R.useNavigation(e,t,De,O,P,c),{renderDataArea:Ce}=wo(e,t,f,d,p,_e,ve,O,P,m,Le,L,be,ie,c),Qe=n.computed(()=>!c.value||!c.value.length),{renderEmpty:ut}=R.getEmpty(t);return()=>n.createVNode("div",{ref:l,class:ue.value,style:w.value,onWheel:fe},[ze(),qe(),pe(),Qe.value&&ut(),n.createVNode("div",{ref:s,class:W.value,onMouseover:()=>{u.value=!0},onMouseleave:()=>{u.value=!1}},[te(c),Ce(),Te(),je()]),Fe(),F.value&&X(),Be(),V.value&&de()])}});class Tl extends _t{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.getBasicPropConfig(t),this.getAppearanceProperties(t),this.getEventPropConfig(t),this.propertyConfig}getBasicPropConfig(t){var r,l,s;const o=(s=(l=(r=this.formSchemaUtils.getFormSchema())==null?void 0:r.module)==null?void 0:l.entity[0])==null?void 0:s.entities[0],i=this.assembleSchemaEntityToTree(o,0),a=this;this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"data-grid",value:Z["data-grid"].name}]}},dataSource:{description:"绑定数据源",title:"绑定数据源",editor:{type:"combo-tree",textField:"name",valueField:"label",data:i,readonly:t.columns&&t.columns.length>0,editable:!1}}},setPropertyRelates(f,d){switch(f&&f.propertyID){case"dataSource":{const p=a.formSchemaUtils.getViewModelById(a.viewModelId);if(p){const c=i.find(u=>u.label===f.propertyValue);p.bindTo=c.bindTo}a.designViewModelUtils.assembleDesignViewModel();break}}}}}assembleSchemaEntityToTree(t,o,i,a="",r=[]){const l=a?`${a}/${t.label}`:"/";return r.push({id:t.id,name:t.name,label:t.label,layer:o,parent:i&&i.id,bindTo:l.replace("//","/")}),t.type.entities&&t.type.entities.length&&t.type.entities.map(s=>this.assembleSchemaEntityToTree(s,o+1,t,l,r)),r}getAppearanceProperties(t){var o,i,a;this.propertyConfig.categories.appearance={title:"外观",properties:{columns:{title:"列设置",description:"列设置",type:"",$converter:"/converter/items-count.converter",editor:{type:"grid-field-editor",viewModelId:this.viewModelId,gridData:t,getLatestGridData:r=>t},refreshPanelAfterChanged:!0},fit:{title:"适配父组件尺寸",type:"boolean",description:"是否适配父组件尺寸"},showStripe:{title:"显示条纹",type:"boolean",description:"是否显示条纹"},showBorder:{title:"显示边框",type:"boolean",description:"是否显示边框"}},setPropertyRelates(r,l){switch(r&&r.propertyID){case"useBlankWhenDataIsEmpty":t.emptyDataHeight=t.useBlankWhenDataIsEmpty?36:240;break;case"columns":t.columns=r.propertyValue||[];break}}},this.propertyConfig.categories.pagination={title:"分页",$converter:"/converter/pagination.converter",properties:{enable:{title:"启用分页",type:"boolean",refreshPanelAfterChanged:!0},mode:{visible:((o=t.pagination)==null?void 0:o.enable)||!1,title:"分页交互模式",type:"enum",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"client",value:"客户端"},{key:"server",value:"服务器端"}]}},showIndex:{visible:((i=t.pagination)==null?void 0:i.enable)||!1,title:"显示页码",type:"boolean"},showLimits:{visible:((a=t.pagination)==null?void 0:a.enable)||!1,title:"显示每页记录数",type:"boolean"}}}}getEventPropConfig(t){const o=[{label:"clickRow",name:"行点击事件"},{label:"selectionChange",name:"行切换事件"},{label:"pageIndexChanged",name:"切换页码事件"},{label:"pageSizeChanged",name:"分页条数变化事件"}];var i=this;const a=i.eventsEditorUtils.formProperties(t,i.viewModelId,o),r={};r[i.viewModelId]={type:"events-editor",editor:{initialData:a}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:r,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(l,s){const f=l.propertyValue;delete t[i.viewModelId],f&&(f.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(t,i.viewModelId,f.events,f)),t.remoteSort=!!t.columnSorted}}}}function Il(e,t){const o=e.schema,i=n.ref(!0),a=n.ref(!0);function r(u){return u&&u.sourceType==="control"?u.controlCategory==="input":!1}function l(){return!1}function s(){return!1}function f(){return!0}function d(u){}function p(){}function c(u){return new Tl(u,t).getPropertyConfig(o)}return{canAccepts:r,checkCanDeleteComponent:l,checkCanMoveComponent:s,hideNestedPaddingInDesginerView:f,onAcceptMovedChildElement:d,resolveComponentContext:p,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:a,getPropsConfig:c}}const Yt=n.defineComponent({name:"FDataGridDesign",props:Nl,emits:["ClickRow","DoubleClickRow","selectionChange","enterUpInLastCell","pageIndexChanged","pageSizeChanged"],setup(e,t){var Le;const o=n.ref(),i=n.inject("designer-host-service"),a=n.inject("design-item-context"),r=Il(a,i),l=rt(o,a,r);l.value.styles="display:flex;flex:1;",n.onMounted(()=>{o.value.componentInstance=l}),t.expose(l.value);const s=n.ref(e.columns),f=20,d=io(e),p=0,c=n.ref(),u=n.ref(),_=n.ref(),m=n.ref(),y=n.ref(e.showStripe),b=n.ref([]),S=n.ref(!1),C=n.ref(((Le=e.rowOption)==null?void 0:Le.wrapContent)||!1),g=qt(e,d),F=zt(),x=Qn(e),h=co(e),V=Yn(e,new Map,x,d,h),v=ro(e,V,d,b,t),w=n.computed(()=>e.disable),k=n.computed(()=>V.totalItems.value<f?V.totalItems.value:f),{containerStyleObject:I}=Nn(e),O=In(e),{applyCommands:T}=O;T(s);const N=kn(e),$=so(),{applyColumnSorter:B,columnContext:j,updateColumnRenderContext:P}=N;B(V,$);const M=mo(e,j),D=oo(e,d),H=Ht(),ne=to(e,D,H),re=no(e,D,x,d,H,ne),be=il(e,d,ne,re),$e=al(e,d,ne,re),_e=eo(e,s,V,k,p,re,be,$e),{getVisualData:ve}=_e,Se=ul(j),ke=At(e,j),ie=lo(e,v),{sidebarWidth:fe}=ie;b.value=ve(0,k.value+p-1);const G=Zn(e,V,b,j,_e,k,p,fe),{onWheel:q,dataGridWidth:le,viewPortHeight:Q,viewPortWidth:me,resetScroll:ge}=G,ce=$n(e,j,c,me,M),{calculateColumnsSize:xe}=ce,L=Jn(),se=Tn(c,m,V,L,G),ue=ao(e,t,v,d),W=On(e,t,N,V,M,g,G),pe=n.computed(()=>({"fv-grid":!0,"fv-datagrid-strip":y.value})),Be=n.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":S.value,"fv-grid-wrap-content":C.value})),{renderGridHeader:X}=po(a,e,c,_,m,N,V,W,se,F,L,ce,M,v,ie,$,G,me,b);ja(e,t,V,G,h);const{renderDataGridSidebar:te}=Fn(e,ue,v,ie,G),{renderDisableMask:de}=ka(),{renderDataGridSummery:Fe}=Pa(e,V,N),{renderHorizontalScrollbar:Te}=_n(e,c,G),{renderVerticalScrollbar:je}=Vn(e,c,G),{renderFilterPanel:ze}=Ta(e,N,V,F,G),{renderGroupPanel:qe}=Ia(e,V,W,g,G);function ot(){var Ce,Qe;Q.value=((Ce=u.value)==null?void 0:Ce.clientHeight)||0,le.value=((Qe=c.value)==null?void 0:Qe.clientWidth)||0,xe()}n.onMounted(()=>{c.value&&(St.useResizeObserver(c.value,ot),xe(),n.nextTick(()=>{c.value&&(le.value=c.value.clientWidth),u.value&&(me.value=u.value.clientWidth,Q.value=u.value.clientHeight)}))}),n.onUnmounted(()=>{}),n.watch(me,()=>{c.value&&xe()}),n.watch(()=>e.columns,Ce=>{oe(Ce)});function it(){V.insertNewDataItem(),ge()}function at(){V.insertNewDataItem(b.value.length),ge()}function Je(Ce){D.onEditingRow(Ce)}function A(Ce){V.removeDataItem(Ce),ge()}function ee(Ce){V.removeDataItemById(Ce),ge()}function ae(Ce){D.acceptEditingRow(Ce)}function Ve(Ce){D.cancelEditingRow(Ce)}function oe(Ce){Ce&&(s.value=Ce,T(s),P(s.value),B(V,$),xe())}function Ne(Ce){Ce&&(V.load(Ce),b.value=ve(0,k.value+p-1))}const he=rl(e,t,{addNewDataItem:it,addNewDataItemAtLast:at,removeDataItem:A,removeDataItemById:ee,editDataItem:Je,acceptDataItem:ae,cancelDataItem:Ve,updateColumns:oe,updateDataSource:Ne},N,D,b),{renderDataArea:De}=wo(e,t,u,_,m,Se,ke,N,D,g,he,ue,_e,G,b);return()=>n.createVNode("div",{ref:o,class:pe.value,style:I.value,onWheel:q},[ze(),qe(),X(),n.createVNode("div",{ref:c,class:Be.value,onMouseover:()=>{S.value=!0},onMouseleave:()=>{S.value=!1}},[te(b),De(),Te(),je()]),Fe(),w.value&&de()])}}),Ol={$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"]},So={modelValue:{type:String,default:""},viewModelId:{Type:String,default:""},gridData:{Type:Object,default:null},gridType:{Type:String,default:"data-grid-column"},getLatestGridData:{Type:Function}},$l=Ie(So,Ol,go,yo),Bl=new Map([["appearance",Ge]]);function Ml(e,t,o){return t}const jl={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:[]}}}}}},Pl={$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"]},xo={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:[]}};Ie(xo,Pl,Bl,Ml,jl);const Dl=new Map([["appearance",Ge]]);function Rl(e,t,o){return t}const El={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/list-view.schema.json",title:"list-view",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for list-view",type:"string"},type:{description:"The type string of list-view",type:"string",default:"list-view"},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"]},Ll={title:"list-view",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:[]}}}}}},_o={columns:{type:Array,default:[{field:"name",title:"",dataType:"string"}]},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,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}};Ie(_o,El,Dl,Rl,Ll);function Al(e,t){function o(r){const l=[];let s=r.nextNode();for(;s;)l.push(s),s=r.nextNode();return l}function i(r,l){const s=document.createTreeWalker(r,NodeFilter.SHOW_TEXT);return o(s).map(c=>({textNode:c,text:(c.textContent||"").toLocaleLowerCase()})).map(({textNode:c,text:u})=>{const _=[];let m=0;for(;m<u.length;){const y=u.indexOf(l,m);if(y===-1)break;_.push(y),m=y+l.length}return _.map(y=>{const b=new Range;return b.setStart(c,y),b.setEnd(c,y+l.length),b})}).flat()}function a(r){if(!CSS.highlights||(CSS.highlights.clear(),!r||!t))return;const l=i(t.value,r.toLocaleLowerCase()),s=new Highlight(...l);CSS.highlights.set("search-result",s)}return{search:a}}function Fo(e,t,o,i,a,r,l,s,f,d){const p=n.ref(e.size),c=n.ref(e.textField),u=n.ref(e.titleField),_=n.ref(e.disableField),m=n.computed(()=>{var v,w;return((v=e.selection)==null?void 0:v.multiSelect)&&((w=e.selection)==null?void 0:w.showCheckbox)}),{onMouseenterItem:y,onMouseoverItem:b,onMouseoutItem:S}=r,{getKey:C,listViewItemClass:g,onCheckItem:F,onClickItem:x}=l,h=n.computed(()=>({margin:p.value==="small"?"0.25rem 0":"10px 0"}));function V(v,w,k){return v.checked=s.findIndexInSelectedItems(v)>-1,n.createVNode("li",{class:g(v,w),id:C(v,w),key:C(v,w),onClick:I=>x(I,v,w),onMouseenter:I=>y(I,v,w),onMouseover:I=>b(I,v,w),onMouseout:I=>S(I,v,w)},[m.value&&n.createVNode("div",{class:"f-list-select",onClick:I=>I.stopPropagation()},[n.createVNode(ft.FCheckBox,{id:"list-"+C(v,w),customClass:"listview-checkbox",disabled:v[_.value],checked:v.checked,"onUpdate:checked":I=>v.checked=I,onChange:I=>{F(v,w,!I.checked)}},null)]),n.createVNode("div",{class:"f-list-content"},[n.createVNode("div",{style:h.value,title:v.raw[u.value]||v.raw[c.value]},[v.raw[c.value]])])])}return{renderItem:V}}function Hl(e,t,o,i,a,r,l,s,f,d){const p=n.ref(e.multiSelect),c=n.ref(e.disableField),{onMouseenterItem:u,onMouseoverItem:_,onMouseoutItem:m}=r,{getKey:y,listViewItemClass:b,onCheckItem:S,onClickItem:C}=l;function g(x,h,V){return t.slots.content?n.createVNode(n.Fragment,null,[t.slots.content&&t.slots.content({item:x.raw,index:h,selectedItem:V})]):n.createVNode("div",{style:"margin: 10px 0;"},[x.raw.name])}function F(x,h,V){return n.createVNode("li",{class:b(x,h),id:y(x,h),key:y(x,h),onClick:v=>C(v,x,h),onMouseenter:v=>u(v,x,h),onMouseover:v=>_(v,x,h),onMouseout:v=>m(v,x,h)},[p.value&&n.createVNode("div",{class:"f-list-select",onClick:v=>v.stopPropagation()},[n.createVNode(ft.FCheckBox,{id:"list-"+y(x,h),customClass:"listview-checkbox",disabled:x[c.value]||!x.checked,checked:x.checked,"onUpdate:checked":v=>x.checked=v,onChange:v=>S(x,h,!v.checked)},null)]),n.createVNode("div",{class:"f-list-content"},[g(x,h,V)])])}return{renderItem:F}}function Gl(e,t,o,i,a,r,l,s,f,d){const p=n.ref(e.multiSelect),c=n.ref(e.disableField),{onMouseenterItem:u,onMouseoverItem:_,onMouseoutItem:m}=r,{getKey:y,listViewItemClass:b,onCheckItem:S,onClickItem:C}=l,{dragstart:g,dragenter:F,dragover:x,dragend:h}=i,{removeItem:V}=f,v=n.computed(()=>({margin:p.value?"10px 0":"10px 0px 10px 14px"}));function w(T){return n.createVNode("div",{style:v.value},[T.raw.name])}function k(){return t.slots.itemContent?t.slots.itemContent:w}const I=k();function O(T,N,$){return n.createVNode("li",{class:b(T,N),id:y(T,N),key:y(T,N),onClick:B=>C(B,T,N),onMouseenter:B=>u(B,T,N),onMouseover:B=>_(B,T,N),onMouseout:B=>m(B,T,N),draggable:"true",onDragstart:B=>g(B,T,N),onDragenter:B=>F(B,N),onDragend:B=>h(B,T),onDragover:B=>x(B,N)},[p.value&&n.createVNode("div",{class:"f-list-select",onClick:B=>B.stopPropagation()},[n.createVNode(ft.FCheckBox,{id:"list-"+y(T,N),customClass:"listview-checkbox",disabled:T[c.value]||!T.checked,checked:T.checked,"onUpdate:checked":B=>T.checked=B,onChange:B=>S(T,N,!B.checked)},null)]),n.createVNode("div",{class:"f-list-content"},[I(T)]),n.createVNode("div",{class:"f-list-remove",onClick:B=>V(N)},[n.createVNode("div",{class:"f-list-remove-icon"},[n.createVNode("i",{class:"f-icon f-icon-remove_face"},null)])]),n.createVNode("div",{class:"f-list-handle"},[n.createVNode("div",null,[n.createVNode("i",{class:"f-icon f-icon-drag-vertical"},null)])])])}return{renderItem:O}}function Wl(e,t,o,i,a,r,l,s,f,d){var y;const p=n.ref(((y=e.group)==null?void 0:y.groupFields)||[]),{collpaseGroupIconClass:c}=a,{toggleGroupRow:u}=d;function _(b,S){S.collapse=!S.collapse,o.value=u(S.collapse?"collapse":"expand",S,o.value)}function m(b,S,C){return b.layer>-1&&n.createVNode("div",{class:"f-navlookup-recentHeader",onClick:g=>_(g,b)},[n.createVNode("div",{class:"fv-grid-group-row-icon"},[n.createVNode("span",{class:c(b)},null)]),n.createVNode("div",{class:"f-navlookup-recommandLabel"},[b.raw[p.value[b.layer]]])])}return{renderItem:m}}function zl(){const e=n.ref(-1),t=n.ref(""),o=n.ref(-1),i=n.ref(!1);function a(d,p,c){o.value=c}function r(d,p,c){i.value||(o.value=c)}function l(d,p,c){o.value=-1}function s(){i.value=!0}function f(){i.value=!1}return{activeIndex:e,focusedItemId:t,hoverIndex:o,onMouseenterItem:a,onMouseoverItem:r,onMouseoutItem:l,resumeHover:f,suspendHover:s}}function ql(e,t,o,i){const a=n.ref(e.idField),{dataView:r}=o,l=n.ref(-1),s=n.ref(!1),{activeIndex:f,focusedItemId:d,hoverIndex:p,resumeHover:c,suspendHover:u}=i;function _(S,C,g){S.stopPropagation(),u(),C&&setTimeout(()=>{l.value=g,s.value=!0,C.moving=!0})}function m(S,C){if(S.preventDefault(),l.value!==C){const g=r.value[l.value],F=r.value;F.splice(l.value,1),F.splice(C,0,g),l.value=C}}function y(S,C){S.preventDefault(),S.dataTransfer&&(S.dataTransfer.dropEffect="move")}function b(S,C){C&&(C.moving=!1),r.value.forEach((g,F)=>{g.__fv_index__=F}),s.value=!1,c(),p.value=C.raw.__fv_index__,f.value=C.raw.__fv_index__,d.value=C.raw[a.value],t.emit("change",r.value),t.emit("activeChange",C)}return{dragstart:_,dragenter:m,dragover:y,dragend:b,isDragging:s}}function Ul(e,t,o){const{dataView:i}=o;function a(r){if(r>-1&&r<i.value.length){const l=i.value.splice(r,1);t.emit("removeItem",l[0])}}return{removeItem:a}}function Kl(e,t,o,i,a,r){const l=n.ref(e.idField),s=n.ref(e.disableField),f=n.ref(e.draggable),d=n.ref(e.itemClass),p=n.ref(e.selection.multiSelect??!1),c=n.ref(e.selection.multiSelectMode),{isDragging:u}=i,{activeIndex:_,focusedItemId:m,hoverIndex:y}=a,{clearSelection:b,getSelectedItems:S,toggleSelectItem:C}=r,g=n.ref(S());function F(I,O){const T={"f-listview-item":!0,"f-list-view-group-item":!0,"f-list-view-draggable-item":f.value,"f-un-click":!I.checked,"f-un-select":!!I.raw[s.value],"f-listview-active":g.value.findIndex($=>$[l.value]===I.raw[l.value])>-1,"f-listview-item-active":g.value.findIndex($=>$[l.value]===I.raw[l.value])>-1,"f-listview-hover":!u.value&&O===y.value,moving:!!I.moving};return d.value.split(" ").reduce(($,B)=>($[B]=!0,$),T),T}function x(I,O){return I.raw[l.value]||""}const h=n.computed(()=>!p.value);function V(I,O,T){I.checked=T,!I.raw[s.value]&&(h.value&&(m.value=I.raw[l.value]),C(I))}const v=n.computed(()=>p.value&&c.value==="OnCheckClearByClick"),w=n.computed(()=>!p.value||p.value&&(c.value==="OnCheckAndClick"||c.value==="OnClick"));function k(I,O,T){if(O.raw[s.value]){I.preventDefault(),I.stopPropagation();return}m.value=O.raw[l.value],_.value=T,v.value&&b(o.value),w.value&&(C(O),g.value=S()),t.emit("clickItem",{data:g.value,index:T}),t.emit("activeChange",g.value)}return{getKey:x,listViewItemClass:F,onCheckItem:V,onClickItem:k}}function Xl(e,t,o,i,a,r,l){const s=n.ref(e.view),f=n.ref(e.view==="CardView"),d=n.ref({}),p=n.ref("暂无数据"),c=zl(),u=ql(e,t,i,c),_=Ul(e,t,i),m=Kl(e,t,o,u,c,r),y=n.computed(()=>({"f-list-view-group":!0,"d-flex":f.value,"flex-wrap":f.value})),b=n.computed(()=>!!o.value&&o.value.length>0),S=n.computed(()=>o.value.length===0),C=n.computed(()=>S.value&&!t.slots.empty);function g(){return s.value==="SingleView"?Fo:s.value==="DraggableView"?Gl:(s.value==="ContentView"||s.value==="CardView")&&t.slots.content?Hl:Fo}const F=g(),{renderItem:x}=F(e,t,o,u,a,c,m,r,_,l),{renderItem:h}=Wl(e,t,o,u,a,c,m,r,_,l),V=[x,h];function v(){return o.value.filter(I=>I.visible!==!1).map((I,O)=>V[I.type](I,O,d))}function w(){return n.createVNode("div",{class:"f-list-view-emptydata"},[n.createVNode("p",{class:"f-empty-title"},[p.value])])}function k(){return n.createVNode("ul",{class:y.value,style:"list-style: none;"},[b.value&&v(),C.value&&w(),t.slots.empty&&t.slots.empty()])}return{renderListArea:k}}function Yl(e,t,o){function i(){return t.slots.header&&n.createVNode("div",{class:"f-list-view-header"},[t.slots.header()])}return{renderHeader:i}}function Vo(e,t,o){const i=n.ref(e.headerClass),a=n.ref(e.placeholder),r=n.ref(""),l=n.computed(()=>!r.value),s=n.computed(()=>!!r.value);function f(u){r.value=""}n.watch(r,u=>{e.enableHighlightSearch&&o.search(u),t.emit("afterSearch",u)});const d=n.computed(()=>{const u={"form-group":!0,"farris-form-group":!0};return i.value&&i.value.split(" ").reduce((m,y)=>(m[y]=!0,m),u),u});function p(u){}function c(){return n.createVNode("div",{class:"f-list-view-header",onClick:n.withModifiers(()=>p,["prevent","stop"])},[n.createVNode("div",{class:d.value},[n.createVNode("div",{class:"farris-input-wrap"},[n.createVNode("div",{class:"f-cmp-inputgroup"},[n.createVNode("div",{class:"input-group f-state-editable"},[n.withDirectives(n.createVNode("input",{class:"form-control f-utils-fill text-left","onUpdate:modelValue":u=>r.value=u,name:"input-group-value",type:"text",placeholder:a.value,autocomplete:"off"},null),[[n.vModelText,r.value]]),n.createVNode("div",{class:"input-group-append"},[s.value&&n.createVNode("span",{class:"input-group-text input-group-clear",onClick:u=>f()},[n.createVNode("i",{class:"f-icon f-icon-close-circle"},null)]),l.value&&n.createVNode("span",{class:"input-group-text"},[n.createVNode("span",{class:"f-icon f-icon-search"},null)])])])])])])])}return{renderHeader:c}}const No=n.defineComponent({name:"FListView",props:_o,emits:["afterSearch","checkValuesChange","clickItem","selectionChange","removeItem","change","activeChange"],setup(e,t){const o=n.ref(),i=n.ref(!0),a=n.ref(!1),r=n.ref([]),l=0,s=n.ref(e.columns),f=R.useIdentify(e),d=R.useHierarchy(e),p=R.useGroupData(e,f),c=R.usePagination(e),u=R.useDataView(e,new Map,d,f,c),_=R.useSelection(e,u,f,r,t),m=Al(e,o),y=n.computed(()=>u.dataView.value.length),b=R.useEdit(e,t,f),S=R.useVisualDataBound(),C=R.useVisualDataCell(e,{},S),g=R.useVisualDataRow(e,b,d,f,S,C),F=R.useVisualGroupRow(e,f,C,g),x=R.useVisualSummaryRow(e,f,C,g),h=R.useVisualData(e,s,u,y,l,g,F,x),{getVisualData:V}=h;r.value=V(0,y.value+l-1);const v=n.computed(()=>{const j={"f-list-view":!0,"f-list-view-multiple":e.multiSelect};return e.size!=="default"&&(j[`${e.size}-item`]=!0),j}),w=n.computed(()=>!!t.slots.footer||i.value);function k(){return e.header==="SearchBar"?Vo:e.header==="ContentHeader"?Yl:Vo}const I=k(),{renderHeader:O}=I(e,t,m),{renderListArea:T}=Xl(e,t,r,u,p,_,h);function N(j){m.search(j)}function $(j){j&&(u.load(j),r.value=V(0,y.value+l-1))}t.expose({search:N,updateDataSource:$});function B(j){e.multiSelect&&(j.preventDefault(),j.stopPropagation())}return()=>n.createVNode("div",{class:v.value,onClick:B},[O(),n.createVNode("div",{ref:o,class:"f-list-view-content",onMouseover:()=>{a.value=!0},onMouseleave:()=>{a.value=!1}},[T()]),w.value&&n.createVNode("div",{class:"f-list-view-footer"},[t.slots.footer&&t.slots.footer()])])}}),Jl=n.defineComponent({name:"FTransfer",props:xo,emits:["change","activeChange"],setup(e,t){const o=n.ref(e.identifyField),i=n.ref("已选:"),a=n.ref("项数据"),r=n.ref(e.displayType),l=n.ref(!1),s=n.ref(e.dataSource),f=n.ref(e.selections||[]),d=n.computed(()=>f.value.map(w=>w[o.value])),p=new Map,c=n.ref();function u(){const w=new Map,k=e.selectionValues||[];k.length&&k.reduce((O,T)=>(O.set(T,!0),O),w);const I=e.selections||[];I.length&&(w.clear(),I.reduce((O,T)=>(O.set(T[o.value],!0),O),w)),f.value.length||(f.value=s.value.filter(O=>w.has(O[o.value])).map(O=>Object.assign({},O))),s.value.forEach(O=>{const T=O[o.value],N=w.has(T);O.checked=N,N&&p.set(T,O)})}u();const _=n.computed(()=>r.value==="List"),m=n.computed(()=>r.value==="Tree");function y(w){f.value=w.map(k=>Object.assign({},k)),t.emit("change",f.value)}function b(){return n.createVNode(No,{class:"f-utils-fill",data:s.value,multiSelect:!0,selection:{enableSelectRow:!0,multiSelect:!0,multiSelectMode:"OnCheckAndClick",showCheckbox:!0,showSelectAll:!1,showSelection:!0},draggable:!1,header:"Search",headerClass:"transfer-search-box","selection-values":d.value,onSelectionChange:y},{default:()=>[n.createTextVNode(" ")]})}function S(){return n.createVNode(n.Fragment,null,null)}function C(){return n.createVNode("div",{class:"f-utils-fill option-pane d-flex flex-column"},[n.createVNode("div",{class:"f-utils-flex-column option-pane-content f-utils-fill"},[n.createVNode("div",{class:"container columns-box d-flex f-utils-fill"},[_.value&&b(),m.value&&S()])])])}function g(w){const k=w[o.value];if(k!==null||k!==void 0){f.value=f.value.filter(O=>O[o.value]!==k);const I=p.get(k);I&&(I.checked=!1,p.delete(k)),t.emit("change",f.value)}}n.watch(f,w=>{c.value.updateDataSource(w)});function F(w){const k=new Map;f.value.reduce((I,O)=>(I.set(O[o.value],O),I),k),f.value=w.map(I=>k.get(I[o.value])),t.emit("change",f.value)}function x(w){t.emit("activeChange",w)}function h(){return n.createVNode(No,{ref:c,style:"flex:1",data:f.value,draggable:!0,view:"DraggableView","keep-order":!0,onChange:F,onRemoveItem:g,onActiveChange:x},null)}function V(){return n.createVNode("div",{class:"f-utils-fill selection-pane d-flex flex-column"},[n.createVNode("div",{class:"f-utils-flex-column selection-pane-content f-utils-fill"},[n.createVNode("div",{class:"selection-pane-title"},[n.createVNode("span",{class:"selection-title"},[i.value]),n.createVNode("span",{class:"selection-count"},[f.value&&f.value.length]),n.createVNode("span",{class:"selection-item-title"},[a.value])]),n.createVNode("div",{class:"container columns-box f-utils-fill d-flex"},[h()])])])}const v=n.computed(()=>({transfer:!0,row:!0,"f-utils-fill":l.value}));return()=>n.createVNode("div",{class:v.value,style:"height:480px"},[C(),V()])}}),Ql=n.defineComponent({name:"FGridFieldEditor",props:So,emits:["change"],setup(e,t){const o=n.ref(e.viewModelId),i=n.inject("designViewModelUtils"),a=n.inject("useFormSchema"),r=n.inject("controlCreatorUtils"),l=n.ref(e.modelValue);let s=e.gridData.columns;const f=n.ref([]),d=n.ref([]);let p=[];n.onMounted(()=>{c()});function c(){d.value=i.getAllFields2TreeByVMId(o.value),p=_(d.value)}function u(){if(f.value=[],!s||s.length===0)return[];s.forEach(C=>{if(C.binding&&C.binding.field){const g=p.find(F=>F.data.id===C.binding.field);g?f.value.push(Object.assign({},g.data)):f.value.push({id:C.binding.field,name:C.caption,bindingField:null,isInValidBinding:!0,inValidTip:"绑定字段不存在,请手动移除列"})}})}function _(C,g=[]){return C&&C.forEach(F=>{g.push(F),F.children&&_(F.children,g)}),g}function m(){const C=i.getDgViewModel(o.value),g=[],F=[];f.value.forEach(h=>{delete h.inValidTip,delete h.isInValidBinding;let V=s==null?void 0:s.find(v=>{if(v.binding&&v.binding.field)return v.binding.field===h.id});if(V)g.push(V);else{const v=d.value.find(k=>k.id==h.id),w=r.setGridFieldProperty(e.gridType,v.data,null,!0);C.addField(h),g.push(w)}F.push(h.id)});const x=C.fields.filter(h=>!F.includes(h.id));if(x&&x.length>0){const h=x.map(V=>V.id);C.removeField(h),a.expressions&&a.expressions.length&&h.length&&(a.expressions=a.expressions.filter(V=>!h.includes(V.fieldId)))}l.value=`共 ${g.length} 项`,t.emit("change",g)}const y={fitContent:!1,width:900,height:600,title:"列编辑器",acceptCallback:()=>{m()},rejectCallback:()=>{}};function b(C){f.value=C?[...C]:[]}function S(){return e.getLatestGridData&&(e.gridData=e.getLatestGridData(),c()),s=e.gridData.columns,u(),Promise.resolve(!0)}return()=>n.createVNode(Ze,{"button-behavior":"Modal","modal-options":y,modelValue:l.value,"onUpdate:modelValue":C=>l.value=C,editable:!1,beforeOpen:S},{default:()=>[n.createVNode("div",{class:"f-utils-absolute-all"},[n.createVNode(Jl,{selections:f.value,"data-source":d.value,class:"mx-2",onChange:C=>b(C)},null)])]})}}),Zl={$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:"col"},type:{description:"The type string of data-grid-column component",type:"string",default:"data-grid-column"},allowGrouping:{description:"",type:"boolean",default:!0},colspan:{description:"",type:"number"},dataType:{type:"string"},editor:{description:"",type:"obejct",default:{}},field:{description:"",type:"string"},filterable:{description:"",type:"boolean",default:!0},fixed:{description:"",type:"string",enum:["left","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:!0},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}}},es={$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"},allowGrouping:{description:"",type:"boolean",default:!0},colspan:{description:"",type:"number"},dataType:{type:"string"},editor:{description:"",type:"obejct"},field:{description:"",type:"string"},filterable:{description:"",type:"boolean",default:!0},fixed:{description:"",type:"string",enum:["left","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:!0},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"}}},Jt={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:{type:Number},sorter:{type:Function,default:()=>{}},origianlColSpan:{type:Number},index:{type:Number},isMultilingualField:{type:Boolean,default:!1},commands:{type:Array,default:[]},filter:{type:String,default:""},showSetting:{type:Boolean,default:!0},formatter:{type:Function,default:()=>{}},componentId:{type:String,default:""}},ts=Ie(Jt,Zl,ho,vo),ns=Ie(Jt,es,ho,vo);class os extends Ae{constructor(t,o){super(t,o)}getEditorProperties(t){return{description:"编辑器",title:"编辑器",type:"avatar",$converter:"/converter/property-editor.converter",properties:{readonly:{description:"",title:"只读",type:"boolean"},avatarWidth:{description:"",title:"头像宽度",type:"number"},avatarHeight:{description:"",title:"头像高度",type:"number"},cover:{description:"",title:"封面",type:"string"}}}}}class is extends Ae{constructor(t,o){super(t,o)}getEditorProperties(t){return this.getComponentConfig(t,{type:"check-group"},{placeholder:{visible:!1},textField:{description:"",title:"文本字段",type:"string"},valueField:{description:"",title:"值字段",type:"string"},enumData:{visible:!1,description:"",type:"array"}})}}class as extends Ae{constructor(t,o){super(t,o)}getEditorProperties(t){return this.getComponentConfig(t,{type:"check-group"},{placeholder:{visible:!1},text:{description:"",title:"显示文本",type:"string"},value:{description:"",title:"选中值",type:"string"}})}}class ko extends Ae{constructor(t,o){super(t,o)}getEditorProperties(t){return this.getComponentConfig(t,{type:"combo-list"},{editable:{description:"",title:"允许编辑",type:"boolean"},textField:{description:"",title:"数据源显示字段",type:"string"},idField:{description:"",title:"数据源值字段",type:"string"}})}}class rs extends Ae{constructor(t,o){super(t,o)}}class ls extends Ae{constructor(t,o){super(t,o)}getEditorProperties(t){return this.getComponentConfig(t,{type:"date-picker"},{displayFormat:{description:"",title:"展示格式",type:"enum",editor:{data:[{name:"yyyy-MM-dd",id:"yyyy-MM-dd"},{name:"yyyy/MM/dd",id:"yyyy/MM/dd"},{name:"yyyyMMdd",id:"yyyyMMdd"},{name:"MM/dd/yyyy",id:"MM/dd/yyyy"},{name:"yyyy年MM月dd日",id:"yyyy年MM月dd日"}]}},valueFormat:{description:"",title:"存储格式",type:"enum",editor:{data:[{name:"yyyy-MM-dd",id:"yyyy-MM-dd"},{name:"yyyy/MM/dd",id:"yyyy/MM/dd"},{name:"yyyyMMdd",id:"yyyyMMdd"},{name:"MM/dd/yyyy",id:"MM/dd/yyyy"},{name:"yyyy年MM月dd日",id:"yyyy年MM月dd日"}]}},maxYear:{description:"",title:"最大年限",type:"number"},minYear:{description:"",title:"最小年限",type:"number"}})}}class ss extends Ae{constructor(t,o){super(t,o)}getEditorProperties(t){return this.getComponentConfig(t,{type:"number-range"},{editable:{description:"",title:"允许编辑",type:"boolean"}})}}class cs extends Ae{constructor(t,o){super(t,o)}getEditorProperties(t){return this.getComponentConfig(t,{type:"number-spinner"},{textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中对齐"},{value:"right",name:"右对齐"}]}}})}}class ds extends Ae{constructor(t,o){super(t,o)}getEditorProperties(t){return this.getComponentConfig(t,{type:"number-spinner"},{readonly:{visible:!1},placeholder:{visible:!1},horizontal:{description:"",title:"是否横向",type:"boolean"},textField:{description:"",title:"显示文本字段",type:"string"},valueField:{description:"",title:"值字段",type:"string"},enumData:{visible:!1,description:"",title:"数据",type:"array"}})}}class us extends Ae{constructor(t,o){super(t,o)}getEditorProperties(t){return this.getComponentConfig(t,{type:"switch"},{readonly:{visible:!1},placeholder:{visible:!1},onLabel:{description:"",title:"打开时标签",type:"string"},offLabel:{description:"",title:"关闭时标签",type:"string"},onBackground:{description:"",title:"打开时背景色",type:"string"},offBackground:{description:"",title:"关闭时背景色",type:"string"},size:{description:"",title:"尺寸",type:"enum",editor:{data:[{value:"small",name:"小号"},{value:"middle",name:"中号"},{value:"large",name:"大号"}]}}})}}class fs extends Ae{constructor(t,o){super(t,o)}getEditorProperties(t){return this.getComponentConfig(t,{type:"time-picker"},{editable:{description:"",title:"允许编辑",type:"boolean"},format:{description:"",title:"格式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"HH:mm:ss",name:"HH:mm:ss"}]}},showHeader:{description:"",title:"是否显示头部区域",type:"boolean"},use12Hours:{description:"",title:"是否使用12小时制",type:"boolean"}})}}class ps extends _t{constructor(t,o){super(t,o)}getPropertyConfig(t,o){return this.getBasicPropConfig(t),this.getAppearanceProperties(t),this.getFieldEditorProperties(t,o),this.propertyConfig}getBasicPropConfig(t){this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},title:{description:"标题",title:"标题",type:"string"}}}}getAppearanceProperties(t){this.propertyConfig.categories.appearance={description:"",title:"外观",properties:{halign:{description:"数据水平对齐方式选择",title:"数据水平对齐方式",type:"enum",editor:{data:[{id:"left",name:"靠左"},{id:"right",name:"靠右"},{id:"center",name:"居中"}]}},valign:{description:"数据垂直对齐方式选择",title:"数据垂直对齐方式",type:"enum",editor:{data:[{id:"top",name:"靠上"},{id:"middle",name:"居中"},{id:"bottom",name:"靠下"}]}}}}}getFieldEditorProperties(t,o){o.fieldEditable&&t.editor&&this.getFieldEditorProp(t)}getFieldEditorProp(t,o="gridFieldEditor",i=!1){const a=this.formMetadataConverter.getRealEditorType(t.editor.type);let r;switch(a){case"avatar":r=new os(this.componentId,this.designerHostService);break;case"check-group":r=new is(this.componentId,this.designerHostService);break;case"check-box":r=new as(this.componentId,this.designerHostService);break;case"combo-list":r=new ko(this.componentId,this.designerHostService);break;case"date-picker":r=new ls(this.componentId,this.designerHostService);break;case"lookup":r=new Oo(this.componentId,this.designerHostService);break;case"number-range":r=new ss(this.componentId,this.designerHostService);break;case"number-spinner":r=new cs(this.componentId,this.designerHostService);break;case"radio-group":r=new ds(this.componentId,this.designerHostService);break;case"switch":r=new us(this.componentId,this.designerHostService);break;case"textarea":r=new rs(this.componentId,this.designerHostService);break;case"time-picker":r=new fs(this.componentId,this.designerHostService);break;default:r=new Dr(this.componentId,this.designerHostService)}this.setDesignViewModelField(t);var l=this;this.propertyConfig.categories[`${o}_editorType`]={description:"",title:"编辑器类型",propertyData:t.editor,tabId:"gridFieldEditor",parentPropertyID:"editor",tabName:"编辑器",properties:{type:{description:"",title:"编辑器类型",type:"enum",$converter:"/converter/change-editor.converter",refreshPanelAfterChanged:!0,editor:{type:"combo-list",textField:"value",valueField:"key",data:gt.getEditorTypesByMDataType(l.designViewModelField.type.name)}}},setPropertyRelates(d,p){if(d)switch(d&&d.propertyID){case"type":{l.changeFieldEditorType(t,d.propertyValue);break}}}};const s=["id","type","class","style","binding","label","responseLayout"],f=r.getPropertyConfig(t).categories;Object.keys(f).map(d=>{const p=f[d];let c={};if(Object.keys(p.properties).map(u=>{s.findIndex(_=>_==u)==-1&&p.properties[u]!==!1&&(c[u]=p.properties[u])}),Object.keys(c).length!=0){const u=p==null?void 0:p.title,_="gridFieldEditor",m="编辑器",y=p==null?void 0:p.description,b=(p==null?void 0:p.$converter)||"";l.propertyConfig.categories[o+"_"+d]={title:u,tabId:_,tabName:m,description:y,$converter:b,propertyData:t,properties:c}}})}changeFieldEditorType(t,o){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);i.changeField(this.designViewModelField.id,{editor:{$type:o},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1);const a=this.formSchemaUtils.getComponentByViewModelId(this.viewModelId),r=this.formSchemaUtils.selectNode(a,p=>p.type===Z["data-grid"].type||p.type===Z["tree-grid"].type);if(!r)return;const l=i.fields.find(p=>p.id==this.designViewModelField.id),s=this.controlCreatorUtils.setGridFieldProperty(o,l,null,!0),f=r.hasOwnProperty("columns")?r.columns:r.fields,d=f.findIndex(p=>p.id===t.id);d>-1&&f[d].editor&&(f[d].editor=Object.assign(s.editor,{required:f[d].editor.required}))}}function ms(e,t){const o=e.schema,i=n.ref(!0),a=n.ref(!0);function r(u){return!1}function l(){return!1}function s(){return!1}function f(){return!0}function d(u){}function p(){}function c(u){var m;return new ps(u,t).getPropertyConfig(o,(m=e==null?void 0:e.parent)==null?void 0:m.schema)}return{canAccepts:r,checkCanDeleteComponent:l,checkCanMoveComponent:s,hideNestedPaddingInDesginerView:f,onAcceptMovedChildElement:d,resolveComponentContext:p,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:a,getPropsConfig:c}}const To=n.defineComponent({name:"FDataGridColumnDesign",props:Jt,emits:[],setup(e,t){const o=n.ref(),i=n.inject("designer-host-service"),a=n.inject("design-item-context"),r=ms(a,i),l=rt(o,a,r);n.onMounted(()=>{o.value.componentInstance=l}),t.expose(l.value);function s(f){var d;(d=a==null?void 0:a.setupContext)==null||d.emit("selectionChange",l.value.schema,a.schema,e.componentId,l.value)}return()=>n.createVNode("span",{class:"fv-column-title",ref:o,onClick:f=>s()},[e.title])}});Ye.install=e=>{e.component(Ye.name,Ye),e.component(Yt.name,Yt)},Ye.register=(e,t,o,i)=>{e["data-grid"]=Ye,t["data-grid"]=bo,e["grid-field-editor"]=Ql,t["grid-field-editor"]=$l,i["data-grid"]={bindingResolver:Co,selectionItemResolver:kl}},Ye.registerDesigner=(e,t,o)=>{e["data-grid"]=Yt,t["data-grid"]=bo,t["data-grid-column"]=ts,e["data-grid-column"]=To,t["tree-grid-column"]=ns,e["tree-grid-column"]=To},lt.register=(e,t,o,i)=>{e["tree-grid"]=lt,t["tree-grid"]=Fa,i["tree-grid"]={bindingResolver:Co,selectionItemResolver:Va}},lt.registerDesigner=(e,t,o)=>{e["tree-grid"]=xl,t["tree-grid"]=Na},Gn(lt);function gs(e,t,o){return t}const hs=new Map([["appearance",Ge]]),ys={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/radio-group.schema.json",title:"radio-group",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a radio-group",type:"string"},type:{description:"The type string of radio-group component",type:"string",default:"radio-group"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"boolean",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},horizontal:{description:"",type:"boolean",default:!1},textField:{description:"",type:"string",default:"name"},valueField:{description:"",type:"string",default:"value"},enumData:{description:"",type:"array"}},required:["id","type"],ignore:["id","appearance","binding"]},vs={...Sr,id:String,disabled:{type:Boolean,default:!1},enumData:{type:Array,default:[{value:"example",name:"example1"}]},horizontal:{type:Boolean,default:!1},direction:{type:String,default:"horizontal"},modelValue:{type:String,default:""},name:{type:String,default:""},tabIndex:Number,textField:{type:String,default:"name"},valueField:{type:String,default:"value"}};Ie(vs,ys,hs,gs);const st={convertFrom:(e,t)=>t==="multiSelect"?!!e.editor[t]:t==="separator"?e.editor[t]||",":e.editor[t],convertTo:(e,t,o)=>{e.editor[t]=o}},bs={convertFrom:(e,t)=>e[t]==null?!0:e[t],convertTo:(e,t,o)=>{e[t]=o}};function Cs(e){let t="form_group_"+Date.now();return e&&(t=e.replaceAll("-","_").replaceAll(".","_")),"lookup."+t}const ws={convertFrom:(e,t)=>{var o;return(o=e.editor[t])==null?void 0:o.displayName},convertTo:(e,t,o)=>{if(o&&o.length>0){const i=o[0],{name:a,id:r,metadataContent:l}=i;e.editor.dataSource||(e.editor.dataSource={}),e.editor.dataSource.displayName=a,e.editor.helpId=r;const{displayType:s,idField:f,textField:d}=l;e.editor.displayType=s,e.editor.dataSource.idField=f,e.editor.textField=d,e.editor.dataSource.type="ViewObject",e.editor.dataSource.uri||(e.editor.dataSource.uri=Cs(e.id))}}},Ss={convertFrom:(e,t)=>{var o;return(o=e.editor.dataSource)==null?void 0:o.idField},convertTo:(e,t,o)=>{if(o&&o.length>0){const i=o[0];e.editor.dataSource.idField=i==null?void 0:i.bindingPath}}},xs={convertFrom:(e,t)=>{var o;return(o=e.editor)==null?void 0:o.textField},convertTo:(e,t,o)=>{if(o&&o.length>0){const i=o[0];e.editor.textField=i==null?void 0:i.bindingPath}}},_s={convertFrom:(e,t)=>e.editor.displayType?e.editor.displayType.toUpperCase():"LIST",convertTo:(e,t,o)=>{e.editor.displayType=o}},Io=Symbol("schema_repository_token");class Oo extends Ae{getPropertyConfig(t,o){const i=this.getBasicProperties(t,o),a=this.getAppearanceConfig(),r=this.getBehaviorConfig(t),l=this.getLookupConfig(t.editor);return{type:"object",categories:{basic:i,appearance:a,behavior:r,lookup:l}}}getBehaviorConfig(t){return{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean",$converter:st},readonly:{description:"",title:"只读",type:"boolean",$converter:st},required:{visible:!1,description:"",title:"必填",type:"boolean",$converter:st},visible:{description:"",title:"可见",type:"boolean",$converter:bs},placeHolder:{visible:!1,description:"",title:"提示文本",type:"string"},tabindex:{visible:!1,description:"",title:"tab索引",type:"number"}}}}getLookupConfig(t){return{description:"Basic Infomation",title:"编辑器",properties:{dataSource:{description:"数据源",title:"数据源",type:"string",refreshPanelAfterChanged:!0,editor:{type:"schema-selector",title:"选择数据源",editorParams:{propertyData:t,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},viewOptions:[{id:"recommend",title:"推荐",type:"List",dataSource:"Recommand",enableGroup:!0,groupField:"category",groupFormatter:(o,i)=>`${o==="local"?"本地元数据":"最近使用"}`},{id:"total",title:"全部",type:"List",dataSource:"Total"}],repositoryToken:Io,onSubmitModal:o=>{if(o){const i=this.formSchemaUtils.getFormMetadataBasicInfo();return this.metadataService.getPickMetadata(i.relativePath,o[0].data).then(a=>JSON.parse(a==null?void 0:a.metadata.content))}}},$converter:ws},displayType:{description:"类型: 树列表、列表、双列表、左树右列表",title:"展示类型",type:"string",$converter:_s,editor:{type:"combo-list",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:{type:"field-selector",bindingType:{enable:!1},textField:"bindingPath",editorParams:{propertyData:t,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:Rt},$converter:Ss},textField:{description:"显示文本字段",title:"文本字段",type:"string",$converter:xs,editor:{type:"field-selector",bindingType:{enable:!1},textField:"bindingPath",editorParams:{propertyData:t,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:Rt}},mappingFields:{description:"字段映射",title:"字段映射",type:"string",$converter:st,editor:{type:"mapping-editor",modalWidth:800,modalHeight:600,editable:!1,fromData:{editable:!1,editorParams:{propertyData:t,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},formatter:(o,i)=>`${i.raw[o.field]} [${i.raw.bindingPath}]`,idField:"id",textField:"name",valueField:"bindingPath",repositoryToken:Rt},toData:{idField:"id",textField:"name",valueField:"bindingPath",dataSource:this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId),formatter:(o,i)=>`${i.raw[o.field]} [${i.raw.bindingPath}]`}}},multiSelect:{description:"启用多选",$converter:st,title:"启用多选",type:"boolean"},separator:{description:"多选分隔符",$converter:st,title:"多选分隔符",type:"string"}}}}}function Fs(e,t){const{canAccepts:o,checkCanDeleteComponent:i,checkCanMoveComponent:a,hideNestedPaddingInDesginerView:r,onAcceptMovedChildElement:l,resolveComponentContext:s,triggerBelongedComponentToMoveWhenMoved:f,triggerBelongedComponentToDeleteWhenDeleted:d}=bn(e);function p(c,u){const _=e.schema;return new Oo(c,t).getPropertyConfig(_,u)}return{canAccepts:o,checkCanDeleteComponent:i,checkCanMoveComponent:a,hideNestedPaddingInDesginerView:r,onAcceptMovedChildElement:l,resolveComponentContext:s,triggerBelongedComponentToMoveWhenMoved:f,triggerBelongedComponentToDeleteWhenDeleted:d,getPropsConfig:p}}const Vs=n.defineComponent({name:"FLookupDesign",props:mt,emits:[],setup(e,t){const o=n.ref(),i=n.inject("design-item-context"),a=n.inject("designer-host-service"),r=Fs(i,a),l=rt(o,i,r);return n.onMounted(()=>{o.value.componentInstance=l}),t.expose(l.value),()=>n.createVNode("div",{class:"f-lookup-design",ref:o},[n.createVNode(hn,{ref:o,readonly:!0,editable:!1,placeholder:e.placeholder},null)])}});Ze.register=(e,t,o,i)=>{e["button-edit"]=Ze,t["button-edit"]=un},Ze.registerDesigner=(e,t,o)=>{e["button-edit"]=hn,t["button-edit"]=un},Xe.withInstall(Ze);const $o=new Map([["appearance",Ge]]);function Bo(e,t,o){return t}const Ns={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/layout.schema.json",title:"layout",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for layout component",type:"string"},type:{description:"The type string of layout component",type:"string",default:"layout"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},contents:{description:"",type:"array",default:[]},collapsable:{description:"",type:"boolean",default:!1},resizable:{description:"",type:"boolean",default:!0},visible:{description:"",type:"boolean",default:!0}},required:["id","type","contents"]},ks={title:"layout",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"类型",title:"类型",type:"string",readonly:!0}}},behavior:{description:"Basic Infomation",title:"行为",properties:{collapsable:{description:"",title:"可收折",type:"boolean"},resizable:{description:"",title:"可调整尺寸",type:"boolean"}}}}},Qt={customStyle:{type:String,defaut:""},customClass:{type:String,defaut:""}},Mo=Ie(Qt,Ns,$o,Bo,ks);function jo(e){const t=n.ref(-1),o=n.ref(-1),i=n.ref(0),a=n.ref(0),r=n.ref(!1),l=n.ref(!1),s=n.computed(()=>({display:r.value?"block":"none",left:`${i.value}px`,cursor:"e-resize"})),f=n.computed(()=>({display:l.value?"block":"none",top:`${a.value}px`,cursor:"n-resize"})),d=n.computed(()=>({display:l.value||r.value?"block":"none"}));function p(b,S,C,g){const F=e.value;if(F){const{left:x,right:h,width:V}=F.getBoundingClientRect();let v=b.clientX-x;g==="right"&&(v=h-b.clientX),v>S&&(v=S),v<C&&(v=C),g==="right"&&(v=V-v),i.value=v}}function c(b,S,C,g){const F=e.value;if(F){const{top:x,bottom:h,height:V}=F.getBoundingClientRect();let v=b.clientY-x;g==="bottom"&&(v=h-b.clientY),v>S&&(v=S),v<C&&(v=C),g==="bottom"&&(v=V-v),a.value=v}}function u(){const b=e.value;if(b){const{width:S,height:C}=b.getBoundingClientRect();return{width:S,height:C}}return null}function _(){const b=e.value;return b?Array.from(b.querySelectorAll("[data-position]")).reduce((S,C)=>{const g=C.getAttribute("data-position");return S=Object.assign(S,{[g]:C}),S},{}):null}function m(b,S){const C=u(),g=_();if(C&&g){const F=g==null?void 0:g.right,x=g==null?void 0:g.left;if(b==="left"&&x)return F?C.width-F.clientWidth-S:C.width-S;if(b==="right"&&F)return x?C.width-x.clientWidth-S:C.width-S}}function y(b,S){const C=u(),g=_();if(C&&g){const F=g==null?void 0:g.bottom,x=g==null?void 0:g.top;if(b==="top"&&x)return F?C.height-F.clientHeight-S:C.height-S;if(b==="bottom"&&F)return x?C.height-x.clientHeight-S:C.height-S}}return{horizontalResizeHandleStyle:s,verticalResizeHandleStyle:f,resizeOverlayStyle:d,showHorizontalResizeHandle:r,showVerticalResizeHandle:l,horizontalResizeBarPosition:t,verticalResizeBarPosition:o,verticalResizeHandleOffset:a,horizontalResizeHandleOffset:i,draggingHorizontalResizeHandle:p,draggingVerticalResizeHandle:c,getPanelMaxHeight:y,getPanelMaxWidth:m}}const nt=n.defineComponent({name:"FLayout",props:Qt,emits:[],setup(e,t){const o=n.ref(),i=jo(o),{horizontalResizeHandleStyle:a,verticalResizeHandleStyle:r,resizeOverlayStyle:l}=i;n.provide("layout",{useResizeHandleComposition:i});const s=n.computed(()=>Cr({"f-layout":!0},e==null?void 0:e.customClass)),f=n.computed(()=>wr({},e==null?void 0:e.customStyle));return()=>n.createVNode("div",{class:s.value,style:f.value,ref:o},[t.slots.default&&t.slots.default(),n.createVNode("div",{class:"f-layout-resize-overlay",style:l.value},null),n.createVNode("div",{class:"f-layout-horizontal-resize-proxy",style:a.value},null),n.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:r.value},null)])}}),Ts={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/layout-pane.schema.json",title:"layout-pane",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a layout pane",type:"string"},type:{description:"The type string of layout paney",type:"string",default:"layout-pane"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},collapsable:{description:"",type:"boolean",default:!1},contents:{description:"",type:"array",default:[]},height:{description:"",type:"number"},position:{description:"",type:"string",default:"left",enum:["left","center","right","top","bottom"]},resizeable:{description:"",type:"boolean",default:!0},width:{description:"",type:"number"},visible:{description:"",type:"number",default:!0}}},Is={title:"layout-pane",description:"A Farris Container Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"enum"},width:{description:"",type:"number",title:"宽度"},height:{description:"",type:"number",title:"高度"}}},appearance:{title:"样式",description:"Appearance",properties:{class:{title:"class",type:"string",description:""},style:{title:"style",type:"string",description:""}}},behavior:{description:"",title:"行为",properties:{collapsable:{description:"",type:"boolean",title:"允许收折"},position:{description:"",type:"enum",title:"位置",editor:{type:"combo-list",data:[{id:"left",name:"左侧"},{id:"center",name:"居中"},{id:"right",name:"右侧"},{id:"top",name:"顶部"},{id:"bottom",name:"底部"}]}},resizeable:{description:"",type:"boolean",title:"允许调整尺寸"},visible:{description:"运行时组件是否可见",type:"boolean",title:"是否可见"}}}}},Zt={customClass:{type:String,defaut:""},customStyle:{type:String,defaut:""},width:{type:Number,default:-1},height:{type:Number,default:-1},position:{type:String,default:"left"},visible:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},collapsable:{type:Boolean,default:!1},minWidth:{type:Number,default:100},minHeight:{type:Number,default:100}},Po=Ie(Zt,Ts,$o,Bo,Is);function Do(e,t,o,i,a){const{horizontalResizeBarPosition:r,horizontalResizeHandleOffset:l,showHorizontalResizeHandle:s,showVerticalResizeHandle:f,verticalResizeBarPosition:d,verticalResizeHandleOffset:p,draggingHorizontalResizeHandle:c,draggingVerticalResizeHandle:u,getPanelMaxHeight:_,getPanelMaxWidth:m}=a;let y="",b,S,C;function g(h){if((y==="left"||y==="right")&&S){const{left:V}=S.getBoundingClientRect(),{width:v}=b.getBoundingClientRect(),w=h.clientX-V;let k=y==="left"?(v||0)+(w-r.value):(v||0)-(w-r.value);k=o.value>0?Math.max(o.value,k):k;const I=m(y,o.value);I!=null&&(k=I>k?k:I),e.value=k}if((y==="top"||y==="bottom")&&S){const{top:V}=S.getBoundingClientRect(),{height:v}=b.getBoundingClientRect(),w=h.clientY-V;let k=y==="top"?(v||0)+(w-d.value):(v||0)-(w-d.value);k=i.value>0?Math.max(i.value,k):k;const I=_(y,i.value);I!=null&&(k=I>k?k:I),t.value=k}l.value=0,p.value=0,r.value=-1,d.value=-1,s.value=!1,f.value=!1,document.removeEventListener("mousemove",C),document.removeEventListener("mouseup",g),document.body.style.userSelect="",y="",b=null,S=null}function F(h,V,v){if(y=V,b=v,s.value=!0,S=h.composedPath().find(k=>(k.className||"").split(" ")[0]==="f-layout"),S){const{left:k}=S.getBoundingClientRect(),I=h.clientX-k;l.value=I,r.value=I;const O=m(y,o.value)||0;C=T=>c(T,O,o.value,y),document.addEventListener("mousemove",C),document.addEventListener("mouseup",g),document.body.style.userSelect="none"}}function x(h,V,v){if(y=V,b=v,f.value=!0,S=h.composedPath().find(k=>(k.className||"").split(" ")[0]==="f-layout"),S){const{top:k}=S.getBoundingClientRect();p.value=h.clientY-k,d.value=h.clientY-k;const I=_(y,i.value)||0;C=O=>u(O,I,i.value,y),document.addEventListener("mousemove",C),document.addEventListener("mouseup",g),document.body.style.userSelect="none"}}return{onClickHorizontalResizeBar:F,onClickVerticalResizeBar:x}}const yt=n.defineComponent({name:"FLayoutPane",props:Zt,emits:[],setup(e,t){const o=n.ref(e.minHeight<=0?100:e.minHeight),i=n.ref(e.minWidth<=0?100:e.minWidth),a=n.ref(e.width<=0?100:e.width),r=n.ref(e.height<=100?100:e.height),l=n.ref(Math.max(o.value,r.value)),s=n.ref(Math.max(i.value,a.value)),f=n.ref(),d=n.ref(e.position),p=n.ref(e.resizable);n.watch(()=>e.resizable,x=>{p.value=x});const c=n.inject("layout"),{useResizeHandleComposition:u}=c,_=Do(s,l,i,o,u),{onClickHorizontalResizeBar:m,onClickVerticalResizeBar:y}=_,b=n.computed(()=>({"f-layout-resize-bar":!0,"f-layout-resize-bar-e":d.value==="left","f-layout-resize-bar-n":d.value==="bottom","f-layout-resize-bar-s":d.value==="top","f-layout-resize-bar-w":d.value==="right"})),S=n.computed(()=>d.value!=="center"&&p.value);function C(x,h){(h==="left"||h==="right")&&m(x,h,f.value),(h==="top"||h==="bottom")&&y(x,h,f.value)}const g=n.computed(()=>{const x={"f-layout-pane":!0,"f-page-content-nav":d.value==="left"||d.value==="right","f-page-content-main":d.value==="center"};return e.customClass&&String(e.customClass).split(" ").reduce((h,V)=>(h[V]=!0,h),x),x}),F=n.computed(()=>{const x={};return(s.value&&d.value==="left"||d.value==="right")&&(x.width=`${s.value}px`),(l.value&&d.value==="bottom"||d.value==="top")&&(x.height=`${l.value}px`),e.visible||(x.display="none"),x});return()=>n.createVNode("div",{ref:f,class:g.value,style:F.value,"data-position":d.value},[t.slots.default&&t.slots.default(),S.value&&n.createVNode("span",{class:b.value,onMousedown:x=>C(x,d.value)},null)])}});function Os(e,t){function o(){return!1}return{canAccepts:o}}const $s=n.defineComponent({name:"FLayoutDesign",props:Qt,emits:[],setup(e,t){var p;const o=n.ref(),i=n.inject("design-item-context"),a=Os(i.schema,(p=i.parent)==null?void 0:p.schema),r=rt(o,i,a);r.value.canNested=!1;const l=jo(o),{horizontalResizeHandleStyle:s,verticalResizeHandleStyle:f,resizeOverlayStyle:d}=l;return n.provide("layout",{useResizeHandleComposition:l}),n.onMounted(()=>{o.value.componentInstance=r}),t.expose(r.value),()=>n.createVNode("div",{class:"f-layout f-page-content",ref:o},[t.slots.default&&t.slots.default(),n.createVNode("div",{class:"f-layout-resize-overlay",style:d.value},null),n.createVNode("div",{class:"f-layout-horizontal-resize-proxy",style:s.value},null),n.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:f.value},null)])}});function Bs(e,t){function o(r){return!!cr().basalDragulaRuleForContainer(r)}function i(r,l,s){return s}function a(){const r=["f-layout-pane"];return(e.position==="left"||e.position==="right")&&r.push("f-page-content-nav"),e.position==="center"&&r.push("f-page-content-main"),r.join(" ")}return{canAccepts:o,getDesignerClass:a,onAcceptNewChildElement:i}}const Ms=n.defineComponent({name:"FLayoutPaneDesign",props:Zt,emits:[],setup(e,t){var x;const o=n.ref(),i=n.ref(),a=n.inject("design-item-context"),r=Bs(a.schema,(x=a.parent)==null?void 0:x.schema),l=rt(i,a,r);l.value.canNested=!1,l.value.canMove=!1,l.value.canDelete=!1,n.onMounted(()=>{i.value.componentInstance=l}),t.expose(l.value);const s=n.ref(Math.max(e.minHeight,e.height)),f=n.ref(Math.max(e.minWidth,e.width)),d=n.ref(e.minHeight),p=n.ref(e.minWidth),c=n.ref(e.position),u=n.inject("layout"),{useResizeHandleComposition:_}=u,m=Do(f,s,p,d,_),{onClickHorizontalResizeBar:y,onClickVerticalResizeBar:b}=m,S=n.computed(()=>({"f-layout-resize-bar":!0,"f-layout-resize-bar-e":c.value==="left","f-layout-resize-bar-n":c.value==="bottom","f-layout-resize-bar-s":c.value==="top","f-layout-resize-bar-w":c.value==="right"}));function C(h,V){(V==="left"||V==="right")&&y(h,V,o.value),(V==="top"||V==="bottom")&&b(h,V,o.value)}const g=n.computed(()=>{const h={"f-layout-pane":!0,"f-page-content-nav":c.value==="left"||c.value==="right","f-page-content-main":c.value==="center"};return e.customClass&&String(e.customClass).split(" ").reduce((V,v)=>(V[v]=!0,V),h),h}),F=n.computed(()=>{const h={flex:"1"};return(f.value&&c.value==="left"||c.value==="right")&&(h.width=`${f.value}px`),(s.value&&c.value==="bottom"||c.value==="top")&&(h.height=`${s.value}px`),h});return()=>n.createVNode("div",{ref:o,class:g.value,style:F.value},[n.createVNode("div",{ref:i,class:"drag-container","data-dragref":`${a.schema.id}-container`},[t.slots.default&&t.slots.default()]),n.createVNode("span",{class:S.value,onMousedown:h=>C(h,c.value)},null)])}});nt.install=e=>{e.component(nt.name,nt),e.component(yt.name,yt)},nt.register=(e,t,o,i)=>{e.layout=nt,t.layout=Mo,e["layout-pane"]=yt,t["layout-pane"]=Po},nt.registerDesigner=(e,t,o)=>{e.layout=$s,t.layout=Mo,e["layout-pane"]=Ms,t["layout-pane"]=Po};function vt(e){function t(d){const p={enable:!0,sizeLimits:[10,20,30,50,100],size:20,index:1,total:0,mode:"server"},c=Object.assign({},p,d||e.pagination);return e.pagination?c:p}function o(){return{enableSelectRow:!0,multiSelect:e.multiSelect,showCheckbox:e.multiSelect,multiSelectMode:"DependOnCheck"}}function i(){return{fitColumns:e.fitColumns,fitMode:"percentage",resizeColumn:!0}}function a(){return typeof e.displayType=="string"&&e.displayType in Ue?!1:e.displayType.toLowerCase().indexOf("nav")===0}function r(){return e.displayType.toLowerCase()===Ue.Tree.toLowerCase()||e.displayType.toLowerCase()===Ue.ListTree.toLowerCase()}function l(){return e.displayType.toLowerCase()===Ue.TreeList.toLowerCase()}function s(){const d=e.displayType.toLowerCase();return d===Ue.ListList.toLowerCase()||d===Ue.ListTree.toLowerCase()}function f(){return e.navigation?{width:e.navigation.width||320,minWidth:e.navigation.minWidth||200}:null}return{checkPaination:t,checkMultiSelect:o,checkColumnOptions:i,isDoubleList:a,getNavigationSize:f,isTreeList:r,navIsTreeList:l,navIsList:s}}const He=n.reactive({}),ye=n.reactive({}),Oe=n.reactive({}),ct=n.reactive({}),Ke=n.reactive({}),bt=n.ref([]);function Ro(e){var i;const t=n.ref(e.searchFields||[]),o=n.ref(((i=e.navigation)==null?void 0:i.searchFields)||[]);return n.watch(()=>ye==null?void 0:ye.searchFields,a=>{t.value=a}),n.watch(()=>Oe==null?void 0:Oe.searchFields,a=>{o.value=a}),{searchFieldItems:t,navSearchFieldItems:o}}const en=n.ref();function Ct(e,t){const o=n.inject("FLoadingService",null),i=n.inject(yn,null),{searchFieldItems:a}=Ro(e),r=n.ref(e.uri);function l(m,y,b=!1){if(!y.trim())return[];const S=Array.from(new Set(y.trim().split(" ").filter(F=>F.trim())));if(!m||!S.length)return[];const C=(m||[]).map((F,x)=>{const h=S.map((V,v)=>({filterField:F.value,value:V,lbracket:"",rbracket:"",relation:xt.And,compare:Pt.Like}));return h.length&&(h.length>1&&(h[0].lbracket="(",h[h.length-1].rbracket=")"),h[h.length-1].relation=xt.Or),h}).filter(F=>F.length);let g=[];return C&&C.length&&(g=Re.flatten(C),g.length>1&&(g[0].lbracket+="(",g[g.length-1].rbracket+=")"),g[g.length-1].relation=0),g}function s(m,y){const b={};b.category=y;let S=null,C=null;if(m!=null&&m.search){const{field:g,value:F,isNavigation:x,type:h}=m.search,V=h||"like";if(F&&(b.searchValue=F.trim()),b.searchField=g?g.trim():"*",b.searchType=V,x&&(b.category="navsearch"),!e.enableMultiFieldSearch&&b.searchField==="*"){const v=l(a.value,F,x);v&&v.length&&(x?S=v:C=v),F===""&&b.category==="search"&&!C&&!S&&(b.category="all")}}return{searchParam:b,navSearchConditions:S,searchConditions:C}}function f(m){var F,x;const y={},b=(m==null?void 0:m.action)||"all",{searchParam:S,navSearchConditions:C,searchConditions:g}=s(m,b);return g&&(y.searchConditions=g),C&&(y.navSearchConditions=C),y.searchValue=JSON.stringify(S),y.pageIndex=((F=He.default)==null?void 0:F.index)||1,y.pageSize=((x=He.default)==null?void 0:x.size)||20,y.treeToList=e.treeToList,y.navTreeToList=e.navTreeToList,y.loadTreeDataType=e.loadTreeDataType,m!=null&&m.relationFilter&&(y.relationFilter=[...m.relationFilter]),m.selectedInfo&&(y.selectedInfo=m.selectedInfo),y.customData=n.toRaw(en.value),y}function d(m){return m==null?void 0:m.map(y=>(y.resizable=!0,y))}function p(m,y){return m.map(b=>{const S=y==null?void 0:y.find(C=>C.field.toLowerCase()===b.value.toLowerCase());return S&&(b.label=S.title),b})}function c(m){m.columns&&(m.columns=d(m.columns),m.searchFields&&(m.searchFields=p(m.searchFields,m.columns))),m.navigation&&m.navigation.columns&&(m.navigation.columns=d(m.navigation.columns),m.navigation.searchFields&&(m.navigation.searchFields=p(m.navigation.searchFields,m.navigation.columns)))}function u(m){return r.value&&i?i.getData(r.value,m).then(y=>(c(y),y)):new Promise((y,b)=>{y({columns:[...e.columns],items:[...e.data],searchFields:[...e.searchFields],navigation:{...e.navigation}})})}function _(m,y){const b=f(m);o==null||o.show(),u(b).then(S=>{o==null||o.clearAll(),y(S)})}return{getData:u,loadData:_}}function Eo(e){n.watch(()=>e.pagination,o=>{He.default=o}),n.watch(()=>{var o;return(o=e.navigation)==null?void 0:o.pagination},o=>{He.navigation=o});function t(o,i=!1){o&&(i?He.navigation={...He.navigation,...o}:He.default={...He.default,...o})}return{updatePageInfo:t}}function js(e,t,o){const{checkPaination:i,checkMultiSelect:a,checkColumnOptions:r}=vt(e),{updatePageInfo:l}=Eo(e),s=i(),f=a(),d=r(),p=n.ref(),c=n.ref([]),u=n.ref([]),{navSelectedItems:_,getNavigationIdField:m,getRelationFilter:y}=o;l(s);const b=n.ref(He.default),{loadData:S}=Ct(e);n.watch(()=>He.default,w=>{b.value=w});function C(w){var k;(k=p.value)==null||k.updateDataSource(w||[])}function g(w){var k;(k=p.value)==null||k.updateColumns(w)}n.watch(()=>_.value,w=>{if(e.uri){const I=y(w);l({index:1}),S({relationFilter:I,action:"list"},O=>{C(O.items)});return}const k=w.map(I=>I[m()]);t.emit("navSelectionsChanged",{items:w,ids:k})}),n.watch([()=>ye==null?void 0:ye.columns,()=>ye==null?void 0:ye.items,()=>ye==null?void 0:ye.pageInfo,()=>ye==null?void 0:ye.total],([w,k,I,O])=>{const T={total:O};if(I){const{pageIndex:N,pageSize:$,enablePager:B,pageList:j}=I;Object.assign(T,{index:N,size:$,enable:B,sizeLimits:j})}l(T),w&&g(w),C(k)}),n.watch(()=>e.idValue,w=>{c.value=w.split(e.separator)}),n.watch(()=>u.value,w=>{bt.value=w});function F(w){u.value=w}function x(){S({search:Ke.default,action:"list"},w=>{C(w.items)})}n.watch(()=>Ke.default,w=>{if(e.uri){l({index:1}),x();return}t.emit("search",w)});function h(w){var I;const k={index:w,isNavigation:!1};if(l(k),w!==((I=b.value)==null?void 0:I.index)){if(e.uri){x();return}t.emit("pageIndexChanged",k)}}function V(w){const k={size:w,index:1,isNavigation:!1};if(l(k),e.uri){x();return}t.emit("pageSizeChanged",k)}function v(){return n.createVNode(Ye,{ref:p,pagination:b.value,summary:{enable:!1},columnOption:d,idField:e.idField,rowNumber:{enable:!1},showBorder:!0,fit:!0,selection:f,selectionValues:c.value,onSelectionChange:F,onPageIndexChanged:h,onPageSizeChanged:V},null)}return{datagridRef:p,selectedItems:u,selectionValues:c,renderDataGrid:v}}function Ps(e,t){const{checkMultiSelect:o,checkColumnOptions:i}=vt(e),a=o(),r=i(),l=n.ref(),s=n.ref([]),f=n.ref([]),{loadData:d}=Ct(e);function p(y){var b;(b=l.value)==null||b.updateDataSource(y||[])}function c(y){var b;(b=l.value)==null||b.updateColumns(y)}n.watch([()=>ye==null?void 0:ye.columns,()=>ye==null?void 0:ye.items,()=>ye==null?void 0:ye.pageInfo,()=>ye==null?void 0:ye.total],([y,b,S,C])=>{y&&c(y),p(b)}),n.watch(()=>f.value,y=>{bt.value=y});function u(y){f.value=y}function _(){d({search:Ke.default,action:"list"},y=>{p(y.items)})}n.watch(()=>Ke.default,y=>{if(e.uri){_();return}t.emit("search",y)});function m(){return n.createVNode(lt,{ref:l,fit:!0,data:e.data,idField:e.idField,columns:e.columns,rowNumber:{enable:!1},columnOption:r,selection:a,showBorder:!0,displayField:"code",onSelectionChange:u},null)}return{treegridRef:l,selectedTreeNodes:f,selectionTreeValues:s,renderTreeGrid:m}}const Ds=new Map([["appearance",Ge]]),Rs={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},data:{description:"",type:"array"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"],ignore:["id","appearance","binding"]};function Es(e,t,o){return t}const tn={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-60-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!1},enableTitle:{default:!0,type:Boolean},fitEditor:{default:!1,type:Boolean},forcePlaceholder:{default:!1,type:Boolean},hidePanelOnClear:{default:!0,type:Boolean},idField:{default:"id",type:String},mapFields:{type:Object},maxHeight:{default:350,type:Number},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{},placeholder:{type:String},placement:{type:String,default:"auto"},readonly:{default:!1,type:Boolean},remote:{default:null,type:Object},remoteSearch:{default:!1,type:Boolean},separator:{default:",",type:String},tabIndex:{type:Number,default:-1},textField:{default:"name",type:String},titleField:{default:"name",type:String},valueField:{default:"id",type:String},viewType:{default:"tag",type:String},change:{type:Function,default:()=>{}},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!0},beforeOpen:{type:Function,default:null},searchOption:{type:Object,default:!1},enableHighlightSearch:{type:Boolean,default:!0}},Lo=Ie(tn,Rs,Ds,Es),Ls={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:Object,default:!1},enableHighlightSearch:{type:Boolean,default:!0},showCheckbox:{type:Boolean,default:!1}},As=n.defineComponent({name:"FComboListContainer",props:Ls,emits:["selectionChange"],setup(e,t){const o=n.ref(),i=n.ref(e.dataSource),a=n.ref([]),r=n.ref(e.separator),l=n.ref(e.width),s=n.ref(e.maxHeight),f=n.ref(String(e.selectedValues).split(r.value)),d=n.computed(()=>e.multiSelect),p=n.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:d.value,showSelectAll:!1,showSelection:!0}));n.watch(e.dataSource,()=>{i.value=e.dataSource});const c=n.computed(()=>e.enableSearch?"SearchBar":"ContentHeader"),u=n.computed(()=>{const y={};return l.value!==void 0&&(y.width=`${l.value}px`),s.value!==void 0&&s.value>0&&(y.maxHeight=`${s.value}px`),y});function _(y){a.value=y.map(b=>Object.assign({},b)),f.value=y.map(b=>b[e.idField]),t.emit("selectionChange",a.value)}function m(y){if(e.enableHighlightSearch)return;let b=[];typeof e.searchOption=="function"?b=i.value.filter(S=>e.searchOption(y,S)):b=i.value.filter(S=>S[e.valueField].indexOf(y)>-1||S[e.textField].indexOf(y)>-1),o.value.updateDataSource(b)}return n.watch([()=>e.selectedValues],([y])=>{f.value=y.split(r.value)}),()=>n.createVNode("div",{class:"f-combo-list-container pl-1",style:u.value},[n.createVNode(sn,{ref:o,size:"small",itemClass:"f-combo-list-item",header:c.value,headerClass:"f-combo-list-search-box",data:i.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:p.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:f.value,onSelectionChange:_,onAfterSearch:m},null)])}});function Hs(e){const t=n.ref(""),o=n.ref(e.modelValue),i=n.ref(e.data||[]),a=n.ref(e.editable);function r(c){const u=String(c).split(e.separator),_=u.map(b=>[b,!0]),m=new Map(_);return i.value.filter(b=>m.has(String(b[e.valueField]))).sort((b,S)=>{const C=u.indexOf(b[e.valueField]),g=u.indexOf(S[e.valueField]);return C-g})}function l(c){const u=r(c).map(_=>_[e.textField]).join(e.separator);t.value=a.value?u||c:u}function s(c){const u=c.split(e.separator).map(m=>[m,!0]),_=new Map(u);return i.value.filter(m=>_.has(m[e.textField]))}function f(c){const u={};return u[e.idField]=c,u[e.textField]=c,[u]}function d(c){let u=s(c);const _=u&&u.length>0;return a.value&&!_&&(u=f(c)),u}function p(){const{url:c,method:u="GET",headers:_={},body:m=null}=e.remote,y=u.toLowerCase()=="get"?{method:u,headers:_}:{method:u,headers:_,body:m};let b=!1;fetch(c,y).then(S=>{var g,F;if(S.status===200)return b=!!((F=(g=S.headers)==null?void 0:g.get("content-type"))!=null&&F.includes("application/json")),b?S.text():S.json();throw new Error(S.statusText)}).then(S=>{i.value=b?JSON.parse(S):S}).catch(S=>{console.error(S)})}return e.remote&&p(),n.watch(()=>e.data,()=>{i.value=e.data}),n.watch([i],([c])=>{if(e.modelValue){const u=c.find(_=>_[e.valueField]===e.modelValue);u&&(t.value=u[e.textField])}}),n.watch(()=>e.modelValue,c=>{o.value=c,l(c)}),l(e.modelValue),{dataSource:i,displayText:t,editable:a,modelValue:o,getItemsByDisplayText:s,getItemsByValue:r,getSelectedItemsByDisplayText:d}}const wt=n.defineComponent({name:"FComboList",props:tn,emits:["clear","update:modelValue","change","input"],setup(e,t){const o=n.ref(),i=n.ref(e.disabled),a=n.ref(e.enableClear),r=n.ref(e.enableSearch),l=n.ref(e.readonly),{dataSource:s,displayText:f,editable:d,modelValue:p,getSelectedItemsByDisplayText:c}=Hs(e),u=n.computed(()=>e.multiSelect),_=n.computed(()=>o.value?o.value.elementRef.getBoundingClientRect().width:0);function m(){!u.value&&o.value&&o.value.hidePopup()}function y(x){f.value=x.map(h=>h[e.textField]).join(e.separator),x.length===1?p.value=x[0][e.valueField]:p.value=x.map(h=>h[e.valueField]).join(e.separator),t.emit("update:modelValue",p.value),t.emit("change",x,p.value),m()}function b(){l.value||o.value.togglePopup()}function S(x){p.value="",t.emit("update:modelValue",""),t.emit("clear")}function C(x){const h=c(x);y(h)}function g(){return f.value}function F(x){t.emit("input",x)}return t.expose({getDisplayText:g}),n.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([x,h,V,v,w])=>{i.value=x,d.value=h,a.value=V,r.value=v,l.value=w}),()=>n.createVNode(ln,{ref:o,id:e.id,disable:i.value,readonly:l.value,forcePlaceholder:e.forcePlaceholder,editable:d.value,buttonContent:e.dropDownIcon,placeholder:e.placeholder,enableClear:a.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:f.value,"onUpdate:modelValue":x=>f.value=x,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:S,onClick:b,onChange:C,onInput:F,beforeOpen:e.beforeOpen},{default:()=>[n.createVNode(As,{idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:s.value,selectedValues:p.value,multiSelect:e.multiSelect,enableSearch:r.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?_.value:void 0,onSelectionChange:y},null)]})}});function Gs(e,t){const{canAccepts:o,checkCanDeleteComponent:i,checkCanMoveComponent:a,hideNestedPaddingInDesginerView:r,onAcceptMovedChildElement:l,resolveComponentContext:s,triggerBelongedComponentToMoveWhenMoved:f,triggerBelongedComponentToDeleteWhenDeleted:d}=bn(e),p=e.schema;function c(u,_){return new ko(u,t).getPropertyConfig(p,_)}return{canAccepts:o,checkCanDeleteComponent:i,checkCanMoveComponent:a,hideNestedPaddingInDesginerView:r,onAcceptMovedChildElement:l,resolveComponentContext:s,triggerBelongedComponentToMoveWhenMoved:f,triggerBelongedComponentToDeleteWhenDeleted:d,getPropsConfig:c}}const Ws=n.defineComponent({name:"FComboListDesign",props:tn,emits:["clear","update:modelValue","change"],setup(e,t){const o=n.ref(),i=n.inject("designer-host-service"),a=n.inject("design-item-context"),r=Gs(a,i),l=nn.useDesignerComponent(o,a,r);return n.onMounted(()=>{o.value.componentInstance=l}),t.expose(l.value),()=>n.createVNode(Hi,{ref:o,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}});wt.register=(e,t,o,i)=>{e["combo-list"]=wt,t["combo-list"]=Lo},wt.registerDesigner=(e,t,o)=>{e["combo-list"]=Ws,t["combo-list"]=Lo},Gn(wt);const zs={fields:{type:Array,default:()=>[]},showAllColumns:{type:Boolean,default:!0}},qs=n.defineComponent({name:"FLookupSearchBar",props:zs,emits:["search"],setup(e,t){const o=n.ref(e.fields||[]),i=n.ref(""),a=n.ref(ct.value),r=n.computed(()=>({field:i.value,value:a.value}));function l(){if(!o.value.length)return;let p="";e.showAllColumns&&(p="*"),p=o.value[0].value;const c=o.value.find(u=>!!u.isDefault);c&&(p=c.value),i.value=p}n.watch(()=>e.fields,p=>{o.value=p,l()});function s(){t.emit("search",r.value)}function f(){a.value="",s()}function d(p){p.key==="Enter"&&s()}return n.onMounted(()=>{l()}),()=>n.createVNode("div",{class:"fv-lookup-search-bar d-flex flex-row"},[n.createVNode("div",{style:"width: 160px;"},[n.createVNode(wt,{data:o.value,textField:"label",valueField:"value",idField:"value",modelValue:i.value,"onUpdate:modelValue":p=>i.value=p,enableClear:!1},null)]),n.createVNode("div",{class:"f-utils-fill ml-2"},[n.createVNode(Ze,{buttonContent:'<i class="f-icon f-icon-search"></i>',modelValue:a.value,"onUpdate:modelValue":p=>a.value=p,onClickButton:s,enableClear:!0,onClear:f,onKeyup:d},null)])])}});function Ao(e,t){const{searchFieldItems:o,navSearchFieldItems:i}=Ro(e),a=n.ref([]),r=n.ref([]);function l(d,p=!1){e.showAllSearchColumns,p?r.value=d:a.value=d}l(o.value),l(i.value,!0),n.watch(()=>o.value,d=>{l(d)}),n.watch(()=>i.value,d=>{l(d,!0)});function s(d){const p={...d};if(t){Ke.navigation=p;return}Ke.default=p}function f(){const d=t?r.value||[]:a.value||[];if(e.enableSearchBar&&d.length>0)return n.createVNode("div",{class:"p-2"},[n.createVNode(qs,{fields:d,showAllColumns:e.showSearchAllColumns,onSearch:s},null)])}return{renderSearchBar:f}}function Us(e,t){const{renderSearchBar:o}=Ao(e,!0),{checkPaination:i,navIsList:a,navIsTreeList:r}=vt(e),{updatePageInfo:l}=Eo(e),{loadData:s}=Ct(e),f=n.ref([]),d=e.navigation;if(a()){const I=i(d.pagination);l(I,!0)}const p={enableSelectRow:!0,multiSelect:!1,showCheckbox:!1},c={fitColumns:!0,fitMode:"percentage",resizeColumn:!0},u=n.ref(),_=n.ref();function m(I){var O;(O=_.value)==null||O.updateDataSource(I)}function y(I){var O;(O=_.value)==null||O.updateColumns(I)}n.watch([()=>Oe==null?void 0:Oe.columns,()=>Oe==null?void 0:Oe.items,()=>Oe==null?void 0:Oe.pageInfo,()=>Oe==null?void 0:Oe.total],([I,O,T,N])=>{I&&y(I),m(O);const $={total:N};if(T){const{pageIndex:B,pageSize:j,enablePager:P,pageList:M}=T;Object.assign($,{index:B,size:j,enable:P,sizeLimits:M})}l($,!0)});function b(I){f.value=I}function S(I){f.value=I}function C(){s({search:Ke.navigation,action:"navsearch"},I=>{m(I.items)})}n.watch(()=>Ke.navigation,I=>{if(e.uri){l({index:1}),C();return}t.emit("search",I)});function g(I){const O={index:I,isNavigation:!0};if(l(O),e.uri){C();return}t.emit("pageIndexChanged",O)}function F(I){const O={size:I,index:1,isNavigation:!0};if(l(O),e.uri){C();return}t.emit("pageSizeChanged",O)}function x(){return n.createVNode(lt,{ref:u,fit:!0,data:d.data,idField:d.idField,columns:d.columns,rowNumber:{enable:!1},columnOption:c,selection:p,showBorder:!0,onSelectionChange:b},null)}function h(){return n.createVNode(Ye,{ref:_,pagination:He.navigation,summary:{enable:!1},columnOption:c,idField:d.idField,rowNumber:{enable:!1},showBorder:!0,fit:!0,columns:d.columns,data:d.data,selection:p,onSelectionChange:S,onPageIndexChanged:g,onPageSizeChanged:F},null)}function V(){if(r())return x();if(a())return h()}function v(){return n.createVNode("div",{class:"d-flex h-100 w-100 flex-column"},[o(),n.createVNode("div",{class:"f-utils-fill px-2",style:"position: relative;"},[V()])])}function w(){return d.idField}function k(I){return Oe.relations&&Oe.relations.length?Oe.relations.map(T=>{const{groupField:N,helpField:$}=T,B={fieldName:$,fieldValue:""},j=I.map(P=>N.split(".").reduce((M,D)=>M[D],P));return B.fieldValue=j.join(","),B}):""}return{renderNavigation:v,selectedItems:f,getNavigationIdField:w,getRelationFilter:k}}function Ks(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!n.isVNode(e)}const Xs=n.defineComponent({name:"LookupContainer",props:mt,emits:["update:modelValue","search","navSelectionsChanged","pageIndexChanged","pageSizeChanged","changeDialogOptions","clearSearch"],setup(e,t){const{renderSearchBar:o}=Ao(e,!1),{isDoubleList:i,getNavigationSize:a,isTreeList:r}=vt(e),{renderNavigation:l,selectedItems:s,getNavigationIdField:f,getRelationFilter:d}=Us(e,t),{renderTreeGrid:p}=Ps(e,t),{renderDataGrid:c}=js(e,t,{navSelectedItems:s,getNavigationIdField:f,getRelationFilter:d}),{loadData:u}=Ct(e);function _(){return r()?p():c()}const m=a();function y(){const b={};if(e.enableToSelect){let S=e.idValue||[];Array.isArray(S)||(S=(""+S).split(e.separator)),b.selectedInfo={selectedIds:S,selected:!0},ct.value!=null&&(b.search={field:"*",value:ct.value,type:"like"})}u(b,S=>{S.navigation&&(Object.keys(S.navigation).forEach(C=>{var g;Oe[C]=(g=S.navigation)==null?void 0:g[C]}),delete S.navigation),Object.keys(S).forEach(C=>{ye[C]=S[C]}),t.emit("changeDialogOptions",{title:S.title})})}return n.onMounted(()=>{y()}),()=>{let b;return n.createVNode("div",{class:"h-100 d-flex flex-column mx-2"},[n.createVNode(nt,null,{default:()=>[n.createVNode(yt,{position:"left",width:m==null?void 0:m.width,minWidth:m==null?void 0:m.minWidth,visible:i()},Ks(b=l())?b:{default:()=>[b]}),n.createVNode(yt,{position:"center"},{default:()=>[n.createVNode("div",{class:"d-flex h-100 w-100 flex-column"},[o(),n.createVNode("div",{class:"f-utils-fill px-2",style:"position: relative;"},[_()])])]})]})])}}});function Ys(e,t,o,{dictPicked:i,modelValue:a}){var v,w,k,I,O;const r=n.inject(Xn,null),l=n.ref(e.dialog),s=n.ref(),f=n.ref("accept"),d=n.ref(),{isDoubleList:p}=vt(e);async function c(){const T=o.value.map($=>$[e.textField]).join(e.separator),N=o.value.map($=>$[e.idField]).join(e.separator);return a.value=T,t.emit("update:modelValue",T),t.emit("update:idValue",N),t.emit("update:dataMapping",{items:o.value,mappingFields:e.mappingFields}),await i({items:o.value}),!0}function u(){return f.value="cancel",!0}const _=T=>{Object.keys(T).forEach(N=>{delete T[N]})},m=T=>{T.forEach(N=>{_(N)})};function y(){m([ye,Oe,He,Ke,ct]),d.value=null}async function b(){let T=!0,N="";if(o.value.length===0)return r==null||r.warning({message:"请选择数据!",position:"top-center"}),!1;if(e.beforeSelectData&&typeof e.beforeSelectData=="function"){const $=await e.beforeSelectData({items:o.value});typeof $=="boolean"&&(T=$),typeof $=="object"&&(T=$.canSelect,N=$.message||"")}return T?(c(),f.value="accept",!0):(N&&(r==null||r.warning({message:N,position:"top-center"})),!1)}async function S(T){let N=!0;if(e.dictPicking&&typeof e.dictPicking=="function"){const $=await e.dictPicking({context:{customData:d}});typeof $=="boolean"&&!$&&(N=!1),typeof $=="object"&&($.showDialog?$.data&&(d.value=$.data):(N=!1,$.message&&(r==null||r.error({message:$.message,position:"top-center"}))))}return N}function C(){var P,M,D,H,ne;const T=((P=l.value)==null?void 0:P.height)||620,N=((M=l.value)==null?void 0:M.width)||590,$=((D=l.value)==null?void 0:D.minWidth)||300,B=((H=l.value)==null?void 0:H.minHeight)||200,j={height:T,width:N,minWidth:$,minHeight:B};return p()&&(j.width=((ne=l.value)==null?void 0:ne.width)||960),j}const{width:g,height:F,minHeight:x,minWidth:h}=C();return{modalOptions:{title:(v=l.value)==null?void 0:v.title,fitContent:!1,height:F,width:g,minWidth:h,minHeight:x,showMaxButton:((w=l.value)==null?void 0:w.showMaxButton)==null?!0:(k=l.value)==null?void 0:k.showMaxButton,showCloseButton:((I=l.value)==null?void 0:I.showCloseButton)==null?!0:(O=l.value)==null?void 0:O.showCloseButton,reiszeable:!0,draggable:!0,closedCallback:(T,N)=>{const $={type:f.value,button:T==null?void 0:T.target};(N==="esc"||N==="icon")&&($.type="esc"),$.type==="accept"&&($.items=o.value),($.type==="cancel"||$.type==="esc")&&(a.value=e.modelValue),y(),t.emit("dialogClosed",$)},buttons:[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:T=>u()},{name:"accept",text:"确定",class:"btn btn-primary",handle:T=>b()}],resizeHandle:T=>{s.value=T}},beforeOpenDialog:S,dialogSize:s,customData:d,updateModelValue:c}}function Js(e){const{mapFields:t,separator:o}=e,i={mapFields:t,separator:o};return{dictPicked:async r=>{e.dictPicked&&typeof e.dictPicked=="function"&&await e.dictPicked(r,i)}}}function Qs(e,t,o){const i=n.computed(()=>e.textChangeType==="blur"||e.textChangeType==="any"),a=n.computed(()=>e.textChangeType==="enter"||e.textChangeType==="any"),{loadData:r}=Ct(e),l=n.ref(e.modelValue);function s(u){const _=l.value!==u;return _?ct.value=u:ct.value="",_}async function f(u){const _={search:{field:"*",value:u,type:"equal"}},{beforeOpenDialog:m,updateModelValue:y,selectedItems:b,openDialog:S}=o;if(m){if(await m(_)===!1)return;r(_,g=>{if(g.items&&g.items.length===1&&(!g.items[0].children||!g.items[0].children.length)){b.value=g.items||[],y();return}S()})}}function d(u,_){var y;const m=(y=u.target)==null?void 0:y.value;s(m)&&(e.uri?f(m):t.emit("textChanged",{value:m,type:_?"blur":"enter"}))}function p(u){i.value&&d(u,!0)}function c(u){u.key==="Enter"&&a.value&&d(u,!1)}return{changeOnBlur:i,changeOnEnter:a,onInputBlur:p,onEnterKeyDown:c}}const Nt=n.defineComponent({name:"FLookup",props:mt,emits:["update:modelValue","update:idValue","search","navSelectionsChanged","pageIndexChanged","pageSizeChanged","resize","dialogClosed","textChanged","clear","update:dataMapping"],setup(e,t){const o='<i class="f-icon f-icon-lookup"></i>',i=n.ref(),a=n.ref(e.modelValue);en.value=n.ref(e.customData);function r(){i.value&&!i.value.getModal()&&i.value.openDialog()}const{dictPicked:l}=Js(e),{modalOptions:s,beforeOpenDialog:f,dialogSize:d,customData:p,updateModelValue:c}=Ys(e,t,bt,{dictPicked:l,modelValue:a}),{onInputBlur:u,onEnterKeyDown:_}=Qs(e,t,{beforeOpenDialog:f,updateModelValue:c,selectedItems:bt,openDialog:r}),m=n.reactive(s),y=n.inject(fn,null);n.watch(()=>p.value,h=>{en.value=h}),n.watch(()=>e.modelValue,h=>{a.value=h}),n.onMounted(()=>{}),n.watch(()=>d.value,h=>{t.emit("resize",h)});async function b(){bt.value=[],t.emit("update:modelValue",""),t.emit("update:idValue",""),t.emit("clear")}function S(h){t.emit("search",h)}function C(h){t.emit("navSelectionsChanged",h)}function g(h){t.emit("pageIndexChanged",h)}function F(h){t.emit("pageSizeChanged",h)}async function x(h){const V=y==null?void 0:y.getCurrentModal();V&&V.updateModalOptions(h)}return t.expose({openDialog:r}),()=>n.createVNode(Ze,{ref:i,id:e.id,modelValue:a.value,"onUpdate:modelValue":h=>a.value=h,disable:e.disable,readonly:e.readonly,editable:e.editable,inputType:"text",enableClear:e.enableClear,buttonContent:o,buttonBehavior:"Modal",modalOptions:m,onClear:b,beforeOpen:f,onBlur:u,onKeydown:_},{default:()=>[n.createVNode(Xs,n.mergeProps(e,{onSearch:S,onNavSelectionsChanged:C,onPageIndexChanged:g,onPageSizeChanged:F,onChangeDialogOptions:x}),null)]})}}),Zs={install(e){e.component(Nt.name,Nt)},register(e,t,o,i){e.lookup=Nt,t.lookup=Dt},registerDesigner(e,t,o){e.lookup=Vs,t.lookup=Dt}};E.Compare=Pt,E.ExpressValueType=vn,E.FLookup=Nt,E.F_LOOKUP_HTTP_SERVICE_TOKEN=yn,E.FilterRelation=xt,E.LoadTreeDataType=jt,E.LookupDisplayType=Ue,E.LookupSchemaRepositoryToken=Io,E.default=Zs,E.lookupProps=mt,E.propsResolver=Dt,Object.defineProperties(E,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(L,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("lodash-es"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../response-layout-editor/index.umd.js/src/composition/converter/use-response-layout-editor-setting"),require("../tags/index.umd.js"),require("../popover/index.umd.js"),require("@vueuse/core"),require("../data-view/index.umd.js"),require("../modal/index.umd.js"),require("../transfer/index.umd.js"),require("../tabs/index.umd.js"),require("../order/index.umd.js"),require("../condition/index.umd.js"),require("../checkbox/index.umd.js"),require("../filter-bar/index.umd.js"),require("../pagination/index.umd.js"),require("../dynamic-form/index.umd.js"),require("../combo-list/index.umd.js"),require("../property-panel/index.umd.js/src/composition/entity/base-property"),require("../designer-canvas/index.umd.js/src/composition/dg-control"),require("bignumber.js"),require("../number-spinner/index.umd.js"),require("../accordion/index.umd.js"),require("../avatar/index.umd.js"),require("../button-edit/index.umd.js"),require("../button-group/index.umd.js"),require("../calendar/index.umd.js"),require("../capsule/index.umd.js"),require("../combo-tree/index.umd.js"),require("../component/index.umd.js"),require("../color-picker/index.umd.js"),require("../content-container/index.umd.js"),require("../date-picker/index.umd.js"),require("../data-grid/index.umd.js"),require("../dropdown/index.umd.js"),require("../events-editor/index.umd.js"),require("../field-selector/index.umd.js"),require("../image-cropper/index.umd.js"),require("../input-group/index.umd.js"),require("../layout/index.umd.js"),require("../list-nav/index.umd.js"),require("../list-view/index.umd.js"),require("../lookup/index.umd.js"),require("../mapping-editor/index.umd.js"),require("../nav/index.umd.js"),require("../number-range/index.umd.js"),require("../page-header/index.umd.js"),require("../page-footer/index.umd.js"),require("../progress/index.umd.js"),require("../query-solution/index.umd.js"),require("../radio-group/index.umd.js"),require("../rate/index.umd.js"),require("../response-toolbar/index.umd.js"),require("../response-layout/index.umd.js"),require("../response-layout-editor/index.umd.js"),require("../search-box/index.umd.js"),require("../section/index.umd.js"),require("../smoke-detector/index.umd.js"),require("../splitter/index.umd.js"),require("../step/index.umd.js"),require("../switch/index.umd.js"),require("../text/index.umd.js"),require("../time-picker/index.umd.js"),require("../tree-view/index.umd.js"),require("../uploader/index.umd.js"),require("../verify-detail/index.umd.js"),require("../weather/index.umd.js"),require("../video/index.umd.js"),require("../textarea/index.umd.js"),require("../schema-selector/index.umd.js"),require("../tree-grid/index.umd.js"),require("../external-container/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../response-layout-editor/index.umd.js/src/composition/converter/use-response-layout-editor-setting","../tags/index.umd.js","../popover/index.umd.js","@vueuse/core","../data-view/index.umd.js","../modal/index.umd.js","../transfer/index.umd.js","../tabs/index.umd.js","../order/index.umd.js","../condition/index.umd.js","../checkbox/index.umd.js","../filter-bar/index.umd.js","../pagination/index.umd.js","../dynamic-form/index.umd.js","../combo-list/index.umd.js","../property-panel/index.umd.js/src/composition/entity/base-property","../designer-canvas/index.umd.js/src/composition/dg-control","bignumber.js","../number-spinner/index.umd.js","../accordion/index.umd.js","../avatar/index.umd.js","../button-edit/index.umd.js","../button-group/index.umd.js","../calendar/index.umd.js","../capsule/index.umd.js","../combo-tree/index.umd.js","../component/index.umd.js","../color-picker/index.umd.js","../content-container/index.umd.js","../date-picker/index.umd.js","../data-grid/index.umd.js","../dropdown/index.umd.js","../events-editor/index.umd.js","../field-selector/index.umd.js","../image-cropper/index.umd.js","../input-group/index.umd.js","../layout/index.umd.js","../list-nav/index.umd.js","../list-view/index.umd.js","../lookup/index.umd.js","../mapping-editor/index.umd.js","../nav/index.umd.js","../number-range/index.umd.js","../page-header/index.umd.js","../page-footer/index.umd.js","../progress/index.umd.js","../query-solution/index.umd.js","../radio-group/index.umd.js","../rate/index.umd.js","../response-toolbar/index.umd.js","../response-layout/index.umd.js","../response-layout-editor/index.umd.js","../search-box/index.umd.js","../section/index.umd.js","../smoke-detector/index.umd.js","../splitter/index.umd.js","../step/index.umd.js","../switch/index.umd.js","../text/index.umd.js","../time-picker/index.umd.js","../tree-view/index.umd.js","../uploader/index.umd.js","../verify-detail/index.umd.js","../weather/index.umd.js","../video/index.umd.js","../textarea/index.umd.js","../schema-selector/index.umd.js","../tree-grid/index.umd.js","../external-container/index.umd.js","../common/index.umd.js"],t):(L=typeof globalThis<"u"?globalThis:L||self,t(L.lookup={},L.Vue,L.LodashES,L.dynamicResolver,L.designerCanvas,L.useResponseLayoutEditorSetting,L.FTags,L.FPopover,L.VueUseCore,L.dataView,null,L.FTransfer$1,L.FTabs,L.FOrder,null,L.FCheckBox$1,L.FFilterBar,L.FPagination,L.FDynamicForm,L.FComboList$1,null,null,L.BigNumber,L.FNumberSpinner,L.FAccordion,L.FAvatar,L.FButtonEdit$1,L.FButtonGroup,L.FCalendar,L.FCapsule,L.FComboTree,L.FComponent,L.FColorPicker,L.FContentContainer,L.FDatePicker,L.FDataGrid$1,L.FDropdown,L.FEventsEditor,L.FFieldSelector,L.FImageCropper,L.FInputGroup$1,L.FLayout$1,L.FListNav,L.FListView$1,L.FLookup$1,L.FMappingEditor,L.FNav,L.FNumberRange,L.FPageHeader,L.FPageFooter,L.FProgress,L.FQuerySolution,L.FRadioGroup,L.FRate,L.FResponseToolbar,L.FResponseLayout,L.FResponseLayoutEditorSetting,L.FSearchBox,L.FSection,L.FSmokeDetector,L.FSplitter,L.FStep,L.FSwitch,L.FText,L.FTimePicker,L.FTreeview,L.FUploader,L.FVerifyDetail,L.FWeather,L.FVideo,L.FTextArea,L.FSchemaSelector,L.FTreeGrid$1,null,L.common))})(this,function(L,t,Be,_t,mn,aa,hn,ia,Nt,A,Zc,ra,la,sa,eu,vt,gn,yn,Pt,Dt,tu,nu,ou,bt,ca,ua,vn,da,fa,pa,ma,ha,ga,ya,va,ba,Ca,wa,Sa,xa,Va,Fa,_a,bn,Na,ka,Ta,Ia,Ma,Oa,Ba,$a,ja,Pa,Da,Ea,Ra,La,Ha,Aa,za,Ga,Wa,qa,Ua,Ka,Xa,Ya,Ja,Qa,Za,ei,ti,au,Xe){"use strict";var Jc=Object.defineProperty;var Qc=(L,t,Be)=>t in L?Jc(L,t,{enumerable:!0,configurable:!0,writable:!0,value:Be}):L[t]=Be;var G=(L,t,Be)=>Qc(L,typeof t!="symbol"?t+"":t,Be);const Cn={},wn={};function Et(e){const{properties:n,title:o,ignore:a}=e,i=a&&Array.isArray(a),r=Object.keys(n).reduce((l,s)=>((!i||!a.find(u=>u==s))&&(l[s]=n[s].type==="object"&&n[s].properties?Et(n[s]):Be.cloneDeep(n[s].default)),l),{});return(!i||!a.find(l=>l=="id"))&&(r.id=`${o}-${Date.now()}`),r}function Rt(e,n={},o){const a=Cn[e];if(a){let i=Et(a);const r=wn[e];return i=r?r({getSchemaByType:Rt},i,n,o):i,i}return null}function ni(e,n){const o=Et(n);return Object.keys(e).reduce((a,i)=>(a[i]&&Be.isPlainObject(a[i])&&Be.isPlainObject(e[i])?Object.assign(a[i],e[i]):a[i]=e[i],a),o),o}function oi(e,n){return Object.keys(e).filter(a=>e[a]!=null).reduce((a,i)=>{if(n.has(i)){const r=n.get(i);if(typeof r=="string")a[r]=e[i];else{const l=r(i,e[i],e);Object.assign(a,l)}}else a[i]=e[i];return a},{})}function ai(e,n,o=new Map){const a=ni(e,n);return oi(a,o)}function ii(e={}){function n(c,p,d,f){if(typeof d=="number")return f[c].length===d;if(typeof d=="object"){const S=Object.keys(d)[0],y=d[S];if(S==="not")return Number(f[c].length)!==Number(y);if(S==="moreThan")return Number(f[c].length)>=Number(y);if(S==="lessThan")return Number(f[c].length)<=Number(y)}return!1}function o(c,p,d,f){return f[c]&&f[c].propertyValue&&String(f[c].propertyValue.value)===String(d)}const a=new Map([["length",n],["getProperty",o]]);Object.keys(e).reduce((c,p)=>(c.set(p,e[p]),c),a);function i(c,p){const d=c;return typeof p=="number"?[{target:d,operator:"length",param:null,value:Number(p)}]:typeof p=="boolean"?[{target:d,operator:"getProperty",param:c,value:!!p}]:typeof p=="object"?Object.keys(p).map(f=>{if(f==="length")return{target:d,operator:"length",param:null,value:p[f]};const S=f,y=p[f];return{target:d,operator:"getProperty",param:S,value:y}}):[]}function r(c){return Object.keys(c).reduce((d,f)=>{const S=i(f,c[f]);return d.push(...S),d},[])}function l(c,p){if(a.has(c.operator)){const d=a.get(c.operator);return d&&d(c.target,c.param,c.value,p)||!1}return!1}function s(c,p){return r(c).reduce((S,y)=>S&&l(y,p),!0)}function u(c,p){const d=Object.keys(c),f=d.includes("allOf"),S=d.includes("anyOf"),y=f||S,h=(y?c[y?f?"allOf":"anyOf":"allOf"]:[c]).map(g=>s(g,p));return f?!h.includes(!1):h.includes(!0)}return{parseValueSchema:u}}const ne={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"}},ri={},li={};ii();function Oe(e,n,o=new Map,a=(l,s,u)=>s,i={},r=l=>l){return Cn[n.title]=n,wn[n.title]=a,ri[n.title]=i,li[n.title]=r,(l={})=>{const s=ai(l,n,o),u=Object.keys(e).reduce((c,p)=>(c[p]=e[p].default,c),{});return Object.assign(u,s)}}function We(e,n){return{customClass:n.class,customStyle:n.style}}function si(){function e(n,o){const{id:a}=n||{},{dataSource:i}=n||{};return i===void 0?{}:{data:o.getValue(a),"onUpdate:data":(...r)=>{}}}return{resolve:e}}function ci(){function e(n,o){const{dataSource:a}=n||{};return a===void 0?{}:{}}return{resolve:e}}function ui(){function e(n,o){return n.selectItemById(o)}return{selectItemById:e}}function di(){function e(n,o){return n.selectItemById(o)}return{selectItemById:e}}const fi=new Map([["appearance",_t.resolveAppearance]]);function pi(e,n,o){return n}const mi={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/button-edit.schema.json",title:"button-edit",description:"A Farris Input 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:"button-edit"},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},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""},autoComplete:{description:"",type:"boolean",default:!1},buttonContent:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},inputType:{description:"",type:"string",enum:["text","tag"],default:"text"},multiSelect:{description:"",type:"boolean",default:!1},popup:{description:"",type:"object",properties:{footerButtons:{type:"array",default:[]},height:{type:"number",default:600},dataMapping:{type:"object"},contents:{type:"array",default:[]},showMaxButton:{type:"boolean",default:!0},showCloseButton:{type:"boolean",default:!0},showFooter:{type:"boolean",default:!0},title:{type:"string",default:""},width:{type:"number",default:800}}},separator:{type:"string",default:","},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},wrapText:{type:"boolean",default:!1},onClear:{description:"",type:"string",default:""}},required:["id","type"]},hi={title:"buttonEdit",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:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean"},readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中对齐"},{value:"right",name:"右对齐"}]}}}}}},Lt={id:String,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:Number,tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},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"}},Sn=Oe(Lt,mi,fi,pi,hi),gi={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},yi=t.defineComponent({name:"FOverlay",props:gi,emits:["click"],setup(e,n){const o=t.ref(e.popupContentPosition),a=t.ref(e.host),i=t.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function r(s){n.emit("click"),s.preventDefault(),s.stopPropagation()}t.computed(()=>{const s=a.value;if(s){const u=s.getBoundingClientRect(),{left:c,top:p,height:d}=u;return{left:c,top:p+d}}return o.value});const l=t.computed(()=>({}));return()=>t.createVNode(t.Teleport,{to:"body"},{default:()=>{var s,u;return[t.createVNode("div",{class:"overlay-container",onClick:c=>r(c),style:i.value},[t.createVNode("div",{style:l.value},[(u=(s=n.slots).default)==null?void 0:u.call(s)])])]}})}});function vi(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function bi(e){const n=document.createElement("div");n.style.display="contents";let o;const a=e.onClickCallback||(()=>{}),i=()=>{a(),o&&o.unmount()};return o=t.createApp({setup(){t.onUnmounted(()=>{document.body.removeChild(n)});const r=vi(e);return()=>t.createVNode(yi,{"popup-content-position":e.popupPosition,host:e.host,onClick:i,backgroundColor:e.backgroundColor},{default:()=>[r&&r()]})}}),document.body.appendChild(n),o.mount(n),o}class Ci{static show(n){return bi(n)}}const wi={class:{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},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},reiszeable:{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}};class $e{constructor(n,o){this.x=n,this.y=o}static getTransformInfo(n){const a=window.getComputedStyle(n).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(a.length>=6){const i=parseInt(a[4],10),r=parseInt(a[5],10);return{x:i,y:r}}return{x:0,y:0}}static fromEvent(n,o=null){if(this.isMouseEvent(n))return new $e(n.clientX,n.clientY);if(o===null||n.changedTouches.length===1)return new $e(n.changedTouches[0].clientX,n.changedTouches[0].clientY);for(let a=0;a<n.changedTouches.length;a++)if(n.changedTouches[a].target===o)return new $e(n.changedTouches[a].clientX,n.changedTouches[a].clientY)}static isMouseEvent(n){return Object.prototype.toString.apply(n).indexOf("MouseEvent")===8}static isIPosition(n){return!!n&&"x"in n&&"y"in n}static getCurrent(n){const o=new $e(0,0);if(window){const a=window.getComputedStyle(n);if(a){const i=parseInt(a.getPropertyValue("left"),10),r=parseInt(a.getPropertyValue("top"),10);o.x=isNaN(i)?0:i,o.y=isNaN(r)?0:r}return o}return null}static copy(n){return new $e(0,0).set(n)}get value(){return{x:this.x,y:this.y}}add(n){return this.x+=n.x,this.y+=n.y,this}subtract(n){return this.x-=n.x,this.y-=n.y,this}multiply(n){this.x*=n,this.y*=n}divide(n){this.x/=n,this.y/=n}reset(){return this.x=0,this.y=0,this}set(n){return this.x=n.x,this.y=n.y,this}}class ot{constructor(n,o){this.width=n,this.height=o}static getCurrent(n){const o=new ot(0,0);if(window){const a=window.getComputedStyle(n);return a&&(o.width=parseInt(a.getPropertyValue("width"),10),o.height=parseInt(a.getPropertyValue("height"),10)),o}return null}static copy(n){return new ot(0,0).set(n)}set(n){return this.width=n.width,this.height=n.height,this}}function Si(e,n){const o=t.ref(),a=t.ref(),i=t.ref(),r=t.ref(),l=t.ref(),s=t.ref(),u=t.ref(),c=t.ref(),p=t.ref(),d=t.ref(),f=t.ref(),S=t.ref(),y=t.ref(e.draggable),w=t.ref(!1);function v(){const O=a.value||document.body,j=window.getComputedStyle(O);if(!j||!o.value)return;const E=$e.getTransformInfo(o.value),P={};u.value&&(P.deltaL=o.value.offsetLeft-u.value.x,P.deltaT=o.value.offsetTop-u.value.y);const R=j.getPropertyValue("position");P.width=O.clientWidth,P.height=O.clientHeight,P.pr=parseInt(j.getPropertyValue("padding-right"),10),P.pb=parseInt(j.getPropertyValue("padding-bottom"),10),P.position=j.getPropertyValue("position"),R==="static"&&(O.style.position="relative"),P.translateX=E.x,P.translateY=E.y,d.value=P}function h(O){if(o.value){r.value=ot.getCurrent(o.value),l.value=$e.getCurrent(o.value),s.value=r.value?ot.copy(r.value):null,u.value=l.value?$e.copy(l.value):null,v();const j=O.target.getAttribute("type")||"";c.value={n:!!j.match(/n/),s:!!j.match(/s/),w:!!j.match(/w/),e:!!j.match(/e/)}}}function m(){var O,j,E,P;if(o.value){const R=o.value;c.value&&((c.value.n||c.value.s)&&((O=s.value)!=null&&O.height)&&(R.style.height=s.value.height+"px"),(c.value.w||c.value.e)&&((j=s.value)!=null&&j.width)&&(R.style.width=s.value.width+"px"),u.value&&((E=u.value)!=null&&E.x&&(R.style.left=u.value.x+"px"),(P=u.value)!=null&&P.y&&(R.style.top=u.value.y+"px")))}}function g(){const O=e.minHeight?e.minHeight:1,j=e.minWidth?e.minWidth:1;s.value&&u.value&&c.value&&r.value&&(s.value.height<O&&(s.value.height=O,c.value.n&&l.value&&(u.value.y=l.value.y+(r.value.height-O))),s.value.width<j&&(s.value.width=j,c.value.w&&l.value&&(u.value.x=l.value.x+(r.value.width-j))),e.maxHeight&&s.value.height>e.maxHeight&&(s.value.height=e.maxHeight,l.value&&c.value.n&&(u.value.y=l.value.y+(r.value.height-e.maxHeight))),e.maxWidth&&s.value.width>e.maxWidth&&(s.value.width=e.maxWidth,c.value.w&&l.value&&(u.value.x=l.value.x+(r.value.width-e.maxWidth))))}function F(){if(a.value){const O=d.value;if(u.value&&s.value&&c.value&&r.value){const j=O.width-O.pr-O.deltaL-O.translateX-u.value.x,E=O.height-O.pb-O.deltaT-O.translateY-u.value.y;c.value.n&&u.value.y+O.translateY<0&&l.value&&(u.value.y=-O.translateY,s.value.height=r.value.height+l.value.y+O.translateY),c.value.w&&u.value.x+O.translateX<0&&l.value&&(u.value.x=-O.translateX,s.value.width=r.value.width+l.value.x+O.translateX),s.value.width>j&&(s.value.width=j),s.value.height>E&&(s.value.height=E)}}}function V(O){if(!i.value||!r.value||!l.value||!c.value)return;O.subtract(i.value);const j=O.x,E=O.y;c.value.n?(u.value.y=l.value.y+E,s.value.height=r.value.height-E):c.value.s&&(s.value.height=r.value.height+E),c.value.e?s.value.width=r.value.width+j:c.value.w&&(s.value.width=r.value.width-j,u.value.x=l.value.x+j),F(),g(),m()}function b(O){if(!p.value)return;const j=$e.fromEvent(O);j&&V(j)}function _(){if(o.value){const{width:O,height:j,x:E,y:P}=o.value.getBoundingClientRect(),R=$e.getTransformInfo(o.value);return{size:{width:O,height:j},position:{x:E-R.x,y:P-R.y}}}return null}function x(O){if(o.value){const j=_();f.value=j}i.value=void 0,r.value=null,l.value=null,s.value=null,u.value=null,c.value=null,p.value=null,document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",x)}function C(){document.addEventListener("mousemove",b),document.addEventListener("mouseup",x)}function k(O){O instanceof MouseEvent&&O.button===2||y.value&&(O.stopPropagation(),O.preventDefault(),i.value=$e.fromEvent(O),p.value=O.target,h(O),C())}function M(O){return o.value=O,t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:j=>k(j)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:j=>k(j)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:j=>k(j)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:j=>k(j)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:j=>k(j)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:j=>k(j)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:j=>k(j)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:j=>k(j)},null)])}function I(O=!0){const j=a.value||document.body,E=ot.getCurrent(j),P=o.value;O&&(S.value=_(),S.value.transform=P.style.transform),E&&P&&(s.value=E,P.style.height=s.value.height-14+"px",P.style.width=s.value.width-14+"px",P.style.left="7px",P.style.top="7px",P.style.transform="",f.value={size:s.value,position:{x:0,y:0}},y.value=!1,w.value=!0)}function T(){var O,j;if(S.value){const E={width:S.value.size.width||0,height:S.value.size.height||0},P={x:(window.innerWidth-E.width)/2,y:(window.innerHeight-E.height)/2};(O=s.value)==null||O.set(E),(j=u.value)==null||j.set(P);const R=o.value;R.style.height=E.height+"px",R.style.width=E.width+"px",R.style.left=`${P.x}px`,R.style.top=`${P.y}px`,R.style.transform="",f.value={size:E,position:P},y.value=e.draggable,w.value=!1}}function N(){if(o.value){const O=ot.getCurrent(o.value);if(O){const{width:j,height:E}=O;o.value.style.left=`${(window.innerWidth-j)/2}px`,o.value.style.top=`${(window.innerHeight-E)/2}px`,o.value.style.transform=""}}}function $(){const O=()=>{w.value?I(!1):N()};return window.addEventListener("resize",O),()=>{window.removeEventListener("resize",O)}}const B=$();return{renderResizeBar:M,boundingElement:a,resizedEventParam:f,maximize:I,restore:T,allowDrag:y,isMaximized:w,unWindowResizeHandle:B}}function xi(e,n,o){const a=t.ref(),i=t.ref(e.draggable),r=t.ref(e.lockAxis),l=t.ref(),s=t.ref(),u=t.ref(!1),c=t.ref(new $e(0,0)),p=t.ref(new $e(0,0)),d=t.ref(new $e(0,0)),f=t.ref(new $e(0,0));t.watch(()=>o.value,_=>{l.value.style.cursor=_?"move":"default"});function S(_,x){if(x.tagName==="BUTTON")return!1;if(x===_)return!0;for(const C in x.children)if(x.children.hasOwnProperty(C)&&S(_,x.children[C]))return!0;return!1}function y(){var k,M;let _=d.value.x+p.value.x,x=d.value.y+p.value.y;r.value==="x"?(_=((k=c.value)==null?void 0:k.x)||0,d.value.x=0):r.value==="y"&&(x=((M=c.value)==null?void 0:M.y)||0,d.value.y=0);const C=`translate3d(${Math.round(_)}px, ${Math.round(x)}px, 0px)`;a.value&&(a.value.style.transform=C),f.value.x=_,f.value.y=x}function w(){if(!s.value||!a.value)return null;const _=s.value.getBoundingClientRect(),x=a.value.getBoundingClientRect(),C={top:_.top<x.top,right:_.right>x.right,bottom:_.bottom>x.bottom,left:_.left<x.left};return C.top||(d.value.y-=x.top-_.top),C.bottom||(d.value.y-=x.bottom-_.bottom),C.right||(d.value.x-=x.right-_.right),C.left||(d.value.x-=x.left-_.left),y(),C}function v(_){_&&(c.value&&_.subtract(c.value),d.value.set(_),y(),w())}function h(_){u.value&&i.value&&(_.stopPropagation(),_.preventDefault(),v($e.fromEvent(_,l.value)))}function m(){var _;u.value&&(u.value=!1,p.value.add(d.value),d.value.reset(),(_=a.value)==null||_.classList.remove("ng-dragging"),document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",m))}function g(){!u.value&&l.value&&(u.value=!0,l.value.classList.add("ng-dragging"),document.addEventListener("mousemove",h),document.addEventListener("mouseup",m))}function F(){if(a.value){const _=$e.getTransformInfo(a.value);p.value.set(_);return}p.value.reset()}function V(_){if(!o.value||_ instanceof MouseEvent&&_.button===2)return;const x=_.target||_.srcElement;l.value!==void 0&&x&&!S(x,l.value)||i.value!==!1&&(document.body.click(),_.stopPropagation(),_.preventDefault(),c.value=$e.fromEvent(_,a.value),F(),g())}function b(_,x,C){if(i.value&&x){if(_)l.value=_;else if(e.dragHandle){if(e.dragHandle instanceof HTMLElement)l.value=e.dragHandle;else if(typeof e.dragHandle=="string"){const k=x.querySelector(e.dragHandle);k&&(l.value=k)}}a.value=x,s.value=C,l.value.classList.add("ng-draggable"),l.value.addEventListener("mousedown",V)}}return{registerDraggle:b,resetTranslate:F}}function xn(e,n){if(e){const o=a=>{a.key.toLowerCase()===e.toLowerCase()&&n({event:a,key:e})};return document.addEventListener("keydown",o),()=>{document.removeEventListener("keydown",o)}}}function Vi(e,n){const o=t.ref(e.enableEsc);let a=null;return o.value?(a=xn("Escape",i=>{n.emit("esc",{event:i.event,type:"esc"})}),{remove:a}):null}function Fi(e,n){const o=t.ref(e.enableEnter);let a=null;return o.value?(a=xn("Enter",i=>{n.emit("enter",{event:i.event,type:"enter"})}),{remove:a}):null}const Vn=t.defineComponent({name:"FModal",props:wi,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter"],setup(e,n){const o=t.ref(e.width||300),a=t.ref(e.height||200),i=t.ref(e.modelValue),r=t.ref(""),l=t.ref(e.class),s=t.ref(e.fitContent),u=t.ref(e.showHeader),c=t.ref(""),p=t.ref(e.showCloseButton),d=t.ref(e.showMaxButton),f=t.ref(!1),S=t.ref(""),y=t.ref(""),w=t.ref(""),v=t.ref(e.showButtons),h=t.ref(e.title),m=t.ref(e.reiszeable),g=t.ref(e.containment||null),F=t.ref();function V(D,X){i.value=!1,n.emit("update:modelValue",!1),X!=null&&n.emit(X?"accept":"cancel"),n.emit("closed",D)}const b=[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:D=>{V(D,!1)}},{name:"accept",text:"确定",class:"btn btn-primary",handle:D=>{V(D,!0)}}],_=t.ref(e.buttons&&e.buttons.length?e.buttons:b),x=t.computed(()=>!!c.value),C=t.computed(()=>!!v.value&&!!_.value),k=t.ref(),M=t.ref(),I=t.ref(!1),{renderResizeBar:T,maximize:N,restore:$,boundingElement:B,resizedEventParam:O,allowDrag:j,unWindowResizeHandle:E}=Si(e),{registerDraggle:P}=xi(e,n,j);t.watch(()=>e.title,(D,X)=>{D!==X&&(h.value=D)}),t.watch(()=>e.modelValue,(D,X)=>{D!==X&&(i.value=D)}),t.watch(()=>e.showHeader,(D,X)=>{D!==X&&(u.value=D)}),t.watch(()=>e.showButtons,(D,X)=>{D!==X&&(v.value=D)}),t.watch(()=>O.value,(D,X)=>{const ie=D||{},q=X||{};JSON.stringify(ie)!==JSON.stringify(q)&&n.emit("resize",{newSize:D,oldSize:X})});function R(){const D=document.querySelectorAll(".farris-modal").length;(!D||D-1<=0)&&document.body.classList.remove("modal-open"),F.value&&F.value.classList.remove("show")}const W=t.computed(()=>(i.value?document.body.classList.add("modal-open"):R(),i.value)),te=t.computed(()=>{const D={modal:!0,"farris-modal":!0,fade:!0};return D["f-modal-fitContent"]=!!s.value,D.show=!!W.value,D}),pe=t.computed(()=>{var ie;const D={"modal-dialog":!0},X=(ie=l.value)==null?void 0:ie.split(" ");return X==null||X.reduce((q,Ve)=>(q[Ve]=!0,q),D),D}),_e=t.computed(()=>({position:"absolute",top:`${(window.innerHeight-a.value)/2}px`,left:`${(window.innerWidth-o.value)/2}px`,width:`${o.value}px`,height:s.value?"auto":`${a.value}px`})),ue=t.computed(()=>({"modal-content":!0,"modal-content-has-header":u.value})),Fe=t.computed(()=>{const D={display:u.value?"":"none"};return D["pointer-events"]=j.value?"auto":"none",D}),xe=t.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:I.value})),ge=t.computed(()=>({"modal-body":!0,"f-utils-flex-column":S.value==="iframe"}));function de(){return{}}const ye=t.computed(()=>{const D={textAlgin:w.value},X=de();return Object.assign(D,X)});function z(D){if(D.stopPropagation(),I.value){I.value=!1,$();return}N(),I.value=!0}async function U(D,X){D.handle&&await D.handle(X,D)&&n.emit("closed",X)}function se(D){D.width&&(o.value=D.width),D.height&&(a.value=D.height),D.buttons&&(_.value=D.buttons),D.title&&(h.value=D.title)}let ee=null,ce=null;t.onMounted(()=>{M.value&&!g.value&&(g.value=M.value.parentElement,B.value=g.value,P(k.value,M.value,B.value)),W.value&&document.body.classList.add("modal-open"),ee=Vi(e,n),ce=Fi(e,n)}),t.onUnmounted(()=>{R(),E&&E(),ee&&ee.remove(),ce&&ce.remove()}),n.expose({modalElementRef:M,updateModalOptions:se,close:V,maxDialog:z});function Ce(){return t.createVNode("ul",null,[f.value&&t.createVNode("li",{class:"f-btn-icon f-bare"},[t.createVNode("span",{class:"f-icon modal_minimize"},null)]),d.value&&t.createVNode("li",{onClick:z,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[t.createVNode("span",{class:xe.value},null)]),p.value&&t.createVNode("li",{class:"f-btn-icon f-bare",onClick:D=>V(D,!1),style:"pointer-events: auto;"},[t.createVNode("span",{class:"f-icon modal_close"},null)])])}function me(){return t.createVNode("div",{class:"modal-footer",style:ye.value},[_.value&&_.value.map(D=>t.createVNode("button",{name:D.name,type:"button",class:D.class+(D.iconClass?" btn-icontext":""),onClick:X=>{U(D,X)}},[!!D.iconClass&&t.createVNode("i",{class:D.iconClass},null),D.text]))])}function we(){return t.createVNode("div",{ref:k,class:"modal-header",style:Fe.value},[t.createVNode("div",{class:"modal-title"},[x.value&&t.createVNode("span",{class:c.value,style:"margin-right: 8px"},null),t.createVNode("span",{class:"modal-title-label"},[h.value])]),t.createVNode("div",{class:"actions"},[Ce()])])}function je(D){D.stopPropagation()}return()=>t.createVNode(t.Teleport,{to:"body"},{default:()=>[W.value&&t.createVNode(t.Transition,{name:"fade",appear:!0},{default:()=>{var D,X;return[t.createVNode("div",{class:te.value,style:"display: block",ref:F,onClick:je},[t.createVNode("div",{id:r.value,class:pe.value,style:_e.value,ref:M},[t.createVNode("div",{class:ue.value},[u.value&&we(),t.createVNode("div",{class:ge.value},[(X=(D=n.slots).default)==null?void 0:X.call(D),S.value==="iframe"&&t.createVNode("iframe",{title:r.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:y.value},null)]),C.value&&me()]),!s.value&&m.value&&M.value&&T(M.value)])])]}})]})}});function Fn(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function _i(e){const n=document.createElement("div");n.style.display="contents";const o=t.createApp({setup(a,i){t.onUnmounted(()=>{document.body.removeChild(n)});const r=t.ref(),l=t.ref(e.class||""),s=t.ref(!!e.showButtons),u=t.ref(!!e.showHeader),c=t.ref(e.showCloseButton==null?!0:e.showCloseButton),p=t.ref(!0),d=t.ref(e.title||""),f=e.acceptCallback||(()=>{}),S=e.rejectCallback||(()=>{}),y=e.closedCallback||(m=>{}),w=e.resizeHandle||(m=>{}),v=Fn(e),h=m=>{p.value=!1,o.unmount(),y(m)};return t.onMounted(()=>{}),i.expose({modalRef:r}),()=>t.createVNode(Vn,{ref:r,class:l.value,modelValue:p.value,"onUpdate:modelValue":m=>p.value=m,title:d.value,width:e.width,height:e.height,buttons:e.buttons,"show-header":u.value,"show-buttons":s.value,"show-close-button":c.value,"show-max-button":!1,onAccept:f,onCancel:S,fitContent:e.fitContent==null?!0:e.fitContent,onClosed:h,onResize:w},{default:()=>[v&&v(o)]})}});return document.body.appendChild(n),o.mount(n),o}class Ni{constructor(n){G(this,"appContext",null);G(this,"modalRef",t.ref());G(this,"activeModalIndex",t.ref(0));G(this,"modalRefs",{});G(this,"isUseEscCloseModal",t.ref(!1));G(this,"activeModalInstance",t.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.appContext=n?n._context:null}getCurrentModal(){return this.activeModalInstance.value}static show(n){const o=Object.assign({title:"",showButtons:!0,showHeader:!0},n);return _i(o)}open(n){const o=document.createDocumentFragment();n.showMaxButton&&n.fitContent&&(n.showMaxButton=!1);const a=t.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},n)),i=t.ref(!0),r=a.value.acceptCallback||(()=>{}),l=a.value.rejectCallback||(()=>{}),s=a.value.closedCallback||((h,m)=>{}),u=a.value.resizeHandle||(h=>{});let c;const p=Fn(a.value),d=h=>{var g;i.value=!1;const m=(g=h==null?void 0:h.target)==null?void 0:g.classList.contains("modal_close");s(h,this.isUseEscCloseModal.value?"esc":m?"icon":"button")},f=h=>{d(h),c&&t.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],t.render(null,o),c=null,this.modalRef.value=null,this.modalRefs){const m=Object.keys(this.modalRefs);m.length>0?this.activeModalIndex.value=Math.max(...m):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},S=h=>{var m;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((m=this.activeModalInstance.value)==null||m.close(h==null?void 0:h.event))},y=()=>t.createVNode(Vn,t.mergeProps({ref:this.modalRef,modelValue:i.value,"onUpdate:modelValue":h=>i.value=h},a.value,{onAccept:r,onCancel:l,onClosed:f,onResize:u,onEsc:S}),{default:()=>[p&&p()]});return c=(h=>{const m=t.h(y,h);return m.appContext=this.appContext,t.render(m,o),m})({...a.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:h=>{a.value={...a.value,...h},c&&t.render(t.cloneVNode(c,{...a}),o)},destroy:f,modalRef:this.activeModalInstance}}}const _n=Symbol("FModalService");function Nn(e,n){function o(){const a=e.beforeOpen||e.beforeClickButton||null;let i=Promise.resolve(!0);if(a){const r=a(n.value);if(typeof r>"u")return i;typeof r=="boolean"?i=Promise.resolve(r):i=r}return i}return{judgeCanOpen:o}}function kn(e,n,o,a,i){const r=t.ref(e.buttonBehavior),l=t.ref(e.popupOnInput),s=t.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:u}=Nn(e,i),c=t.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),p=t.inject(_n,null),d=t.ref();async function f(w){if(await u()&&c.value){const v=!!n.slots.default;if(r.value==="Modal"){const h=e.modalOptions,m=p==null?void 0:p.open({...h,render:()=>n.slots.default&&n.slots.default()});d.value=m==null?void 0:m.modalRef}r.value==="Overlay"&&Ci.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>n.slots.default&&n.slots.default()}),v&&r.value==="Popup"&&a.togglePopup(!0),v&&l.value&&a.hidePopup(),n.emit("clickButton",{origin:w,value:e.modelValue})}}function S(w){n.emit("mouseEnterIcon",w)}function y(w){n.emit("mouseLeaveIcon",w)}return{buttonGroupClass:s,onClickButton:f,onMouseEnterButton:S,onMouseLeaveButton:y,modalRef:d}}function Tn(e,n,o,a){const i=t.ref(),r=t.ref(!1),{judgeCanOpen:l}=Nn(e,a);function s(){const d=i.value;d&&d.show(o.value)}async function u(d=!1){if(!!n.slots.default){if(!d&&!r.value&&!await l())return;r.value=!r.value,await t.nextTick(),s()}}async function c(d=!1){if(!!n.slots.default){if(!d&&!await l())return;r.value=!0,await t.nextTick(),s()}}function p(){r.value=!1}return{hidePopup:p,popup:c,shouldPopupContent:r,togglePopup:u,popoverRef:i}}function ki(e,n,o){const{buttonGroupClass:a}=o,i=t.ref();return{renderButtonGroup:()=>t.createVNode("div",{id:`${e.id}-button-group`,class:a.value},[n.slots.buttonContent?t.createVNode("span",{class:"input-group-text input-group-append-button"},[n.slots.buttonContent()]):e.buttonContent?t.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:i},null):null]),buttonHandleElement:i}}const Ht=t.defineComponent({name:"FButtonEdit",props:Lt,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,n){const o=t.ref(),a=t.inject("design-item-context"),i=mn.useDesignerComponent(o,a),r=t.ref(e.customClass),l=t.ref(e.modelValue),s=Tn(e,n,o,l),u=kn(e,n,o,s,l),c=t.ref(),p=t.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disable":!0,"f-state-editable":!1,"f-state-readonly":!0}));t.onMounted(()=>{o.value.componentInstance=i}),n.expose(i.value);const d=t.computed(()=>{const S={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return r.value&&r.value.split(" ").reduce((y,w)=>(y[w]=!0,y),S),S}),{renderButtonGroup:f}=ki(e,n,u);return()=>t.createVNode("div",t.mergeProps(n.attrs,{ref:o,class:d.value,id:e.id}),[t.createVNode("div",{class:p.value},[t.createVNode("input",{ref:c,class:"form-control",readonly:!0,placeholder:e.placeholder},null),f()])])}});function dt(e,n,o){var V;function a(){o!=null&&o.resolveComponentContext&&o.resolveComponentContext()}a();const i=o&&o.getStyles&&o.getStyles()||"",r=o&&o.getDesignerClass&&o.getDesignerClass()||"",l=t.ref();function s(){return(n==null?void 0:n.schema.componentType)==="frame"?!1:o&&o.checkCanMoveComponent?o.checkCanMoveComponent():!0}function u(){return!1}function c(){return(n==null?void 0:n.schema.componentType)==="frame"?!1:o&&o.checkCanDeleteComponent?o.checkCanDeleteComponent():!0}function p(){return(n==null?void 0:n.schema.componentType)==="frame"?!0:o&&o.hideNestedPaddingInDesginerView?o.hideNestedPaddingInDesginerView():!1}function d(b){if(!b||!b.value)return null;if(b.value.schema&&b.value.schema.type==="component")return b.value;const _=t.ref(b==null?void 0:b.value.parent),x=d(_);return x||null}function f(b=n){const{componentInstance:_,designerItemElementRef:x}=b;return!_||!_.value?null:_.value.canMove?x:f(b.parent)}function S(b){return!!o&&o.canAccepts(b)}function y(){return(n==null?void 0:n.schema.label)||(n==null?void 0:n.schema.title)||(n==null?void 0:n.schema.name)}function w(){}function v(b,_){_&&o!=null&&o.onAcceptMovedChildElement&&o.onAcceptMovedChildElement(_)}function h(b,_){const{componentType:x}=b;let C=Rt(x,b,_);o&&o.onResolveNewComponentSchema&&(C=o.onResolveNewComponentSchema(b,C));const k=x.toLowerCase().replace("-","_");return C&&!C.id&&C.type===x&&(C.id=`${k}_${Math.random().toString().slice(2,6)}`),C}function m(b,_){const x=String(b.getAttribute("data-controltype")),C=b.getAttribute("data-feature"),k=C?JSON.parse(C):{};k.parentComponentInstance=l.value;let M=Rt(x,k);o&&o.onAcceptNewChildElement&&(M=o.onAcceptNewChildElement(b,_,M));const I=x.toLowerCase().replace("-","_");return M&&!M.id&&M.type===x&&(M.id=`${I}_${Math.random().toString().slice(2,6)}`),M}function g(b){}function F(...b){if(o&&o.getPropsConfig)return o.getPropsConfig(...b)}return l.value={canMove:s(),canSelectParent:u(),canDelete:c(),canNested:!p(),contents:n==null?void 0:n.schema.contents,elementRef:e,parent:(V=n==null?void 0:n.parent)==null?void 0:V.componentInstance,schema:n==null?void 0:n.schema,styles:i,designerClass:r,canAccepts:S,getBelongedComponentInstance:d,getDraggableDesignItemElement:f,getDraggingDisplayText:y,getPropConfig:F,getDragScopeElement:w,onAcceptMovedChildElement:v,onAcceptNewChildElement:m,onChildElementMovedOut:g,addNewChildComponentSchema:h,updateDragAndDropRules:a,triggerBelongedComponentToMoveWhenMoved:!!o&&o.triggerBelongedComponentToMoveWhenMoved||t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!o&&o.triggerBelongedComponentToDeleteWhenDeleted||t.ref(!1)},l}function In(e){return typeof e=="string"&&e.startsWith("{")&&e.endsWith("}")?(e=e.replace(/'/g,'"'),{mappingFields:JSON.parse(e)}):{mappingFields:e}}const Ti=new Map([["appearance",We],["mappingFields",(e,n,o)=>{if(n)return In(n);const{mappingFields:a}=o;return In(a)}],["uri",(e,n,o)=>{var a;return n?{uri:n}:{uri:(a=o==null?void 0:o.dataSource)==null?void 0:a.uri}}]]),Ii={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/lookup.schema.json",title:"lookup",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"lookup"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:"帮助"},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},textField:{description:"帮助显示文本字段",type:"string",default:""},mappingFields:{description:"帮助字段映射",type:"object",default:{}},uri:{type:"string",default:""}},required:["id","type"],ignore:["id","appearance","binding"]};function Mi(e,n,o){return n}var Ye=(e=>(e.List="LIST",e.Tree="TREELIST",e.ListList="NAVLIST",e.TreeList="NAVTREELIST",e.ListTree="NAVLISTTREE",e))(Ye||{}),At=(e=>(e.default="default",e.all="all",e.async="async",e))(At||{});const kt="__lookup_active_tab__",Oi="__lookup_user_data_id__";var Ee=(e=>(e.dataList="datalist",e.favorite="favorite",e))(Ee||{});const zt=Symbol("f_lookup-http-service_token");var Gt=(e=>(e[e.Equal=0]="Equal",e[e.NotEqual=1]="NotEqual",e[e.Greater=2]="Greater",e[e.GreaterOrEqual=3]="GreaterOrEqual",e[e.Less=4]="Less",e[e.LessOrEqual=5]="LessOrEqual",e[e.Like=6]="Like",e[e.LikeStartWith=7]="LikeStartWith",e[e.LikeEndWith=8]="LikeEndWith",e[e.NotLike=9]="NotLike",e[e.NotLikeStartWith=10]="NotLikeStartWith",e[e.NotLikeEndWith=11]="NotLikeEndWith",e[e.Is=12]="Is",e[e.IsNot=13]="IsNot",e[e.In=14]="In",e[e.NotIn=15]="NotIn",e))(Gt||{}),Tt=(e=>(e[e.Empty=0]="Empty",e[e.And=1]="And",e[e.Or=2]="Or",e))(Tt||{}),Mn=(e=>(e[e.Value=0]="Value",e[e.Expression=1]="Expression",e.FrontExpress="frontExpress",e))(Mn||{});const Ct={id:{type:String,require:!0},uri:{type:String,default:""},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},editable:{type:Boolean,default:!1},enableFavorite:{type:Boolean,default:!1},mappingFields:{type:Object,default:null},fitColumns:{type:Boolean,default:!0},columns:{type:Array,default:[]},idField:{type:String,default:"id"},textField:{type:String,defalut:"name"},data:{type:Array,default:[]},displayType:{type:String,default:Ye.List},dialog:{type:Object,default:{title:"请选择"}},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},pagination:{type:Object,default:{enable:!1,showLimits:!0,sizeLimits:[10,20,30,50,100],size:20,index:1,total:0,mode:"server",showGoto:!1}},enableClear:{type:Boolean,default:!0},inputType:{type:String,default:"text"},idValue:{type:String,default:""},dictPicking:{type:Function,default:null},dictPicked:{type:Function,default:null},beforeSelectData:{type:Function,default:null},enableSearchBar:{type:Boolean,default:!0},searchFields:{type:Array,default:[]},showAllSearchColumns:{type:Boolean,default:!0},navigation:{type:Object,default:null},textChangeType:{type:String,default:"any"},enableMultiFieldSearch:{type:Boolean,default:!1},treeToList:{type:Boolean,default:!1},navTreeToList:{type:Boolean,default:!1},loadTreeDataType:{type:String,default:At.all},enableToSelect:{type:Boolean,default:!0},customData:{type:Object,default:null},modelValue:{type:String,default:""},enableUserData:{type:Boolean,default:!1},onReady:{type:Function,default:null},context:{type:Object,default:{}}},Wt=Oe(Ct,Ii,Ti,Mi);function On(e,n){e.schema;const o=t.ref(!0),a=t.ref(!0);function i(d){return!1}function r(){return!1}function l(){return!1}function s(){return!0}function u(d){}function c(){}function p(d){return null}return{canAccepts:i,checkCanDeleteComponent:r,checkCanMoveComponent:l,hideNestedPaddingInDesginerView:s,onAcceptMovedChildElement:u,resolveComponentContext:c,triggerBelongedComponentToMoveWhenMoved:o,triggerBelongedComponentToDeleteWhenDeleted:a,getPropsConfig:p}}class It{constructor(n,o){G(this,"componentId");G(this,"viewModelId");G(this,"eventsEditorUtils");G(this,"formSchemaUtils");G(this,"formMetadataConverter");G(this,"designViewModelUtils");G(this,"designViewModelField");G(this,"controlCreatorUtils");G(this,"designerHostService");G(this,"schemaService",null);G(this,"metadataService",null);G(this,"propertyConfig",{type:"object",categories:{}});var a;this.componentId=n,this.designerHostService=o,this.eventsEditorUtils=o.eventsEditorUtils,this.formSchemaUtils=o.formSchemaUtils,this.formMetadataConverter=o.formMetadataConverter,this.viewModelId=((a=this.formSchemaUtils)==null?void 0:a.getViewModelIdByComponentId(n))||"",this.designViewModelUtils=o.designViewModelUtils,this.controlCreatorUtils=o.controlCreatorUtils,this.metadataService=o.metadataService,this.schemaService=o.schemaService}getTableInfo(){var n;return(n=this.schemaService)==null?void 0:n.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(n){const o=n.binding&&n.binding.type==="Form"&&n.binding.field;if(o){if(!this.designViewModelField){const a=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=a.fields.find(i=>i.id===o)}n.updateOn=this.designViewModelField.updateOn}}changeFieldEditorType(n,o){}getBasicPropConfig(n){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",data:[{value:n.type,name:ne[n.type].name}]}}}}}getAppearanceConfig(n=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(n,o){const a=o&&o.parent&&o.parent.schema;if(!a)return;const i=a.contents.findIndex(l=>l.id===n),r=Be.cloneDeep(a.contents[i]);a.contents.splice(i,1),a.contents.splice(i,0,r)}}const ht=class ht{static getEditorTypesByMDataType(n){const o=ht.fieldControlTypeMapping[n];return o||[{key:"",value:""}]}static getAllInputTypes(){const n=[];for(let o in ht.fieldControlTypeMapping)ht.fieldControlTypeMapping[o].forEach(a=>{n.find(i=>i.key===a.key&&i.value===a.value)||n.push({key:a.key,value:a.value})});return n}};G(ht,"fieldControlTypeMapping",{String:[{key:ne["input-group"].type,value:ne["input-group"].name},{key:ne.lookup.type,value:ne.lookup.name},{key:ne["date-picker"].type,value:ne["date-picker"].name},{key:ne["check-box"].type,value:ne["check-box"].name},{key:ne["radio-group"].type,value:ne["radio-group"].name},{key:ne["combo-list"].type,value:ne["combo-list"].name},{key:ne.textarea.type,value:ne.textarea.name}],Text:[{key:ne.textarea.type,value:ne.textarea.name},{key:ne.lookup.type,value:ne.lookup.name}],Decimal:[{key:ne["number-spinner"].type,value:ne["number-spinner"].name}],Integer:[{key:ne["number-spinner"].type,value:ne["number-spinner"].name}],Number:[{key:ne["number-spinner"].type,value:ne["number-spinner"].name}],BigNumber:[{key:ne["number-spinner"].type,value:ne["number-spinner"].name}],Date:[{key:ne["date-picker"].type,value:ne["date-picker"].name}],DateTime:[{key:ne["date-picker"].type,value:ne["date-picker"].name}],Boolean:[{key:ne.switch.type,value:ne.switch.name},{key:ne["check-box"].type,value:ne["check-box"].name}],Enum:[{key:ne["combo-list"].type,value:ne["combo-list"].name},{key:ne["radio-group"].type,value:ne["radio-group"].name}],Object:[{key:ne.lookup.type,value:ne.lookup.name},{key:ne["combo-list"].type,value:ne["combo-list"].name},{key:ne["radio-group"].type,value:ne["radio-group"].name}]});let wt=ht;const Mt=t.ref(0);function Bi(e,n){const o=n.getBoundingClientRect(),a=e.getBoundingClientRect(),i=a.top>=o.top,r=a.top<=o.bottom;return i&&r}function $i(e){if(!e)return;let n;if(e.className.includes("dgComponentSelected")?n=e:n=e.querySelector(".dgComponentSelected"),!n)return;const o=n.getBoundingClientRect();if(o.width===0&&o.height===0)return;const a=n.querySelector(".component-btn-group");if(a){if(!Bi(n,e)){a.style.display="none";return}a.style.display="";const r=a.getBoundingClientRect(),l=a.querySelector("div");if(l){const s=l.getBoundingClientRect();l.style.top=r.top+"px",l.style.left=r.left-s.width+"px"}}}class ze extends It{constructor(o,a){super(o,a);G(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=aa.useResponseLayoutEditorSetting(this.formSchemaUtils)}getPropertyConfig(o,a){return this.propertyConfig.categories.basic=this.getBasicProperties(o,a),this.propertyConfig.categories.appearance=this.getAppearanceProperties(o,a),this.propertyConfig.categories.editor=this.getEditorProperties(o),this.propertyConfig}getBasicProperties(o,a){var s;var i=this;this.setDesignViewModelField(o);const r=this.formSchemaUtils.getFormMetadataBasicInfo(),l=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",editable:!1,data:i.designViewModelField?wt.getEditorTypesByMDataType((s=i.designViewModelField.type)==null?void 0:s.name):wt.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",$converter:"/converter/field-selector.converter",editor:{type:"field-selector",bindingType:{enable:!1},editorParams:{propertyData:o,formBasicInfo:r},columns:[{field:"name",title:"字段名称"},{field:"bindingField",title:"绑定字段"},{field:"fieldType",title:"字段类型"}],textField:"bindingField",data:l}}},setPropertyRelates(u,c){if(u)switch(u&&u.propertyID){case"type":{i.changeControlType(o,u,a);break}case"label":{u.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(o,a){var i=this;return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",initialState:i.responseLayoutEditorFunction.checkCanOpenLayoutEditor(o,i.componentId)}}},setPropertyRelates(r,l){if(r)switch(r&&r.propertyID){case"responseLayout":i.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(r.propertyValue,i.componentId||o.id),i.updateUnifiedLayoutAfterResponseLayoutChanged(i.componentId),i.updateElementByParentContainer(o.id,a),delete o.responseLayout;break;case"class":i.updateUnifiedLayoutAfterControlChanged(r.propertyValue,o.id,this.componentId),i.updateElementByParentContainer(o.id,a);break}}}}getEditorProperties(o){return this.getComponentConfig(o)}changeControlType(o,a,i){var p,d,f,S;const r=a.propertyValue,l=i&&i.parent&&i.parent.schema;if(!l)return;const s=l.contents.findIndex(y=>y.id===o.id),u=l.contents[s];let c;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:r},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),c=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,r)),c||(c=_t.getSchemaByType("form-group")||{},c.editor=_t.getSchemaByType(r)||{},delete c.editor.id,delete c.editor.binding,delete c.editor.appearance),Object.assign(c,{id:u.id,appearance:u.appearance,size:u.size,label:u.label,binding:u.binding,visible:u.visible}),Object.assign(c.editor,{isTextArea:c.isTextArea&&u.isTextArea,placeholder:(p=u.editor)==null?void 0:p.placeholder,holdPlace:(d=u.editor)==null?void 0:d.holdPlace,readonly:(f=u.editor)==null?void 0:f.readonly,require:(S=u.editor)==null?void 0:S.require}),l.contents.splice(s,1),l.contents.splice(s,0,c),i.schema=Object.assign(u,c),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(y=>y.classList.remove("dgComponentSelected")),Mt.value++}getComponentConfig(o,a={},i={}){const r=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},a),l=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},i);return{...r,properties:{...l}}}updateUnifiedLayoutAfterControlChanged(o,a,i){const r=o.split(" ");let l=r.find(d=>/^col-([1-9]|10|11|12)$/.test(d)),s=r.find(d=>/^col-md-([1-9]|10|11|12)$/.test(d)),u=r.find(d=>/^col-xl-([1-9]|10|11|12)$/.test(d)),c=r.find(d=>/^col-el-([1-9]|10|11|12)$/.test(d));l=l||"col-12",s=s||"col-md-"+l.replace("col-",""),u=u||"col-xl-"+s.replace("col-md-",""),c=c||"col-el-"+u.replace("col-xl-","");const p={id:a,columnInSM:parseInt(l.replace("col-",""),10),columnInMD:parseInt(s.replace("col-md-",""),10),columnInLG:parseInt(u.replace("col-xl-",""),10),columnInEL:parseInt(c.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(i,p)}updateUnifiedLayoutAfterResponseLayoutChanged(o,a){const{formNode:i}=this.responseLayoutEditorFunction.checkCanFindFormNode(o);if(!i||!i.unifiedLayout)return;const r=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(i,r,1),a){const y=r.find(w=>w.id===a.id);Object.assign(y||{},a)}const l=r.map(y=>y.columnInSM),s=r.map(y=>y.columnInMD),u=r.map(y=>y.columnInLG),c=r.map(y=>y.columnInEL),p=this.checkIsUniqueColumn(l)?l[0]:null,d=this.checkIsUniqueColumn(s)?s[0]:null,f=this.checkIsUniqueColumn(u)?u[0]:null,S=this.checkIsUniqueColumn(c)?c[0]:null;Object.assign(i.unifiedLayout,{uniqueColClassInSM:p,uniqueColClassInMD:d,uniqueColClassInLG:f,uniqueColClassInEL:S})}checkIsUniqueColumn(o){const a=new Set(o);return Array.from(a).length===1}}function ji(e,n,o,a,i,r){const l=t.ref(!1),s=t.computed(()=>e.enableClear&&!e.readonly&&!e.disable),{changeTextBoxValue:u}=r;function c(S){l.value=S}t.watch(i,()=>{c(!!i.value)});function p(S){const y=!e.readonly&&!e.disable&&e.editable,w=!e.editable;S.stopPropagation(),(y||w)&&(u("",!1),c(!l.value),n.emit("clear"))}function d(S){if(s.value){if(!o.value){c(!1);return}!e.disable&&!e.readonly&&c(!0)}}function f(S){s.value&&c(!1)}return{enableClearButton:s,showClearButton:l,onClearValue:p,onMouseEnterTextBox:d,onMouseLeaveTextBox:f}}function Pi(e,n,o,a,i){const r=t.computed(()=>e.popupOnInput),l=t.computed(()=>e.popupOnFocus),{shouldPopupContent:s}=i,u=t.computed(()=>e.enableTitle?o.value:""),c=t.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),p=t.computed(()=>e.readonly||!e.editable),d=t.ref(!1),f=t.computed(()=>!e.disable&&d.value),S=t.computed(()=>({"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right","form-control":!0,"f-utils-fill":!0})),y=t.computed(()=>({"input-group":!0,"f-state-disable":e.disable,"f-state-editable":e.editable&&!e.disable&&!e.readonly,"f-state-readonly":e.readonly&&!e.disable,"f-state-focus":f.value}));function w(C,k=!0){o.value!==C&&(o.value=C,k&&(n.emit("change",C),n.emit("update:modelValue",C)))}function v(C){s.value=!1,w(C,!0)}t.watch(()=>e.modelValue,C=>{o.value=C});function h(C){d.value=!1,n.emit("blur",C),C.stopPropagation()}function m(C){n.emit("click",C)}function g(C){e.disable||(d.value=!0,p.value||(n.emit("focus",C),l.value&&!s.value&&i.popup()))}function F(C){n.emit("input",C.target.value);const k=C.target.value;a.value=k,o.value!==k&&w(k,e.updateOn==="change"),r.value&&!s.value&&i.popup()}function V(C){C.target.tagName!=="INPUT"&&C.preventDefault(),C.stopPropagation()}function b(C){n.emit("keydown",C)}function _(C){C.key==="Enter"&&(r.value||l.value)&&i.hidePopup(),n.emit("keyup",C)}function x(C){const k=C.target.value;C.stopPropagation(),w(k)}return{hasFocusedTextBox:f,isTextBoxReadonly:p,textBoxClass:S,textBoxPlaceholder:c,textBoxTitle:u,inputGroupClass:y,changeTextBoxValue:w,commitValue:v,onBlurTextBox:h,onClickTextBox:m,onFocusTextBox:g,onInput:F,onKeyDownTextBox:b,onKeyUpTextBox:_,onMouseDownTextBox:V,onTextBoxValueChange:x}}function Di(e,n,o){const a=t.ref(),{isTextBoxReadonly:i,textBoxClass:r,textBoxPlaceholder:l,textBoxTitle:s,onBlurTextBox:u,onClickTextBox:c,onFocusTextBox:p,onInput:d,onKeyDownTextBox:f,onKeyUpTextBox:S,onMouseDownTextBox:y,onTextBoxValueChange:w}=o;return t.onMounted(()=>{var v,h;e.selectOnCreated&&((v=a.value)==null||v.select()),e.focusOnCreated&&((h=a.value)==null||h.focus())}),()=>t.createVNode("input",{ref:a,name:"input-group-value",autocomplete:e.autoComplete?"on":"off",class:r.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:l.value,readonly:i.value,tabindex:e.tabIndex,title:s.value,type:e.inputType,value:n.value,onBlur:u,onChange:w,onClick:c,onFocus:p,onInput:d,onKeydown:f,onKeyup:S,onMousedown:y},null)}function Ei(e,n,o){const a=t.ref(e.separator),{changeTextBoxValue:i}=o,r=t.computed(()=>n.value?n.value.split(a.value).map(s=>({name:s,selectable:!0})):[]);function l(s){i(s.map(u=>u.name).join(a.value),!0)}return()=>t.createVNode(hn,{id:`${e.id}-tag-editor`,class:"form-control",data:r.value,showClose:!0,showInput:!0,onChange:l},null)}function Ri(e,n,o,a){const{buttonGroupClass:i,onClickButton:r,onMouseEnterButton:l,onMouseLeaveButton:s}=o,{enableClearButton:u,showClearButton:c,onClearValue:p}=a,d=t.ref();return{renderButtonGroup:()=>t.createVNode("div",{id:`${e.id}-button-group`,class:i.value},[u.value&&t.withDirectives(t.createVNode("span",{class:"input-group-text input-group-clear",onClick:p},[t.createVNode("i",{class:"f-icon modal_close"},null)]),[[t.vShow,c.value]]),n.slots.buttonContent?t.createVNode("span",{class:"input-group-text input-group-append-button",onClick:r,onMouseenter:l,onMouseleave:s},[n.slots.buttonContent()]):e.buttonContent?t.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:d,onClick:r,onMouseenter:l,onMouseleave:s},null):null]),buttonHandleElement:d}}function Li(e,n,o){const a=t.ref(e.popupMinWidth),{hidePopup:i,popoverRef:r}=o;return()=>t.createVNode(ia,{id:`${e.id}-popover`,ref:r,visible:!0,placement:"bottom-left",host:e.popupHost,"keep-width-with-reference":!0,fitContent:!0,"right-boundary":e.popupRightBoundary,minWidth:a.value,offsetX:e.popupOffsetX,onHidden:i},{default:()=>{var l,s;return[(s=(l=n.slots).default)==null?void 0:s.call(l)]}})}const at=t.defineComponent({name:"FButtonEdit",props:Lt,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,n){const o=t.ref(),a=t.ref(e.customClass),i=t.ref(e.modelValue),r=Tn(e,n,o,i),{shouldPopupContent:l,hidePopup:s,togglePopup:u}=r,c=kn(e,n,o,r,i),p=t.ref(""),d=Pi(e,n,i,p,r),{hasFocusedTextBox:f,commitValue:S,inputGroupClass:y}=d,w=ji(e,n,i,f,p,d),{onMouseEnterTextBox:v,onMouseLeaveTextBox:h}=w,m=t.computed(()=>{const C={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return a.value&&a.value.split(" ").reduce((k,M)=>(k[M]=!0,k),C),C});function g(){return e.multiSelect&&e.inputType==="tag"?Ei(e,i,d):Di(e,i,d)}let F=g();t.watch([()=>e.multiSelect,()=>e.inputType],()=>{F=g()});const{renderButtonGroup:V,buttonHandleElement:b}=Ri(e,n,c,w),_=Li(e,n,r),x={commitValue:S,elementRef:o,hidePopup:s,shouldPopupContent:l,togglePopup:u,openDialog:()=>{b.value&&e.buttonBehavior==="Modal"&&b.value.click()},getModal:()=>{var C;return e.buttonBehavior==="Modal"?(C=c.modalRef.value)==null?void 0:C.value:null}};return t.onMounted(()=>{o.value.componentInstance=x,window.onresize=()=>{document.body.click()}}),n.expose(x),()=>t.createVNode(t.Fragment,null,[t.createVNode("div",t.mergeProps(n.attrs,{ref:o,class:m.value,id:e.id}),[t.createVNode("div",{id:`${e.id}-input-group`,class:y.value,onMouseenter:v,onMouseleave:h},[F(),V()])]),l.value&&_()])}}),Hi={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/field-selector.schema.json",title:"field-selector",description:"A Farris Input Component",type:"object",properties:{}},Ai=[{field:"code",title:"绑定字段"},{field:"name",title:"名称"},{field:"fieldType",title:"字段类型"}],qt=Symbol("Field_Selector Component Repository Service Token");Oe({disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},modelValue:{type:[String,Array],default:null},bindingType:{type:Object,default:{enable:!0,data:[{value:"Form",text:"绑定字段"},{value:"LocaleVariable",text:"绑定组件变量"},{value:"RemoteVariable",text:"绑定表单变量"}],value:"Form",textField:"text",valueField:"value"}},data:{type:Array,default:[]},idField:{type:String,default:"id"},columns:{type:Array,default:Ai},title:{type:String,default:"字段选择器"},modalWidth:{type:Number,default:600},modalHeight:{type:Number,default:500},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},bindingData:{type:Array,default:[]},textField:{type:String,default:"code"},beforeOpenDialog:{type:Function,default:null},editorParams:{type:Object,default:null},onFieldSelected:{type:Function,default:null},repositoryToken:{type:Symbol,default:null}},Hi);function zi(e,n,o){return!n||!n.length?{columns:[]}:(n.forEach(a=>{a.title=a.caption?a.caption:a.title,a.field=a.binding?a.binding.path:a.field}),{columns:n})}const Bn=new Map([["appearance",We],["column","columnOption"],["fields",zi]]);function Gi(e,n,o){var d;const a=o.parentComponentInstance,i=a.schema.type,r=String(((d=a.schema.appearance)==null?void 0:d.class)||"").split(" "),l=i==="section"||i==="tab-page",s=r.includes("f-page-content-nav"),u=r.includes("f-page-main"),c=e.getSchemaByType("component");c.id=`${n.id}-component`,c.componentType="data-grid";let p="";return p+=l?"f-struct-data-grid-in-card f-struct-is-subgrid":"",p+=s?"f-struct-data-grid-in-nav f-struct-wrapper f-utils-fill-flex-column":"",p+=u?"f-struct-data-grid f-struct-wrapper":"",c.appearance={class:p},c.contents=[n],c}function Wi(e,n,o){const a=o.parentComponentInstance,i=String(a.schema.appearance.class||"").split(" "),r=i.includes("f-page-content-nav"),l=i.includes("f-page-main"),s=e.getSchemaByType("section");s.id=`${n.id}-section`;let u="";return u+=r?"f-section-in-nav ":"",u+=l?"f-section-in-managelist ":"",u+="f-section-grid",s.appearance={class:u},s.contents=[n],s}function qi(e,n,o){const a=e.getSchemaByType("content-container");return a.id=`${n.id}-layout`,a.appearance={class:"f-grid-is-sub f-utils-flex-column"},a.contents=[n],a}function $n(e,n,o){const i=o.parentComponentInstance.schema.type,r=i==="section"||i==="tab-page";n.appearance={class:"f-component-grid"};const s=(r?qi:Wi)(e,n,o);return Gi(e,s,o)}const jn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/tree-grid.schema.json",title:"tree-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:"tree-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},showTreeNodeIcons:{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},disable:{description:"",type:"boolean",default:!1},visible:{description:"",type:"boolean",default:!0},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:{enable:{description:"",type:"boolean",default:!1},commands:{type:"array",default:[]},commandColumnWidth:{description:"",type:"number",default:120},onClickDeleteCommand:{description:"",type:"string",default:""},onClickEditCommand:{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:"obejct",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:!0},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:"obejct"},customSummaryStyle:{description:"",type:"obejct"},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:"string",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:""}}},row:{type:"object",properties:{customRowStyle:{description:"",type:"object"},disable:{description:"",type:"obejct"},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:!1},heading:{description:"",type:"string",default:"序号"},width:{description:"",type:"number",default:36},onClickRow:{description:"",type:"string",default:""},onDoubleClickRow:{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},showCheckAll:{description:"",type:"boolean",default:!1},showSelection:{description:"",type:"boolean",default:!1},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:"string",default:"client",enum:["client","server"]},multiSort:{description:"",type:"boolean",default:!1}}},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}},onSelectionChange:{description:"行切换事件",type:"string",default:""}},required:["id","type"]},Ut={columns:{type:Array,default:[]},displayField:{type:String,default:"name"},showLines:{type:Boolean,default:!1},columnOption:{type:Object},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"}},fit:{type:Boolean,default:!1},header:{type:Object},height:{type:Number,default:-1},id:{type:String,default:""},idField:{type:String,default:"id",require:!0},loading:{type:Boolean,default:!1},minHeight:{type:Number,default:300},minWidth:{type:Number,default:400},pagination:{type:Object,default:{enable:!1,size:-1}},rowNumber:{type:Object,default:{enable:!0,width:32,heading:"序号"}},rowOption:{type:Object,default:{wrapContent:!1}},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!0}},selectionValues:{type:Array,default:[]},showBorder:{type:Boolean,default:!1},showOptions:{type:Boolean,default:!1},showScrollBar:{type:String,default:"auto"},showStripe:{type:Boolean,default:!0},showTreeNodeIcons:{type:Boolean,default:!1},treeNodeIconsData:{type:[Object,String],default:{}},width:{type:Number,default:-1},newDataItem:{type:Function,default:()=>{}},commandOption:{type:Object,default:{enable:!1,commands:[]}},hierarchy:{type:Object,default:{cascadeOption:{autoCheckChildren:!1,autoCheckParent:!1,selectionRange:"All"},parentIdField:"parent"}},autoCheckChildren:{type:Boolean,default:!1},showSetting:{type:Boolean,default:!1}},Ui=Oe(Ut,jn,Bn,$n),Ki=di(),Xi=ci(),Pn=Object.assign({},Ut,{componentId:{type:String,default:""}}),Yi=Oe(Pn,jn,Bn,$n);var De=(e=>(e[e.readonly=0]="readonly",e[e.editable=1]="editable",e[e.editing=2]="editing",e))(De||{}),qe=(e=>(e[e.initial=0]="initial",e[e.editing=1]="editing",e))(qe||{}),it=(e=>(e[e.data=0]="data",e[e.group=1]="group",e[e.summary=2]="summary",e))(it||{}),Ie=(e=>(e[e.none=0]="none",e[e.filterable=1]="filterable",e[e.sortable=2]="sortable",e[e.filtered=4]="filtered",e[e.sorted=8]="sorted",e[e.ascending=16]="ascending",e[e.descending=32]="descending",e))(Ie||{}),Kt=(e=>(e.NONE="none",e.NUMBER="number",e.DATE="date",e.TEXT="boolean",e.IMAGE="boolean2",e.ENUM="enum",e.CUSTOM="custom",e))(Kt||{});function Ji(){function e(){return t.createVNode("div",{class:"fv-grid-disable"},null)}return{renderDisableMask:e}}function Qi(e,n,o,a,i){const{columnContext:r}=n,{conditions:l,clearCondition:s,removeCondition:u}=a,c=t.ref([]);function p(){const y=[];Array.from(l.value).forEach((w,v)=>{const h={id:w.id,code:w.fieldCode,labelCode:w.fieldCode,name:w.fieldName,editor:{type:w.value.editorType}};y.push(h)}),c.value=y}t.watch(l,()=>p());function d(y){u(`field_filter_${y}`);const w=r.value.primaryHeaderColumns.find(v=>v.field===y);if(w){w.filterValue=null;let v=w.status;v=(v&Ie.filtered)===Ie.filtered?v^Ie.filtered:v,w.status=v}o.refresh(),i.reCalculateVisualDataRows()}function f(){s(),r.value.primaryHeaderColumns.forEach(y=>{y.filterValue=null;let w=y.status;w=(w&Ie.filtered)===Ie.filtered?w^Ie.filtered:w,y.status=w}),o.refresh(),i.reCalculateVisualDataRows()}function S(){return t.createVNode("div",{class:"fv-grid-filter-panel"},[t.createVNode(gn.FFilterBar,{data:l.value,fields:c.value,mode:"display-only","show-reset":!0,onRemove:d,onReset:f},null)])}return{renderFilterPanel:S}}function Zi(e,n,o,a,i){const{dropOnGroupPanel:r,groupColumnItems:l}=o,{groupFields:s,shouldGroupingData:u,shouldGroupPanel:c}=a,p=t.ref();function d(y){s.value=y.map(w=>w.value),n.updateDataView(),i.reCalculateVisualDataRows()}function f(y){y.preventDefault()}function S(){return u.value&&c.value&&t.createVNode("div",{class:"fv-grid-group-panel",onDrop:r,onDragover:f},[l.value&&t.createVNode(t.resolveComponent("f-tags"),{ref:p,style:"margin:0.375rem","tag-type":"default",data:l.value,"tag-style":"capsule","show-close":!0,onChange:d},null)])}return{renderGroupPanel:S}}function Xt(e,n){var S;const o=String(Date.now()),a=((S=e.rowOption)==null?void 0:S.height)||28,i=t.ref(n.value.primaryColumnsWidth);function r(y){const w={};return y.reduce((v,h,m)=>{const g=m<y.length-1?y[m+1]:null;return m===0&&(v[h.field]={left:0}),h.actualWidth!==void 0&&(v[h.field].width=h.actualWidth),g&&(v[g.field]={left:v[h.field].left+(h.actualWidth||0)}),v},w),w}function l(y,w,v){const h=a*(v+1),g=w[y.field].left-h+(w[y.field].width||0),F=y.parent.height?`${y.parent.height}px`:"";return{left:`${h}px`,width:`${g}px`,height:`${F}`}}function s(y,w,v){return{right:"0px",height:`${y.parent.height?`${y.parent.height}px`:""}`}}function u(y,w){const v=y.parent.height?`${y.parent.height}px`:"";return{left:`${w[y.field].left}px`,height:`${v}`,width:isNaN(Number(w[y.field].width))?"100%":`${w[y.field].width}px`}}function c(y,w,v){const m=(w.spanned||[]).reduce((F,V)=>F+(V.parent.height||0),0)+(y.height||0);return{top:`${y.top}px`,left:`${v[w.field].left}px`,width:`${v[w.field].width}px`,height:`${m}px`,padding:`calc(${m/2}px - 1rem) 0`}}function p(y,w){return`${o}_${y.type}_r_${y.index}_c_${w}_${y.refreshKey||""}`}function d(y){return`${o}_${y.type}_r_${y.index}_${y.refreshKey||""}`}function f(y){const w=y.height?`${y.height}px`:"";return{top:`${y.top}px`,width:isNaN(i.value)?"100%":`${i.value}px`,height:`${w}`}}return t.watch(n,()=>{i.value=n.value.primaryColumnsWidth}),{calculateCellPositionInRow:r,cellKey:p,cellPosition:u,groupCellPosition:l,rowKey:d,rowPosition:f,rowSpanCellPosition:c,summaryCellPosition:s}}function er(e,n,o){const{hasChildrenField:a}=o,i=t.ref("#9399a0"),r=t.ref(28);function l(){return[].concat(...n.value.filter(f=>f.raw.__fv_descendant_index__.length!==0).map(f=>[...f.raw.__fv_descendant_index__.slice(-1)]).flat()).sort((f,S)=>Number(f)-Number(S))}function s(p){const d=new Array(n.value.length).fill(0);if(e.showLines){const f=l();n.value.forEach((S,y)=>{const w=f.includes(y),v=S.raw[a.value];d[y]=`repeating-linear-gradient(90deg, ${i.value} 0 1px, transparent 0px 2px) ${v?"-10px":"0px"} ${r.value/2}px/20px 1px no-repeat,repeating-linear-gradient(${i.value} 0 1px, transparent 0px 2px) 0px 0px/1px ${w?"50%":"100%"} no-repeat`}),d[0]=""}return d[p]}function u(p,d,f){return f[p].parents.set(p,!0).forEach(y=>{f[y].childsLength=f[y].childWithLines.filter(w=>d[w].visible).length}),d}function c(p){const S=p.raw.__fv_parent_index__===void 0||p.raw.__fv_parent_index__===-1?0:8,y=0,w=p.raw[a.value],v=p.visible?{left:`${p.layer*10+p.layer*S+y}px`,background:s(p.index),display:"flex",width:"100%",position:"relative",paddingLeft:"0.75rem"}:{display:"none"};return w||(v.paddingLeft="2rem"),v}return{hierarchyCellContentStyle:c,handleCollapsedPaddingBottom:u}}function tr(e,n,o){const a=t.ref(e.iconField);function i(r,l){if(a.value)return r.raw[e.iconField];let s="";return r.raw[o.value]!==!0?s=n.value.leafnodes:s=r.collapse?n.value.fold:n.value.unfold,s}return{treeNodeIconsClass:i}}function Yt(){function e(o,a){const i=o.pre;if(i){const r=o.visible?(i.__fv_data_position__||0)+(i.__fv_data_height__||0):i.__fv_data_position__;o.top=r,a.__fv_data_position__=r}else o.top=0,a.__fv_data_position__=0}function n(o,a,i){if(o){const r=a.parent;a.cellHeight!==o.offsetHeight&&(a.cellHeight=o.offsetHeight),a.cellHeight&&a.cellHeight>(r.height||0)&&(r.height=a.cellHeight,i.__fv_data_height__=r.height),e(r,i)}}return{updateRowPosition:e,updateVisualInfomation:n}}function nr(e,n,o,a,i,r){const{dataView:l,fold:s,hasRealChildren:u,unFold:c}=a,{collapseField:p,hasChildrenField:d}=i,{updateRowPosition:f}=Yt();function S(v,h){const m=h[v].layer;let g=v+1;for(;g<h.length&&h[g].layer>m;)g++;return g-1}function y(v,h){o.value[v].collapse=!o.value[v].collapse,o.value[v].raw[p.value]=o.value[v].collapse,o.value[v].raw[d.value]=u(o.value[v].raw);const m=o.value[v].collapse;let g=!1,F=v;for(;F<o.value.length;){const b=o.value[F];if((typeof b.raw.__fv_parent_index__=="number"?Number(b.raw.__fv_parent_index__):-1)>h)b.visible=!m,b.raw.__fv_visible__=b.visible,b.collapse&&(F=S(F,o.value)),g=!0;else if(g){F++;break}F++}let V=v;for(;V<o.value.length;){const b=o.value[V];f(b,b.raw),V++}}function w(v){if(v.raw[d.value]){const m=typeof v.raw.__fv_parent_index__=="number"?Number(v.raw.__fv_parent_index__):-1;y(Number(v.raw.__fv_index__),m)}n.emit("expandNode",{row:v})}return{toggleTreeNode:w}}function or(e,n,o,a,i,r,l,s,u,c,p){const{onClickCell:d}=r,{gridRowClass:f,onClickRow:S,onMouseoverRow:y,onMouseoutRow:w}=s,{clearSelection:v,enableMultiSelect:h,select:m,unSelect:g,isSelectingHirarchyItem:F,multiSelectOnClickRow:V,multiSelectOnlyOnCheck:b,selectItem:_,toggleSelectItem:x}=u;t.ref(e.cellHeight);const C=t.ref(e.treeNodeIconsData||{}),{hasChildrenField:k,shouldShowCheckBox:M,shouldShowIcon:I}=l,{toggleTreeNode:T}=nr(e,n,a,i,l),{toggleSelectHierarchyItem:N}=c,{cellKey:$,cellPosition:B,rowKey:O,rowPosition:j}=Xt(e,o),{hierarchyCellContentStyle:E}=er(e,a,l),{treeNodeIconsClass:P}=tr(e,C,k);function R(z,U){const se=z.raw[k.value];return{"fv-tree-node-toggle":se&&z.collapse,"fv-tree-node-toggle-minus":se&&!z.collapse}}function W(z,U){z.stopPropagation(),T(U)}function te(z,U){return t.createVNode("div",{class:R(z),onClick:se=>W(se,z)},null)}function pe(z,U){return I.value&&t.createVNode("div",{id:"treeNodeIcons",class:P(z,U)},null)}function _e(z){h.value?(z.checked?m(z):g(z),N(z)):_(z)}function ue(z,U){return M.value&&t.createVNode(vt.FCheckBox,{id:"checkbox_for_"+$(z,U.index),indeterminate:z.indeterminate,checked:z.checked,"onUpdate:checked":se=>z.checked=se,onChange:()=>_e(z)},null)}function Fe(z,U){return t.createVNode("span",{title:U.data},[U.mode===De.editing?U.getEditor(U):U.formatter?U.formatter(U,z):U.data!=null?U.data.toString():U.data])}function xe(z,U,se){return t.createVNode("div",{ref:U.setRef,key:$(z,U.index),class:"fv-grid-hierarchy-cell",style:B(U,se)},[t.createVNode("div",{style:E(z)},[te(z),pe(z,U),ue(z,U),Fe(z,U)])])}function ge(z,U,se){return t.createVNode("div",{ref:U.setRef,key:$(z,U.index),class:"fv-grid-cell",style:B(U,se),onClick:ee=>d(ee,U)},[U.mode===De.editing?U.getEditor(U):U.formatter?U.formatter(U,z):U.data!=null?U.data.toString():U.data])}function de(z,U){return U==="left"&&o.value.leftColumns.length>0&&o.value.leftColumns[0].field===z.field||U==="primary"&&o.value.primaryColumns.length>0&&o.value.primaryColumns[0].field===z.field}function ye(z,U,se="primary"){return t.createVNode("div",{ref:z.setRef,key:O(z),class:f(z),style:j(z),onMouseover:ee=>y(ee,z),onMouseout:ee=>w(ee,z),onClick:ee=>S(ee,z)},[Object.values(z.data).filter(ee=>U[ee.field]&&ee.rowSpan===1).map((ee,ce)=>de(ee,se)?xe(z,ee,U):ge(z,ee,U))])}return{renderDataRow:ye}}function Dn(e,n,o){const{horizontalScrollThumbStyle:a,onMouseDownScrollThumb:i,shouldShowHorizontalScrollbar:r}=o;function l(){return r.value&&t.createVNode("div",{class:"fv-grid-horizontal-scroll"},[t.createVNode("div",{class:"fv-grid-horizontal-scroll-thumb",style:a.value,onMousedown:s=>i(s,n,"horizontal")},null)])}return{renderHorizontalScrollbar:l}}function ar(e,n,o,a,i){const{currentPage:r,pageSize:l,pageList:s,total:u,showPageIndex:c,showPageList:p,mode:d}=i;function f({pageIndex:w,pageSize:v}){o.navigatePageTo(w),a.resetScroll(),n.emit("pageIndexChanged",{pageIndex:w,pageSize:v})}function S({pageIndex:w,pageSize:v}){o.changePageSizeTo(v),a.resetScroll(),n.emit("pageSizeChanged",{pageIndex:w,pageSize:v})}t.onMounted(()=>{});function y(){return t.createVNode("div",{class:"fv-datagrid-pagination"},[t.createVNode(yn,{mode:"default",currentPage:r.value,"onUpdate:currentPage":w=>r.value=w,pageSize:l.value,"onUpdate:pageSize":w=>l.value=w,showPageList:p.value,showPageNumbers:c.value,totalItems:u.value,pageList:s.value,onPageIndexChanged:f,onPageSizeChanged:S},null)])}return{renderDataGridPagination:y}}function En(e,n,o,a,i){const{isSelectingHirarchyItem:r,multiSelectOnClickRow:l,multiSelectOnlyOnCheck:s,selectItem:u,toggleSelectItem:c}=o,{onMouseoverRow:p,sidebarRowClass:d}=n,{showRowNumer:f,showSidebarCheckBox:S,sidebarCellPosition:y,rowKey:w,cellKey:v}=a,{gridSideStyle:h}=i;function m(x){x.stopPropagation()}function g(x){return t.createVNode("div",{class:"d-inline-flex "},[t.createVNode("div",{class:"custom-control custom-checkbox f-checkradio-single",style:"margin:0;padding-left:0.5rem"},[t.withDirectives(t.createVNode("input",{id:v(x),title:v(x),type:"checkbox","onUpdate:modelValue":C=>x.checked=C,class:"custom-control-input"},null),[[t.vModelCheckbox,x.checked]]),t.createVNode("label",{class:"custom-control-label",for:v(x),onClick:m},null)])])}function F(x){return t.createVNode("div",{class:"fv-grid-sidebar-row-number justify-content-center",style:"padding:0",onMouseover:C=>p(C,x)},[t.createVNode("div",{title:x.dataIndex,class:{"text-center":!0,"text-truncate":e.rowNumber.showEllipsis,"w-100":e.rowNumber.showEllipsis}},[x.dataIndex])])}function V(x,C,k){r.value?l.value?c(k):u(k):s.value||l.value?c(k):u(k)}function b(x){return(S.value||f.value)&&x.value.map(C=>t.createVNode("div",{key:w(C),class:d(C),style:y(C),onClick:k=>V(k,x,C)},[S.value&&!e.hierarchy&&g(C),f.value&&F(C)]))}function _(x){return t.createVNode("div",{class:"fv-grid-content-side"},[t.createVNode("div",{class:"fv-grid-side",style:h.value},[b(x)])])}return{renderDataGridSidebar:_}}function ir(e,n,o){const{columnContext:a}=o,i=t.ref(e.summary),r=t.computed(()=>{const s=i.value;return s&&s.enable&&s.groupFields&&s.groupFields.length>0});function l(){return r.value&&t.createVNode("div",{class:"fv-datagrid-summary"},[t.createVNode("div",{class:"fv-datagird-summary-panel"},[t.createVNode("span",{class:"fv-datagrid-summary-title"},[t.createTextVNode("当页合计")]),t.createVNode("div",{class:"fv-datagrid-summary-content"},[a.value.summaryColumns.map(s=>t.createVNode("div",{class:"fv-datagrid-summary-field"},[t.createVNode("span",{class:"fv-datagrid-summary-field-title"},[`${s.title}:`]),t.createVNode("span",{class:"fv-datagrid-summary-field-value"},[n.summaries.get(s.field)])]))])])])}return{renderDataGridSummery:l}}function Rn(e,n,o){const{verticalScrollThumbStyle:a,onMouseDownScrollThumb:i,shouldShowVirticalScrollbar:r}=o;function l(){return r.value&&t.createVNode("div",{class:"fv-grid-vertical-scroll"},[t.createVNode("div",{class:"fv-grid-vertical-scroll-thumb",style:a.value,onMousedown:s=>i(s,n,"vertical")},null)])}return{renderVerticalScrollbar:l}}function rr(){function e(a,i){switch(a.command){case"edit":case"remove":return i.status===qe.initial;case"accept":case"cancel":return i.status===qe.editing;default:return!a.hidden}}function n(a,i,r){switch(a.onClick(i,r.dataIndex,r),a.command){case"edit":r.status,qe.editing;break;case"accept":case"cancel":r.status,qe.initial;break}}function o(a,i){return t.createVNode("div",null,[a.commands&&a.commands.map(r=>e(r,i)&&t.createVNode(t.resolveComponent("f-button"),{class:"ml-2",type:r.type,size:r.size||"small",onClick:l=>n(r,l,i)},{default:()=>[t.createTextVNode(" "),r.text,t.createTextVNode(" ")]}))])}return{renderCommandColumn:o}}function lr(e){function n(){return t.createVNode("div",{class:"d-flex flex-column f-datagrid-norecords"},[t.createVNode("div",{class:"f-datagrid-norecords-content",style:"margin: 0;width: 100%;position: relative; top: 0"},[t.createTextVNode(" "),e.slots.empty&&e.slots.empty()||"暂无数据"])])}return{renderEmpty:n}}function Ln(e){const n=t.ref(e.minHeight),o=t.ref(e.minWidth),a=t.ref(e.height),i=t.ref(e.width),r=t.computed(()=>a.value<=0?0:Math.max(a.value,n.value)),l=t.computed(()=>i.value<=0?0:Math.max(i.value,o.value));return t.watch([()=>e.height,()=>e.width,()=>e.minHeight,()=>e.minWidth],([u,c,p,d])=>{n.value=Number(p),o.value=Number(d),a.value=Number(u),i.value=Number(c)}),{containerStyleObject:t.computed(()=>({height:r.value>0?`${r.value}px`:e.fit?"100%":"",width:l.value>0?`${l.value}px`:e.fit?"100%":""}))}}function Hn(e){const o={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:[]},a=t.ref(o);function i(){a.value={defaultColumnWidth:120,headerDepth:1,leftColumns:[],leftColumnsMap:new Map,leftColumnsWidth:0,leftHeaderColumns:[],primaryColumns:[],primaryColumnsMap:new Map,primaryColumnsWidth:0,primaryHeaderColumns:[],rightColumns:[],rightColumnsMap:new Map,rightColumnsWidth:0,rightHeaderColumns:[],summaryColumns:[]}}const r=t.ref(e.summary),l=t.computed(()=>{const g=r.value;return(g==null?void 0:g.groupFields)||[]});function s(){a.value.rightColumns.forEach(V=>{V.showSetting=!1}),a.value.primaryColumns.forEach(V=>{V.showSetting=!1});const g=a.value.rightColumns.filter(V=>V.visible),F=a.value.primaryColumns.filter(V=>V.visible);g.length>0?g[g.length-1].showSetting=!0:F.length>0&&(F[F.length-1].showSetting=!0)}function u(g){i();const F=new Map;return l.value&&l.value.reduce((V,b)=>(V.set(b,!0),V),F),g.reduce((V,b)=>(b.visible=b.visible!==!1,b.fixed==="left"?(a.value.leftColumns.push(b),a.value.leftColumnsMap.set(b.field,b),a.value.leftColumnsWidth+=b.actualWidth):b.fixed==="right"?(a.value.rightColumns.push(b),a.value.rightColumnsMap.set(b.field,b),a.value.rightColumnsWidth+=b.actualWidth):(a.value.primaryColumns.push(b),a.value.primaryColumnsMap.set(b.field,b),a.value.primaryColumnsWidth+=b.actualWidth),F.has(b.field)&&a.value.summaryColumns.push(b),V),a),s(),a}u(e.columns);const c=t.computed(()=>a.value.leftColumns.length>0),p=t.computed(()=>a.value.rightColumns.length>0);function d(g,F){return F.sortable&&F.sort&&F.sort!=="none"&&g.push(F),g}function f(g,F){return g.sortOrder=g.sortOrder||0,F.sortOrder=F.sortOrder||0,g.sortOrder===F.sortOrder?0:g.sortOrder<F.sortOrder?-1:1}function S(g,F){return g.sortOrder=g.sortOrder||0,F.sortOrder=F.sortOrder||0,g.sortOrder===F.sortOrder?0:g.sortOrder<F.sortOrder?1:-1}function y(g,F){return F.filterable&&g.push(F),g}function w(){const g=[];return a.value.leftColumns.reduce(y,g),a.value.primaryColumns.reduce(y,g),a.value.rightColumns.reduce(y,g),g}function v(){const g=[];a.value.leftColumns.reduce(d,g),a.value.primaryColumns.reduce(d,g),a.value.rightColumns.reduce(d,g);const F=Math.max(...g.map(V=>V.sortOrder||0));return g.sort(S).map(V=>{const b=V.sortOrder||F+1;return V.sortOrder=b,V}).sort(f).map((V,b)=>{const _=b+1;return V.sortOrder=_,V})}function h(g,F,V){const b=g.map(_=>{const x=V.getSorterByColumn(_),C=_.sort==="asc",k=_.sort==="desc",M=C?x.ascend:k?x.decend:void 0;return{field:_.field,compare:M}});F.setSorters(b)}function m(g,F){const V=v();h(V,g,F)}return{applyColumnSorter:m,collectionFilterableColumns:w,applySortableColumns:h,collectionSortableColumns:v,columnContext:a,hasLeftFixedColumn:c,hasRightFixedColumn:p,updateColumnRenderContext:u,updateColumnSettingIcon:s}}const sr=[{name:"是",value:!0},{name:"否",value:!1}];function cr(e){return e.filter=e.filter||function(n){return String(e.filterValue).split(",").includes(String(n[e.field]))},t.createVNode("div",null,[t.createVNode(t.resolveComponent("f-checkbox-group"),{modelValue:e.filterValue,"onUpdate:modelValue":n=>e.filterValue=n,"enum-data":sr},null)])}const ur=t.ref([{name:"七天",selectable:!0},{name:"一个月",selectable:!0},{name:"三个月",selectable:!0},{name:"半年",selectable:!0}]);function dr(e){const n=t.ref(!1);return e.filter=e.filter||function(o){const a=new Date(new Date(e.filterValue).toLocaleDateString()).valueOf();return new Date(new Date(o[e.field]).toLocaleDateString()).valueOf()===a},t.createVNode("div",{style:"display:flex;flex-direction:column;"},[t.createVNode("div",{style:"display:flex;margin-bottom:6px;"},[t.createVNode("label",{style:"margin-right:8px"},[t.createTextVNode("按区间筛选")]),t.createVNode(t.resolveComponent("f-switch"),{modelValue:n.value,"onUpdate:modelValue":o=>n.value=o,size:"small"},null)]),t.createVNode(t.resolveComponent("f-date-picker"),{modelValue:e.filterValue,"onUpdate:modelValue":o=>e.filterValue=o},null),t.createVNode(t.resolveComponent("f-tags"),{style:"margin-top:10px",data:ur.value,selectable:!0,"tag-style":"capsule"},null)])}function fr(e){e.filter=e.filter||function(o){const a=Number.parseFloat(e.filterValue),i=Number.parseFloat(o[e.field]);return isNaN(a)?isNaN(i):a===i};function n(o){e.filterValue=o}return t.createVNode("div",null,[t.createVNode(t.resolveComponent("f-number-spinner"),{"can-null":!0,precision:"2",value:e.filterValue,onValueChange:n},null)])}function pr(e,n,o,a,i,r){e.filterHistory=e.filterHistory||i.getFilterHistory(e),e.filter=e.filter||function(f){return(f[e.field]||"").startsWith(e.filterValue)};function l(f,S){i.removeFilterHistory(e,f.name),e.filterHistory=i.getFilterHistory(e)}function s(f){e.filterValue=f.name}function u(f){e.filterHistory=f}const c=a.rawView.value.reduce((f,S,y)=>(f.push(S[e.field]),f),[]),d=[...new Set(c)].map((f,S)=>({id:S,name:f}));return t.createVNode("div",{style:"display:flex;flex-direction:column;"},[t.createVNode(t.resolveComponent("f-search-box"),{modelValue:e.filterValue,"onUpdate:modelValue":f=>e.filterValue=f,"popup-host":n.value,"popup-right-boundary":o.value,"popup-offset-x":r.offsetX,"recommended-data":d},null),t.createVNode(t.resolveComponent("f-tags"),{style:"margin-top:10px","tag-type":"default",data:e.filterHistory,"show-close":!0,selectable:!0,onRemove:l,onSelectionChange:s,onChange:u},null)])}function mr(e,n,o,a,i,r){e.filter=e.filter||function(S){return String(e.filterValue).split(",").includes(String(S[e.field]))};const l=",",s=a.rawView.value.reduce((S,y,w)=>(S.push(y[e.field]),S),[]),c=[...new Set(s)].map((S,y)=>({id:y,name:S}));function p(S){return(S==null?void 0:S.split(l))||[]}function d(S){return S.map(w=>w.name).join(l)}function f(S){e.filterValue=d(S)}return t.createVNode(t.resolveComponent("f-list-view"),{data:c,"multi-select":!0,"multi-select-mode":"OnCheckAndClick","id-field":"name",view:"SingleView",header:"Search",size:"Small","selection-values":p(e.filterValue),onSelectChange:S=>f(S)},{default:()=>[t.createTextVNode(" ")]})}function hr(e){t.ref("请输入关键词"),t.ref('<i class="f-icon f-icon-search"></i>');const n=[{name:"发票类型",checked:!1},{name:"发票代码",checked:!1},{name:"开票日期",checked:!1},{name:"票价(燃油附加费)",checked:!1},{name:"税收分类编号",checked:!1},{name:"不含税单价",checked:!1},{name:"往来单位",checked:!1},{name:"商品服务描述",checked:!1},{name:"项目负责人",checked:!1},{name:"所属单位",checked:!1}];return t.createVNode(t.resolveComponent("f-list-view"),{data:n,"multi-select":!0,view:"SingleView",size:"Small"},{default:()=>[t.createTextVNode(" ")]})}function An(e,n,o,a,i){const r=new Map([["boolean","boolean-filter"],["date","date-filter"],["datetime","date-filter"],["number","numeric-filter"],["string","text-filter"],["text","text-filter"],["enum","enum-filter"],["reference","list-filter"]]),l=new Map([["boolean-filter",cr],["date-filter",dr],["enum-filter",mr],["list-filter",hr],["numeric-filter",fr],["text-filter",pr]]);function s(u){var f,S;const c=((f=u.column)==null?void 0:f.dataType)||"string",p=((S=u.column)==null?void 0:S.filter)||r.get(c)||"text-editor",d=l.get(p);if(d)return d(u,e,n,o,a,i)}return{getFilterEditor:s}}function zn(e){const o=t.ref(e.commandOption.enable||!1),a=t.ref(e.commandOption.commands||[]);function i(r){if(o.value&&!(r.value.findIndex(s=>s.dataType==="commands")>-1)){const s={field:"__commands__",title:"操作",width:120,fixed:"right",dataType:"commands",commands:a.value,visible:!0};r.value.push(s)}}return{applyCommands:i}}function Gn(e,n,o,a,i,r,l){const{columnContext:s}=o,{getGridHeaderCells:u}=i,{groupFields:c}=r,p=t.ref(-1),d=t.ref(!1),f=t.computed(()=>c.value&&c.value.map(m=>{var g;return{name:((g=s.value.primaryColumnsMap.get(m))==null?void 0:g.title)||m,value:m}}));function S(m,g,F){var V,b,_;if(m.stopPropagation(),g){const x=`${(V=g.column)==null?void 0:V.title}:${(b=g.column)==null?void 0:b.field}`;(_=m.dataTransfer)==null||_.setData("Text",x),setTimeout(()=>{p.value=F,d.value=!0})}}function y(m,g){if(m.preventDefault(),p.value!==g){const{primaryColumns:F}=s.value,V=F[p.value],b=F;b.splice(p.value,1),b.splice(g,0,V),s.value.primaryHeaderColumns=Array.from(u(b).values()),p.value=g}}function w(m,g){m.preventDefault(),m.dataTransfer&&(m.dataTransfer.dropEffect="move")}function v(m,g){d.value=!1,a.updateDataView(),l.reCalculateVisualDataRows()}function h(m){var F;m.preventDefault(),m.stopPropagation();const g=(F=m.dataTransfer)==null?void 0:F.getData("Text");if(g){const V=g.split(":");V[0];const b=V[1];r.groupFields.value.push(b)}a.updateDataView(),l.reCalculateVisualDataRows()}return{dragstart:S,dragenter:y,dragover:w,dragend:v,dropOnGroupPanel:h,isDragging:d,groupColumnItems:f}}function Wn(e,n,o,a,i){const{getGridHeaderCells:r}=i,l=120,s=50,u=t.computed(()=>{var x;return((x=e.rowNumber)==null?void 0:x.enable)||!1}),c=t.computed(()=>{var x,C;return((x=e.selection)==null?void 0:x.multiSelect)||((C=e.selection)==null?void 0:C.showCheckbox)||!1}),p=t.computed(()=>{var x;return 0+(u.value?((x=e.rowNumber)==null?void 0:x.width)||32:0)+(c.value?s:0)}),d=t.computed(()=>{var x;return(x=e.columnOption)==null?void 0:x.fitColumns}),f=t.computed(()=>{var x;return d.value&&((x=e.columnOption)==null?void 0:x.fitMode)||"average"});function S(x,C,k){const M=parseInt(x.width,10)/100;return k*M}function y(x,C,k){return typeof x.width=="string"?S(x,C,k):x.width||l}function w(x,C){const k=[],M=[];let I=0;x.value.primaryColumns.filter($=>$.visible).forEach($=>{typeof $.width=="string"?M.push($):($.width=$.width||l,I+=$.width,k.push($))});const T=C*(k.length/x.value.primaryColumns.filter($=>$.visible).length);k.forEach($=>{const B=T*($.width/I);$.actualWidth=B,x.value.primaryColumnsWidth+=$.actualWidth});const N=C-T;M.forEach($=>{const B=S($,x.value,N);$.actualWidth=B,x.value.primaryColumnsWidth+=$.actualWidth})}function v(x,C){const k=C/(x.value.primaryColumns.filter(M=>M.visible).length||1);x.value.primaryColumns.filter(M=>M.visible).forEach(M=>{M.actualWidth=k,x.value.primaryColumnsWidth+=M.actualWidth})}function h(x,C){const k=[],M=[],I=new WeakMap;let T=0,N=0;if(x.value.primaryColumns.filter(B=>B.visible).forEach(B=>{if(typeof B.width=="string"){const O=S(B,x.value,C);I.set(B,O),T+=O,M.push(B)}else B.width=B.width||l,N+=B.width,k.push(B)}),C-T>N){const B=C-T;M.forEach(O=>{O.actualWidth=I.get(O)||l,x.value.primaryColumnsWidth+=O.actualWidth}),k.forEach(O=>{O.actualWidth=B*(O.width/N),x.value.primaryColumnsWidth+=O.actualWidth})}else w(x,C)}function m(x,C){x.value.primaryColumns.filter(k=>k.visible).forEach(k=>{k.actualWidth=y(k,x.value,C),x.value.primaryColumnsWidth+=k.actualWidth})}const g={average:v,expand:h,none:m,percentage:w};function F(x){x.value.leftHeaderColumns=Array.from(r(x.value.leftColumns.filter(C=>C.visible)).values()),x.value.primaryHeaderColumns=Array.from(r(x.value.primaryColumns.filter(C=>C.visible)).values()),x.value.rightHeaderColumns=Array.from(r(x.value.rightColumns.filter(C=>C.visible)).values())}function V(x){x.value.leftColumnsWidth=0,x.value.primaryColumnsWidth=0,x.value.rightColumnsWidth=0,x.value.leftColumns.filter(C=>C.visible).forEach(C=>{x.value.leftColumnsWidth+=C.actualWidth||0}),x.value.primaryColumns.filter(C=>C.visible).forEach(C=>{x.value.primaryColumnsWidth+=C.actualWidth||0}),x.value.rightColumns.filter(C=>C.visible).forEach(C=>{x.value.rightColumnsWidth+=C.actualWidth||0}),x.value=Object.assign({},x.value)}function b(x,C,k){var O;let M=0;const I=x.value.primaryColumns,T=x.value.rightColumns;x.value.rightColumns.filter(j=>j.visible).forEach(j=>{j.actualWidth=y(j,x.value,C),M+=j.actualWidth});const N=k-M,$=g[f.value];if($&&$(x,N),x.value.primaryColumnsWidth+M<=k)return x.value.primaryColumns=[...I,...T],x.value.primaryColumnsWidth+=M,x.value.rightColumns=[],x.value.rightColumnsWidth=0,!0;const B=new Map;return B.set("primary",[]),B.set("right",[]),x.value.primaryColumns.reduce((j,E)=>{var P,R;return E.fixed==="right"?(P=j.get("right"))==null||P.push(E):(R=j.get("primary"))==null||R.push(E),j},B),(O=B.get("right"))!=null&&O.length&&(x.value.primaryColumns=[...B.get("primary")||[]],x.value.rightColumns=[...B.get("right")||[]]),x.value.primaryColumnsWidth=0,x.value.rightColumnsWidth=0,!1}function _(){if(o.value){n.value.leftColumnsWidth=0,n.value.primaryColumnsWidth=0,n.value.rightColumnsWidth=0;const x=o.value.clientWidth-p.value;n.value.leftColumns.filter(k=>k.visible).forEach(k=>{k.actualWidth=y(k,n.value,x),n.value.leftColumnsWidth+=k.actualWidth});const C=x-n.value.leftColumnsWidth;if(b(n,x,C))a.value=C;else{n.value.rightColumns.filter(I=>I.visible).forEach(I=>{I.actualWidth=y(I,n.value,x),n.value.rightColumnsWidth+=I.actualWidth});const k=x-n.value.leftColumnsWidth-n.value.rightColumnsWidth,M=g[f.value];M&&M(n,k),a.value=k}F(n),n.value=Object.assign({},n.value)}}return t.watch(()=>{var x;return(x=e.columnOption)==null?void 0:x.fitColumns},(x,C)=>{x!==C&&x&&_()}),t.watch(f,(x,C)=>{x!==C&&d.value&&_()}),{calculateColumnHeaders:F,calculateColumnsSize:_,calculateColumnsWidth:V}}function qn(e,n){var c;const o=t.ref((c=e.columnOption)==null?void 0:c.groups);function a(p,d,f,S,y){const w={actualWidth:0,children:[],depth:1,field:p.field,layer:1,left:0,parent:f,resizable:!1,title:p.title||"",status:Ie.none,popoverRef:t.ref(),showPopover:!1,column:null,filterValue:null,sortType:"none"},v=S||w;if(p.group){let h=1;p.group.reduce((m,g)=>{if(typeof g=="string"){const F=d.get(g);F&&(y.fieldToRootMap.set(g,v),m.actualWidth+=F.actualWidth,m.children.push(F))}else{const F=a(g,d,m,v,y);h=Math.max(h,F.depth),m.actualWidth+=F.actualWidth,m.children.push(F)}return m},w),w.depth+=h}return n.value.headerDepth=Math.max(n.value.headerDepth,w.depth),w}function i(p){const d={groupedCells:new Map,fieldToRootMap:new Map};return o.value&&o.value.reduce((f,S)=>{const y=a(S,p,null,null,d);return f.groupedCells.set(S.field,y),f},d),d}function r(p){if(!p||p.length===0)return 0;const d=p[0];return d.children&&d.children.length>0&&(d.left=r(d.children)),d.left}function l(p,d){const f=n.value.headerDepth;p.forEach(S=>{S.layer=d?d.layer+1:1;const y=S.children&&S.children.length===0;S.depth=y?f-(S.layer-1):1,S.left=y?S.left:r(S.children),S.children&&l(S.children,S)})}function s(p,d){const f=new Map;return p.forEach(S=>{const y=d.fieldToRootMap.get(S.field),w=y!=null;w&&!f.has(y.field)&&f.set(y.field,y),w||f.set(S.field,S)}),l(Array.from(f.values())),f}function u(p){let d=new Map,f=0;if(p.reduce((S,y)=>{let w=Ie.none;w=y.sortable?w|Ie.sortable:w,w=y.filterable?w|Ie.filterable:w,w=y.sort&&y.sort!=="none"?w|Ie.sorted|(y.sort==="asc"?Ie.ascending:Ie.descending):w;const v=y.binding&&y.binding.field?y.binding.field:y.field;return S.set(v,{actualWidth:y.actualWidth||0,children:[],depth:1,layer:1,left:f,field:v,parent:null,resizable:y.resizable||!1,title:y.title,status:w,popoverRef:t.ref(),showPopover:!1,column:y,filterValue:null,sortType:y.sort||"none",showSetting:y.showSetting}),f+=y.actualWidth||0,S},d),o.value){const S=i(d);d=s(d,S)}return d}return{getGridHeaderCells:u}}const Un={conditions:{type:Array,default:[]},fields:{type:Array,default:[]},key:{type:String,default:""},isControlInline:{type:Boolean,default:!0}};class gr{constructor(n={value:[]}){G(this,"editorType","check-box");G(this,"value");G(this,"valueType","boolean");this.value=n.value}clear(){this.value=[]}setValue(n){this.value=n}getValue(){return this.value}isEmpty(){return this.value.length===0}}class yr{constructor(n={textValue:"",value:"",valueField:""}){G(this,"editorType","combo-lookup");G(this,"textValue");G(this,"value");G(this,"valueField");G(this,"valueType","text");this.textValue=n.textValue,this.value=n.value,this.valueField=n.valueField}clear(){this.value="",this.valueField="",this.textValue=""}getPropValue(n,o){if(o.length>1){const a=o.shift();return n[a]?this.getPropValue(n[a],o):null}return n[o[0]]}getTextValue(n){const o=n.split("."),a=this.value.split(",").map(i=>this.getPropValue(i,Be.cloneDeep(o)));return a&&a.length?a.join(","):""}getValue(){const n=this.valueField.split("."),o=this.value.split(",").map(a=>this.getPropValue(a,Be.cloneDeep(n)));return o&&o.length?o.join(","):""}setValue(n){throw new Error("Method not implemented.")}isEmpty(){return!this.valueField}}class vr{constructor(n={value:""}){G(this,"editorType","date-picker");G(this,"value");G(this,"valueType","datetime");this.value=n.value}setValue(n){this.value=n.formatted}getValue(){return this.value}isEmpty(){return!this.value}clear(){this.value=void 0}}class Kn{constructor(n={begin:"",end:""}){G(this,"editorType","date-range");G(this,"begin","");G(this,"end","");G(this,"valueType","datetime");this.begin=n.begin,this.end=n.end}clear(){this.begin="",this.end=""}getValue(){return!this.begin||!this.end?"":`${this.begin}~${this.end}`}setValue(n){n.dataRange?(this.begin=n.dataRange.split(n.delimiter)[0],this.end=n.dataRange.split(n.delimiter)[1]):this.clear()}isEmpty(){return!this.begin||!this.end}}class br{constructor(n={value:""}){G(this,"editorType","datetime-picker");G(this,"value");G(this,"valueType","datetime");this.value=n.value}clear(){this.value=void 0}getValue(){return this.value}setValue(n){this.value=n.formatted}isEmpty(){return!this.value}}class Cr{constructor(n={value:"",dispalyText:""}){G(this,"editorType","combo-list");G(this,"value");G(this,"valueType","enum");G(this,"displayText");this.displayText=n.dispalyText,this.value=n.value}clear(){this.value="",this.displayText=""}getValue(){return this.displayText}setValue(n){this.displayText=n.dispalyText,this.value=n.value}isEmpty(){return!this.displayText}}class wr{constructor(n={value:[],displayText:"",displayField:"",isInputText:!1}){G(this,"editorType","input-group");G(this,"value");G(this,"valueType","text");G(this,"displayText");G(this,"valueField");G(this,"isInputText");this.value=n.value,this.displayText=n.displayText,this.valueField=n.displayField,this.isInputText=n.isInputText}clear(){this.value=[],this.displayText="",this.valueField=""}getPropValue(n,o){if(o.length>1){const a=o.shift();return n[a]?this.getPropValue(n[a],o):""}return n[o[0]]}getTextValue(n){const o=n.split("."),a=this.value.map(i=>this.getPropValue(i,Be.cloneDeep(o)));return a&&a.length?a.join(","):""}getValue(){const n=this.valueField.split(".")||[],o=this.value.map(a=>this.getPropValue(a,Be.cloneDeep(n)));return o&&o.length?o.join(","):""}setValue(n){throw new Error("Method not implemented.")}isEmpty(){return!this.displayText}}class Sr{constructor(n={textValue:"",value:[],valueField:"",isInputText:!1}){G(this,"editorType","lookup");G(this,"textValue");G(this,"value");G(this,"valueField");G(this,"valueType","text");G(this,"isInputText");this.value=n.value,this.valueField=n.valueField,this.textValue=n.textValue,this.isInputText=n.isInputText}clear(){this.value=[],this.valueField="",this.textValue=""}getPropValue(n,o){if(o.length>1){const a=o.shift();return n[a]?this.getPropValue(n[a],o):null}return n[o[0]]}getTextValue(n){const o=n.split("."),a=this.value.map(i=>this.getPropValue(i,o));return a&&a.length?a.join(","):""}getValue(){const n=this.valueField.split("."),o=this.value.map(a=>this.getPropValue(a,n));return o&&o.length?o.join(","):""}setValue(n){throw new Error("Method not implemented.")}isEmpty(){return!this.value.length}}class xr{constructor(n={value:""}){G(this,"editorType","month-picker");G(this,"value");G(this,"valueType","datetime");this.value=n.value}setValue(n){this.value=n.formatted}getValue(){return this.value}clear(){this.value=void 0}isEmpty(){return!this.value}}class Vr{constructor(n={begin:"",end:""}){G(this,"editorType","month-range");G(this,"begin");G(this,"end");G(this,"valueType","datetime");this.begin=n.begin,this.end=n.end}clear(){this.begin="",this.end=""}getValue(){return!this.begin||!this.end?"":`${this.begin}~${this.end}`}setValue(n){n.dataRange?(this.begin=n.dataRange.split(n.delimiter)[0],this.end=n.dataRange.split(n.delimiter)[1]):this.clear()}isEmpty(){return!this.begin||!this.end}}class Fr{constructor(n={begin:null,end:null}){G(this,"editorType","number-range");G(this,"begin");G(this,"end");G(this,"valueType","number");this.begin=n.begin==null?null:parseFloat(n.begin),this.end=n.end==null?null:parseFloat(n.end)}clear(){this.begin=null,this.end=null}getValue(){return{begin:this.begin,end:this.end}}setValue(n){this.begin=n.begin==null?null:parseFloat(n.begin),this.end=n.end==null?null:parseFloat(n.end)}isEmpty(){return this.begin==null&&this.end==null}}class _r{constructor(n={value:""}){G(this,"editorType","number-spinner");G(this,"value");G(this,"valueType","number");this.value=n.value==null?null:parseFloat(n.value)}clear(){this.value=void 0}getValue(){return this.value}setValue(n){this.value=isNaN(parseFloat(n))?null:n}isEmpty(){return this.value==null}}class Nr{constructor(n={value:null}){G(this,"editorType","radio-group");G(this,"value");G(this,"valueType","enum");this.value=n.value}clear(){this.value=void 0}getValue(){return this.value}setValue(n){this.value=n}isEmpty(){return!this.value}}class Xn{constructor(n={value:""}){G(this,"editorType","text");G(this,"value");G(this,"valueType","text");this.value=n.value}clear(){this.value=void 0}getValue(){return this.value}setValue(n){this.value=n}isEmpty(){return!this.value}}function Yn(){function e(n,o){switch(n){case"check-box":return new gr(o);case"combo-list":return new Cr(o);case"combo-lookup":return new yr(o);case"input-group":return new wr(o);case"date-picker":return new vr(o);case"date-range":return new Kn(o);case"datetime-picker":return new br(o);case"datetime-range":return new Kn(o);case"lookup":return new Sr(o);case"month-picker":return new xr(o);case"month-range":return new Vr(o);case"number-range":return new Fr(o);case"number-spinner":return new _r(o);case"radio-group":return new Nr(o);default:return new Xn(o)}}return{createConditionValue:e}}function Jn(e,n){const o=t.ref(e.fields),a=t.ref([]),i=new Map,{createConditionValue:r}=Yn();function l(p){switch(p.editor?p.editor.type:"input-group"){case"date-range":p.editor.type="date-picker";break;case"datetime-range":p.editor.type="datetime-picker";break;case"number-range":p.editor.type="number-spinner";break}return p.editor}function s(p){return p.map(f=>Object.assign({},f)).map(f=>(f.editor=l(f),f))}function u(p=!0){o.value.reduce((d,f)=>(p||(f.editor=l(f)),d.set(f.labelCode,f),d),i)}function c(p){return p.forEach(d=>{if(d&&typeof d.valueConfig=="object"){const f=i.get(d.fieldCode);d.value=r(f.editor.type,d.valueConfig.content)}}),p}return{convertToSingleControl:s,fields:o,fieldMap:i,fieldConditions:a,loadFieldConfigs:u,initialConditionValue:c}}function kr(e,n,o){const a=t.ref(null),i=t.ref(o),r=t.ref(0),l=t.computed(()=>c(r.value));function s(){i.value&&(a.value=new ResizeObserver(u(p=>{const d=p[0];r.value=d.contentRect.width})),a.value.observe(i.value))}function u(p,d){let f=null;return function(){const S=arguments;f||(f=setTimeout(()=>{f=null},500),p(...S))}}function c(p){let f="col-12";return p>250*6?f="col-2":p>250*4?f="col-3":p>250*3?f="col-4":p>250*2&&(f="col-6"),f}return t.watch([o],([p])=>{i.value=p,s()}),{conditionClass:l,resizeObserver:a}}const Qn=t.defineComponent({name:"FConditionFields",props:Un,emits:["valueChange","blur","focus","click","input"],setup(e,n){const o=t.ref(),a=t.ref(e.key),i=t.ref(e.isControlInline),r=t.ref(e.conditions),l=Jn(e),{initialConditionValue:s,fieldMap:u,loadFieldConfigs:c}=l,p=kr(e,n,o),{conditionClass:d,resizeObserver:f}=p;c(!0),s(r.value),t.onBeforeUnmount(()=>{var h;(h=f.value)==null||h.unobserve(o.value)}),t.watch(()=>e.conditions,()=>{r.value=e.conditions});const S=t.computed(()=>({"f-utils-flex-row-wrap":!0,"farris-form":!0,"farris-form-controls-inline":i.value})),y=t.computed(()=>d.value);function w(h,m){n.emit("valueChange",h,m)}function v(){return r.value.map(h=>{var m;return t.createVNode(Pt.FDynamicFormGroup,{customClass:y.value,label:h.fieldName,editor:(m=u.get(h.fieldCode))==null?void 0:m.editor,modelValue:h.value.value,"onUpdate:modelValue":g=>h.value.value=g,onChange:g=>{w(g,h)}},null)})}return()=>t.createVNode("div",{class:S.value,key:a.value,ref:o},[v()])}}),Jt=new Map([["appearance",We]]),Tr=new Map([]);var Zn=(e=>(e.SimpleField="SimpleField",e.ComplexField="ComplexField",e))(Zn||{}),St=(e=>(e.String="String",e.DateTime="DateTime",e.Date="Date",e.Enum="Enum",e.Boolean="Boolean",e.Number="Number",e.Text="Text",e.BigNumber="BigNumber",e))(St||{});const Ir="root-viewmodel";class Mr{constructor(n,o){G(this,"formSchemaUtils");G(this,"controlCreatorUtils");G(this,"designViewModelUtils");this.resolver=n,this.designerHostService=o,this.formSchemaUtils=this.designerHostService.formSchemaUtils,this.controlCreatorUtils=this.designerHostService.controlCreatorUtils,this.designViewModelUtils=this.designerHostService.designViewModelUtils}createComponent(n){const o=this.createComponentRefNode(n),a=this.createComponentNode(n),i=this.createViewModeNode(n),r=this.formSchemaUtils.getFormSchema();return r.module.viewmodels.push(i),r.module.components.push(a),this.designViewModelUtils.assembleDesignViewModel(),o}createComponentRefNode(n){const o=this.resolver.getSchemaByType("component-ref");return Object.assign(o,{id:`${n.componentId}-component-ref`,component:`${n.componentId}-component`}),o}createComponentNode(n){const o=this.resolver.getSchemaByType("component"),a=this.createFormComponentContents(n);return Object.assign(o,{id:`${n.componentId}-component`,viewModel:`${n.componentId}-component-viewmodel`,componentType:n.componentType,appearance:{class:this.getFormComponentClass()},formColumns:n.formColumns,contents:a}),o}getFormComponentClass(){return this.formSchemaUtils.getFormSchema().module.templateId==="double-list-in-tab-template"?"f-struct-wrapper f-utils-fill-flex-column":"f-struct-wrapper"}createFormComponentContents(n){const o=this.resolver.getSchemaByType("section");Object.assign(o,{id:n.componentId+"-form-section",appearance:{class:"f-section-form f-section-in-mainsubcard"},mainTitle:n.componentName});const a=this.resolver.getSchemaByType("response-form"),i=[];Object.assign(a,{id:n.componentId+"-form",appearance:{class:"f-form-layout farris-form farris-form-controls-inline"},contents:i}),o.contents=[a];const{selectedFields:r}=n;return r==null||r.forEach(s=>{const u=Be.cloneDeep(s),c=this.resolveControlClassByFormColumns(n),p=this.controlCreatorUtils.setFormFieldProperty(u,"",c);p&&i.push(p)}),this.formSchemaUtils.getFormSchema().module.templateId==="double-list-in-tab-template"&&(o.appearance.class="f-section-grid f-section-in-main px-0 pt-0",o.fill=!0),[o]}resolveControlClassByFormColumns(n){let o="";switch(n.formColumns){case 1:{o="col-12 col-md-12 col-xl-12 col-el-12";break}case 2:{o="col-12 col-md-6 col-xl-6 col-el-6";break}case 3:{o="col-12 col-md-6 col-xl-4 col-el-4";break}case 4:{o="col-12 col-md-6 col-xl-3 col-el-2";break}}return o}createViewModeNode(n){return{id:`${n.componentId}-component-viewmodel`,code:`${n.componentId}-component-viewmodel`,name:n.componentName,bindTo:n.bindTo,parent:Ir,fields:this.assembleViewModelFields(n),commands:[],states:[],enableValidation:!0,pagination:{enable:!1}}}assembleViewModelFields(n){const o=[],{selectedFields:a}=n;return a==null||a.forEach(i=>{let r="blur";const l=i.type.name;(l===St.Enum||l===St.Boolean)&&(r="change"),o.push({type:"Form",id:i.id,fieldName:i.bindingField,groupId:null,groupName:null,updateOn:r,fieldSchema:{}})}),o}}function Or(e,n,o,a){const i=o.parentComponentInstance;if(i){const l={componentId:`form-${Math.random().toString(36).slice(2,6)}`,componentName:"标题",componentType:"form",formColumns:4,parentContainerId:i.schema.id,bindTo:"/"};return new Mr(e,a).createComponent(l)}else return n}function Br(e,n,o){return n}Oe({customClass:{type:String,default:""}},{$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/response-form.schema.json",title:"response-form",description:"A Farris Data Collection Component",type:"object",properties:{id:{description:"The unique identifier for a form group",type:"string"},type:{description:"The type string of form group component",type:"string",default:"response-form"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},contents:{description:"",type:"array",default:[]}},required:["id","type"]},Jt,Or);const eo={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/form-group.schema.json",title:"form-group",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a form group",type:"string"},type:{description:"The type string of form group component",type:"string",default:"form-group"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},enableLinkLabel:{description:"",type:"boolean",default:!1},editor:{description:"",type:"obejct"},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"}},required:["id","type"]},to={id:{type:String,default:""},customClass:{type:String,default:""},editor:{type:Object,default:{}},label:{type:String,default:""},modelValue:{type:[String,Boolean,Array,Number],default:""},visible:{type:Boolean,default:!0},required:{type:Boolean,default:!1},showLabel:{type:Boolean,default:!0},type:{type:String,default:"input-group"}};Oe(to,eo,Jt,void 0);function $r(){function e(n){var i,r;if(!n)return!1;const o=((i=n.targetContainer)==null?void 0:i.componentInstance)&&n.targetContainer.componentInstance.value;if(!o)return!1;const a=(r=o.schema.appearance)==null?void 0:r.class;if(n.controlCategory==="input"||n.controlType==="form-group"){const l=o.schema.type,s=(l==="response-form"||l==="content-container")&&a&&a.includes("farris-form");if(o.schema.type!=="response-layout-item"&&!s)return!1}return n.controlType!=="field-set"}return{basalDragulaRuleForContainer:e}}const jr={id:{type:String},required:{type:Boolean,default:!1},text:{type:String,default:""},title:{type:String}},Pr=t.defineComponent({name:"FDynamicFormLabel",props:jr,emits:[],setup(e,n){const o=t.ref(e.title||e.text),a=t.ref(e.required),i=t.ref(e.text);return t.watch(()=>e.text,()=>{i.value=e.text}),t.watch(()=>e.required,(r,l)=>{r!==l&&(a.value=r)}),()=>i.value&&t.createVNode("label",{class:"col-form-label",title:o.value},[a.value&&t.createVNode("span",{class:"farris-label-info text-danger"},[t.createTextVNode("*")]),t.createVNode("span",{class:"farris-label-text"},[i.value])])}}),Dr=new Map([["appearance",We]]);function Er(e,n,o){return n}const Rr={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/input-group.schema.json",title:"input-group",description:"A Farris Input 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:"input-group"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},labelWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},disabled:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabIndex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"enum",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""},addonDisabled:{description:"",type:"boolean",default:!1},addonContent:{description:"",type:"string",default:""},autoHeight:{description:"",type:"boolean",default:!1},enableAddon:{description:"",type:"boolean",default:!1},addonType:{description:"",type:"string",enum:["button","static"],default:"button"},enableClear:{description:"",type:"boolean",default:!0},enableViewPassword:{description:"",type:"boolean",default:!1},inputType:{description:"",type:"string",enum:["input","password","text"],default:"input"},maxHeight:{description:"",type:"number",default:500},popUp:{description:"",type:"object",properties:{footerButtons:{type:"array",default:[]},height:{type:"number",default:600},dataMapping:{type:"object"},contents:{type:"array",default:[]},showMaxButton:{type:"boolean",default:!0},showCloseButton:{type:"boolean",default:!0},showFooter:{type:"boolean",default:!0},title:{type:"string",default:""},width:{type:"number",default:800}}},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},onClear:{description:"",type:"string",default:""}},required:["id","type"]},no={id:{Type:String,default:""},autocomplete:{Type:String,default:"off"},customClass:{Type:String,default:""},disabled:{Type:Boolean,default:!1},editable:{Type:Boolean,default:!0},enableClear:{Type:Boolean,default:!0},enableTitle:{Type:Boolean,default:!0},enableViewPassword:{Type:Boolean,default:!0},forcePlaceholder:{Type:Boolean,default:!1},groupText:{Type:String,default:""},type:{Type:String,default:"text"},max:{type:[Number,String]},min:{type:[Number,String]},maxLength:{Type:Number||void 0,default:void 0},minLength:{Type:Number||void 0,default:void 0},modelValue:{Type:String||Boolean,default:""},showBorder:{Type:Boolean,default:!0},step:{Type:Number,default:1},placeholder:{Type:String,default:""},precision:{Type:Number,default:0},readonly:{Type:Boolean,default:!1},showButtonWhenDisabled:{Type:Boolean,default:!1},tabIndex:{Type:Number||void 0,default:void 0},textAlign:{Type:String,default:"left"},useExtendInfo:{Type:Boolean,default:!1},extendInfo:{Type:String,default:""},value:{Type:String,default:""},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},updateOn:{type:String,default:"blur"}};Oe(no,Rr,Dr,Er);function Lr(e,n,o,a){const i=t.ref(e.disabled),r=t.ref(!1),l=t.ref("text"),s=t.ref(e.showBorder),u=t.ref(e.textAlign),c=t.ref(e.updateOn),p=t.computed(()=>e.editable||!e.readonly),d=t.computed(()=>e.editable&&!e.disabled&&!e.readonly),f=t.computed(()=>!e.disabled&&r.value),S=t.computed(()=>o.value===""||o.value===null||o.value===void 0),y=t.computed(()=>(e.disabled||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),w=t.computed(()=>e.readonly||!e.editable),v=t.computed(()=>e.enableTitle?o.value:""),h=t.computed(()=>({"form-control":!0,"f-utils-fill":!0,"text-left":u.value==="left","text-center":u.value==="center","text-right":u.value==="right"})),m=t.computed(()=>{const T={"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disable":i.value,"f-state-editable":d.value,"f-state-readonly":w.value,"f-state-focus":f.value};return(e.customClass||"").split(" ").reduce(($,B)=>($[B]=!0,$),T),T}),g=t.computed(()=>s.value?"":"border-width : 0 ");function F(T,N=!0){o.value=T,a.value!==T&&(a.value=T),N&&n.emit("change",T),n.emit("update:modelValue",T),n.emit("update:value",T)}t.watch(()=>e.modelValue,(T,N)=>{T!==N&&(o.value=T,a.value=T)}),t.watch(()=>e.disabled,(T,N)=>{T!==N&&(i.value=T)});function V(T){return r.value=!1,n.emit("blur",T),T.stopPropagation(),!1}function b(T){n.emit("click",T)}function _(T){e.disabled||(s.value&&(r.value=!0),p.value&&n.emit("focus",T))}function x(T){n.emit("input",T.target.value);const N=T.target.value;a.value=N,c.value==="change"&&(n.emit("update:modelValue",N),n.emit("update:value",N))}function C(T){n.emit("keydown",T)}function k(T){n.emit("keyup",T)}function M(T){T.target.tagName!=="INPUT"&&T.preventDefault(),T.stopPropagation()}function I(T){if(c.value==="blur"){const N=T.target.value;T.stopPropagation(),F(N)}}return{changeTextBoxValue:F,disabled:i,displayText:a,editable:d,hasFocused:f,inputGroupClass:m,inputType:l,isEmpty:S,modelValue:o,readonly:w,onBlur:V,onClick:b,onFocus:_,onInput:x,onKeydown:C,onKeyup:k,onMousedown:M,onTextBoxValueChange:I,placeholder:y,textBoxClass:h,textBoxTitle:v,inputGroupStyle:g}}function Hr(e,n,o){const a=t.ref(!1),i=t.computed(()=>e.enableClear&&!e.readonly&&!e.disabled),{changeTextBoxValue:r,displayText:l,hasFocused:s,isEmpty:u}=o;function c(w){a.value=w}t.watch(l,()=>{s!=null&&s.value?c(!!(l!=null&&l.value)):c(!1)});const p=t.computed(()=>({"input-group-text":!0,"input-group-clear":!0})),d=t.computed(()=>({width:"24px",display:a.value?"flex":"none"}));function f(w){w.stopPropagation(),i.value&&(r("",!0),c(!a.value),n.emit("clear"))}function S(w){i.value&&!u.value&&c(!0)}function y(w){i.value&&c(!1)}return{clearButtonClass:p,clearButtonStyle:d,hasShownClearButton:a,onClearValue:f,onMouseEnter:S,onMouseLeave:y,shouldShowClearButton:i}}const Ar=["moz","ms","webkit"];function zr(){let e=0;return n=>{const o=new Date().getTime(),a=Math.max(0,16-(o-e)),i=setTimeout(()=>{n(o+a)},a);return e=o+a,i}}function Gr(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const e=Ar.filter(n=>`${n}RequestAnimationFrame`in window)[0];return e?window[`${e}RequestAnimationFrame`]:zr()}Gr();function Wr(e,n){return((n==null?void 0:n.split(" "))||[]).reduce((a,i)=>(i&&(a[i]=!0),a),e),e}function qr(e,n){return((n==null?void 0:n.split(";"))||[]).reduce((a,i)=>{if(i){const r=i.split(":");a[r[0]]=r[1]}return a},e),e}const oo=e=>{const n=e;return n.install=function(o){o.component(n.name,e)},e},Ur={checked:{type:Boolean,default:!1},mode:{type:String,default:"default"},type:{type:String,default:"secondary"},size:{type:String,default:"middle"}};function Kr(e,n){const o=t.ref(e.groupText),a=t.computed(()=>e.showButtonWhenDisabled&&(e.readonly||e.disabled)),i=t.computed(()=>e.enableClear||!!e.groupText);return{appendedButtonClass:t.computed(()=>({"input-group-append":!0,"append-force-show":a.value})),appendedContent:o,shouldShowAppendedButton:i}}function Xr(e,n,o,a){const{appendedContent:i}=a,r=t.ref(e.enableViewPassword),l=t.computed(()=>e.type==="password"),s='<span class="f-icon f-icon-eye" style="color: rgb(56, 143, 255);"></span>',u='<span class="f-icon f-icon-eye"></span>',c=t.ref(!1);t.watch(()=>[e.readonly,e.disabled],([f,S])=>{l.value&&(o.value=f||S?"password":o.value,i.value=f||S?u:i.value)});function p(){return c.value=!c.value,o.value=c.value?"text":"password",i.value=c.value?s:u,!1}function d(){o.value=l.value?"password":"text",i.value=l.value?r.value?u:"":i.value}return d(),{isPassword:l,onClickAppendedButton:p}}function Yr(e,n,o){const a=t.ref(),{onBlurTextBox:i,onFocusTextBox:r,onInput:l,onKeyDown:s,textBoxValue:u}=o,c=t.computed(()=>e.disabled||e.readonly||!e.editable?"":e.placeholder),p=t.computed(()=>({"form-control":!0,"f-utils-fill":!0})),d=t.computed(()=>({"text-align":e.textAlign}));function f(w){w.stopPropagation()}function S(){e.selectOnCreated,e.focusOnCreated}async function y(w){r(w),await t.nextTick,S()}return t.onMounted(async()=>{await t.nextTick,S()}),()=>t.createVNode("input",{ref:a,class:p.value,style:d.value,type:"text",value:u.value,disabled:e.disabled,readonly:e.readonly||!e.editable,placeholder:c.value,onBlur:i,onChange:f,onFocus:y,onInput:l,onKeydown:s},null)}function Jr(e,n,o){const{canDownward:a,canUpward:i,onClickDownButton:r,onClickUpButton:l}=o,s=t.computed(()=>({"input-group-append":!0,"btn-group":!0,"btn-group-number":!0})),u=t.computed(()=>({btn:!0,"btn-secondary":!0,"btn-number-flag":!0})),c=t.computed(()=>({cursor:i()?"pointer":"not-allowed","margin-left":0})),p=t.computed(()=>({cursor:a()?"pointer":"not-allowed","margin-left":0}));return()=>t.createVNode("div",{class:s.value},[t.createVNode("button",{title:"upButton",class:u.value,style:c.value,onClick:l,disabled:!i()},[t.createVNode("span",{class:"f-icon f-icon-arrow-chevron-up number-arrow-chevron"},null)]),t.createVNode("button",{title:"downButton",class:u.value,style:p.value,onClick:r,disabled:!a()},[t.createVNode("span",{class:"f-icon f-icon-arrow-chevron-down number-arrow-chevron"},null)])])}function Qr(e,n){const o=bt.useNumber(e,n),a=bt.useFormat(e,n,o),i=bt.useSpinner(e,n,a,o),r=bt.useTextBox(e,n,a,o,i),l=Jr(e,n,i),{displayValue:s,modelValue:u,getRealValue:c}=o,p=Yr(e,n,r),{format:d}=a,{isFocus:f}=r,S=t.computed(()=>!e.disabled&&!e.readonly);return t.onMounted(()=>{const y=c(e.modelValue);s.value=d(y)}),t.watch(()=>[e.value],([y])=>{const w=c(y);u.value=w,s.value=d(w)}),t.watch(()=>[e.modelValue],([y])=>{y!==u.value&&(u.value=y,!f.value&&(s.value=d(c(y))))}),t.watch(()=>[e.precision,e.useThousands,e.prefix,e.suffix,e.showZero],()=>{s.value=d(u.value)}),()=>t.createVNode("div",{class:"input-group f-state-hover flex-row f-cmp-number-spinner"},[p(),S.value&&l()])}function Zr(e,n,o,a){const i=t.ref(),r=t.ref(e.autocomplete),l=t.ref(e.enableTitle),{isPassword:s}=o,u=t.ref(e.minLength),c=t.ref(e.maxLength),p=t.ref(e.tabIndex),{disabled:d,displayText:f,inputType:S,onBlur:y,onFocus:w,onInput:v,onClick:h,onKeydown:m,onKeyup:g,onMousedown:F,onTextBoxValueChange:V,readonly:b,placeholder:_,textBoxClass:x,textBoxTitle:C}=a;return t.onMounted(()=>{e.selectOnCreated,e.focusOnCreated}),()=>t.createVNode("input",{ref:i,name:"input-group-value",autocomplete:r.value,class:x.value,disabled:d==null?void 0:d.value,maxlength:c.value,minlength:u.value,placeholder:_.value,readonly:b==null?void 0:b.value,tabindex:p.value,title:l.value&&!s.value?C.value:"",type:S.value,value:f==null?void 0:f.value,onBlur:y,onClick:h,onChange:V,onFocus:w,onInput:v,onKeydown:m,onKeyup:g,onMousedown:F},null)}function el(e,n){const o=t.computed(()=>e.useExtendInfo&&!!e.extendInfo),a=t.reactive({content:e.extendInfo});function i(){n.emit("updateExtendInfo")}return()=>o.value&&t.withDirectives(t.createVNode("span",{class:"input-group-before-tips",onMouseenter:i},[t.createVNode("i",{class:"f-icon f-icon-info-circle"},null),t.createVNode("b",{class:"tips-arrow"},null)]),[[t.resolveDirective("tooltip"),a]])}function tl(e,n,o,a,i){const{appendedButtonClass:r,appendedContent:l}=o,s=t.computed(()=>e.showButtonWhenDisabled&&(!e.editable||!e.readonly)&&!e.disabled),u=t.computed(()=>l.value&&!n.slots.groupTextTemplate),c=t.computed(()=>!!n.slots.groupTextTemplate),{clearButtonClass:p,clearButtonStyle:d,onClearValue:f,shouldShowClearButton:S}=a;function y(){return t.createVNode("span",{id:"clearIcon",class:p.value,style:d.value,onClick:_=>f(_)},[t.createVNode("i",{class:"f-icon modal_close"},null)])}function w(_){n.emit("iconMouseEnter",_)}function v(_){n.emit("iconMouseLeave",_)}function h(_){s.value&&n.emit("clickHandle",{originalEvent:_}),_.stopPropagation()}const m=e.type==="password"?i.onClickAppendedButton:h;function g(){return t.createVNode("span",{class:"input-group-text",onMouseenter:_=>w(_),onMouseleave:_=>v(_),innerHTML:l.value,onClick:_=>m(_)},null)}function F(){return n.slots.groupTextTemplate&&n.slots.groupTextTemplate()}function V(){return u.value?g:c.value?F:""}const b=V();return()=>t.createVNode("div",{class:r.value},[S.value&&y(),b&&b()])}const nl=t.defineComponent({name:"FInputGroup",props:no,emits:["clear","change","blur","click","clickHandle","focus","input","keydown","keyup","iconMouseEnter","iconMouseLeave","update:modelValue","update:value","updateExtendInfo","valueChange"],setup(e,n){const o=t.ref(e.modelValue),a=t.ref(e.modelValue),i=Lr(e,n,o,a),{inputGroupClass:r,inputType:l,inputGroupStyle:s}=i,u=Kr(e),{shouldShowAppendedButton:c}=u,p=Hr(e,n,i),{onMouseEnter:d,onMouseLeave:f}=p,S=Xr(e,n,l,u),y=Qr(e,n),w=Zr(e,n,S,i),v=tl(e,n,u,p,S),h=el(e,n),m=t.computed(()=>e.type==="number");t.watch(()=>[e.value],([F])=>{o.value=F,a.value=F}),t.watch(()=>[e.modelValue],([F])=>{o.value=F,a.value=F}),t.onMounted(()=>{e.value&&(o.value=e.value,a.value=e.value)});const g=()=>t.createVNode(t.Fragment,null,[t.createVNode("div",{id:e.id,class:r.value,style:s.value,onMouseenter:d,onMouseleave:f},[m.value?y():t.createVNode(t.Fragment,null,[h(),w(),c.value&&v()])])]);return()=>g()}}),Y={},J={},Q={},Z={};let ao=!1;function ol(){ao||(ao=!0,ua.register(Y,J,Q,Z),ca.register(Y,J,Q,Z),vn.register(Y,J,Q,Z),da.register(Y,J,Q,Z),fa.register(Y,J,Q,Z),pa.register(Y,J,Q,Z),vt.register(Y,J,Q,Z),Dt.register(Y,J,Q,Z),ma.register(Y,J,Q,Z),ha.register(Y,J,Q,Z),ya.register(Y,J,Q,Z),ga.register(Y,J,Q,Z),va.register(Y,J,Q,Z),ba.register(Y,J,Q,Z),Ca.register(Y,J,Q,Z),Pt.register(Y,J,Q,Z),wa.register(Y,J,Q,Z),gn.register(Y,J,Q,Z),Sa.register(Y,J,Q,Z),xa.register(Y,J,Q,Z),Va.register(Y,J,Q,Z),Fa.register(Y,J,Q,Z),bn.register(Y,J,Q,Z),_a.register(Y,J,Q,Z),Na.register(Y,J,Q,Z),ka.register(Y,J,Q,Z),Ta.register(Y,J,Q,Z),Ia.register(Y,J,Q,Z),bt.register(Y,J,Q,Z),sa.register(Y,J,Q,Z),Ma.register(Y,J,Q,Z),Oa.register(Y,J,Q,Z),yn.register(Y,J,Q,Z),Ba.register(Y,J,Q,Z),$a.register(Y,J,Q,Z),ja.register(Y,J,Q,Z),Pa.register(Y,J,Q,Z),Ea.register(Y,J,Q,Z),Ra.register(Y,J,Q,Z),Da.register(Y,J,Q,Z),ei.register(Y,J,Q),La.register(Y,J,Q,Z),Ha.register(Y,J,Q,Z),Aa.register(Y,J,Q,Z),za.register(Y,J,Q,Z),Ga.register(Y,J,Q,Z),Wa.register(Y,J,Q,Z),la.register(Y,J,Q,Z),hn.register(Y,J,Q,Z),qa.register(Y,J,Q,Z),Ua.register(Y,J,Q,Z),ra.register(Y,J,Q,Z),Ka.register(Y,J,Q,Z),Ya.register(Y,J,Q,Z),Xa.register(Y,J,Q,Z),Ja.register(Y,J,Q,Z),Qa.register(Y,J,Q,Z),Za.register(Y,J,Q,Z),ti.register(Y,J,Q,Z))}function al(){ol();function e(i,r){const l=J[i];return l?l(r):{}}function n(i){return Y[i]||nl}function o(i){switch(i){case"check-box":return"onChangeValue";case"switch":return"onModelValueChanged";case"check-group":return"onChangeValue";case"combo-list":case"combo-tree":return"onChange";case"combo-lookup":return"";case"date-picker":return"onDatePicked";case"date-range":return"";case"datetime-picker":return"";case"datetime-range":return"";case"month-picker":return"";case"month-range":return"";case"year-picker":return"";case"year-range":return"";case"input-group":return"onChange";case"lookup":return"onUpdate:modelValue";case"number-range":return"onValueChange";case"number-spinner":return"onValueChange";case"radio-group":return"onChangeValue";case"text":return"";case"response-layout-editor-setting":return"onChange";case"events-editor":return"onSavedCommandListChanged";case"grid-field-editor":return"onChange";case"response-form-layout-setting":return"onChange";case"field-selector":return"onFieldSelected";case"schema-selector":return"onSchemaSelected";case"mapping-editor":return"onMappingFieldsChanged";case"textarea":return"onValueChange"}}function a(i){switch(i){case"combo-list":case"input-group":case"textarea":return"onClear"}}return{resolveEditorProps:e,resolveEditorType:n,getChangeFunctionName:o,getClearFunctionName:a}}const il=t.defineComponent({name:"FDynamicFormGroup",props:to,emits:["change","update:modelValue"],setup(e,n){const o=t.ref(e.id),a=t.ref(e.customClass),i=t.ref(e.editor),r=t.ref(e.label),l=t.ref(e.modelValue),s=t.ref(e.readonly),u=t.ref(e.required),c=t.ref(e.showLabel),p=t.ref(e.visible);t.ref(e.type);const d=t.ref(),{resolveEditorProps:f,resolveEditorType:S,getChangeFunctionName:y,getClearFunctionName:w}=al(),v=t.computed(()=>({"form-group":!0,"farris-form-group":!0,"common-group":!0,"q-state-readonly":s.value}));function h(F,V){l.value=V!==void 0?V:F,n.emit("update:modelValue",l.value),n.emit("change",l.value)}function m(){n.emit("update:modelValue","")}const g=t.computed(()=>{const F=i.value.type||"input-group",V=S(F),b=f(F,i.value),_=y(F),x=w(i.value.type);return b[_]=h,b[x]=m,(b.id==null||b.id==="")&&(b.id=o.value),()=>t.createVNode(V,t.mergeProps({ref:d},b,{modelValue:l.value,"onUpdate:modelValue":C=>l.value=C}),null)});return t.watch([()=>e.id,()=>e.customClass,()=>e.editor,()=>e.label,()=>e.modelValue,()=>e.readonly,()=>e.required,()=>e.showLabel,()=>e.visible],([F,V,b,_,x,C,k,M,I])=>{o.value=F,a.value=V,i.value=b,r.value=_,l.value=x,s.value=C,u.value=k,c.value=M,p.value=I}),n.expose({editorRef:d}),()=>p.value&&t.createVNode("div",{id:`${o.value}-input-group`,class:a.value},[t.createVNode("div",{class:"farris-group-wrap"},[t.createVNode("div",{class:v.value},[c.value&&t.createVNode(Pr,{id:`${o.value}-lable`,required:u.value,text:r.value,title:r.value},null),t.createVNode("div",{class:"farris-input-wrap"},[g.value()])])])])}}),rl={},ll={};class sl extends ze{constructor(n,o){super(n,o)}}Oe({id:{type:String,default:""},editor:{type:Object,default:{}},modelValue:{type:[String,Boolean,Array,Number],default:""},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1}},eo,Jt,void 0);const cl={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/grid-field-editor.schema.json",title:"response-form-layout-setting",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:"response-form-layout-setting"},viewModelId:{description:"",type:"string",default:""},gridData:{description:"",type:"Object",default:null}},required:["id","type"]},ul={initialState:{type:Object,default:{uniqueColClassInSM:12,uniqueColClassInMD:6,uniqueColClassInLG:3,uniqueColClassInEL:2}}};_t.createPropsResolver(ul,cl,Tr,Br);const dl={width:{Type:Number,default:400},type:{Type:String,default:"info"},title:{Type:String,default:""},detail:{Type:String,default:""},okButtonText:{Type:String,default:"确定"},cancelButtonText:{Type:String,default:"取消"},exceptionInfo:{Type:Object,default:null},promptEditorType:{Type:String,default:"text-area"}};function Qt(){return new DOMException("The request is not allowed","NotAllowedError")}async function fl(e){if(!navigator.clipboard)throw Qt();return navigator.clipboard.writeText(e)}async function pl(e){const n=document.createElement("span");n.textContent=e,n.style.whiteSpace="pre",n.style.webkitUserSelect="auto",n.style.userSelect="all",document.body.appendChild(n);const o=window.getSelection(),a=window.document.createRange();o==null||o.removeAllRanges(),a.selectNode(n),o==null||o.addRange(a);let i=!1;try{i=window.document.execCommand("copy")}finally{o==null||o.removeAllRanges(),window.document.body.removeChild(n)}if(!i)throw Qt()}async function ml(e){try{await fl(e)}catch(n){try{await pl(e)}catch(o){throw o||n||Qt()}}}function hl(){async function e(n){await ml(n)}return{onCopy:e}}function gl(e,n,o,a){const i=t.ref(14),r=t.ref(140),l=t.ref(""),s=t.ref(a.value.length),u=t.computed(()=>a.value),c=t.computed(()=>({"font-size":`${i.value}px`,height:"100%"}));function p(d){if(d.currentTarget){const f=d.currentTarget.value||"";s.value=f.length}}return()=>t.createVNode(t.Fragment,null,[t.createVNode("textarea",{title:"promptMessage",name:"promptMessage",class:"form-control",style:c.value,rows:"4",maxlength:r.value,onInput:d=>p(d)},[u.value]),t.createVNode("span",{class:"textarea-wordcount",title:l.value,style:"position: absolute; bottom: 76px; right: 32px; cursor: pointer; text-align: right;"},[s.value+" / "+r.value])])}function yl(e,n,o,a){const i=gl(e,n,o,a),r=new Map([["text-area",i]]);function l(s){return r.get(s)||null}return{getEditorRender:l}}function vl(){const e=t.ref(!1),n=t.ref("复制成功");return{feedbackStyle:t.computed(()=>{const a={position:"absolute",left:"50%",top:"50%",width:"100px",height:"40px",background:"#303C53","line-height":"40px","text-align":"center","margin-left":"-30px","margin-top":"-50px","border-radius":"10px","box-shadow":"0px 2px 8px 0px",color:"#fff",transition:"all .3s ease"};return a.opacity=e.value?"0.8":"0",a.display=e.value?"":"none",a}),feedbackMessage:n,toShowFeedback:e}}function bl(e,n){const o=n.getEditorRender(e.promptEditorType);return()=>o&&o()}function Cl(e){const n=t.ref(3),o=t.ref(480),a=t.computed(()=>!!e.value&&!!e.value.date),i=t.computed(()=>`发生时间 : ${e.value&&e.value.date||""}`),r=t.computed(()=>!!e.value&&!!e.value.detail),l=t.computed(()=>{const v=`${o.value}px`;return{overflow:"hidden","text-overflow":"ellipsis",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":n.value,"max-height":v}}),s=t.computed(()=>e.value&&e.value.detail||""),u=t.computed(()=>!0),c=t.ref(!1),p=t.ref("展开"),d=t.ref("收起"),f=t.computed(()=>{const v={display:"block",color:"#2A87FF"};return v["text-align"]=c.value?"":"right",v});function S(v,h){c.value=!c.value,n.value=c.value?20:3}function y(v){return S()}function w(v){return S()}return()=>t.createVNode("div",{class:"toast-msg-detail"},[a.value&&t.createVNode("div",null,[i.value]),r.value&&t.createVNode("div",{id:"exception_error_msg",ref:"exceptionMessageRef",style:l.value},[t.createTextVNode("详细信息 : "),t.createVNode("span",{innerHTML:s.value},null)]),u.value&&t.createVNode("span",{style:f.value},[c.value&&t.createVNode("span",{onClick:y,style:"cursor: pointer;"},[d.value]),!c.value&&t.createVNode("span",{onClick:w,style:"cursor: pointer;"},[p.value])])])}function wl(e){return()=>t.createVNode("p",{class:"toast-msg-detail",innerHTML:e.value},null)}function Sl(e,n,o,a){const i=t.ref(e.exceptionInfo),r=t.computed(()=>{const f={"f-icon":!0},S=`f-icon-${n.value}`;return f[S]=!0,f}),l=t.computed(()=>o.value||i.value&&i.value.message),s=t.computed(()=>a.value),u=t.computed(()=>!!a.value),c=t.computed(()=>!!i.value);function p(){return c.value?Cl(i):u.value?wl(s):()=>null}const d=p();return()=>t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"float-left modal-tips-iconwrap"},[t.createVNode("span",{class:r.value},null)]),t.createVNode("div",{class:"modal-tips-content"},[t.createVNode("p",{class:"toast-msg-title",innerHTML:l.value},null),d()])])}function xl(e,n,o){const{onCopy:a}=n,{toShowFeedback:i}=o,r=t.ref("复制成功"),l=t.ref("复制详细信息"),s=t.ref(e.exceptionInfo||{date:"",message:"",detail:""}),u=t.computed(()=>s.value&&s.value.detail||"");function c(p){a(u.value).catch(d=>{r.value="复制失败"}).finally(()=>{i.value=!0,setTimeout(()=>{i.value=!1},700)})}return()=>t.createVNode("span",{style:"width: 100%;color: #2A87FF;padding-left: 37px;"},[t.createVNode("span",{onClick:c,style:"cursor: pointer;"},[l.value])])}function Vl(e,n,o,a){const i=t.ref(e.type),r=t.ref([]),l=t.ref(e.exceptionInfo),s=t.ref(e.okButtonText),u=t.ref(e.cancelButtonText),c=t.ref(!0),p=t.ref(!0),d=t.computed(()=>!!(r.value&&r.value.length)),f=t.computed(()=>l.value&&l.value.date&&l.value.message&&l.value.detail),S=t.computed(()=>!(r.value&&r.value.length)&&(s.value||u.value)),y=t.computed(()=>p.value&&s.value),w=t.computed(()=>c.value&&u.value),v=xl(e,o,a);function h(g){i.value==="question"&&n.emit("reject"),n.emit("close")}function m(g){i.value==="question"&&n.emit("accept"),n.emit("close")}return()=>t.createVNode("div",{class:"modal-footer"},[f.value&&v(),S.value&&w.value&&t.createVNode("button",{type:"button",class:"btn btn-secondary btn-lg",onClick:h},[u.value]),S.value&&y.value&&t.createVNode("button",{type:"button",class:"btn btn-primary btn-lg",onClick:m},[s.value]),d.value&&r.value.length&&r.value.map(g=>t.createVNode("button",{type:"button",onClick:g.handle,class:g.class},[g.iconClass&&t.createVNode("span",{class:g.iconClass},null),g.text]))])}const Ot=t.defineComponent({name:"FMessageBox",props:dl,emits:["accept","reject","close"],setup(e,n){const o=t.ref(e.type),a=t.ref(e.title),i=t.ref(e.detail),r=t.computed(()=>{const v={"modal-tips":!0,"d-flex":!0,"flex-row":!0},h=`messager-type-${o.value}`;return v[h]=!0,v}),l=t.computed(()=>{const v={};return o.value==="prompt"?v.padding="0.5rem 0.5rem 1rem 1.5rem":o.value==="error"&&(v.padding="0.5rem 1.5rem 1rem 1.5rem"),v}),s=hl(),u=yl(e,o,a,i),c=vl(),{feedbackStyle:p,feedbackMessage:d}=c;function f(){return t.createVNode("div",{style:p.value},[d.value])}function S(){switch(o.value){case"prompt":return bl(e,u);default:return Sl(e,o,a,i)}}const y=S(),w=Vl(e,n,s,c);return()=>t.createVNode("div",{class:"farris-messager"},[t.createVNode("section",{class:r.value,style:l.value},[y()]),w(),f()])}});class Ze{static show(n){let o=new Ni;const a=t.reactive({...n}),i=!1,r=a.type==="error"||a.type==="prompt",l=a.type==="error"?"错误提示":a.type==="prompt"&&a.title||"",s=a.acceptCallback||(()=>{}),u=a.rejectCallback||(()=>{});let c=null;const p=()=>{c&&(c==null||c.destroy(),o=null)};c=o==null?void 0:o.open({class:"modal-message modal-message-type-info",title:l,showButtons:i,showHeader:r,width:a.width||400,fitContent:!0,showMaxButton:!1,render:()=>t.createVNode(Ot,t.mergeProps(a,{onAccept:s,onReject:u,onClose:p}),null)})}static info(n,o){const a=t.reactive({type:"info",title:n,detail:o,okButtonText:"知道了",cancelButtonText:""});Ze.show(a)}static warning(n,o){const a=t.reactive({type:"warning",title:n,detail:o,okButtonText:"知道了",cancelButtonText:""});Ze.show(a)}static success(n,o){const a=t.reactive({type:"success",title:n,detail:o,okButtonText:"关闭",cancelButtonText:""});Ze.show(a)}static error(n,o,a){const i=t.reactive({width:500,type:"error",okButtonText:"关闭",cancelButtonText:"",exceptionInfo:{date:a,message:n,detail:o}});Ze.show(i)}static prompt(n,o){const a=t.reactive({type:"prompt",title:n,detail:o,okButtonText:"确定",cancelButtonText:"取消"});Ze.show(a)}static question(n,o,a,i){const r=t.reactive({type:"question",title:n,detail:o,okButtonText:"确定",cancelButtonText:"取消",acceptCallback:a,rejectCallback:i});Ze.show(r)}}Ot.install=e=>{e.component(Ot.name,Ot),e.provide("FMessageBoxService",Ze)};var io=(e=>(e[e.Value=0]="Value",e[e.SmartHelp=1]="SmartHelp",e[e.Enum=2]="Enum",e[e.Express=3]="Express",e))(io||{}),ro=(e=>(e.Equal="0",e.NotEqual="1",e.Greater="2",e.GreaterOrEqual="3",e.Less="4",e.LessOrEqual="5",e.Like="6",e.LikeStartWith="7",e.LikeEndWith="8",e))(ro||{});const Fl=[{value:"0",name:"等于"},{value:"1",name:"不等于"},{value:"2",name:"大于"},{value:"3",name:"大于等于"},{value:"4",name:"小于"},{value:"5",name:"小于等于"},{value:"6",name:"包含"},{value:"7",name:"开始是"},{value:"8",name:"结束是"}],_l={"button-edit":["0","1"," 6","7","8"],"check-box":["0"],"combo-list":["0","1"],"combo-lookup":["0","1"," 6","7","8"],"date-picker":["0","1","2","3","4","5"],"date-range":[],"datetime-picker":["0","1","2","3","4","5"],"datetime-range":[],"month-picker":["0","1","2","3","4","5"],"month-range":[],"year-picker":["0","1","2","3","4","5"],"year-range":[],"input-group":["0","1","6","7","8"],lookup:["0","1"],"number-range":[],"number-spinner":["0"," 1","2","3","4","5"],"radio-group":["0"],text:["0","1"," 6","7","8"]};function Nl(e,n,o){const{fieldMap:a}=o;function i(r){const l=a.get(r.fieldCode);if(!l)return[];const s=l.editor.type,u=new Set(_l[s]);return Fl.filter(p=>u.has(p.value))}return{getCompareOperators:i}}function lo(){const e=t.ref({relation:0,items:[],children:[],path:[],groupId:0,level:0}),n=new Map,o=new Map;let a=0;function i(){return{id:"",fieldCode:"",fieldName:"",compareType:ro.Equal,valueType:io.Value,value:new Xn,relation:0,conditionId:Date.now()}}function r(C,k){return{relation:C,items:[],children:[],path:[],groupId:++a,level:k}}function l(){const C=Object.assign({},e.value);o.forEach((k,M)=>{k.groupId===C.groupId&&o.set(M,C)}),n.forEach((k,M)=>{k.groupId===C.groupId&&n.set(M,C)}),e.value=C}function s(C){const k=new Map;let M=0;return C.forEach((I,T)=>{var N,$;if(M+=((N=I.lBracket)==null?void 0:N.length)||0,k.set(T,M),M-=(($=I.rBracket)==null?void 0:$.length)||0,M<0)throw new Error("The right bracket is out of range.")}),k}function u(C,k,M,I,T){for(let N=0;N<k;N++){const $=C+(N+1),B=r(T,$);M.children.push(B),o.set(B.groupId,M),M=M.children[M.children.length-1],I.push(M)}return M}function c(C,k,M,I,T){for(let O=k;O<=0;O++)I.pop();const N=I[I.length-1];if(!N)throw new Error("The group path is out of range");const $=C+k,B=r(T,$);return N.children.push(B),o.set(B.groupId,N),M=N.children[N.children.length-1],I.push(M),M}function p(C,k,M,I){M.pop();const T=M[M.length-1],N=r(I,C);return T.children.push(N),o.set(N.groupId,T),k=T.children[T.children.length-1],M.push(k),k}function d(C,k,M,I,T,N){let $=C[C.length-1];if(!$)throw new Error("The group path is out of range");const B=k.get(I)||0,O=k.get(M)||0;if(M<0||M===I)return C[C.length-1];const j=B-O,E=T&&T.relation!==void 0?T.relation:1;return $=j>0?u(O,j,$,C,E):$,$=j<0?c(O,j,$,C,E):$,$=j===0&&O>0&&B>0&&T&&N&&!!T.rBracket&&!!N.lBracket?p(O,$,C,E):$,$}function f(C){const M={relation:C.length&&C[0].relation!==void 0?C[0].relation:1,items:[],children:[],path:[],groupId:0,level:0},I=[M],T=s(C);return C.forEach((N,$)=>{const B=$-1,O=C[B],j=d(I,T,B,$,O,N);j.items.push(N),n.set(N.conditionId,j)}),e.value=M,M}function S(){const C=i();n.set(C.conditionId,e.value),e.value.items.push(C)}function y(C){if(!C)return;const k=n.get(C.conditionId);if(k){const M=k.items.findIndex(T=>T.conditionId===C.conditionId)+1,I=i();n.set(I.conditionId,k),k.items.splice(M,0,I),l()}}function w(C){const k=n.get(C.conditionId);k&&(k.items=k.items.filter(M=>M.conditionId!==C.conditionId),n.delete(C.conditionId),x(),l())}function v(C,k,M,I){C.reduce((T,N)=>{const $=N.conditionId!==void 0,B=N.groupId!==void 0;if($){const O=N;M.push(O),T.items.set(O.conditionId,O)}if(B){const O=N;I.push(O),T.groups.set(O.groupId,O)}return T},k)}function h(C,k,M,I,T){C&&(C.items=k.length?C.items.filter(N=>!M.has(N.conditionId)):C.items,C.children=I.length?C.children.filter(N=>!T.has(N.groupId)):C.children)}function m(C,k,M){k.forEach(I=>{C.items.push(I),n.set(I.conditionId,C)}),M.forEach(I=>{C.children.push(I),o.set(I.groupId,C)})}function g(C){const k=C[0],M=k.conditionId!==void 0?n.get(k.conditionId):o.get(k.groupId),I={items:new Map,groups:new Map},T=[],N=[];if(M){v(C,I,T,N),h(M,T,I.items,N,I.groups);const $=r(M.relation,M.level+1);m($,T,N),M.children.push($),o.set($.groupId,M),l()}}function F(C){const k=[...C.items],M=[...C.children],I=o.get(C.groupId);I&&(I.children=I.children.filter(T=>T.groupId!==C.groupId),o.delete(C.groupId),k.forEach(T=>{I.items.push(T),n.set(T.conditionId,I)}),M.forEach(T=>{I.children.push(T),o.set(T.groupId,I)}),l())}function V(C){C.relation=C.relation===1?2:1,l()}let b;function _(C){const{relation:k}=C;return(C.children&&C.children.length?C.children.map((I,T,N)=>{const $=b(I);return $[0].lBracket=($[0].lBracket||"")+"(",$[$.length-1].rBracket=($[$.length-1].rBracket||"")+")",$[$.length-1].relation=T<N.length-1?k:0,$}):[]).flat()}b=(C=e.value)=>{const{relation:k}=C,M=C.items.map((T,N,$)=>(T.lBracket=N===0?"(":"",T.rBracket=N===$.length-1?")":"",T.relation=N<$.length-1?k||1:0,T)),I=_(C);return[...M,...I]};function x(C){const k=C||e.value;if(k.children.length&&k.children.forEach(M=>{x(M)}),k.level===0&&!k.items.length&&k.children.length===1){const M=k.children[0];e.value.relation=M.relation,F(M)}else k.items.length===0&&k.children.length<=1&&F(k)}return{addCondition:S,changeGroupRelation:V,conditionGroupMap:n,getConditions:b,group:g,groupParentMap:o,insertConditionTo:y,loadConditionGroup:f,refresh:l,removeCondition:w,rootGroup:e,unGroup:F}}function kl(e,n,o){const a=t.ref(new Set),i=t.ref(new Set),{conditionGroupMap:r,groupParentMap:l}=o;let s,u;function c(h){let m=s.level<=h.level?s:h,g=s.level>h.level?s:h;const F=[];for(;g&&m&&g!==m;)g.level>m.level?(F.push(g),g=l.get(g.groupId)):g.level===m.level&&(m=l.get(m.groupId),m&&F.unshift(m));return F}function p(h){i.value.add(h.groupId),h.items.forEach(m=>a.value.add(m.conditionId)),h.children.forEach(m=>p(m))}function d(h){const{conditionId:m}=h;a.value.add(m),s=a.value.size===0?r.get(m):s;const g=r.get(h.conditionId);c(g).forEach(V=>p(V))}const f=t.computed(()=>a.value.size===0&&i.value.size===1),S=function(h){i.value.delete(h.groupId),h.items.forEach(g=>u(g)),h.children.forEach(g=>!f.value&&S(g));const m=l.get(h.groupId);m&&i.value.has(m.groupId)&&S(m)};u=function(h){const{conditionId:m}=h;if(a.value.has(m)&&a.value.delete(m),i.value.size>0){const g=r.get(m);g&&i.value.has(g.groupId)&&S(g)}};function y(h){const{conditionId:m}=h;a.value.size===0&&(s=r.get(m)),a.value.has(m)?u(h):d(h)}function w(){const h=[];return s&&(s.items.filter(m=>a.value.has(m.conditionId)).forEach(m=>h.push(m)),s.children.filter(m=>i.value.has(m.groupId)).forEach(m=>h.push(m))),h}function v(){a.value.clear(),i.value.clear()}return{clear:v,getSelectedGroupItem:w,selectedItems:a,toggleSelect:y}}const Zt=t.defineComponent({name:"FConditionList",props:Un,emits:["valueChange","labelCodeChange","compareTypeChange"],setup(e,n){const o=t.ref(e.key),a=t.ref(e.conditions),i=Jn(e),{convertToSingleControl:r,fields:l,fieldMap:s,loadFieldConfigs:u}=i,c=lo(),{addCondition:p,changeGroupRelation:d,getConditions:f,group:S,insertConditionTo:y,loadConditionGroup:w,refresh:v,removeCondition:h,rootGroup:m,unGroup:g}=c,{createConditionValue:F}=Yn(),V=kl(e,n,c),{selectedItems:b,toggleSelect:_}=V,{getCompareOperators:x}=Nl(e,n,i);u(!1),l.value=r(l.value),w(a.value);function C(j){var P;const E=((P=s.get(j.fieldCode))==null?void 0:P.editor)||{type:"text"};j.value=F(E.type,void 0),n.emit("labelCodeChange",j)}function k(j,E){n.emit("compareTypeChange",E)}function M(){}n.expose({getConditions:f});function I(j,E){n.emit("valueChange",j,E)}function T(j){return j.items.map(E=>{var P;return t.createVNode("div",{class:"condition-list-item",key:E.conditionId},[t.createVNode("div",{class:"condition-list-item-type mr-3"},[t.createVNode(Dt,{"value-field":"labelCode","text-field":"name","id-field":"id",data:l.value,modelValue:E.fieldCode,"onUpdate:modelValue":R=>E.fieldCode=R,onChange:R=>C(E)},null)]),t.createVNode("div",{class:"condition-list-item-compare mr-3"},[t.createVNode(Dt,{"value-field":"value","text-field":"name","id-field":"id",data:x(E),modelValue:E.compareType,"onUpdate:modelValue":R=>E.compareType=R,onChange:R=>k(R,E)},null)]),t.createVNode("div",{class:"condition-list-item-control mr-3"},[t.createVNode(il,{editor:(P=s.get(E.fieldCode))==null?void 0:P.editor,showLabel:!1,modelValue:E.value.value,"onUpdate:modelValue":R=>E.value.value=R,onChange:R=>{I(R,E)}},null)]),t.createVNode("div",{class:"condition-list-item-extend"},[t.createVNode("span",{class:"f-icon f-icon-plus-sm mr-2",onClick:()=>y(E)},null),t.createVNode("span",{class:"f-icon f-icon-minus-sm",onClick:()=>h(E)},null)]),t.createVNode("div",{class:"custom-control custom-checkbox"},[t.createVNode("input",{title:"selection",class:"custom-control-input",type:"checkbox",checked:b.value.has(E.conditionId)},null),t.createVNode("label",{class:"custom-control-label",onClick:()=>_(E)},null)])])})}function N(j){return t.createVNode("div",{class:"condition-list-relation"},[t.createVNode("span",{class:"condition-list-relation-close f-icon-filter-cancel btn-link",onClick:()=>g(j)},null),t.createVNode("span",{class:"condition-list-relation-text btn-link",onClick:()=>d(j)},[j.relation===1?"与":"或"])])}function $(j){return t.createVNode("div",{class:"condition-list-content"},[t.createVNode("div",{class:"condition-list-content-group"},[T(j),j.children&&j.children.map(E=>$(E))]),N(j)])}function B(){S(V.getSelectedGroupItem()),V.clear()}function O(){return t.createVNode("div",{class:"condition-list-bottom"},[t.createVNode("div",{class:"add-condition-btn mb-1 mr-3",onClick:p},[t.createVNode("span",{class:"f-icon f-icon-filter-add"},null),t.createVNode("span",{class:"ml-1"},[t.createTextVNode("添加条件")])]),t.createVNode("div",{class:"add-condition-btn mb-1",onClick:B},[t.createVNode("span",{class:"f-icon f-icon-filter-grouping"},null),t.createVNode("span",{class:"ml-1"},[t.createTextVNode("生成条件组")])]),t.createVNode("div",{class:"condition-list-reset add-condition-btn",onClick:M},[t.createTextVNode("重置")])])}return()=>t.createVNode("div",{class:"condition-list",key:o.value},[t.createVNode("div",{class:"condition-list-body"},[$(m.value)]),O()])}});Zt.install=e=>{e.component(Qn.name,Qn).component(Zt.name,Zt)};const Tl=["equal","notEqual","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","contain","startWidth","endWidth"],Il={equal:(e,n,o)=>e&&e[n]===o,notEqual:(e,n,o)=>e&&e[n]!==o,contain:(e,n,o)=>e?(e[n]||"").indexOf(o)>-1:!1,startWidth:(e,n,o)=>e?(e[n]||"").startsWith(o):!1,endWidth:(e,n,o)=>e?(e[n]||"").endsWith(o):!1},Ml={equal:(e,n,o)=>e&&e[n]===o,notEqual:(e,n,o)=>e&&e[n]!==o},Ol={equal:(e,n,o)=>{if(e){const a=new Date(new Date(o).toLocaleDateString()).valueOf();return new Date(new Date(e[n]).toLocaleDateString()).valueOf()===a}return!1},notEqual:(e,n,o)=>{if(e){const a=new Date(new Date(o).toLocaleDateString()).valueOf();return new Date(new Date(e[n]).toLocaleDateString()).valueOf()!==a}return!1},greaterThan:(e,n,o)=>{if(e){const a=new Date(new Date(o).toLocaleDateString()).valueOf();return new Date(new Date(e[n]).toLocaleDateString()).valueOf()>a}return!1},greaterThanOrEqual:(e,n,o)=>{if(e){const a=new Date(new Date(o).toLocaleDateString()).valueOf();return new Date(new Date(e[n]).toLocaleDateString()).valueOf()>=a}return!1},lessThan:(e,n,o)=>{if(e){const a=new Date(new Date(o).toLocaleDateString()).valueOf();return new Date(new Date(e[n]).toLocaleDateString()).valueOf()<a}return!1},lessThanOrEqual:(e,n,o)=>{if(e){const a=new Date(new Date(o).toLocaleDateString()).valueOf();return new Date(new Date(e[n]).toLocaleDateString()).valueOf()<=a}return!1}},Bl={equal:(e,n,o)=>e?String(o).split(",").includes(String(e[n])):!1,notEqual:(e,n,o)=>e?String(o).split(",").findIndex(i=>i===String(e[n]))===-1:!1},$l={equal:(e,n,o)=>{if(e){const a=Number.parseFloat(String(o)),i=Number.parseFloat(String(e[n]));return isNaN(a)?isNaN(i):a===i}return!1},notEqual:(e,n,o)=>{if(e){const a=Number.parseFloat(String(o)),i=Number.parseFloat(String(e[n]));return isNaN(a)?!0:a!==i}return!1},greaterThan:(e,n,o)=>{if(e){const a=Number.parseFloat(String(o)),i=Number.parseFloat(String(e[n]));return isNaN(a)?isNaN(i):i>a}return!1},greaterThanOrEqual:(e,n,o)=>{if(e){const a=Number.parseFloat(String(o)),i=Number.parseFloat(String(e[n]));return isNaN(a)?isNaN(i):i>=a}return!1},lessThan:(e,n,o)=>{if(e){const a=Number.parseFloat(String(o)),i=Number.parseFloat(String(e[n]));return isNaN(a)?isNaN(i):i<a}return!1},lessThanOrEqual:(e,n,o)=>{if(e){const a=Number.parseFloat(String(o)),i=Number.parseFloat(String(e[n]));return isNaN(a)?isNaN(i):i<=a}return!1}};function en(){const e=t.ref([]),n=new Map,{loadConditionGroup:o}=lo(),a=new Map([["boolean",Ml],["datetime",Ol],["enum",Bl],["number",$l],["text",Il]]);function i(d){n.delete(d),e.value=Array.from(n.values())}function r(){n.clear(),e.value=[]}function l(d){const{valueType:f}=d.value,S=d.compareType||"0",y=Tl[Number(S)];return a.get(f)[y]}function s(d){const f=d.relation===2?0:1,S=d.items.map(w=>{const v=l(w);return m=>v(m,w.fieldCode,w.value.getValue())}),y=d.children&&d.children.length?d.children.map(w=>s(w)):[];return{relation:f,filterFunctions:S,children:y}}function u(){const d=o(e.value);return s(d)}function c(d,f){const S=f.filterFunctions.map(w=>w(d)),y=f.children.map(w=>c(d,w));return f.relation===1?S.every(w=>w)&&y.every(w=>w):S.includes(!0)||y.includes(!0)}function p(d){const f=u();return c(d,f)}return{apply:p,clearCondition:r,conditions:e,removeCondition:i}}function tn(e,n){var h;const{idField:o}=n,a=t.ref(e.summary),i=t.ref(e.group),r=t.ref(((h=e.group)==null?void 0:h.groupFields)||[]),l=t.computed(()=>{var m;return(m=e.group)==null?void 0:m.enable}),s=t.computed(()=>{var m;return(m=e.group)==null?void 0:m.showGroupPanel}),u=t.computed(()=>{const m=a.value;return(m==null?void 0:m.groupFields)||[]}),c=t.computed(()=>{const m=i.value;return m&&m.showSummary}),p=new Map;let d=[];function f(m,g,F,V,b){const _=V[F];_&&(g.reduce((x,C,k)=>{var T;const M=C[_];let I=x.get(M);if(!I){const N=u.value.reduce(($,B)=>($.set(B,0),$),new Map);I={field:_,title:((T=b.get(_))==null?void 0:T.title)||_,value:M,layer:F,details:[],groupSummaries:N},x.set(M,I)}return u.value&&u.value.forEach(N=>{if(I){const $=I.groupSummaries.get(N)||0;I.groupSummaries.set(N,$+C[N])}}),I.details.push(C),x},m),F<V.length-1&&m.forEach((x,C)=>{x.nestGroup=new Map,f(x.nestGroup,x.details,F+1,V,b),x.details=[]}))}function S(m,g){return e.group&&e.group.formatter?e.group.formatter(m.value,{...m,total:g}):`${m.title}:${m.value} (${g})`}function y(m){const g=[];return m.forEach(F=>{const V={__fv_data_grid_group_collapse__:!1,__fv_data_grid_group_field__:F.field,__fv_data_grid_group_layer__:F.layer,__fv_data_grid_group_row__:!0,__fv_data_grid_group_value__:F.value};let b=0;if(g.push(V),F.nestGroup){const _=y(F.nestGroup);g.push(..._),b+=_.length}if(F.details&&F.details.length&&(g.push(...F.details),b+=F.details.length),c.value){const _={__fv_data_grid_group_field__:F.field,__fv_data_grid_group_layer__:F.layer,__fv_data_grid_group_summary__:!0};_[o.value]=`summary_of_${F.field}_${F.value}`,_[F.field]=Array.from(F.groupSummaries.entries()).reduce((x,[C,k])=>`${x} ${C} total:${k} `,""),g.push(_)}F.groupSummaries&&F.groupSummaries.size&&F.groupSummaries.forEach((_,x)=>{V[x]=_}),V[o.value]=`group_of_${F.field}_${F.value}`,V[F.field]=S(F,b)}),g.forEach((F,V)=>{F.__fv_data_index__=V}),g}function w(m,g,F){return!m||m.length===0||!g.length?g:(m.join(","),p.clear(),d=[],f(p,g,0,m,F),d=y(p),d)}function v(m){return{"f-icon":!0,"f-icon-arrow-chevron-down":!0,"fv-grid-group-row-icon-collapse":m.collapse}}return{collpaseGroupIconClass:v,generateGroupData:w,groupFields:r,shouldGroupingData:l,shouldGroupPanel:s}}function jl(e,n,o,a){const i=t.ref(!!e.hierarchy),{idField:r}=a,{collapseField:l,hasChildrenField:s,parentIdField:u}=o,c=new Map;function p(I,T){const N=new Map;return I.reduce(($,B)=>{const O=B[u.value]!==void 0?B[u.value]:"";if(O&&T.has(O)){const E=T.get(O);B.__fv_parent_index__=E.__fv_index__,E.__fv_hasChildren__=!0}const j=$.has(O)?$.get(O):[];return j.push(B),$.set(O,j),$},N),N}function d(I){const T=new Map;return I.reduce((N,$)=>{const B=$[r.value];return N.set(B,$),N},T),T}function f(I){I.forEach(T=>{const N=T[r.value];T.__fv_children_index__.map(B=>I[B]).forEach(B=>{B.__fv_parents__=new Map([...T.__fv_parents__.entries(),[N,!0]])})})}function S(I){I.forEach(T=>{const N=new Set(T.__fv_children_index__);T.__fv_children_index__=[...N].sort(($,B)=>$-B)})}function y(I,T){I.forEach(N=>{const $=N.__fv_parents__;Array.from($.keys()).map(B=>T.get(B)).forEach(B=>{B.__fv_children_index__.push(N.__fv_index__)})}),S(I)}function w(I){I.forEach(T=>{T.__fv_child_with_lines__=[],T.__fv_child_length__=T.__fv_descendant_index__.length,T.__fv_descendant_index__.map(N=>I[N]).reduce((N,$)=>(N.__fv_child_length__+=$.__fv_children_index__.length,N.__fv_child_with_lines__.push(...$.__fv_children_index__,$.__fv_index__),N),T)})}function v(I,T){return{id:I,index:T,parentId:"",parentIndex:-1,parents:new Map,children:new Map,descendant:new Map}}function h(I,T){Array.from(T.keys()).forEach(N=>{T.get(N).reduce((B,O)=>{const j=O[r.value],E=I.get(O[r.value]),P=I.get(N);return P&&(P.children.set(j,E),P.children.set(j,E),E.parentId=N,E.parentIndex=P.index,E.parents.set(N,P)),B},I)})}function m(I){I.children.forEach(N=>{N.parents=new Map([...I.parents.entries(),[I.id,I]]),m(N)})}function g(I,T){I.filter(N=>N[u.value]===void 0||N[u.value]==="").forEach(N=>{const $=N[r.value],B=T.get($);m(B)})}function F(I){Array.from(I.values()).forEach(T=>{Array.from(T.parents.values()).forEach(N=>{N.descendant.set(T.id,T)})})}function V(I){c.clear(),I.forEach(($,B)=>{const O=$[r.value];c.set(O,v(O,B))});const T=d(I),N=p(I,T);return h(c,N),g(I,c),F(c),c}function b(I){const T=I[r.value],N=c.get(T);return N&&N.children.size>0}function _(I){return I[s.value]&&!b(I)}function x(I){V(n.value);const T=d(I),N=p(I,T);return I.forEach(($,B)=>{var P;const O=$[r.value],j=N.has(O)?(P=N.get(O))==null?void 0:P.map(R=>R.__fv_index__):[],E=v(O,B);$.__fv_graph_node__=E,$.__fv_children_index__=j,$.__fv_descendant_index__=[...j],$.__fv_parents__=new Map,_($)&&($[l.value]=!0)}),f(I),y(I,T),e.showLines&&w(I),I}function C(I,T,N){const B=N.value[I][r.value],O=c.get(B);if(O){const j=c.get(O.parentId);let E=N.value.length-1;if(j){const P=Array.from(j.children.keys()).indexOf(O.id);if(P===j.children.size-1){const W=Array.from(j.descendant.values())[j.descendant.size-1];E=N.value.findIndex(pe=>pe[r.value]===W.id)+1}else{const W=Array.from(j.children.values())[P+1];E=N.value.findIndex(pe=>pe[r.value]===W.id)}T[s.value]=!1,T[u.value]=j.id,N.value.splice(E,0,T)}}}function k(I,T,N){const $=N.value[I],B=$[r.value];if(c.get(B)){const E=N.value.findIndex(P=>P[r.value]===B)+1;$[s.value]=!0,$[l.value]=!1,T[s.value]=!1,T[u.value]=B,N.value.splice(E,0,T)}}function M(I,T){const N=I[r.value],$=c.get(N),B=Array.from($.descendant.keys());B.unshift(N);const O=c.get($.parentId);if(O&&(O.children.delete(N),O.children.size===0)){const E=T.find(P=>P[r.value]===$.parentId);E[s.value]=!1,E[l.value]=!1}return T.filter(E=>B.indexOf(E.id)===-1)}return{generateHierarchyData:x,hasRealChildren:b,insertSibling:C,insertChild:k,shouldStratifyData:i,trimmedOriginalData:M}}const Pl={showCloseButton:{type:Boolean,default:!0},position:{type:String,default:"top-center"},timeout:{type:Number,default:3e3},theme:{type:String,default:"bootstrap"},left:{type:Number},right:{type:Number},top:{type:Number},bottom:{type:Number},id:{type:String},animate:{type:String,default:"fadeIn"},options:{type:Object}},Dl={showCloseButton:{type:Boolean,default:!0},animate:{type:String,default:"fadeIn"},options:{type:Object}},nn=t.defineComponent({name:"Toast",props:Dl,emits:["close","click"],setup:(e,n)=>{const o=t.ref(e.animate),a="fadeOut",i=t.computed(()=>e.options),r=t.ref(!1),l=t.computed(()=>{const h={animated:r.value,toast:!0};return h[e.animate]=!1,h[a]=r.value,h[i.value.type]=!0,i.value.theme&&(h[i.value.theme]=!0),h}),s=t.computed(()=>{const g=`f-icon-${i.value&&i.value.type?i.value.type.replace("toasty-type-",""):"default"}`,F={"f-icon":!0};return F[g]=!0,F}),u=t.computed(()=>i.value.title||i.value.message),c=t.computed(()=>i.value.title&&i.value.message),p=t.computed(()=>!i.value.title&&i.value.message),d=t.computed(()=>e.showCloseButton),f=t.computed(()=>!!i.value.buttons||!!n.slots.default);function S(h){h.stopPropagation(),h.preventDefault(),r.value=!1,setTimeout(()=>{n.emit("close",i.value)},200)}function y(h,m){}function w(h){return`f-preten-link ${h.customClass?h.customClass:""}`}t.watch(o,()=>{o.value});const v=()=>{var h;return t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"after-toast-msg text-right"},[!n.slots.default&&((h=i.value.buttons)==null?void 0:h.map(m=>t.createVNode("span",{class:w(m),onClick:g=>void 0},[m.text]))),n.slots.default&&n.slots.default()])])};return()=>t.createVNode("div",{class:l.value},[d.value&&t.createVNode("button",{title:"close",class:"toast-close f-btn-icon f-bare",onClick:S},[t.createVNode("span",{class:"f-icon modal_close"},null)]),u.value&&t.createVNode("section",{class:"modal-tips"},[t.createVNode("div",{class:"float-left modal-tips-iconwrap"},[t.createVNode("span",{class:s.value},null)]),t.createVNode("div",{class:"modal-tips-content"},[c.value&&t.createVNode(t.Fragment,null,[t.createVNode("h5",{class:"toast-title modal-tips-title",innerHTML:i.value.title},null),t.createVNode("p",{class:"toast-msg",innerHTML:i.value.message},null),f.value&&v()]),p.value&&(i.value.buttons?t.createVNode("div",{class:"toast-title-btns-wrapper d-flex"},[t.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",innerHTML:i.value.message},null),t.createVNode("div",{class:"after-toast-title text-right ml-auto"},[v()])]):t.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",innerHTML:i.value.message},null))])])])}}),Bt=t.defineComponent({name:"Notify",props:Pl,emits:["close","empty"],setup(e,n){const o=t.computed(()=>({"farris-notify":!0})),a={left:12,right:12,top:20,bottom:12},i=t.ref(),r=t.ref(e.options),l=t.ref(e.showCloseButton),s=t.computed(()=>e.position||"bottom-right"),u=t.computed(()=>e.timeout!=null?e.timeout:3e3),c=t.computed(()=>{const f=e.bottom?e.bottom:a.bottom,S=e.top?e.top:a.top,y={transition:"all 0.2s ease",left:s.value.indexOf("left")>-1?`${e.left?e.left:a.left}px`:"",right:s.value.indexOf("right")>-1?`${e.right?e.right:a.right}px`:"",top:s.value.indexOf("top")>-1?`${S}px`:"",bottom:s.value.indexOf("bottom")>-1?`${f}px`:""};return s.value.indexOf("center")>-1&&(y.left="50%",y.marginLeft="calc(-24rem / 2)",s.value==="center-center"&&(y.top="50%",y.transform="translate(-50%, -50%)")),y});function p(f){n.emit("close")}u.value&&setTimeout(()=>{p()},u.value),n.expose({closeToast:p,container:i,notifyPosition:s});function d(f,S){p()}return()=>t.createVNode("div",{class:o.value,style:c.value,ref:i},[t.createVNode(nn,{options:r.value,showCloseButton:l.value,animate:e.animate,onClose:f=>d(f,r.value)},null)])}});class so{constructor(){G(this,"notifyRefs",[]);G(this,"globalConfig",t.reactive({}))}createNotifyInstance(n){const o=this,i=Object.assign({timeout:3e3,position:"bottom-right",showCloseButton:!0},this.globalConfig,{...n}),r=document.createElement("div");r.style.display="contents";const l=t.createApp({setup(){const s=t.ref();function u(){s.value.container.style.transform="scale(0)",setTimeout(()=>{o.updateNotifyPositionForClose(i,s),l.unmount()},220)}if(i.position.indexOf("top")>-1){const c=o.getNotifyInstances(i.position),p=c[c.length-1];if(p){const d=p.value.container.getBoundingClientRect();i.top=d.bottom}}return t.onUnmounted(()=>{document.body.removeChild(r)}),t.onMounted(()=>{o.updateNotifyPositionForCreate(i,s)}),()=>t.createVNode(t.Transition,{mode:"out-in",name:"fade",appear:!0},{default:()=>[t.createVNode(Bt,t.mergeProps({ref:s},i,{onClose:u}),null)]})}});return l.provide("NotifyService",this),document.body.appendChild(r),l.mount(r),l}getNotifyInstances(n){return this.notifyRefs.filter(o=>o.value.notifyPosition===n)}updateNotifyPositionForCreate(n,o){if(this.notifyRefs&&this.notifyRefs.length){const a=window.innerHeight;n.position.indexOf("bottom")>-1&&this.getNotifyInstances(n.position).forEach(i=>{const r=i.value.container.getBoundingClientRect();i.value.container.style.bottom=r.height+a-r.bottom+"px"})}this.notifyRefs=[...this.notifyRefs,o]}updateNotifyPositionForClose(n,o){const a=this.notifyRefs.indexOf(o);if(n.position.indexOf("top")>-1){const i=this.getNotifyInstances(n.position),r=i.indexOf(o);i.slice(r+1).forEach(l=>{l.value.container.style.top=l.value.container.offsetTop-l.value.container.offsetHeight+"px"})}a>-1&&this.notifyRefs.splice(a,1)}show(n){return this.createNotifyInstance(n)}buildNotifyProps(n,o){let a="",i="",r,l,s;typeof o=="string"?a=o:o&&(a=o.message||"",i=o.title||"",l=o.position||null,s=o.showCloseButton!=null?o.showCloseButton:null,r=o.timeout!=null?o.timeout:null);const c={options:{type:n,message:a,title:i}};return l!=null&&(c.position=l),s!=null&&(c.showCloseButton=s),r!=null&&(c.timeout=r),c}info(n){const o=this.buildNotifyProps("info",n);return this.show(o)}success(n){const o=this.buildNotifyProps("success",n);return this.show(o)}warning(n){const o=this.buildNotifyProps("warning",n);return this.show(o)}error(n){const o=this.buildNotifyProps("error",n);return this.show(o)}close(n){n&&n.unmount()}closeAll(){this.notifyRefs.forEach(n=>{n==null||n.value.closeToast()}),this.notifyRefs.length=0}}const on=Symbol("NOTIFY_SERVICE_TOKEN");Bt.install=e=>{e.component(Bt.name,Bt),e.component(nn.name,nn);const n=new so;e.provide(on,n),e.provide("FNotifyService",n)};function co(e,n,o,a,i){var tt;const{pageSize:r,total:l,shouldRenderPagination:s,currentPage:u,mode:c}=i,p=new Map,d=new Map,f=new Map,S=new Map,y=new Map,w=t.ref([]),v=t.ref([]),h=en(),m=tn(e,a),{generateGroupData:g,groupFields:F,shouldGroupingData:V}=m,b=t.ref(e.data),_=jl(e,b,o,a),{generateHierarchyData:x,hasRealChildren:C,insertSibling:k,insertChild:M,shouldStratifyData:I,trimmedOriginalData:T}=_,{idField:N,reviseIdentifyField:$}=a,B=t.ref(e.newDataItem),O=t.ref(e.data),j=t.ref(e.data),{flatTreeData:E}=Zl(e);if(e.data&&((tt=e.data[0])!=null&&tt.children)){const H=xe(e.data);b.value=H,O.value=H,j.value=H}const P=t.ref(e.summary),R=t.computed(()=>{const H=P.value;return(H==null?void 0:H.groupFields)||[]});let W=new Map;const te=t.computed(()=>{var H;return((H=O.value)==null?void 0:H.length)||0}),pe=t.ref(e.pagination),_e=new so,ue=t.computed(()=>s.value?c.value==="server"?0:(u.value-1)*r.value:0),Fe=t.computed(()=>s.value?c.value==="server"?Math.min(r.value,te.value):Math.min(ue.value+r.value,l.value,te.value):te.value);function xe(H){return E(H)}function ge(){var re;O.value=b.value,V.value&&(O.value=g(F.value,b.value,n)),W=R.value.reduce((Pe,Le)=>(Pe.set(Le,0),Pe),W);const H=ue.value,oe=Fe.value;let le=0;const Te=[];if((re=O.value)!=null&&re.length){$(O.value);const Pe=N.value!==e.idField;for(let Le=H;Le<oe;Le++){const ve=O.value[Le];ve.__fv_data_grid_group_row__?(le=0,ve.__fv_data_index__=""):ve.__fv_data_grid_group_summary__?ve.__fv_data_index__="":(ve.__fv_disabled__=ve[e.disabledField],le++,s.value?ve.__fv_data_index__=le+(u.value-1)*r.value:ve.__fv_data_index__=le),ve.__fv_index__=Le,Pe&&(ve[N.value]=Le),R.value.forEach(He=>{const Ae=W.get(He)||0;W.set(He,Ae+ve[He])}),Te.push(ve)}}return I.value&&x(Te),j.value=[...Te],Te}const de=t.ref(ge());function ye(H,oe,le=!1){const re=(le?ge():[...j.value]).filter(ve=>h.apply(ve)),Pe=H&&H.length?re.filter(ve=>H.reduce((He,Ae)=>He&&Ae.filter(ve),!0)):re,Le=oe&&oe.length?Pe.sort((ve,He)=>{const Ae=[...oe],Se=Ae.shift();let nt=Se.compare(ve[Se.field],He[Se.field]);for(;nt===0&&Ae.length!==0;){const gt=Ae.shift();gt&&(nt=gt.compare(ve[gt.field],He[gt.field]))}return nt}):Pe;return de.value=Le.map((ve,He)=>{if(ve.__fv_data_grid_group_row__){const Ae=`group_of_${ve.__fv_data_grid_group_field__}_${ve.__fv_data_grid_group_value__}`;ve.__fv_data_grid_group_collapse__=!!p.get(Ae)}return ve.__fv_index__=He,ve}),de.value}function z(H){return y.clear(),v.value=H,v.value.reduce((oe,le)=>(oe.set(le.field,le),oe),y),ye([],v.value)}function U(H,oe){return y.set(H,oe),v.value=Array.from(y.values()),ye([],v.value)}function se(H){return y.delete(H),v.value=Array.from(y.values()),ye([],v.value)}function ee(H,oe){return d.set(H,oe),w.value=Array.from(d.values()),ye([],Array.from(y.values()))}function ce(H){return d.delete(H),w.value=Array.from(d.values()),ye([],Array.from(y.values()),!0)}function Ce(){return d.clear(),w.value=[],ye([],Array.from(y.values()),!0)}function me(H,oe){const le=`group_of_${H}_${oe}`;p.set(le,!0);const Te=re=>re[H]!==oe;return f.set(`collapse_${H}_${oe}`,{field:H,fieldName:H,fieldType:"string",filterValue:oe,filter:Te}),ye(Array.from(f.values()),Array.from(y.values()))}function we(H,oe){const le=`group_of_${H}_${oe}`;return p.set(le,!1),f.delete(`collapse_${H}_${oe}`),ye(Array.from(f.values()),Array.from(y.values()),!0)}function je(H){const oe=H.raw[N.value],le=Te=>!Te.__fv_parents__.has(oe);S.set(`fold_${oe}`,{field:"id",fieldName:"id",fieldType:"string",filterValue:String(oe),filter:le}),ye(Array.from(S.values()),Array.from(y.values())),x(de.value)}function D(H){const oe=H[N.value];S.delete(`fold_${oe}`)}function X(H){D(H.raw),ye(Array.from(S.values()),Array.from(y.values()),!0),x(de.value)}function ie(){const H=ge();de.value=H,e.hierarchy&&(ye(Array.from(S.values()),Array.from(y.values())),x(de.value))}function q(H){var oe;if(H&&((oe=H[0])!=null&&oe.children)){const le=xe(H);b.value=le,O.value=le,j.value=le}else b.value=H,O.value=H,j.value=H;ie()}function Ve(H,oe,le){return(H&&H.length?de.value.filter((re,Pe)=>H.reduce((Le,ve)=>Le&&ve.filter(re),!0)):de.value).slice(oe,le)}function K(H){(H-1)*r.value<=te.value&&ie()}function ae(H){b.value.push(Be.cloneDeep(H)),de.value=ge()}function he(H=0){if(!(H>-1))return!1;const le=B.value();e.hierarchy?k(H,le,b):b.value.splice(H,0,le),ie()}function ke(H=0){if(!(H>-1&&e.hierarchy))return!1;const le=B.value(),Te=b.value[H];D(Te),M(H,le,b),ie()}function Me(H){const oe=H?H-1:0;b.value.splice(oe,1),ie()}function Re(H){const oe=b.value.findIndex(le=>le[N.value]===H);oe!==-1&&(b.value.splice(oe,1),ie())}function Ue(H){const oe=H>-1?b.value[H]:null;if(!(oe&&oe.deletable!==!1))return!1;b.value=T(oe,b.value),ie()}function Ke(){const H=f.size>0?Array.from(f.values()):[];return ye(H,Array.from(y.values()))}function st(H){pe.value&&(pe.value.size=H,ie())}function ct(H,oe){const le=b.value[Number(H)-1];le.editable!==!1?(le.name=oe,ie()):_e.show({showCloseButton:!1,timeout:3e3,animate:"fadeIn",toasts:[{type:"string",title:"提示",msg:"当前节点禁止编辑"}]})}function ut(H){return H.map(le=>{const Te=j.value.findIndex(re=>re[N.value]===le);return Te>-1?j.value[Te]:null}).filter(le=>le!=null)}return{addFilter:ee,addNewDataItem:ae,addSorter:U,changePageSizeTo:st,collapse:me,dataView:de,editDataItem:ct,expand:we,filters:w,fold:je,getRange:Ve,getSelectionItems:ut,hasRealChildren:C,load:q,navigatePageTo:K,summaries:W,totalItems:te,insertNewDataItem:he,insertNewChildDataItem:ke,removeAllFilter:Ce,removeDataItem:Me,removeDataItemById:Re,removeFilter:ce,removeHierarchyDataItem:Ue,removeSorter:se,rawView:j,refresh:Ke,setSorters:z,sorters:v,updateDataView:ie,unFold:X,startIndex:ue,endIndex:Fe,originalData:b}}function uo(){function n(l){return l.field}function o(l){const s=n(l),u=localStorage.getItem(s);return u?JSON.parse(u):[]}function a(l,s){const u=n(l);localStorage.setItem(u,JSON.stringify(s))}function i(l,s){if(!s)return;const u=o(l),p=[u.find(d=>d.name===s)||{id:Date.now(),name:s,selectable:!0},...u.filter(d=>d.name!==s)];p.length>5&&(p.length=5),a(l,p)}function r(l,s){const c=[...o(l).filter(d=>d.name!==s)],p=n(l);localStorage.setItem(p,JSON.stringify(c))}return{getFilterHistory:o,removeFilterHistory:r,setFilterHistory:a,updateFilterHistory:i}}function fo(e){t.ref(e.selection.showCheckbox||!1);const n=t.computed(()=>{var l;return((l=e.hierarchy)==null?void 0:l.collapseField)||"__fv_collapse__"}),o=t.computed(()=>{var l;return((l=e.hierarchy)==null?void 0:l.hasChildrenField)||"__fv_hasChildren__"}),a=t.computed(()=>{var l;return((l=e.hierarchy)==null?void 0:l.parentIdField)||"parent"}),i=t.computed(()=>e.hierarchy&&e.selection.showCheckbox),r=t.computed(()=>(e.treeNodeIconsData.fold||e.iconField)&&e.showTreeNodeIcons);return{collapseField:n,hasChildrenField:o,parentIdField:a,shouldShowCheckBox:i,shouldShowIcon:r}}function El(e,n,o,a){var w,v,h,m,g,F;const{idField:i}=o,r=t.ref(((v=(w=e.hierarchy)==null?void 0:w.cascadeOption)==null?void 0:v.autoCheckChildren)||!1),l=t.ref(((m=(h=e.hierarchy)==null?void 0:h.cascadeOption)==null?void 0:m.autoCheckParent)||!1),s=t.ref(((F=(g=e.hierarchy)==null?void 0:g.cascadeOption)==null?void 0:F.selectionRange)||"All");t.watch(()=>{var V;return(V=e.hierarchy)==null?void 0:V.cascadeOption},V=>{r.value=V?!!V.autoCheckChildren:!1,l.value=V?!!V.autoCheckParent:!1,s.value=V?V.selectionRange:"All"});function u(V,b){for(let _=0;_<b.length;_++)if(!V.includes(b[_]))return!1;return!0}function c(V,b){return V.filter(x=>b.indexOf(x)===-1)}const p=t.computed(()=>s.value==="OnlyParent"),d=t.computed(()=>s.value==="OnlyChildren");function f(V,b){let _=V;const x=n.value[b],C=x.raw[i.value],k=Array.from(x.raw.__fv_descendant_index__).map(B=>n.value[B]),M=k.map(B=>B.raw[i.value]),I=u(V,M),T=u(V,[C]);return T&&I&&p.value&&(_=c(V,M),k.forEach(B=>{B.disable=!0})),T&&I&&d.value&&(_=c(V,[C]),k.forEach(B=>{B.disable=!0})),_}function S(V,b){let _=V;const x=b[i.value],C=Array.from(b.__fv_children_index__).map($=>n.value[$]),k=C.map($=>$.raw[i.value]),M=u(V,k),I=u(V,[b[i.value]]);return I&&M&&p.value&&(_=c(V,k),C.forEach($=>{$.disable=!0})),I&&M&&d.value&&(_=c(V,[x]),C.forEach($=>{$.disable=!0})),_}function y(V,b){let _=V.map(M=>M[i.value]);return b.__fv_parent_index__>0&&(_=f(_,b.__fv_parent_index__)),b.__fv_children_index__.length>0&&(_=S(_,b)),V.filter(M=>_.includes(M[i.value]))}return{autoCheckChildren:r,autoCheckParent:l,interactAfterCheckHierarchyItem:y}}function Rl(e,n,o,a,i){const{select:r,unSelect:l,indeterminate:s,getSelectedItems:u}=a,{autoCheckChildren:c,autoCheckParent:p,interactAfterCheckHierarchyItem:d}=El(e,n,o),{idField:f}=o;function S(){return n.value.filter(b=>!!b.checked).map(b=>b.raw.__fv_index__)}function y(b,_){return b.filter(C=>_.indexOf(C)===-1)}function w(b){const _=S();b.raw.__fv_children_index__.some(C=>_.includes(C))&&!!b.checked!==!0&&s(b)}function v(b){let _=b.raw.__fv_parent_index__;for(;_!==void 0;){const x=S(),C=n.value[_],k=y(C.raw.__fv_children_index__,x);k.length===C.raw.__fv_children_index__.length&&k.length!==0?l(C):k.length===0?p.value&&r(C):k.length<C.raw.__fv_children_index__.length&&C.checked!==!0&&s(C),_=C.raw.__fv_parent_index__}}function h(b){const _=!!b.checked;c.value&&b.raw.__fv_children_index__.map(x=>n.value[x]).forEach(x=>{_?r(x):l(x)})}function m(b){h(b),v(b);const _=b.raw;let x=u();x=d(x,_),w(b),i.emit("selectionChange",x)}function g(b,_){let x=-1;if(b.raw.__fv_parent_index__>-1){const I=n.value[b.raw.__fv_parent_index__].raw.__fv_descendant_index__,T=I.length>1,N=I.findIndex(B=>B===_),$=N===I.length-1;x=T?$?I[N-1]:I[N+1]:-1}return x>-1?n.value[x]:null}function F(b){return b.raw.__fv_parent_index__>-1?n.value[b.raw.__fv_parent_index__]:null}function V(b){const _=n.value[b];if(!_)return null;const x=g(_,b),k=x!==null?x:F(_);return k?k.raw[f.value]:null}return{getNextSelectableHierarchyItemId:V,toggleSelectHierarchyItem:m}}function po(e,n,o,a,i,r,l,s){var Ve;const{dataView:u}=n,{getVisualData:c,maxVisibleRowIndex:p,minVisibleRowIndex:d}=i,f=t.ref(a.value.primaryColumnsWidth),S=t.ref(a.value.leftColumnsWidth),y=t.ref(a.value.rightColumnsWidth),w=((Ve=e.rowOption)==null?void 0:Ve.height)||28,v=t.ref(0),h=t.ref(0);let m=0,g=r.value-1;const F=t.ref(0),V=t.ref(0),b=t.ref(0);function _(){if(u.value.length<=0)return 0;const K=p.value<u.value.length?u.value[p.value]:u.value[u.value.length-1];return(K.__fv_data_position__||0)+(K.__fv_data_height__||0)+Math.max(u.value.length-1-p.value,0)*w}const x=t.computed(()=>{const K=_();return u.value.length>r.value+l?Math.floor((r.value+l)/u.value.length*V.value):Math.floor(V.value/Math.max(K,V.value)*V.value)}),C=t.computed(()=>Math.floor(b.value/Math.max(f.value,b.value)*F.value)),k=0,M=0,I=t.computed(()=>F.value-(S.value+f.value+y.value+s.value));function T(K){const ae=u.value.find(he=>he.__fv_data_position__>K);return ae?ae.__fv_index__-1:0}function N(K){var Ue,Ke;if(!u.value.length){o.value=[];return}const ae=(Ue=e.pagination)!=null&&Ue.enable?0:Math.max(m-l,0),he=u.value[u.value.length-1].__fv_index__,ke=(Ke=e.pagination)!=null&&Ke.enable?u.value.length-1:Math.min(g+l-1,he),Me=u.value[ae-1],Re=c(ae,ke,Me,K);Re.length&&(o.value=[...Re])}const $=t.computed(()=>_()>V.value),B=t.computed(()=>Math.floor(f.value)>b.value);function O(K){let ae=v.value+K;ae>k&&(ae=k);const he=ae>k,ke=_(),Me=$.value;Me&&ae<V.value-ke&&(ae=V.value-ke),(!Me||he)&&(ae=k),v.value!==ae&&(v.value=ae,m=T(Math.abs(v.value)),g=m+r.value,(m<d.value||g>p.value-l/2)&&N())}function j(K){if(!B.value){h.value=0;return}let ae=h.value+K;ae>M&&(ae=M),ae<I.value&&(ae=I.value),h.value!==ae&&(h.value=ae)}function E(){Math.abs(h.value)+b.value>f.value&&(h.value=Math.min(b.value-f.value,0))}function P(){v.value=0,m=0,g=r.value-1,N()}t.watch(b,()=>{j(0)}),t.watch(a,()=>{f.value=a.value.primaryColumnsWidth,S.value=a.value.leftColumnsWidth,y.value=a.value.rightColumnsWidth});function R(K){let{deltaX:ae}=K.deltaX,he=-1*K.deltaY;return typeof ae>"u"&&(ae=-1*K.wheelDeltaX/6),typeof he>"u"&&(he=K.wheelDeltaY/6),K.deltaMode&&K.deltaMode===1&&(ae*=10,he*=10),K.shiftKey?{deltaY:-he,deltaX:-ae}:{deltaX:ae,deltaY:he}}function W(K){if(e.disabled)return;K.preventDefault(),K.stopPropagation();const{deltaX:ae,deltaY:he}=R(K);O(he),j(ae)}const te=t.computed(()=>({height:`${u.value.length*w}px`,width:`${S.value}px`,transform:`translateY(${v.value}px)`})),pe=t.computed(()=>({transform:`translateY(${v.value}px)`})),_e=t.computed(()=>({height:`${u.value.length*w}px`,width:`${f.value}px`,transform:`translate(${h.value}px, ${v.value}px)`})),ue=t.computed(()=>({transform:`translate(${h.value}px, ${v.value}px)`})),Fe=t.computed(()=>({height:`${u.value.length*w}px`,width:`${y.value}px`,transform:`translateY(${v.value}px)`})),xe=t.computed(()=>({transform:`translateY(${v.value}px)`})),ge=t.computed(()=>({height:`${u.value.length*w}px`,width:`${s.value}px`,transform:`translateY(${v.value}px)`})),de=t.computed(()=>({width:`${S.value}px`})),ye=t.computed(()=>({transform:`translateX(${h.value}px)`})),z=t.computed(()=>({width:`${y.value}px`})),U=t.computed(()=>{const K=_();return v.value/(V.value-K)*(V.value-x.value)}),se=t.computed(()=>({height:`${x.value}px`,top:`${U.value}px`})),ee=t.computed(()=>h.value/I.value*(F.value-C.value)),ce=t.computed(()=>({width:`${C.value}px`,left:`${ee.value}px`})),Ce=t.ref(!1),me=t.ref(-1),we=t.ref(-1),je=t.ref();function D(K){if(Ce.value&&we.value!==-1){const ae=we.value-K.pageX,he=F.value-C.value;if(Math.abs(ae)<=he){const ke=ae/(b.value-C.value)*(f.value-b.value);j(ke),we.value=K.pageX}}}function X(K){if(Ce.value&&me.value!==-1){const ae=me.value-K.pageY,he=_(),ke=he-x.value;if(Math.abs(ae)<=ke){const Me=ae/(V.value-x.value)*(he-V.value);O(Me),me.value=K.pageY}}}function ie(K){Ce.value=!1,me.value=-1,we.value=-1,document.removeEventListener("mouseup",ie),document.removeEventListener("mousemove",D),document.removeEventListener("mousemove",X),document.body.style.userSelect="",je.value&&(je.value.style.opacity=null)}function q(K,ae,he){var Re;Ce.value=!0;const ke=(Re=K.target)==null?void 0:Re.parentElement;ke&&(ke.style.opacity=1,je.value=ke);const Me=he==="horizontal"?D:X;he==="vertical"&&(me.value=K.pageY),he==="horizontal"&&(we.value=K.pageX),ae.value&&(ae.value,document.addEventListener("mousemove",Me),document.addEventListener("mouseup",ie),document.body.style.userSelect="none")}return{onMouseDownScrollThumb:q,onWheel:W,dataGridWidth:F,gridDataStyle:_e,gridHeaderColumnsStyle:ye,gridMergedDataStyle:ue,gridSideStyle:ge,fitHorizontalScroll:E,viewPortWidth:b,viewPortHeight:V,horizontalScrollThumbStyle:ce,leftFixedGridDataStyle:te,leftFixedGridHeaderColumnsStyle:de,leftFixedGridMergedDataStyle:pe,reCalculateVisualDataRows:N,resetScroll:P,rightFixedGridDataStyle:Fe,rightFixedGridHeaderColumnsStyle:z,rightFixedGridMergedDataStyle:xe,shouldShowHorizontalScrollbar:B,shouldShowVirticalScrollbar:$,verticalScrollThumbStyle:se,offsetX:h,offsetY:v}}function mo(e,n,o,a,i,r,l,s){const u=t.ref(a.value-1+i),c=t.ref(0),{renderDataRow:p}=r,d=l?l.renderGroupRow:p,f=s?s.renderSummaryRow:p;function S(v){let h=p;return v.__fv_data_grid_group_row__&&(h=d),v.__fv_data_grid_group_summary__&&(h=f),h}function y(v,h,m,g){const{dataView:F}=o,V=[];if(F.value.length>0){const b=g?Date.now().toString():"";for(let _=v,x=0;_<=h;_++,x++){const C=F.value[_],k=F.value[_-1]||m,M=V[x-1],I=k?(k.__fv_data_position__||0)+(k.__fv_data_height__||0):0,N=S(C)(C,k,M,_,I,n.value,V);N.refreshKey=b,V.push(N)}}return c.value=V.length>0?V[0].index:0,u.value=V.length>0?V[V.length-1].index:0,V}function w(v,h,m){const g=h.groupField||"",{groupValue:F}=h;o[v](g,F);const{dataView:V}=o,b=m[0].index,_=Math.min(b+a.value+i+1,V.value.length-1);return y(b,_)}return{getVisualData:y,maxVisibleRowIndex:u,minVisibleRowIndex:c,toggleGroupRow:w}}function Ll(){function e(n,o){var r,l;const a=o.raw[n.field],i=(r=n.editor)==null?void 0:r.enumData.find(s=>{var u;return s[(u=n.editor)==null?void 0:u.idField]===a});return i==null?void 0:i[((l=n.editor)==null?void 0:l.textField)||"name"]}return{renderEnumColumn:e}}function Hl(){function e(a,i){return a?t.createVNode("span",{innerHTML:i.formatter.trueText},null):t.createVNode("span",{innerHTML:i.formatter.falseText},null)}function n(a,i){var r,l;return a?(r=i.formatter)==null?void 0:r.trueText:(l=i.formatter)==null?void 0:l.falseText}function o(a,i){const{formatter:r}=a,l=i.raw[a.field];if(r.type===Kt.TEXT)return n(l,a);if(r.type===Kt.IMAGE)return e(l,a)}return{renderBooleanColumn:o}}function Al(){const{formatTo:e}=Xe.useDateFormat();function n(a,i){return e(a,i.formatter.dateFormat)}function o(a,i){const r=i.raw[a.field];return n(r,a)}return{renderDateColumn:o}}function zl(){const{formatTo:e}=Xe.useNumberFormat();function n(a,i){const{formatter:r}=i,l={precision:r.precision,prefix:r.prefix||"",suffix:r.suffix||"",decimalSeparator:r.decimal||".",groupSeparator:r.thousand||""};return e(a,l)}function o(a,i){const r=i.raw[a.field];return n(r,a)}return{renderNumberColumn:o}}function Gl(){const{renderBooleanColumn:e}=Hl(),{renderEnumColumn:n}=Ll(),{renderNumberColumn:o}=zl(),{renderDateColumn:a}=Al();function i(s){return s}function r(s,u){const{formatter:c}=u;return c.customFormat?new Function(`return ${c.customFormat}`)():s}function l(s,u,c){const p=c.data[u.field],{formatter:d}=u;return d.type==="none"?p:d.type==="custom"?r(p,u):d.type==="enum"?n(u,c):d.type==="number"?o(u,c):d.type==="boolean"?e(u,c):d.type==="date"?a(u,c):p}return{renderFormatColumn:l}}function ho(e,n,o){var v;const a=t.ref(e.mergeCell),r=((v=t.ref(e.rowOption).value)==null?void 0:v.wrapContent)||!1,{updateVisualInfomation:l}=o,{renderCommandColumn:s}=rr(),{renderFormatColumn:u}=Gl();function c(h,m,g,F,V,b=1){const _={colSpan:b,rowSpan:1,index:g,field:h,data:F[h],editingData:F[h],parent:V,mode:m,align:"left",valign:"start",showEllipsis:!0,getEditor:x=>x.data,setRef:x=>l(x,_,F),update:()=>{},accept:()=>{},cancel:()=>{},updateData:()=>{}};return _}function p(h,m,g){return h.getEditor=F=>n.getEditor(F,m,F.parent),h.setRef=F=>r&&l(F,h,g),h.update=F=>{F!==void 0&&(h.editingData=F)},h.accept=()=>{g[m.field]=h.editingData,h.data=g[m.field]},h.cancel=()=>{h.editingData=h.data},h.updateData=F=>{g[m.field]=F[m.field],h.data=g[m.field]},h}function d(h,m){m.dataType==="commands"?h.formatter=(g,F)=>s(m,F):m.formatter&&(h.formatter=(g,F)=>typeof m.formatter=="function"?m.formatter(g,F):u(m.dataType,m,F))}function f(h,m,g){const F=m&&m.data[g];if(F&&F.data===h.data){const b=F&&F.spannedBy||F;b.rowSpan++,b.spanned=b.spanned||[],b.spanned.push(h),h.colSpan=0,h.rowSpan=0,h.spannedBy=b}}function S(h,m,g){a.value&&f(h,m,g.field)}function y(h,m){m.showEllipsis!==void 0&&(h.showEllipsis=m.showEllipsis),h.align=m.align,h.valign=m.valign}function w(h,m,g,F,V){const b=h.readonly?De.readonly:De.editable,_=c(h.field,b,m,g,F);return y(_,h),p(_,h,g),d(_,h),S(_,V,h),_}return{createCellByColumn:w,createCellByField:c}}function go(e,n,o,a,i,r){var h,m;const l=t.ref(e.rowOption),s=((h=l.value)==null?void 0:h.height)||28,u=((m=l.value)==null?void 0:m.wrapContent)||!1,{idField:c}=a,{collapseField:p}=o,{updateRowPosition:d}=i,{createCellByColumn:f}=r;function S(g,F,V,b,_,x,C){var pe,_e;const{__fv_data_grid_group_field__:k,__fv_data_grid_group_value__:M,__fv_data_index__:I}=V,T=V.__fv_data_grid_group_layer__||V.__fv_parents__?(pe=V.__fv_parents__)==null?void 0:pe.size:0,N=typeof V.parent=="number"?Number(V.parent):-1,$=V.__fv_data_grid_group_collapse__||V[p.value],B=V.__fv_visible__===void 0?!0:V.__fv_visible__,O=V.__fv_checked__,j=V.__fv_indeterminate__,E=V.__fv_disabled__||V[e.disabledField],P=C==null?void 0:C.find(ue=>ue.raw[c.value]===V.parent),R=P&&P.collapse;b&&(b.parent,V.parent);const W=R||P&&!P.visible,te={collapse:$,data:{},dataIndex:I,groupField:k,groupValue:M,layer:T,index:F,parentIndex:N,pre:b,top:x,type:g,raw:V,checked:O,disabled:E,indeterminate:j,setRef:ue=>{te.ref=ue},visible:B&&!W,status:qe.initial};return b||(V.__fv_data_position__=0),u||(te.height=s,V.__fv_data_height__=te.height,d(te,V)),(_e=l.value)!=null&&_e.customRowStatus&&(l.value.customRowStatus(te),V.__fv_collapse__=te.collapse,V.__fv_visible__=te.visible,V.__fv_disabled__=te.disabled),te}function y(g,F,V,b,_,x,C){const k=S(it.data,_,F,V,b,x,C);return g.forEach((M,I)=>{k.data[M.field]=f(M,_,F,k,b)}),k}function w(g,F,V,b,_){return Object.assign(g,{index:F,dataIndex:V,top:b,pre:_})}function v(g,F,V,b,_,x,C){const k=g.__fv_data_index__,M=g[c.value],I=n.getEditingSnapshot(M);return I===null?y(x,g,F,V,b,_,C):w(I,b,k,_,V)}return{createEmptyRow:S,createNewRowFromDataItem:y,renderDataRow:v}}function Wl(e,n,o,a){const i=t.ref(e.summary),{idField:r}=n,{createCellByField:l}=o,{createEmptyRow:s}=a,u=t.computed(()=>{const f=i.value;return(f==null?void 0:f.groupFields)||[]}),c=t.computed(()=>{const f=i.value;return f&&f.enable&&f.groupFields&&f.groupFields.length>0});function p(f,S,y,w){if(c.value){const v=f.data[S];let h=v.colSpan;const m=u.value.reduce((g,F)=>(g.set(F,!0),g),new Map);w.reduce((g,F,V)=>{if(m.has(F.field)){const b=l(F.field,De.readonly,V,y,f);f.data[F.field]=b,h-1>V&&(h=V)}return g},f),v.colSpan=h}}function d(f,S,y,w,v,h){const m=f.__fv_data_grid_group_field__,g=s(it.group,w,f,S,y,v);return g.data[r.value]=l(r.value,De.readonly,-1,f,g,0),g.data[m]=l(m,De.readonly,1,f,g,h.length),p(g,m,f,h),g}return{renderGroupRow:d}}function ql(e,n,o,a){const{idField:i}=n,{createCellByField:r}=o,{createEmptyRow:l}=a;function s(u,c,p,d,f,S){const y=u.__fv_data_grid_group_field__,w=l(it.summary,d,u,c,p,f);return w.data[i.value]=r(i.value,De.readonly,-1,u,w),w.data[y]=r(y,De.readonly,1,u,w,S.length),w}return{renderSummaryRow:s}}function yo(e,n,o){var x;const{idField:a}=o,i=t.ref(e.editable),r=t.ref(e.editOption),l=t.ref(((x=e.rowOption)==null?void 0:x.wrapContent)||!1);t.watch(()=>e.editable,()=>{i.value=e.editable}),t.watch(()=>{var C;return(C=e.editOption)==null?void 0:C.editMode},C=>{r.value.editMode=C});const s=new Map([["boolean","check-box"],["datetime","date-picker"],["enum","combo-list"],["number","number-spinner"],["string","input-group"],["text","text"],["commands","commands-editor"]]);let u,c,p,d;function f(C){return c&&c.raw[a.value]===C?c:null}const S=t.reactive({});function y(C,k,M){C.mode=De.editing,u=C,c=k,p=k.raw[C.field],d=M}function w(C){C.accept(),C.mode=De.editable,u=null,n.emit("endEditCell",{cell:C,row:c,newValue:c==null?void 0:c.raw[C.field],oldValue:p,column:d,editor:S})}function v(C){document.body.classList.contains("lookup-modal-open")||(u&&(w(u),c&&(c=null)),document.body.removeEventListener("click",v))}function h(C,k,M,I){i.value&&r.value.editMode==="cell"&&k.mode===De.editable&&(u&&w(u),y(k,M,I),document.body.removeEventListener("click",v),document.body.addEventListener("click",v))}function m(C){Object.values(C.data).filter(k=>k.mode===De.editable&&k.field!=="__commands__").forEach(k=>{k.mode=De.editing}),C.status=qe.editing,c=C}function g(C,k){Object.values(C.data).filter(M=>M.mode===De.editing).forEach(M=>{k?M.accept():M.cancel(),M.mode=De.editable}),C.status=qe.initial,c===C&&(c=null)}function F(C){i.value&&r.value.editMode==="row"&&c!==C&&(c&&g(c,!1),m(C))}function V(C){g(C,!0),C.status=qe.initial}function b(C){g(C,!1),C.status=qe.initial}function _(C,k,M){const I=k.dataType,T=k.editor||{type:s.get(I)||"input-group"};return!l.value&&T.type==="text"&&(T.type="input-group"),T?(T.context={rowData:M.raw,column:k,cell:C,editor:S},t.createVNode(Pt.FDynamicFormInput,{focusOnCreated:e.focusOnEditingCell,selectOnCreated:e.selectOnEditingCell,editor:T,modelValue:C.editingData,"onUpdate:modelValue":N=>C.editingData=N,id:k.id},null)):C.data}return{onClickCell:h,onEditingRow:F,acceptEditingRow:V,cancelEditingRow:b,getEditingSnapshot:f,getEditor:_}}function vo(e){const n=t.ref(e.idField);function o(a){if(a&&a.length){const i=a[0];Object.keys(i).includes(n.value)||(n.value="__fv_indetify__")}}return{idField:n,reviseIdentifyField:o}}function Ul(e,n,o,a,i,r){const{addNewDataItemAtLast:l}=o,{columnContext:s}=a,{onClickCell:u}=i;function c(y,w){const v=s.value.primaryColumns.findIndex(_=>_.field===y.field),h=y.parent,m=h.index,g=s.value.primaryColumns.length-1,F=r.value.length-1,V=v===g,b=m===F;if(v>-1&&!V){const _=s.value.primaryColumns[v+1],x=h.data[_.field];u(w,x)}if(V&&!b){const x=r.value[m+1].data[s.value.primaryColumns[0].field];u(w,x)}if(V&&b){if(e.appendOnEnterAtLastCell){l();const x=r.value[m+1].data[s.value.primaryColumns[0].field];u(w,x)}n.emit("enterUpInLastCell")}}function p(y,w){const v=s.value.primaryColumns.findIndex(F=>F.field===y.field),h=y.parent,m=s.value.primaryColumns.length-1;if(v>0&&v<=m){const F=s.value.primaryColumns[v-1],V=h.data[F.field];u(w,V)}}function d(y,w){const v=y.field,m=y.parent.index,g=r.value.length-1;if(m>-1&&m<g){const b=r.value[m+1].data[v];u(w,b)}}function f(y,w){const v=y.field,m=y.parent.index,g=r.value.length-1;if(m>0&&m<=g){const b=r.value[m-1].data[v];u(w,b)}}function S(y,w){const{key:v,shiftKey:h}=y;if(v==="Enter"&&!h){c(w,y);return}if(h&&v==="Enter"){p(w,y);return}if(v==="ArrowDown"){d(w,y);return}v==="ArrowUp"&&f(w,y)}return{navigateOnKeyUp:S}}function bo(e,n,o,a){const{idField:i}=a,{currentSelectedDataId:r,multiSelectOnClickRow:l,multiSelectOnClickRowWithShift:s,selectItem:u,selectedValues:c,toggleSelectItem:p,enableSelectRow:d}=o,f=t.ref(0),S=t.ref(-1);function y(b){return d.value&&(s.value?c.value.includes(b.raw[i.value]):b.raw[i.value]===r.value)}function w(b){var x;const _={"fv-grid-row":b.type===it.data,"fv-grid-group-row":b.type===it.group,"fv-grid-summary-row":b.type===it.summary,"fv-grid-row-hover":b.index===S.value,"fv-grid-row-selected":y(b),"fv-grid-row-odd":b.dataIndex%2>0,"fv-grid-row-even":b.dataIndex%2===0,"fv-grid-disabled":b.disabled};if((x=e.rowOption)!=null&&x.customRowStyle){const C=e.rowOption.customRowStyle(b.raw)||{};return Object.assign({},_,C)}return _}function v(b){var x;const _={"fv-grid-cell":!0};if((x=e.rowOption)!=null&&x.customCellStyle){const C=e.rowOption.customCellStyle(b)||{};return Object.assign({},_,C)}return _}function h(b){f.value+=1,setTimeout(()=>{f.value===1&&n.emit("ClickRow",b.index,b.raw),f.value=0},250),f.value>1&&(n.emit("doubleClickRow",b.index,b.raw),console.log(`on double click row: ${b.index}`),f.value=0)}function m(b,_){if(_.disabled)return;s.value&&b.shiftKey||l.value?p(_):u(_),h(_),b.stopPropagation()}function g(b,_){}function F(b,_){}function V(b){var x;const _={"fv-grid-sidebar-row":!0,"fv-grid-sidebar-row-hover":b.index===S.value,"fv-grid-sidebar-row-selected":y(b),"fv-grid-sidebar-row-odd":b.dataIndex%2>0,"fv-grid-sidebar-row-even":b.dataIndex%2===0};if((x=e.rowOption)!=null&&x.customRowStyle){const C=e.rowOption.customRowStyle(b.raw)||{};return Object.assign({},_,C)}return _}return{gridCellClass:v,gridRowClass:w,onClickRow:m,onMouseoverRow:g,sidebarRowClass:V,onMouseoutRow:F}}function Co(e,n,o,a,i){const{idField:r}=o,l=t.ref(""),s=t.computed(()=>e.selection.enableSelectRow),u=t.ref(e.selection.multiSelect??!1),c=t.ref(e.selection.multiSelectMode),p=t.ref(e.selection.showCheckbox),d=t.ref(e.selection.showSelectAll),f=t.ref(e.selectionValues);t.watch(()=>e.selection.showSelectAll,(P,R)=>{P!==R&&(d.value=P)});function S(){return n.getSelectionItems(f.value)}function y(){const P=a.value.reduce((W,te)=>(W.set(te.raw[r.value],te),W),new Map);return f.value.map(W=>P.get(W)).filter(W=>!!W)}const w=t.computed(()=>s.value&&u.value),v=t.computed(()=>!!e.hierarchy),h=t.computed(()=>{const P=p.value&&c.value==="DependOnCheck";return w.value&&P}),m=t.computed(()=>w.value&&!p.value),g=t.computed(()=>w.value&&p.value&&c.value==="OnCheckAndClick");t.computed(()=>g.value);function F(){const P=n.getSelectionItems(f.value);i.emit("selectionChange",P)}function V(){a.value.forEach(R=>{R.checked=!1,R.indeterminate=!1,R.raw.__fv_checked__=!1,R.raw.__fv_indeterminate__=!1}),y().forEach(R=>{R.checked=!0,R.raw.__fv_checked__=!0})}t.watch(()=>a.value,()=>{V()}),t.watch(()=>e.selectionValues,P=>{f.value=P,V()},{immediate:!0}),t.watch(()=>e.selection,P=>{u.value=!!P.multiSelect,c.value=P.multiSelectMode||"DependOnCheck",p.value=!!P.showCheckbox});const b=t.computed(()=>!u.value);function _(P){return P.raw[r.value]||""}function x(P){return f.value.findIndex(W=>W===_(P))}function C(){y().forEach(W=>{W.checked=!1}),n.getSelectionItems(f.value).forEach(W=>{W.__fv_checked__=!1}),f.value=[],l.value=""}function k(P){const R=P.raw;R.__fv_checked__=!0,R.__fv_indeterminate__=!1;const W=new Set(f.value);W.add(R[r.value]),f.value=Array.from(W.values()),P.checked=!0,P.indeterminate=!1,l.value=P.raw[r.value]}function M(P){const R=P.raw;R.__fv_checked__=!1,R.__fv_indeterminate__=!1,f.value=f.value.filter(W=>W!==R[r.value]),P.checked=!1,P.indeterminate=!1,l.value=""}function I(P){const R=P.raw;R.__fv_checked__=!1,R.__fv_indeterminate__=!0,f.value=f.value.filter(W=>W!==R[r.value]),P.checked=!1,P.indeterminate=!0}function T(P){b.value&&C(),P.checked?M(P):k(P),F()}function N(P){P.raw[r.value]!==l.value&&(C(),k(P),F())}function $(P){const R=a.value.find(W=>W.raw[r.value]===P);R&&N(R)}function B(P){const R=a.value.filter(W=>P.includes(W.raw[r.value]));R&&R.length&&(C(),R.forEach(W=>{k(W)}),F())}function O(){a.value.forEach(P=>k(P)),l.value="",F()}function j(){f.value.splice(0,f.value.length),l.value="",a.value.forEach(P=>{const R=P.raw;R.__fv_checked__=!1,R.__fv_indeterminate__=!1,P.checked=!1,P.indeterminate=!1}),F()}function E(){return a.value.find(P=>P.raw[r.value]===l.value)}return{clearSelection:C,currentSelectedDataId:l,enableMultiSelect:u,enableSelectRow:s,findIndexInSelectedItems:x,getSelectedItems:S,getSelectionRow:E,indeterminate:I,isSelectingHirarchyItem:v,multiSelectMode:c,multiSelectOnClickRow:g,multiSelectOnClickRowWithShift:m,multiSelectOnlyOnCheck:h,select:k,selectAll:O,selectedValues:f,selectItem:N,selectItemById:$,selectItemByIds:B,showCheckBox:p,showSelectAll:d,toggleSelectItem:T,unSelect:M,unSelectAll:j}}function wo(e,n){var v,h;const o=String(Date.now()),a=50,{showCheckBox:i,showSelectAll:r}=n,l=t.ref(((v=e.rowNumber)==null?void 0:v.enable)??!1),s=t.computed(()=>e.hierarchy&&i.value&&e.selection.enableSelectRow&&e.selection.multiSelect?!1:i.value),u=t.ref(l.value?((h=e.rowNumber)==null?void 0:h.width)??32:0),c=t.ref(s.value?a:0),p=t.computed(()=>{var m;return l.value?((m=e.rowNumber)==null?void 0:m.heading)??"序号":""}),d=t.computed(()=>(s.value&&!e.hierarchy?Number(c.value):0)+(l.value?Number(u.value):0));t.watch(()=>e.rowNumber,m=>{m&&m.enable!==void 0&&(l.value=m.enable),m&&m.width!==void 0&&(u.value=m.width)});function f(m){return{top:`${m.top}px`,width:`${d.value}px`,height:`${m.height||""}px`}}const S=t.computed(()=>({width:`${d.value}px`}));function y(m){return`${o}_${m.type}_r_${m.index}_${m.refreshKey||""}`}function w(m){return`${o}_${m.type}_r_${m.index}_${m.refreshKey||""}`}return{showRowNumer:l,showSidebarCheckBox:s,sidebarCellPosition:f,sidebarCornerCellStyle:S,sidebarTitle:p,sidebarWidth:d,rowKey:w,cellKey:y}}const Kl={ascend:(e,n)=>e===n?0:e===!1?-1:1,decend:(e,n)=>e===n?0:e===!0?-1:1},Xl={ascend:(e,n)=>{const o=new Date(new Date(e).toLocaleDateString()).valueOf(),a=new Date(new Date(n).toLocaleDateString()).valueOf();return o===a?0:o<a?-1:1},decend:(e,n)=>{const o=new Date(new Date(e).toLocaleDateString()).valueOf(),a=new Date(new Date(n).toLocaleDateString()).valueOf();return o===a?0:o<a?1:-1}},Yl={ascend:(e,n)=>e===n?0:e<n?-1:1,decend:(e,n)=>e===n?0:e<n?1:-1},Jl={ascend:(e,n)=>e===n?0:e<n?-1:1,decend:(e,n)=>e===n?0:e<n?1:-1};function So(e){const n=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"]]),o=new Map([["boolean-sorter",Kl],["datetime-sorter",Xl],["numeric-sorter",Yl],["text-sorter",Jl]]);function a(l){const s=(l==null?void 0:l.dataType)||"string",u=n.get(s)||"text-sorter";return o.get(u)||(l==null?void 0:l.sorter)}function i(l){return a(l.column)}function r(l,s){const u=i(l),c=(l.status&Ie.sortable)===Ie.sortable&&(l.status&Ie.sorted)===Ie.sorted,p=(l.status&Ie.ascending)===Ie.ascending,d=(l.status&Ie.descending)===Ie.descending;if(c&&u){const f=p?u.ascend:d?u.decend:void 0;f?s.addSorter(l.field,{field:l.field,compare:f}):s.removeSorter(l.field)}else s.removeSorter(l.field)}return{getSorterByColumn:a,updateSorter:r}}function Ql(e){function n(i){return{}}function o(i){const{valign:r,align:l}=i;return{"d-flex":!0,"h-100":!0,"w-100":!0,"justify-content-start":l!=="center"&&l!=="right","justify-content-center":l==="center","justify-content-right":l==="right","align-items-start":r!=="middle"&&r!=="bottom","align-items-center":r==="middle","align-items-end":r==="bottom"}}function a(i){const{align:r,showEllipsis:l}=i;return{"w-100":!0,"text-left":r!=="center"&&r!=="right","text-center":r==="center","text-right":r==="right","text-truncate":l}}return{cellContentPosition:n,cellContentClass:o,cellContentClassWithEllipsis:a}}function et(e){return typeof e>"u"}function xo(e){var d,f,S,y,w,v,h,m;const n=t.ref((d=e.pagination)==null?void 0:d.enable),o=t.ref(((f=e.pagination)==null?void 0:f.index)||1),a=t.ref((S=e.pagination)==null?void 0:S.size),i=t.ref((y=e.pagination)==null?void 0:y.sizeLimits),r=t.ref((w=e.pagination)==null?void 0:w.mode),l=t.ref((v=e.pagination)==null?void 0:v.showIndex),s=t.ref((h=e.pagination)==null?void 0:h.showLimits),u=t.ref(((m=e.pagination)==null?void 0:m.total)||0),c=t.computed(()=>u.value||e.data.length||0);return t.watch(()=>{var g;return(g=e.pagination)==null?void 0:g.sizeLimits},(g,F)=>{i.value=g},{immediate:!0,deep:!0}),t.watch(()=>{var g;return(g=e.pagination)==null?void 0:g.showIndex},(g,F)=>{g!==F&&(l.value=g)}),t.watch(()=>{var g;return(g=e.pagination)==null?void 0:g.showLimits},(g,F)=>{g!==F&&(s.value=g)}),t.watch(()=>{var g;return(g=e.pagination)==null?void 0:g.total},(g,F)=>{g!==F&&(u.value=g)}),t.watch(()=>{var g;return(g=e.pagination)==null?void 0:g.enable},(g,F)=>{g!==F&&(n.value=g)}),{currentPage:o,pageSize:a,pageList:i,pageTotal:u,total:c,shouldRenderPagination:n,showPageIndex:l,showPageList:s,mode:r,updatePagination:g=>{if(!g)return;const{enable:F,total:V,size:b,index:_,sizeLimits:x,showIndex:C,showLimits:k,mode:M}=g;et(F)||(n.value=F),et(_)||(o.value=_),et(b)||(a.value=b),et(x)||(i.value=x),et(C)||(l.value=C),et(k)||(s.value=k),et(V)||(u.value=V),et(M)||(r.value=M)}}}function Zl(e){const n="parent",o="layer",a="hasChildren",i=(r,l=1,s=[],u=null)=>(r=r||[],r.reduce((c,p)=>(p.id=p.id||p.data[e.idField],p[n]=u,p[o]=l,p[a]=!1,p={...p,...p.data},s.push(p),p.children&&p.children.length&&(p[a]=!0,i(p.children,l+1,s,p.id)),c),s),s);return{flatTreeData:i}}function Vo(e,n,o,a,i,r,l,s,u,c,p,d,f,S,y,w){const{calculateCellPositionInRow:v}=r,{columnContext:h,hasLeftFixedColumn:m,hasRightFixedColumn:g}=l,{gridDataStyle:F,leftFixedGridDataStyle:V,rightFixedGridDataStyle:b}=S,{renderDataRow:_}=or(e,n,h,w,s,u,c,p,d,f),x=[_];function C(N,$){const B=v(N);return w.value.filter(O=>O.visible!==!1).map(O=>x[O.type](O,B,$))}function k(){return t.createVNode("div",{ref:a,class:"fv-grid-content-left-fixed"},[t.createVNode("div",{class:"fv-grid-data",style:V.value},[C(h.value.leftColumns.filter(N=>N.visible),"left")])])}function M(){return t.createVNode("div",{ref:o,class:"fv-grid-content-primary"},[t.createVNode("div",{class:"fv-grid-data",style:F.value},[C(h.value.primaryColumns.filter(N=>N.visible),"primary")])])}function I(){return t.createVNode("div",{ref:i,class:"fv-grid-content-right-fixed"},[t.createVNode("div",{class:"fv-grid-data",style:b.value},[C(h.value.rightColumns.filter(N=>N.visible),"right")])])}function T(){const N=[];return m.value&&N.push(k()),N.push(M()),g.value&&N.push(I()),N}return{renderDataArea:T}}const rt=t.defineComponent({name:"FTreeGrid",props:Ut,emits:["selectionChange","clickRow","expandNode"],setup(e,n){var Te;const i=t.ref(),r=t.ref(),l=t.ref(),s=t.ref(),u=t.ref(),c=t.ref([]),p=t.ref(!1),d=t.ref(((Te=e.rowOption)==null?void 0:Te.wrapContent)||!1),{showLoading:f,renderLoading:S}=A.useLoading(e,i),y=A.useIdentify(e),w=A.useGroupData(e,y),v=A.useFilter(),h=A.useHierarchy(e),m=A.usePagination(e),g=A.useDataView(e,new Map,h,y,m),F=A.useSelection(e,g,y,c,n),V=A.useSelectHierarchyItem(e,c,y,F,n),b=t.computed(()=>Math.min(g.dataView.value.length,100)),{containerStyleObject:_}=A.useDataViewContainerStyle(e),x=A.useCommandColumn(e),C=t.ref(e.columns),{applyCommands:k}=x;k(C);const M=A.useColumn(e),I=A.useSort(e),{applyColumnSorter:T,columnContext:N,updateColumnRenderContext:$}=M;T(g,I);const B=A.useGroupColumn(e,N),O=A.useEdit(e,n,y),j=A.useVisualDataBound(),E=A.useVisualDataCell(e,O,j),P=A.useVisualDataRow(e,O,h,y,j,E),R=A.useVisualData(e,C,g,b,0,P),{getVisualData:W}=R,te=A.useCellPosition(e,N),pe=A.useSidebar(e,F),{sidebarWidth:_e}=pe;c.value=W(0,b.value+0-1);const ue=A.useVirtualScroll(e,g,c,N,R,b,0,_e),{onWheel:Fe,dataGridWidth:xe,viewPortHeight:ge,viewPortWidth:de,resetScroll:ye}=ue,z=A.useFitColumn(e,N,r,de,B),{calculateColumnsSize:U}=z,se=A.useFilterHistory(),ee=A.useColumnFilter(r,u,g,se,ue),ce=A.useRow(e,n,F,y),Ce=A.useDragColumn(e,n,M,g,B,w,ue),me=t.computed(()=>({"fv-grid":!0,"fv-grid-bordered":e.showBorder,"fv-datagrid-strip":e.showStripe})),we=t.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":p.value,"fv-grid-wrap-content":d.value})),{renderDataArea:je}=Vo(e,n,l,s,u,te,M,g,O,h,ce,F,V,ue,R,c),{renderGridHeader:D,renderGridColumnResizeOverlay:X}=A.getColumnHeader(e,r,s,u,M,g,Ce,ee,v,se,z,B,F,pe,I,ue,de,c),{renderDataGridSidebar:ie}=A.getSidebar(e,ce,F,pe,ue),{renderDisableMask:q}=A.getDisableMask(),{renderHorizontalScrollbar:Ve}=A.getHorizontalScrollbar(e,r,ue),{renderVerticalScrollbar:K}=A.getVerticalScrollbar(e,r,ue);function ae(){var re,Pe;ge.value=((re=l.value)==null?void 0:re.clientHeight)||0,xe.value=((Pe=r.value)==null?void 0:Pe.clientWidth)||0,U()}t.onMounted(()=>{r.value&&(Nt.useResizeObserver(r.value,ae),U(),t.nextTick(()=>{r.value&&(xe.value=r.value.clientWidth),l.value&&(de.value=l.value.clientWidth,ge.value=l.value.clientHeight)})),f.value&&S()}),t.onUnmounted(()=>{}),t.watch(de,()=>{r.value&&U()});function he(){const re=F.getSelectionRow();return re?re.dataIndex-1:-1}function ke(){const re=he();g.insertNewDataItem(re),c.value=W(0,b.value+0-1)}function Me(){const re=he();g.insertNewChildDataItem(re),c.value=W(0,b.value+0-1)}function Re(){const re=he(),Pe=V.getNextSelectableHierarchyItemId(re);g.removeHierarchyDataItem(re),c.value=W(0,b.value+0-1),Pe&&F.selectItemById(Pe)}function Ue(re){O.onEditingRow(re)}function Ke(re){O.acceptEditingRow(re)}function st(re){O.cancelEditingRow(re)}function ct(re){re&&(C.value=re,k(C),$(C.value),T(g,I),U())}function ut(re){re&&(ye(),g.load(re),c.value=W(0,b.value+0-1))}function tt(re){F.selectItemById(re)}function H(){return F.getSelectedItems()}const oe=t.computed(()=>!c.value||!c.value.length),{renderEmpty:le}=A.getEmpty(n);return n.expose({addNewDataItem:ke,addNewChildDataItem:Me,removeDataItem:Re,editDataItem:Ue,acceptDataItem:Ke,cancelDataItem:st,updateColumns:ct,updateDataSource:ut,selectItemById:tt,getSelectedItems:H}),()=>t.createVNode("div",{ref:i,class:me.value,style:_.value,onWheel:Fe},[D(),oe.value&&le(),t.createVNode("div",{ref:r,class:we.value,onMouseover:()=>{p.value=!0},onMouseleave:()=>{p.value=!1}},[ie(c),je(),Ve(),K()]),X(),e.disabled&&q()])}}),es={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/check-box.schema.json",title:"check-box",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a check box",type:"string"},type:{description:"The type string of check box component",type:"string",default:"check-box"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},text:{description:"",type:"string",default:""},value:{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"],ignore:["id","appearance","binding"]},ts=new Map([["appearance",We]]);function ns(e,n,o){return n}const Fo={id:{Type:String,default:""},customClass:{Type:String,default:""},disabled:{Type:Boolean,default:!1},indeterminate:{Type:Boolean,default:!1},modelValue:{Type:Boolean,default:!1},focusOnCreated:{type:Boolean,default:!1},value:{type:String,default:""},name:{type:String,default:""},label:{type:String,default:""},checked:{type:Boolean,default:!1}};Oe(Fo,es,ts,ns);const os=t.defineComponent({name:"FCheckBox",props:Fo,emits:["change","changeValue","update:modelValue","update:checked"],setup(e,n){const o=t.inject(Xe.CHECKBOX_CONTEXT,null),{buttonClass:a,disabled:i,name:r,shouldRenderButton:l,shouldRenderNative:s,shouldRenderTag:u,tagClass:c,checked:p,onClickCheckBox:d}=Xe.useCheck(e,n,o==null?void 0:o.parentProps,o==null?void 0:o.parentContext);t.ref();const f=t.ref(e.id),S=t.ref(e.customClass),y=t.ref(e.modelValue),w=t.ref(e.indeterminate);return t.computed(()=>{const v={"custom-control":!0,"custom-checkbox":!0};return S.value&&S.value.split(" ").reduce((h,m)=>(h[m]=!0,h),v),v}),t.watch(()=>e.modelValue,v=>{y.value=v}),t.watch(()=>e.indeterminate,v=>{w.value=v}),t.onMounted(()=>{}),()=>{var v,h,m,g,F,V;return t.createVNode(t.Fragment,null,[l.value&&t.createVNode("div",{class:a.value,style:"border-radius:0;border: 1px solid #E8EBF2;",onClick:d},[(h=(v=n.slots).default)==null?void 0:h.call(v)]),u.value&&t.createVNode("div",{class:c.value,onClick:d},[t.createVNode("div",{class:"title"},[(g=(m=n.slots).default)==null?void 0:g.call(m)]),t.createVNode("div",{class:"tip"},null),t.createVNode("span",{class:"f-icon f-icon-check f-radio-icon"},null)]),s.value&&t.createVNode("div",{class:"custom-control custom-checkbox",onClick:d},[t.createVNode("input",{type:"checkbox",class:"custom-control-input",name:r.value,id:f,value:e.value,checked:p.value,disabled:i.value},null),t.createVNode("div",{class:"custom-control-label"},[(V=(F=n.slots).default)==null?void 0:V.call(F)])])])}}}),as={id:{type:String,default:""},componentId:{type:String,default:""},type:{type:String,default:""},canDelete:{type:Boolean,default:!0},canMove:{type:Boolean,default:!0},canSelectParent:{type:Boolean,default:!0},customButtons:{type:Array,default:[]},customClass:{type:String,default:""},customStyle:{type:String,default:""},modelValue:{type:Object},ignore:{type:Boolean,default:!1}},is={id:{type:String}},rs=t.defineComponent({name:"FDesignerPlaceholder",props:is,emits:[],setup(e){const n=t.computed(()=>({"drag-and-drop-alert":!0,"no-drag":!0,"w-100":!0})),o=t.computed(()=>({height:"60px",display:"flex","justify-content":"center","align-items":"center",margin:0,padding:".75rem 1.25rem",border:"1px solid transparent","border-radius":"3px",color:"#315585","background-color":"#dfedff","border-color":"#d2e6ff"}));return()=>t.createVNode("div",{class:n.value,style:o.value,role:"alert","data-noattach":"true","data-position":"0"},[t.createTextVNode("拖拽组件到这里")])}});function ls(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const an=t.defineComponent({name:"FDesignerItem",props:as,emits:["selectionChange"],setup(e,n){const o=t.ref(`${e.modelValue.id}-component`),a=t.ref(e.canMove),i=t.ref(e.canDelete),r=t.ref(!1),l=t.ref(e.modelValue),s=t.ref(e.componentId||""),u=t.ref(""),c=t.ref(""),p=t.ref(e.customClass),d=t.ref(),f=t.inject("canvas-dragula"),S=t.ref(),y=t.inject("design-item-context"),w={designerItemElementRef:d,componentInstance:S,schema:l.value,parent:y,setupContext:n};t.provide("design-item-context",w);const v=t.inject("useFormSchema"),h=t.computed(()=>{const N=e.modelValue.appearance&&e.modelValue.appearance.class||"";let $={"farris-component":!0,"flex-fill":l.value.id=="root-component","position-relative":a.value&&i.value,"farris-nested":r.value,"can-move":a.value,"d-none":d.value&&d.value.classList.contains("d-none"),dgComponentSelected:d.value&&d.value.classList.contains("dgComponentSelected"),dgComponentFocused:d.value&&d.value.classList.contains("dgComponentFocused")};return $[`farris-component-${l.value.type}`]=!0,$=Xe.getCustomClass($,N),$=Xe.getCustomClass($,c.value),$=Xe.getCustomClass($,p.value),$}),m=t.computed(()=>{const N={},$=e.modelValue.appearance&&e.modelValue.appearance.style||"";return $&&$.split(";").reduce((B,O)=>{const[j,E]=O.split(":");return B[j]=E,B},N),u.value&&u.value.split(";").reduce((B,O)=>{const[j,E]=O.split(":");return j&&(B[j]=E),B},N),N});function g(N,$){var j,E,P;if(N&&(N.preventDefault(),N.stopPropagation()),S.value.triggerBelongedComponentToDeleteWhenDeleted){const R=S.value.getBelongedComponentInstance(S);if(R&&R.parent){const W=t.ref(R==null?void 0:R.parent),te=W.value.contents.findIndex(pe=>pe.id===R.schema.id);(E=(j=W.value)==null?void 0:j.contents)==null||E.splice(te,1),(P=W.value)==null||P.updateDragAndDropRules(),Mt.value++}return}let B=y,O=R=>R.id===$.id;if($.type==="component"&&(B=y==null?void 0:y.parent,O=R=>R.component===$.id),B&&B.schema.contents){const R=B.schema.contents.findIndex(O);B.schema.contents.splice(R,1),B.componentInstance.value.updateDragAndDropRules(),Mt.value++,n.emit("selectionChange")}}function F(N){return i.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:$=>{g($,N)}},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function V(){return a.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"移动",ref:"moveComponent"},[t.createVNode("i",{"data-dragging-icon":"true",class:"cmp_move f-icon f-icon-yxs_move"},null)])}function b(){return e.customButtons&&!!e.customButtons.length&&e.customButtons.map(N=>t.createVNode("div",{role:"button",class:`btn component-settings-button ${N.class||""}`,title:N.title,ref:N.id},[t.createVNode("i",{class:N.icon},null)]))}function _(N){return t.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[t.createVNode("div",null,[F(N),V(),b()])])}function x(N,$,B,O){n.emit("selectionChange",N,$,B,O)}function C(N){let $;const B=N.type,O=rl[B],j=ll[B],E=j?j(N):{};E.customClass=e.ignore?E.customClass:"",E.componentId=s.value;const P=N.contents&&N.contents.length===0;return N.contents&&!!N.contents.length&&O?t.createVNode(O,t.mergeProps({ref:S},E),ls($=N.contents.map(W=>t.createVNode(an,{key:W.id,modelValue:W,"onUpdate:modelValue":te=>W=te,componentId:s.value,onSelectionChange:x},null)))?$:{default:()=>[$]}):O?P?t.createVNode(O,t.mergeProps({ref:S},E),{default:()=>[t.createVNode(rs,null,null)]}):t.createVNode(O,t.mergeProps({ref:S},E),null):t.createVNode("div",null,null)}function k(N){if(N.type==="component-ref"){let B=v==null?void 0:v.getFormSchema().module.components.find(O=>O.id===N.component);if(B)return t.createVNode(an,{key:B.id,modelValue:B,"onUpdate:modelValue":O=>B=O,componentId:B.id,onSelectionChange:x},null)}}t.watch(()=>e.modelValue,N=>{l.value=N,o.value=`${N.id}-component`});function M(N){const $=N.target;$i($)}function I(){var N,$;($=(N=l.value)==null?void 0:N.contents)!=null&&$.length&&d.value&&d.value.addEventListener("scroll",M)}t.onMounted(()=>{if(d.value&&S.value&&S.value.schema){const N=d.value.querySelector(`[data-dragref='${S.value.schema.id}-container']`);f&&N&&f.attachComponents(N,l.value),r.value=S.value.canNested!==void 0?S.value.canNested:r.value,i.value=S.value.canDelete!==void 0?S.value.canDelete:i.value,a.value=S.value.canMove!==void 0?S.value.canMove:a.value,u.value=S.value.styles||"",c.value=S.value.designerClass||"",d.value&&(d.value.componentInstance=S,d.value.designItemContext=w)}I(),Mt.value++}),t.onBeforeUnmount(()=>{d.value&&d.value.removeEventListener("scroll",M)});function T(N){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(B=>B.classList.remove("dgComponentFocused")),N&&(N.preventDefault(),N.stopPropagation());const $=d.value;if($){const B=document.getElementsByClassName("dgComponentSelected");if(!(B&&B.length===1&&B[0]===d.value)&&(Array.from(B).forEach(j=>j.classList.remove("dgComponentSelected")),$.classList.add("dgComponentFocused"),n.emit("selectionChange",l.value.type,l.value,s.value,S.value),S.value.getDraggableDesignItemElement)){const j=S.value.getDraggableDesignItemElement(w);j&&j.value&&j.value.classList.add("dgComponentSelected")}}M(N)}return()=>l.value.type==="component-ref"?k(l.value):t.createVNode("div",{id:`${l.value.id}-design-item`,ref:d,class:h.value,style:m.value,onClick:T},[_(l.value),C(l.value)])}});function _o(e,n,o,a,i,r,l,s,u,c,p,d,f,S,y,w,v,h,m,g="data-grid-column"){const{showSelectAll:F,selectAll:V,unSelectAll:b,selectedValues:_}=S,{showRowNumer:x,showSidebarCheckBox:C,sidebarTitle:k,sidebarCornerCellStyle:M}=y,{columnContext:I,hasLeftFixedColumn:T,hasRightFixedColumn:N}=r,{gridHeaderColumnsStyle:$,leftFixedGridHeaderColumnsStyle:B,rightFixedGridHeaderColumnsStyle:O}=v,j=t.computed(()=>F.value||C.value||x.value),E=I.value.defaultColumnWidth,P=32,R=new Map([[0,0]]);function W(ee,ce){const Ce=R.get(ce)||0,me={height:`${ee.depth*P}px`,left:`${ee.left}px`,top:`${(ee.layer-1)*P}px`,width:`${ee.actualWidth}px`,padding:0};return I.value.headerDepth>1&&(me["line-height"]=`${ee.depth*P}px`),R.set(ce+1,Ce+(ee.actualWidth||E)),me}const te=t.computed(()=>({"fv-grid-header":!0,"fv-grid-header-group-columns":I.value.headerDepth>1})),pe=t.computed(()=>({height:`${I.value.headerDepth*P}px`}));function _e(ee,ce,Ce,me){var we;(we=e==null?void 0:e.setupContext)==null||we.emit("selectionChange",ee,ce,Ce,me)}function ue(ee,ce,Ce){let me=ee.column;return t.createVNode("div",{class:"fv-grid-header-cell",style:W(ee,Ce)},[t.createVNode(an,{modelValue:me,"onUpdate:modelValue":we=>me=we,customClass:"w-100 d-flex align-items-center justify-content-center",canAdd:!1,canDelete:!1,canMove:!1,key:me==null?void 0:me.id,type:g,componentId:n.componentId,onSelectionChange:_e},null)])}function Fe(ee){return ee.map((ce,Ce)=>{const me=[];if(me.push(ue(ce,ee,Ce)),ce.children&&ce.children.length){const we=Fe(ce.children);me.push(...we)}return me})}function xe(){return t.createVNode("div",{class:"fv-grid-header-left-fixed"},[t.createVNode("div",{class:"fv-grid-header-columns",style:B.value},[Fe(I.value.leftHeaderColumns)])])}function ge(){return t.createVNode("div",{class:"fv-grid-header-right-fixed"},[t.createVNode("div",{class:"fv-grid-header-columns",style:O.value},[Fe(I.value.rightHeaderColumns)])])}const de=t.ref(m.value.length===_.value.length);function ye(ee){de.value?V():b()}const z=t.computed(()=>_.value.length>0&&m.value.length!==_.value.length);function U(){return t.createVNode("div",{class:"fv-grid-header-corner d-flex",style:M.value},[F.value&&t.createVNode(os,{id:"checkbox_for_select_all",indeterminate:z.value,modelValue:de.value,"onUpdate:modelValue":ee=>de.value=ee,onChange:ye,style:"margin-left:8px"},null),x.value&&t.createVNode("div",{style:"line-height:18px"},[k.value])])}function se(){return t.createVNode("div",{class:te.value,style:pe.value},[j.value&&U(),T.value&&xe(),t.createVNode("div",{class:"fv-grid-header-primary"},[t.createVNode("div",{class:"fv-grid-header-columns",style:$.value},[Fe(I.value.primaryHeaderColumns)])]),N.value&&ge()])}return{renderGridHeader:se}}class ss extends It{constructor(n,o){super(n,o)}getPropertyConfig(n){return this.getBasicPropConfig(n),this.getAppearanceProperties(n),this.getEventPropConfig(n),this.propertyConfig}getBasicPropConfig(n){this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"tree-grid",value:ne["tree-grid"].name}]}}}}}getAppearanceProperties(n){var o,a,i;this.propertyConfig.categories.appearance={title:"外观",properties:{fields:{title:"列设置",description:"列设置",type:"",$converter:"/converter/items-count.converter",editor:{type:"grid-field-editor",viewModelId:this.viewModelId,gridData:n,gridType:"tree-grid-column"},refreshPanelAfterChanged:!0},fit:{title:"适配父组件尺寸",type:"boolean",description:"是否适配父组件尺寸"},showStripe:{title:"显示条纹",type:"boolean",description:"是否显示条纹"},showBorder:{title:"显示边框",type:"boolean",description:"是否显示边框"},showTreeNodeIcons:{title:"显示图标",type:"boolean",description:"是否显示图标"}},setPropertyRelates(r,l){switch(r&&r.propertyID){case"useBlankWhenDataIsEmpty":n.emptyDataHeight=n.useBlankWhenDataIsEmpty?36:240;break;case"fields":n.fields=r.propertyValue||[];break}}},this.propertyConfig.categories.pagination={title:"分页",$converter:"/converter/pagination.converter",properties:{enable:{title:"启用分页",type:"boolean",refreshPanelAfterChanged:!0},mode:{visible:((o=n.pagination)==null?void 0:o.enable)||!1,title:"分页交互模式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"client",name:"客户端"},{value:"server",name:"服务器端"}]}},showIndex:{visible:((a=n.pagination)==null?void 0:a.enable)||!1,title:"显示页码",type:"boolean"},showLimits:{visible:((i=n.pagination)==null?void 0:i.enable)||!1,title:"显示每页记录数",type:"boolean"}}}}getEventPropConfig(n){const o=[{label:"onSelectionChange",name:"行切换事件"}];var a=this;const i=a.eventsEditorUtils.formProperties(n,a.viewModelId,o),r={};r[a.viewModelId]={type:"events-editor",editor:{initialData:i}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:r,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(l,s){const u=l.propertyValue;delete n[a.viewModelId],u&&(u.setPropertyRelates=this.setPropertyRelates,a.eventsEditorUtils.saveRelatedParameters(n,a.viewModelId,u.events,u)),n.remoteSort=!!n.columnSorted}}}}function cs(e,n){const o=e.schema,a=t.ref(!0),i=t.ref(!0);function r(f){return f&&f.sourceType==="control"?f.controlCategory==="input":!1}function l(){return!1}function s(){return!1}function u(){return!0}function c(f){}function p(){}function d(f){return new ss(f,n).getPropertyConfig(o)}return{canAccepts:r,checkCanDeleteComponent:l,checkCanMoveComponent:s,hideNestedPaddingInDesginerView:u,onAcceptMovedChildElement:c,resolveComponentContext:p,triggerBelongedComponentToMoveWhenMoved:a,triggerBelongedComponentToDeleteWhenDeleted:i,getPropsConfig:d}}const us=t.defineComponent({name:"FTreeGridDesign",props:Pn,emits:[],setup(e,n){var ke;const o=t.ref(),a=0,i=100,r=t.ref(),l=t.ref(),s=t.ref(),u=t.ref(),c=t.ref([]),p=t.ref(!1),d=t.ref(((ke=e.rowOption)==null?void 0:ke.wrapContent)||!1),f=t.inject("designer-host-service"),S=t.inject("design-item-context"),y=cs(S,f),w=dt(o,S,y);w.value.designerClass="f-utils-fill-flex-column";const v=vo(e),h=tn(e,v),m=en(),g=fo(e),F=xo(e),V=co(e,new Map,g,v,F),b=Co(e,V,v,c,n),_=Rl(e,c,v,b,n),x=t.computed(()=>Math.min(V.dataView.value.length,i)),{containerStyleObject:C}=Ln(e),k=zn(e),M=t.ref(e.columns),{applyCommands:I}=k;I(M);const T=Hn(e),N=So(),{applyColumnSorter:$,columnContext:B,updateColumnRenderContext:O}=T;$(V,N);const j=qn(e,B),E=yo(e,n,v),P=Yt(),R=ho(e,E,P),W=go(e,E,g,v,P,R),te=mo(e,M,V,x,a,W),{getVisualData:pe}=te,_e=Xt(e,B),ue=wo(e,b),{sidebarWidth:Fe}=ue;c.value=pe(0,x.value+a-1);const xe=po(e,V,c,B,te,x,a,Fe),{onWheel:ge,dataGridWidth:de,viewPortHeight:ye,viewPortWidth:z}=xe,U=Wn(e,B,r,z,j),{calculateColumnsSize:se}=U,ee=uo(),ce=An(r,u,V,ee,xe),Ce=bo(e,n,b,v),me=Gn(e,n,T,V,j,h,xe),we=t.computed(()=>({"drag-container":!0,"fv-grid":!0,"fv-grid-bordered":e.showBorder,"fv-datagrid-strip":e.showStripe})),je=t.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":p.value,"fv-grid-wrap-content":d.value})),{renderDataArea:D}=Vo(e,n,l,s,u,_e,T,V,E,g,Ce,b,_,xe,te,c),{renderGridHeader:X}=_o(S,e,r,s,u,T,V,me,ce,m,ee,U,j,b,ue,N,xe,z,c,"tree-grid-column"),{renderDataGridSidebar:ie}=En(e,Ce,b,ue,xe),{renderHorizontalScrollbar:q}=Dn(e,r,xe),{renderVerticalScrollbar:Ve}=Rn(e,r,xe);function K(){var Me,Re;ye.value=((Me=l.value)==null?void 0:Me.clientHeight)||0,de.value=((Re=r.value)==null?void 0:Re.clientWidth)||0,se()}t.onMounted(()=>{o.value.componentInstance=w,r.value&&(Nt.useResizeObserver(r.value,K),se(),t.nextTick(()=>{r.value&&(de.value=r.value.clientWidth),l.value&&(z.value=l.value.clientWidth,ye.value=l.value.clientHeight)}))}),t.onUnmounted(()=>{}),t.watch(z,()=>{r.value&&se()});const ae=t.computed(()=>!c.value||!c.value.length),{renderEmpty:he}=lr(n);return n.expose(w.value),()=>t.createVNode("div",{ref:o,dragref:`${S.schema.id}-container`,class:we.value,style:C.value,onWheel:ge},[X(),ae.value&&he(),t.createVNode("div",{ref:r,class:je.value,onMouseover:()=>{p.value=!0},onMouseleave:()=>{p.value=!1}},[ie(c),D(),q(),Ve()])])}});rt.register=(e,n,o,a)=>{e["tree-grid"]=rt,n["tree-grid"]=Ui,a["tree-grid"]={bindingResolver:Xi,selectionItemResolver:Ki}},rt.registerDesigner=(e,n,o)=>{e["tree-grid"]=us,n["tree-grid"]=Yi},oo(rt);function ds(e,n,o){return n}const fs=new Map([["appearance",We]]),ps={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/radio-group.schema.json",title:"radio-group",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a radio-group",type:"string"},type:{description:"The type string of radio-group component",type:"string",default:"radio-group"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"boolean",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},horizontal:{description:"",type:"boolean",default:!1},textField:{description:"",type:"string",default:"name"},valueField:{description:"",type:"string",default:"value"},enumData:{description:"",type:"array"}},required:["id","type"],ignore:["id","appearance","binding"]},ms={...Ur,id:String,disabled:{type:Boolean,default:!1},enumData:{type:Array,default:[{value:"example",name:"example1"}]},horizontal:{type:Boolean,default:!1},direction:{type:String,default:"horizontal"},modelValue:{type:String,default:""},name:{type:String,default:""},tabIndex:Number,textField:{type:String,default:"name"},valueField:{type:String,default:"value"}};Oe(ms,ps,fs,ds);const ft={convertFrom:(e,n)=>n==="multiSelect"?!!e.editor[n]:n==="separator"?e.editor[n]||",":e.editor[n],convertTo:(e,n,o)=>{e.editor[n]=o}},hs={convertFrom:(e,n)=>e[n]==null?!0:e[n],convertTo:(e,n,o)=>{e[n]=o}};function gs(e){let n="form_group_"+Date.now();return e&&(n=e.replaceAll("-","_").replaceAll(".","_")),"lookup."+n}const ys={convertFrom:(e,n)=>{var o;return(o=e.editor[n])==null?void 0:o.displayName},convertTo:(e,n,o)=>{if(o&&o.length>0){const a=o[0],{name:i,id:r,metadataContent:l}=a;e.editor.dataSource||(e.editor.dataSource={}),e.editor.dataSource.displayName=i,e.editor.helpId=r;const{displayType:s,idField:u,textField:c}=l;e.editor.displayType=s,e.editor.dataSource.idField=u,e.editor.textField=c,e.editor.dataSource.type="ViewObject",e.editor.dataSource.uri||(e.editor.dataSource.uri=gs(e.id))}}},vs={convertFrom:(e,n)=>{var o;return(o=e.editor.dataSource)==null?void 0:o.idField},convertTo:(e,n,o)=>{if(o&&o.length>0){const a=o[0];e.editor.dataSource.idField=a==null?void 0:a.bindingPath}}},bs={convertFrom:(e,n)=>{var o;return(o=e.editor)==null?void 0:o.textField},convertTo:(e,n,o)=>{if(o&&o.length>0){const a=o[0];e.editor.textField=a==null?void 0:a.bindingPath}}},Cs={convertFrom:(e,n)=>e.editor.displayType?e.editor.displayType.toUpperCase():"LIST",convertTo:(e,n,o)=>{e.editor.displayType=o}},No=Symbol("schema_repository_token");class ko extends ze{getPropertyConfig(n,o){const a=this.getBasicProperties(n,o),i=this.getAppearanceConfig(),r=this.getBehaviorConfig(n),l=this.getLookupConfig(n.editor);return{type:"object",categories:{basic:a,appearance:i,behavior:r,lookup:l}}}getBehaviorConfig(n){return{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean",$converter:ft},readonly:{description:"",title:"只读",type:"boolean",$converter:ft},required:{visible:!1,description:"",title:"必填",type:"boolean",$converter:ft},visible:{description:"",title:"可见",type:"boolean",$converter:hs},placeHolder:{visible:!1,description:"",title:"提示文本",type:"string"},tabindex:{visible:!1,description:"",title:"tab索引",type:"number"}}}}getLookupConfig(n){return{description:"Basic Infomation",title:"编辑器",properties:{dataSource:{description:"数据源",title:"数据源",type:"string",refreshPanelAfterChanged:!0,editor:{type:"schema-selector",title:"选择数据源",editorParams:{propertyData:n,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},viewOptions:[{id:"recommend",title:"推荐",type:"List",dataSource:"Recommand",enableGroup:!0,groupField:"category",groupFormatter:(o,a)=>`${o==="local"?"本地元数据":"最近使用"}`},{id:"total",title:"全部",type:"List",dataSource:"Total"}],repositoryToken:No,onSubmitModal:o=>{if(o){const a=this.formSchemaUtils.getFormMetadataBasicInfo();return this.metadataService.getPickMetadata(a.relativePath,o[0].data).then(i=>JSON.parse(i==null?void 0:i.metadata.content))}}},$converter:ys},displayType:{description:"类型: 树列表、列表、双列表、左树右列表",title:"展示类型",type:"string",$converter:Cs,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:{type:"field-selector",bindingType:{enable:!1},textField:"bindingPath",editorParams:{propertyData:n,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:qt},$converter:vs},textField:{description:"显示文本字段",title:"文本字段",type:"string",$converter:bs,editor:{type:"field-selector",bindingType:{enable:!1},textField:"bindingPath",editorParams:{propertyData:n,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:qt}},mappingFields:{description:"字段映射",title:"字段映射",type:"string",$converter:ft,editor:{type:"mapping-editor",modalWidth:800,modalHeight:600,editable:!1,editorParams:{propertyData:n,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},fromData:{editable:!1,formatter:(o,a)=>`${a.raw[o.field]} [${a.raw.bindingPath}]`,idField:"id",textField:"bindingPath",valueField:"bindingPath",repositoryToken:qt},toData:{idField:"id",textField:"bindingPath",valueField:"bindingPath",dataSource:this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId),formatter:(o,a)=>`${a.raw[o.field]} [${a.raw.bindingPath}]`}}},multiSelect:{description:"启用多选",$converter:ft,title:"启用多选",type:"boolean"},separator:{description:"多选分隔符",$converter:ft,title:"多选分隔符",type:"string"}}}}}function ws(e,n){const{canAccepts:o,checkCanDeleteComponent:a,checkCanMoveComponent:i,hideNestedPaddingInDesginerView:r,onAcceptMovedChildElement:l,resolveComponentContext:s,triggerBelongedComponentToMoveWhenMoved:u,triggerBelongedComponentToDeleteWhenDeleted:c}=On(e);function p(d,f){const S=e.schema;return new ko(d,n).getPropertyConfig(S,f)}return{canAccepts:o,checkCanDeleteComponent:a,checkCanMoveComponent:i,hideNestedPaddingInDesginerView:r,onAcceptMovedChildElement:l,resolveComponentContext:s,triggerBelongedComponentToMoveWhenMoved:u,triggerBelongedComponentToDeleteWhenDeleted:c,getPropsConfig:p}}const Ss=t.defineComponent({name:"FLookupDesign",props:Ct,emits:[],setup(e,n){const o=t.ref(),a=t.inject("design-item-context"),i=t.inject("designer-host-service"),r=ws(a,i),l=dt(o,a,r);return t.onMounted(()=>{o.value.componentInstance=l}),n.expose(l.value),()=>t.createVNode("div",{class:"f-lookup-design",ref:o},[t.createVNode(Ht,{ref:o,readonly:!0,editable:!1,placeholder:e.placeholder},null)])}});at.register=(e,n,o,a)=>{e["button-edit"]=at,n["button-edit"]=Sn},at.registerDesigner=(e,n,o)=>{e["button-edit"]=Ht,n["button-edit"]=Sn},Xe.withInstall(at);const To=new Map([["appearance",We]]);function Io(e,n,o){return n}const xs={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/layout.schema.json",title:"layout",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for layout component",type:"string"},type:{description:"The type string of layout component",type:"string",default:"layout"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},contents:{description:"",type:"array",default:[]},collapsable:{description:"",type:"boolean",default:!1},resizable:{description:"",type:"boolean",default:!0},visible:{description:"",type:"boolean",default:!0}},required:["id","type","contents"]},Vs={title:"layout",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"类型",title:"类型",type:"string",readonly:!0}}},behavior:{description:"Basic Infomation",title:"行为",properties:{collapsable:{description:"",title:"可收折",type:"boolean"},resizable:{description:"",title:"可调整尺寸",type:"boolean"}}}}},rn={customStyle:{type:String,defaut:""},customClass:{type:String,defaut:""}},Mo=Oe(rn,xs,To,Io,Vs);function Oo(e){const n=t.ref(-1),o=t.ref(-1),a=t.ref(0),i=t.ref(0),r=t.ref(!1),l=t.ref(!1),s=t.computed(()=>({display:r.value?"block":"none",left:`${a.value}px`,cursor:"e-resize"})),u=t.computed(()=>({display:l.value?"block":"none",top:`${i.value}px`,cursor:"n-resize"})),c=t.computed(()=>({display:l.value||r.value?"block":"none"}));function p(v,h,m,g){const F=e.value;if(F){const{left:V,right:b,width:_}=F.getBoundingClientRect();let x=v.clientX-V;g==="right"&&(x=b-v.clientX),x>h&&(x=h),x<m&&(x=m),g==="right"&&(x=_-x),a.value=x}}function d(v,h,m,g){const F=e.value;if(F){const{top:V,bottom:b,height:_}=F.getBoundingClientRect();let x=v.clientY-V;g==="bottom"&&(x=b-v.clientY),x>h&&(x=h),x<m&&(x=m),g==="bottom"&&(x=_-x),i.value=x}}function f(){const v=e.value;if(v){const{width:h,height:m}=v.getBoundingClientRect();return{width:h,height:m}}return null}function S(){const v=e.value;return v?Array.from(v.querySelectorAll("[data-position]")).reduce((h,m)=>{const g=m.getAttribute("data-position");return h=Object.assign(h,{[g]:m}),h},{}):null}function y(v,h){const m=f(),g=S();if(m&&g){const F=g==null?void 0:g.right,V=g==null?void 0:g.left;if(v==="left"&&V)return F?m.width-F.clientWidth-h:m.width-h;if(v==="right"&&F)return V?m.width-V.clientWidth-h:m.width-h}}function w(v,h){const m=f(),g=S();if(m&&g){const F=g==null?void 0:g.bottom,V=g==null?void 0:g.top;if(v==="top"&&V)return F?m.height-F.clientHeight-h:m.height-h;if(v==="bottom"&&F)return V?m.height-V.clientHeight-h:m.height-h}}return{horizontalResizeHandleStyle:s,verticalResizeHandleStyle:u,resizeOverlayStyle:c,showHorizontalResizeHandle:r,showVerticalResizeHandle:l,horizontalResizeBarPosition:n,verticalResizeBarPosition:o,verticalResizeHandleOffset:i,horizontalResizeHandleOffset:a,draggingHorizontalResizeHandle:p,draggingVerticalResizeHandle:d,getPanelMaxHeight:w,getPanelMaxWidth:y}}const lt=t.defineComponent({name:"FLayout",props:rn,emits:[],setup(e,n){const o=t.ref(),a=Oo(o),{horizontalResizeHandleStyle:i,verticalResizeHandleStyle:r,resizeOverlayStyle:l}=a;t.provide("layout",{useResizeHandleComposition:a});const s=t.computed(()=>Wr({"f-layout":!0},e==null?void 0:e.customClass)),u=t.computed(()=>qr({},e==null?void 0:e.customStyle));return()=>t.createVNode("div",{class:s.value,style:u.value,ref:o},[n.slots.default&&n.slots.default(),t.createVNode("div",{class:"f-layout-resize-overlay",style:l.value},null),t.createVNode("div",{class:"f-layout-horizontal-resize-proxy",style:i.value},null),t.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:r.value},null)])}}),Fs={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/layout-pane.schema.json",title:"layout-pane",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a layout pane",type:"string"},type:{description:"The type string of layout paney",type:"string",default:"layout-pane"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},collapsable:{description:"",type:"boolean",default:!1},contents:{description:"",type:"array",default:[]},height:{description:"",type:"number"},position:{description:"",type:"string",default:"left",enum:["left","center","right","top","bottom"]},resizeable:{description:"",type:"boolean",default:!0},width:{description:"",type:"number"},visible:{description:"",type:"number",default:!0}}},_s={title:"layout-pane",description:"A Farris Container Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"enum"},width:{description:"",type:"number",title:"宽度"},height:{description:"",type:"number",title:"高度"}}},appearance:{title:"样式",description:"Appearance",properties:{class:{title:"class",type:"string",description:""},style:{title:"style",type:"string",description:""}}},behavior:{description:"",title:"行为",properties:{collapsable:{description:"",type:"boolean",title:"允许收折"},position:{description:"",type:"enum",title:"位置",editor:{type:"combo-list",data:[{id:"left",name:"左侧"},{id:"center",name:"居中"},{id:"right",name:"右侧"},{id:"top",name:"顶部"},{id:"bottom",name:"底部"}]}},resizeable:{description:"",type:"boolean",title:"允许调整尺寸"},visible:{description:"运行时组件是否可见",type:"boolean",title:"是否可见"}}}}},ln={customClass:{type:String,defaut:""},customStyle:{type:String,defaut:""},width:{type:Number,default:-1},height:{type:Number,default:-1},position:{type:String,default:"left"},visible:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},collapsable:{type:Boolean,default:!1},minWidth:{type:Number,default:100},minHeight:{type:Number,default:100}},Bo=Oe(ln,Fs,To,Io,_s);function $o(e,n,o,a,i){const{horizontalResizeBarPosition:r,horizontalResizeHandleOffset:l,showHorizontalResizeHandle:s,showVerticalResizeHandle:u,verticalResizeBarPosition:c,verticalResizeHandleOffset:p,draggingHorizontalResizeHandle:d,draggingVerticalResizeHandle:f,getPanelMaxHeight:S,getPanelMaxWidth:y}=i;let w="",v,h,m;function g(b){if((w==="left"||w==="right")&&h){const{left:_}=h.getBoundingClientRect(),{width:x}=v.getBoundingClientRect(),C=b.clientX-_;let k=w==="left"?(x||0)+(C-r.value):(x||0)-(C-r.value);k=o.value>0?Math.max(o.value,k):k;const M=y(w,o.value);M!=null&&(k=M>k?k:M),e.value=k}if((w==="top"||w==="bottom")&&h){const{top:_}=h.getBoundingClientRect(),{height:x}=v.getBoundingClientRect(),C=b.clientY-_;let k=w==="top"?(x||0)+(C-c.value):(x||0)-(C-c.value);k=a.value>0?Math.max(a.value,k):k;const M=S(w,a.value);M!=null&&(k=M>k?k:M),n.value=k}l.value=0,p.value=0,r.value=-1,c.value=-1,s.value=!1,u.value=!1,document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",g),document.body.style.userSelect="",w="",v=null,h=null}function F(b,_,x){if(w=_,v=x,s.value=!0,h=b.composedPath().find(k=>(k.className||"").split(" ")[0]==="f-layout"),h){const{left:k}=h.getBoundingClientRect(),M=b.clientX-k;l.value=M,r.value=M;const I=y(w,o.value)||0;m=T=>d(T,I,o.value,w),document.addEventListener("mousemove",m),document.addEventListener("mouseup",g),document.body.style.userSelect="none"}}function V(b,_,x){if(w=_,v=x,u.value=!0,h=b.composedPath().find(k=>(k.className||"").split(" ")[0]==="f-layout"),h){const{top:k}=h.getBoundingClientRect();p.value=b.clientY-k,c.value=b.clientY-k;const M=S(w,a.value)||0;m=I=>f(I,M,a.value,w),document.addEventListener("mousemove",m),document.addEventListener("mouseup",g),document.body.style.userSelect="none"}}return{onClickHorizontalResizeBar:F,onClickVerticalResizeBar:V}}const xt=t.defineComponent({name:"FLayoutPane",props:ln,emits:[],setup(e,n){const o=t.ref(e.minHeight<=0?100:e.minHeight),a=t.ref(e.minWidth<=0?100:e.minWidth),i=t.ref(e.width<=0?100:e.width),r=t.ref(e.height<=100?100:e.height),l=t.ref(Math.max(o.value,r.value)),s=t.ref(Math.max(a.value,i.value)),u=t.ref(),c=t.ref(e.position),p=t.ref(e.resizable);t.watch(()=>e.resizable,V=>{p.value=V});const d=t.inject("layout"),{useResizeHandleComposition:f}=d,S=$o(s,l,a,o,f),{onClickHorizontalResizeBar:y,onClickVerticalResizeBar:w}=S,v=t.computed(()=>({"f-layout-resize-bar":!0,"f-layout-resize-bar-e":c.value==="left","f-layout-resize-bar-n":c.value==="bottom","f-layout-resize-bar-s":c.value==="top","f-layout-resize-bar-w":c.value==="right"})),h=t.computed(()=>c.value!=="center"&&p.value);function m(V,b){(b==="left"||b==="right")&&y(V,b,u.value),(b==="top"||b==="bottom")&&w(V,b,u.value)}const g=t.computed(()=>{const V={"f-layout-pane":!0,"f-page-content-nav":c.value==="left"||c.value==="right","f-page-content-main":c.value==="center"};return e.customClass&&String(e.customClass).split(" ").reduce((b,_)=>(b[_]=!0,b),V),V}),F=t.computed(()=>{const V={};return(s.value&&c.value==="left"||c.value==="right")&&(V.width=`${s.value}px`),(l.value&&c.value==="bottom"||c.value==="top")&&(V.height=`${l.value}px`),e.visible||(V.display="none"),V});return()=>t.createVNode("div",{ref:u,class:g.value,style:F.value,"data-position":c.value},[n.slots.default&&n.slots.default(),h.value&&t.createVNode("span",{class:v.value,onMousedown:V=>m(V,c.value)},null)])}});function Ns(e,n){function o(){return!1}return{canAccepts:o}}const ks=t.defineComponent({name:"FLayoutDesign",props:rn,emits:[],setup(e,n){var p;const o=t.ref(),a=t.inject("design-item-context"),i=Ns(a.schema,(p=a.parent)==null?void 0:p.schema),r=dt(o,a,i);r.value.canNested=!1;const l=Oo(o),{horizontalResizeHandleStyle:s,verticalResizeHandleStyle:u,resizeOverlayStyle:c}=l;return t.provide("layout",{useResizeHandleComposition:l}),t.onMounted(()=>{o.value.componentInstance=r}),n.expose(r.value),()=>t.createVNode("div",{class:"f-layout f-page-content",ref:o},[n.slots.default&&n.slots.default(),t.createVNode("div",{class:"f-layout-resize-overlay",style:c.value},null),t.createVNode("div",{class:"f-layout-horizontal-resize-proxy",style:s.value},null),t.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:u.value},null)])}});function Ts(e,n){function o(r){return!!$r().basalDragulaRuleForContainer(r)}function a(r,l,s){return s}function i(){const r=["f-layout-pane"];return(e.position==="left"||e.position==="right")&&r.push("f-page-content-nav"),e.position==="center"&&r.push("f-page-content-main"),r.join(" ")}return{canAccepts:o,getDesignerClass:i,onAcceptNewChildElement:a}}const Is=t.defineComponent({name:"FLayoutPaneDesign",props:ln,emits:[],setup(e,n){var V;const o=t.ref(),a=t.ref(),i=t.inject("design-item-context"),r=Ts(i.schema,(V=i.parent)==null?void 0:V.schema),l=dt(a,i,r);l.value.canNested=!1,l.value.canMove=!1,l.value.canDelete=!1,t.onMounted(()=>{a.value.componentInstance=l}),n.expose(l.value);const s=t.ref(Math.max(e.minHeight,e.height)),u=t.ref(Math.max(e.minWidth,e.width)),c=t.ref(e.minHeight),p=t.ref(e.minWidth),d=t.ref(e.position),f=t.inject("layout"),{useResizeHandleComposition:S}=f,y=$o(u,s,p,c,S),{onClickHorizontalResizeBar:w,onClickVerticalResizeBar:v}=y,h=t.computed(()=>({"f-layout-resize-bar":!0,"f-layout-resize-bar-e":d.value==="left","f-layout-resize-bar-n":d.value==="bottom","f-layout-resize-bar-s":d.value==="top","f-layout-resize-bar-w":d.value==="right"}));function m(b,_){(_==="left"||_==="right")&&w(b,_,o.value),(_==="top"||_==="bottom")&&v(b,_,o.value)}const g=t.computed(()=>{const b={"f-layout-pane":!0,"f-page-content-nav":d.value==="left"||d.value==="right","f-page-content-main":d.value==="center"};return e.customClass&&String(e.customClass).split(" ").reduce((_,x)=>(_[x]=!0,_),b),b}),F=t.computed(()=>{const b={flex:"1"};return(u.value&&d.value==="left"||d.value==="right")&&(b.width=`${u.value}px`),(s.value&&d.value==="bottom"||d.value==="top")&&(b.height=`${s.value}px`),b});return()=>t.createVNode("div",{ref:o,class:g.value,style:F.value},[t.createVNode("div",{ref:a,class:"drag-container","data-dragref":`${i.schema.id}-container`},[n.slots.default&&n.slots.default()]),t.createVNode("span",{class:h.value,onMousedown:b=>m(b,d.value)},null)])}});lt.install=e=>{e.component(lt.name,lt),e.component(xt.name,xt)},lt.register=(e,n,o,a)=>{e.layout=lt,n.layout=Mo,e["layout-pane"]=xt,n["layout-pane"]=Bo},lt.registerDesigner=(e,n,o)=>{e.layout=ks,n.layout=Mo,e["layout-pane"]=Is,n["layout-pane"]=Bo};const jo=new Map([["appearance",We],["column","columnOption"]]),Po=new Map([]),Ms="root-viewmodel";class Os{constructor(n,o){G(this,"formSchemaUtils");G(this,"controlCreatorUtils");this.resolver=n,this.designerHostService=o,this.formSchemaUtils=this.designerHostService.formSchemaUtils,this.controlCreatorUtils=this.designerHostService.controlCreatorUtils}createComponent(n){const o=this.createComponentRefNode(n),a=this.createComponentNode(n),i=this.createViewModeNode(n),r=this.formSchemaUtils.getFormSchema();return r.module.viewmodels.push(i),r.module.components.push(a),this.wrapContainerSectionForComponent(o,n)}wrapContainerSectionForComponent(n,o){var r,l;const a=[ne["content-container"].type,ne["response-layout-item"].type,ne["splitter-pane"].type],i=(l=(r=o==null?void 0:o.parentComponentInstance)==null?void 0:r.schema)==null?void 0:l.type;if(i&&a.includes(i)){const s=this.resolver.getSchemaByType("section",{parentComponentInstance:o.parentComponentInstance},this.designerHostService);if(s&&s.contents&&s.contents.length){const u=s.contents[0];return u.contents=[n],s}}return n}createComponentRefNode(n){const o=this.resolver.getSchemaByType("component-ref");return Object.assign(o,{id:`${n.componentId}-component-ref`,component:`${n.componentId}-component`}),o}createComponentNode(n){const o=this.resolver.getSchemaByType("component"),a=this.createDateGridComponentContents(n);return Object.assign(o,{id:`${n.componentId}-component`,viewModel:`${n.componentId}-component-viewmodel`,componentType:n.componentType,appearance:{class:this.getDataGridComponentClass()},contents:a}),o}createViewModeNode(n){return{id:`${n.componentId}-component-viewmodel`,code:`${n.componentId}-component-viewmodel`,name:n.componentName,bindTo:n.bindTo,parent:Ms,fields:this.assembleViewModelFields(n),commands:[],states:[],enableValidation:!0,pagination:{enable:!1}}}getDataGridComponentClass(){return this.formSchemaUtils.getFormSchema().module.templateId==="double-list-in-tab-template"?"f-struct-wrapper f-utils-fill-flex-column":"f-struct-is-subgrid"}createDateGridComponentContents(n){const o=this.formSchemaUtils.getFormSchema().module.templateId;let a;if(o==="double-list-in-tab-template"){const s=this.resolver.getSchemaByType("section");Object.assign(s,{id:n.componentId+"-section",appearance:{class:"f-section-grid f-section-in-main px-0 pt-0"},fill:!0,showHeader:!1}),a=s}else{const s=this.resolver.getSchemaByType("content-container");Object.assign(s,{id:n.componentId+"-container",appearance:{class:"f-grid-is-sub f-utils-flex-column"}}),a=s}const i=this.resolver.getSchemaByType("data-grid"),r=[];Object.assign(i,{id:n.componentId+"-dataGrid",appearance:{class:"f-component-grid f-utils-fill"},fields:r,fieldEditable:n.editable,dataSource:n.dataSource||""}),a.contents=[i];const{selectedFields:l}=n;return l==null||l.forEach(s=>{if(s.$type===Zn.ComplexField)return;const u=Be.cloneDeep(s),c=this.controlCreatorUtils.setGridFieldProperty("data-grid-column",u,"",n.editable);c&&r.push(c)}),[a]}assembleViewModelFields(n){const o=[],{selectedFields:a}=n;return a==null||a.forEach(i=>{let r="blur";const l=i.type.name;(l===St.Enum||l===St.Boolean)&&(r="change"),o.push({type:"Form",id:i.id,fieldName:i.bindingField,groupId:null,groupName:null,updateOn:r,fieldSchema:{}})}),o}}function Do(e,n,o,a){const i=o.parentComponentInstance;if(i){const r=Math.random().toString(36).slice(2,6),l={componentId:`data-grid-${r}`,componentName:`表格-${r}`,componentType:"data-grid",parentContainerId:i.schema.id,parentComponentInstance:i,editable:!0,bindTo:"",dataSource:""};return new Os(e,a).createComponent(l)}else return n}function Eo(e,n,o){return n}const Bs={$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},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},disable:{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:{enable:{description:"",type:"boolean",default:!1},commands:{type:"array",default:[]},commandColumnWidth:{description:"",type:"number",default:120},onClickDeleteCommand:{description:"",type:"string",default:""},onClickEditCommand:{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:"obejct",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:!0},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:"obejct"},customSummaryStyle:{description:"",type:"obejct"},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:"client",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:""}}},row:{type:"object",properties:{customRowStyle:{description:"",type:"object"},disable:{description:"",type:"obejct"},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:!1},heading:{description:"",type:"string",default:"序号"},width:{description:"",type:"number",default:36},onClickRow:{description:"",type:"string",default:""},onDoubleClickRow:{description:"",type:"string",default:""}}},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},showCheckAll:{description:"",type:"boolean",default:!1},showSelection:{description:"",type:"boolean",default:!1},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:"string",default:"client",enum:["client","server"]},multiSort:{description:"",type:"boolean",default:!1}}},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}}},required:["id","type"]},sn={changePolicy:{type:String,default:"push"},columns:{type:Array,default:[]},columnOption:{type:Object},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"}},filter:{type:Object},fit:{type:Boolean,default:!1},focusOnEditingCell:{type:Boolean,default:!0},selectOnEditingCell:{type:Boolean,default:!1},group:{type:Object},header:{type:Object},height:{type:Number,default:-1},id:{type:String,default:""},idField:{type:String,default:"id",require:!0},minHeight:{type:Number,default:300},minWidth:{type:Number,default:400},mergeCell:{type:Boolean,default:!1},pagination:{type:Object,default:{enable:!1,size:20}},rowNumber:{type:Object,default:{enable:!0,width:32,heading:"序号"}},rowOption:{type:Object,default:{wrapContent:!1}},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!0}},selectionValues:{type:Array,default:[]},showBorder:{type:Boolean,default:!1},showFooter:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},showScrollBar:{type:String,default:"auto"},showSetting:{type:Boolean,default:!1},showStripe:{type:Boolean,default:!0},sort:{type:Object},summary:{type:Object,default:{enable:!1,groupFields:["numericField1","numericField2"]}},virtualized:{type:Boolean,default:!1},width:{type:Number,default:-1},newDataItem:{type:Function,default:()=>{}},enableCommands:{type:Boolean,default:!1},commandOption:{type:Object,default:{enable:!1,commands:[]}},appendOnEnterAtLastCell:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},$s=Object.assign({},sn,{componentId:{type:String,default:""}}),Ro=Oe(sn,Bs,jo,Do),js=si(),Ps=ui();function Lo(e,n,o,a,i,r,l,s,u,c,p,d,f,S,y){const{calculateCellPositionInRow:w,cellKey:v,cellPosition:h,rowKey:m,rowPosition:g,rowSpanCellPosition:F,groupCellPosition:V,summaryCellPosition:b}=l,{cellContentClass:_,cellContentPosition:x,cellContentClassWithEllipsis:C}=r,{collpaseGroupIconClass:k}=c,{gridCellClass:M,gridRowClass:I,onClickRow:T,onMouseoverRow:N,onMouseoutRow:$}=d,{onClickCell:B}=u,{toggleGroupRow:O}=f,{columnContext:j,hasLeftFixedColumn:E,hasRightFixedColumn:P}=s,{navigateOnKeyUp:R}=p,{gridDataStyle:W,gridMergedDataStyle:te,leftFixedGridDataStyle:pe,leftFixedGridMergedDataStyle:_e,rightFixedGridDataStyle:ue,rightFixedGridMergedDataStyle:Fe}=S;function xe(D,X){X.collapse=!X.collapse,y.value=O(X.collapse?"collapse":"expand",X,y.value)}function ge(D,X){const ie=[];if(D.groupField&&X[D.groupField]){for(let Ve=0;Ve<=D.layer;Ve++)ie.push(t.createVNode("div",{class:"fv-grid-group-row-icon",onClick:K=>xe(K,D)},[t.createVNode("span",{class:k(D)},null)]));const q=D.data[D.groupField];ie.push(t.createVNode("div",{ref:q.setRef,key:v(D,D.layer+1),class:"fv-grid-cell",style:V(q,X,D.layer)},[q.data])),Object.values(D.data).filter(Ve=>Ve.field!==D.groupField&&Ve.colSpan!==0).forEach(Ve=>{ie.push(t.createVNode("div",{ref:Ve.setRef,key:v(D,Ve.index),class:"fv-grid-cell",style:h(Ve,X)},[Ve.data]))})}return ie}function de(D,X,ie){return D.layer>-1&&t.createVNode("div",{ref:D.setRef,key:m(D),class:I(D),style:g(D),onClick:q=>T(q,D),onMouseover:q=>N(q,D)},[ge(D,X)])}function ye(D,X){const ie=[];if(D.groupField&&X[D.groupField]){const q=D.data[D.groupField];ie.push(t.createVNode("div",{ref:q.setRef,key:v(D,D.layer+1),class:"fv-grid-cell",style:b(q,X,D.layer)},[q.data]))}return ie}function z(D,X,ie){return D.layer>-1&&t.createVNode("div",{ref:D.setRef,key:m(D),class:I(D),style:g(D),onClick:q=>T(q,D),onMouseover:q=>N(q,D)},[ye(D,X)])}function U(D,X,ie){return t.createVNode("div",{ref:D.setRef,key:m(D),class:I(D),style:g(D),onClick:q=>T(q,D),onMouseover:q=>N(q,D),onMouseout:q=>$(q,D)},[Object.values(D.data).filter(q=>X[q.field]&&q.rowSpan===1).map(q=>{const Ve=ie==null?void 0:ie.find(K=>K.field===q.field);return t.createVNode("div",{ref:q.setRef,key:v(D,q.index),class:M(q),style:h(q,X),onClick:K=>B(K,q,D,Ve),onKeyup:K=>R(K,q)},[t.createVNode("div",{class:_(q,Ve),style:x(q)},[t.createVNode("div",{class:C(q)},[q.data!=null&&n.slots.cellTemplate?n.slots.cellTemplate({cell:q,row:D}):q.mode===De.editing?q.getEditor(q):q.formatter?q.formatter(q,D):q.data!=null?q.data.toString():q.data])])])})])}const se=[U,de,z];function ee(D,X){const ie=w(D);return y.value.map(q=>se[q.type](q,ie,D))}function ce(D){const X=w(D);return y.value.map(ie=>Object.values(ie.data).filter(q=>X[q.field]&&q.rowSpan>1).map(q=>t.createVNode("div",{key:v(ie,q.index),class:"fv-grid-cell fv-grid-merged-cell",style:F(ie,q,X)},[q.data])))}function Ce(){return t.createVNode("div",{ref:a,class:"fv-grid-content-left-fixed"},[t.createVNode("div",{class:"fv-grid-data",style:pe.value},[ee(j.value.leftColumns.filter(D=>D.visible))]),t.createVNode("div",{class:"fv-grid-merge-date",style:_e.value},[ce(j.value.leftColumns.filter(D=>D.visible))])])}function me(){return t.createVNode("div",{ref:o,class:"fv-grid-content-primary"},[t.createVNode("div",{class:"fv-grid-data",style:W.value},[ee(j.value.primaryColumns.filter(D=>D.visible))]),t.createVNode("div",{class:"fv-grid-merge-date",style:te.value},[ce(j.value.primaryColumns.filter(D=>D.visible))])])}function we(){return t.createVNode("div",{ref:i,class:"fv-grid-content-right-fixed"},[t.createVNode("div",{class:"fv-grid-data",style:ue.value},[ee(j.value.rightColumns.filter(D=>D.visible))]),t.createVNode("div",{class:"fv-grid-merge-date",style:Fe.value},[ce(j.value.rightColumns.filter(D=>D.visible))])])}function je(){const D=[];return E.value&&D.push(Ce()),D.push(me()),P.value&&D.push(we()),D}return{renderDataArea:je}}const Je=t.defineComponent({name:"FDataGrid",props:sn,emits:["ClickRow","doubleClickRow","selectionChange","enterUpInLastCell","pageIndexChanged","pageSizeChanged","beginEditCell","endEditCell"],setup(e,n){var ta;const i=t.ref(e.columns),r=A.useIdentify(e),l=t.ref(),s=t.ref(),u=t.ref(),c=t.ref(),p=t.ref(),d=t.ref([]),f=t.ref(!1),S=t.ref(((ta=e.rowOption)==null?void 0:ta.wrapContent)||!1),y=A.useGroupData(e,r),w=A.useFilter(),v=A.useHierarchy(e),{showLoading:h,renderLoading:m}=A.useLoading(e,l),g=A.usePagination(e),{shouldRenderPagination:F}=g,V=A.useDataView(e,new Map,v,r,g),b=A.useSelection(e,V,r,d,n),_=t.computed(()=>Math.min(V.dataView.value.length,100));t.computed(()=>e.loadingConfig.message);const{containerStyleObject:x}=A.useDataViewContainerStyle(e),C=A.useCommandColumn(e),{applyCommands:k}=C;k(i);const M=A.useColumn(e),I=A.useSort(e),{applyColumnSorter:T,columnContext:N,updateColumnRenderContext:$}=M;T(V,I);const B=A.useGroupColumn(e,N),O=A.useEdit(e,n,r),j=A.useVisualDataBound(),E=A.useVisualDataCell(e,O,j),P=A.useVisualDataRow(e,O,v,r,j,E),R=A.useVisualGroupRow(e,r,E,P),W=A.useVisualSummaryRow(e,r,E,P),te=A.useVisualData(e,i,V,_,0,P,R,W),{getVisualData:pe}=te,_e=A.useCellContentStyle(N),ue=A.useCellPosition(e,N),Fe=A.useSidebar(e,b),{sidebarWidth:xe}=Fe;d.value=pe(0,_.value+0-1);const ge=A.useVirtualScroll(e,V,d,N,te,_,0,xe),{onWheel:de,dataGridWidth:ye,viewPortHeight:z,viewPortWidth:U,resetScroll:se}=ge,ee=A.useFitColumn(e,N,s,U,B),{calculateColumnsSize:ce}=ee,Ce=A.useFilterHistory(),me=A.useColumnFilter(s,p,V,Ce,ge),we=A.useRow(e,n,b,r),je=A.useDragColumn(e,n,M,V,B,y,ge),D=t.computed(()=>({"fv-grid":!0,"fv-datagrid-strip":e.showStripe})),X=t.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":f.value,"fv-grid-wrap-content":S.value})),{renderGridHeader:ie,renderGridColumnResizeOverlay:q}=A.getColumnHeader(e,s,c,p,M,V,je,me,w,Ce,ee,B,b,Fe,I,ge,U,d),{renderDataGridPagination:Ve}=A.getPagination(e,n,V,ge,g),{renderDataGridSidebar:K}=A.getSidebar(e,we,b,Fe,ge),{renderDisableMask:ae}=A.getDisableMask(),{renderDataGridSummery:he}=A.getSummary(e,V,M),{renderHorizontalScrollbar:ke}=A.getHorizontalScrollbar(e,s,ge),{renderVerticalScrollbar:Me}=A.getVerticalScrollbar(e,s,ge),{renderFilterPanel:Re}=A.getFilterPanel(e,M,V,w,ge),{renderGroupPanel:Ue}=A.getGroupPanel(e,V,je,y,ge);function Ke(){var be,yt;z.value=((be=u.value)==null?void 0:be.clientHeight)||0,ye.value=((yt=s.value)==null?void 0:yt.clientWidth)||0,ce()}t.onMounted(()=>{s.value&&(Nt.useResizeObserver(s.value,Ke),ce(),t.nextTick(()=>{s.value&&(ye.value=s.value.clientWidth),u.value&&(U.value=u.value.clientWidth,z.value=u.value.clientHeight)})),h.value&&m()}),t.onUnmounted(()=>{}),t.watch(U,()=>{});function st(){V.insertNewDataItem(),se()}function ct(){V.insertNewDataItem(d.value.length),se()}function ut(be){O.onEditingRow(be)}function tt(be){V.removeDataItem(be),se()}function H(be){V.removeDataItemById(be),se()}function oe(be){O.acceptEditingRow(be)}function le(be){O.cancelEditingRow(be)}function Te(be){be&&(i.value=be,k(i),$(i.value),T(V,I),ce())}function re(be){be&&(se(),V.load(be),d.value=pe(0,_.value+0-1))}function Pe(be){g.updatePagination(be)}t.watch([V.startIndex,V.endIndex],([be,yt],[Xc,Yc])=>{var na,oa;be!==Xc&&re((na=V.originalData)==null?void 0:na.value),yt!==Yc&&re((oa=V.originalData)==null?void 0:oa.value)}),t.watch(()=>e.data,be=>{e.changePolicy==="default"&&re(be)},{deep:!0});function Le(be){b.selectItemById(be)}function ve(be){b.selectItemByIds(be)}function He(){return d.value}function Ae(be){return d.value.filter(yt=>be.includes(yt.raw[e.idField]))}const Se={addNewDataItem:st,addNewDataItemAtLast:ct,removeDataItem:tt,removeDataItemById:H,editDataItem:ut,acceptDataItem:oe,cancelDataItem:le,selectItemById:Le,selectItemByIds:ve,updateColumns:Te,updateDataSource:re,updatePagination:Pe,getVisibleData:He,getVisibleDataByIds:Ae};n.expose(Se);const nt=A.useNavigation(e,n,Se,M,O,d),{renderDataArea:gt}=Lo(e,n,u,c,p,_e,ue,M,O,y,nt,we,te,ge,d),Uc=t.computed(()=>!d.value||!d.value.length),{renderEmpty:Kc}=A.getEmpty(n);return()=>t.createVNode("div",{ref:l,class:D.value,style:x.value,onWheel:de},[Re(),Ue(),ie(),Uc.value&&Kc(),t.createVNode("div",{ref:s,class:X.value,onMouseover:()=>{f.value=!0},onMouseleave:()=>{f.value=!1}},[K(d),gt(),ke(),Me()]),he(),F.value&&Ve(),q(),e.disabled&&ae()])}});class Ds extends It{constructor(n,o){super(n,o)}getPropertyConfig(n){return this.getBasicPropConfig(n),this.getAppearanceProperties(n),this.getEventPropConfig(n),this.propertyConfig}getBasicPropConfig(n){var r,l,s;const o=(s=(l=(r=this.formSchemaUtils.getFormSchema())==null?void 0:r.module)==null?void 0:l.entity[0])==null?void 0:s.entities[0],a=this.assembleSchemaEntityToTree(o,0),i=this;this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"data-grid",value:ne["data-grid"].name}]}},dataSource:{description:"绑定数据源",title:"绑定数据源",editor:{type:"combo-tree",textField:"name",valueField:"label",data:a,readonly:n.columns&&n.columns.length>0,editable:!1}}},setPropertyRelates(u,c){switch(u&&u.propertyID){case"dataSource":{const p=i.formSchemaUtils.getViewModelById(i.viewModelId);if(p){const d=a.find(f=>f.label===u.propertyValue);p.bindTo=d.bindTo}i.designViewModelUtils.assembleDesignViewModel();break}}}}}assembleSchemaEntityToTree(n,o,a,i="",r=[]){const l=i?`${i}/${n.label}`:"/";return r.push({id:n.id,name:n.name,label:n.label,layer:o,parent:a&&a.id,bindTo:l.replace("//","/")}),n.type.entities&&n.type.entities.length&&n.type.entities.map(s=>this.assembleSchemaEntityToTree(s,o+1,n,l,r)),r}getAppearanceProperties(n){var o,a,i;this.propertyConfig.categories.appearance={title:"外观",properties:{columns:{title:"列设置",description:"列设置",type:"",$converter:"/converter/items-count.converter",editor:{type:"grid-field-editor",viewModelId:this.viewModelId,gridData:n,getLatestGridData:r=>n},refreshPanelAfterChanged:!0},fit:{title:"适配父组件尺寸",type:"boolean",description:"是否适配父组件尺寸"},showStripe:{title:"显示条纹",type:"boolean",description:"是否显示条纹"},showBorder:{title:"显示边框",type:"boolean",description:"是否显示边框"}},setPropertyRelates(r,l){switch(r&&r.propertyID){case"useBlankWhenDataIsEmpty":n.emptyDataHeight=n.useBlankWhenDataIsEmpty?36:240;break;case"columns":n.columns=r.propertyValue||[];break}}},this.propertyConfig.categories.pagination={title:"分页",$converter:"/converter/pagination.converter",properties:{enable:{title:"启用分页",type:"boolean",refreshPanelAfterChanged:!0},mode:{visible:((o=n.pagination)==null?void 0:o.enable)||!1,title:"分页交互模式",type:"enum",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"client",value:"客户端"},{key:"server",value:"服务器端"}]}},showIndex:{visible:((a=n.pagination)==null?void 0:a.enable)||!1,title:"显示页码",type:"boolean"},showLimits:{visible:((i=n.pagination)==null?void 0:i.enable)||!1,title:"显示每页记录数",type:"boolean"}}}}getEventPropConfig(n){const o=[{label:"onClickRow",name:"行点击事件"},{label:"onSelectionChange",name:"行切换事件"},{label:"onPageIndexChanged",name:"切换页码事件"},{label:"onPageSizeChanged",name:"分页条数变化事件"}];var a=this;const i=a.eventsEditorUtils.formProperties(n,a.viewModelId,o),r={};r[a.viewModelId]={type:"events-editor",editor:{initialData:i}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:r,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(l,s){const u=l.propertyValue;delete n[a.viewModelId],u&&(u.setPropertyRelates=this.setPropertyRelates,a.eventsEditorUtils.saveRelatedParameters(n,a.viewModelId,u.events,u)),n.remoteSort=!!n.columnSorted}}}}function Es(e,n){const o=e.schema,a=t.ref(!0),i=t.ref(!0);function r(f){return f&&f.sourceType==="control"?f.controlCategory==="input":!1}function l(){return!1}function s(){return!1}function u(){return!0}function c(f){}function p(){}function d(f){return new Ds(f,n).getPropertyConfig(o)}return{canAccepts:r,checkCanDeleteComponent:l,checkCanMoveComponent:s,hideNestedPaddingInDesginerView:u,onAcceptMovedChildElement:c,resolveComponentContext:p,triggerBelongedComponentToMoveWhenMoved:a,triggerBelongedComponentToDeleteWhenDeleted:i,getPropsConfig:d}}const cn=t.defineComponent({name:"FDataGridDesign",props:$s,emits:["ClickRow","DoubleClickRow","selectionChange","enterUpInLastCell","pageIndexChanged","pageSizeChanged"],setup(e,n){var Ae;const o=t.ref(),a=t.inject("designer-host-service"),i=t.inject("design-item-context"),r=Es(i,a),l=dt(o,i,r);l.value.styles="display:flex;flex:1;",t.onMounted(()=>{o.value.componentInstance=l}),n.expose(l.value);const s=t.ref(e.columns),u=20,c=vo(e),p=0,d=t.ref(),f=t.ref(),S=t.ref(),y=t.ref(),w=t.ref(e.showStripe),v=t.ref([]),h=t.ref(!1),m=t.ref(((Ae=e.rowOption)==null?void 0:Ae.wrapContent)||!1),g=tn(e,c),F=en(),V=fo(e),b=xo(e),_=co(e,new Map,V,c,b),x=Co(e,_,c,v,n),C=t.computed(()=>e.disable),k=t.computed(()=>_.totalItems.value<u?_.totalItems.value:u),{containerStyleObject:M}=Ln(e),I=zn(e),{applyCommands:T}=I;T(s);const N=Hn(e),$=So(),{applyColumnSorter:B,columnContext:O,updateColumnRenderContext:j}=N;B(_,$);const E=qn(e,O),P=yo(e,n,c),R=Yt(),W=ho(e,P,R),te=go(e,P,V,c,R,W),pe=Wl(e,c,W,te),_e=ql(e,c,W,te),ue=mo(e,s,_,k,p,te,pe,_e),{getVisualData:Fe}=ue,xe=Ql(),ge=Xt(e,O),de=wo(e,x),{sidebarWidth:ye}=de;v.value=Fe(0,k.value+p-1);const z=po(e,_,v,O,ue,k,p,ye),{onWheel:U,dataGridWidth:se,viewPortHeight:ee,viewPortWidth:ce,resetScroll:Ce}=z,me=Wn(e,O,d,ce,E),{calculateColumnsSize:we}=me,je=uo(),D=An(d,y,_,je,z),X=bo(e,n,x,c),ie=Gn(e,n,N,_,E,g,z),q=t.computed(()=>({"fv-grid":!0,"fv-datagrid-strip":w.value})),Ve=t.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":h.value,"fv-grid-wrap-content":m.value})),{renderGridHeader:K}=_o(i,e,d,S,y,N,_,ie,D,F,je,me,E,x,de,$,z,ce,v);ar(e,n,_,z,b);const{renderDataGridSidebar:ae}=En(e,X,x,de,z),{renderDisableMask:he}=Ji(),{renderDataGridSummery:ke}=ir(e,_,N),{renderHorizontalScrollbar:Me}=Dn(e,d,z),{renderVerticalScrollbar:Re}=Rn(e,d,z),{renderFilterPanel:Ue}=Qi(e,N,_,F,z),{renderGroupPanel:Ke}=Zi(e,_,ie,g,z);function st(){var Se,nt;ee.value=((Se=f.value)==null?void 0:Se.clientHeight)||0,se.value=((nt=d.value)==null?void 0:nt.clientWidth)||0,we()}t.onMounted(()=>{d.value&&(Nt.useResizeObserver(d.value,st),we(),t.nextTick(()=>{d.value&&(se.value=d.value.clientWidth),f.value&&(ce.value=f.value.clientWidth,ee.value=f.value.clientHeight)}))}),t.onUnmounted(()=>{}),t.watch(ce,()=>{d.value&&we()}),t.watch(()=>e.columns,Se=>{re(Se)});function ct(){_.insertNewDataItem(),Ce()}function ut(){_.insertNewDataItem(v.value.length),Ce()}function tt(Se){P.onEditingRow(Se)}function H(Se){_.removeDataItem(Se),Ce()}function oe(Se){_.removeDataItemById(Se),Ce()}function le(Se){P.acceptEditingRow(Se)}function Te(Se){P.cancelEditingRow(Se)}function re(Se){Se&&(s.value=Se,T(s),j(s.value),B(_,$),we())}function Pe(Se){Se&&(_.load(Se),v.value=Fe(0,k.value+p-1))}const ve=Ul(e,n,{addNewDataItem:ct,addNewDataItemAtLast:ut,removeDataItem:H,removeDataItemById:oe,editDataItem:tt,acceptDataItem:le,cancelDataItem:Te,updateColumns:re,updateDataSource:Pe},N,P,v),{renderDataArea:He}=Lo(e,n,f,S,y,xe,ge,N,P,g,ve,X,ue,z,v);return()=>t.createVNode("div",{ref:o,class:q.value,style:M.value,onWheel:U},[Ue(),Ke(),K(),t.createVNode("div",{ref:d,class:Ve.value,onMouseover:()=>{h.value=!0},onMouseleave:()=>{h.value=!1}},[ae(v),He(),Me(),Re()]),ke(),C.value&&he()])}}),Rs={$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"]},Ho={modelValue:{type:String,default:""},viewModelId:{Type:String,default:""},gridData:{Type:Object,default:null},gridType:{Type:String,default:"data-grid-column"},getLatestGridData:{Type:Function}},Ls=Oe(Ho,Rs,jo,Do),Hs=new Map([["appearance",We]]);function As(e,n,o){return n}const zs={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:[]}}}}}},Gs={$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"]},Ao={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:[]}};Oe(Ao,Gs,Hs,As,zs);const Ws=new Map([["appearance",We]]);function qs(e,n,o){return n}const Us={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/list-view.schema.json",title:"list-view",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for list-view",type:"string"},type:{description:"The type string of list-view",type:"string",default:"list-view"},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"]},Ks={title:"list-view",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:[]}}}}}},zo={columns:{type:Array,default:[{field:"name",title:"",dataType:"string"}]},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,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}};Oe(zo,Us,Ws,qs,Ks);function Xs(e,n){function o(r){const l=[];let s=r.nextNode();for(;s;)l.push(s),s=r.nextNode();return l}function a(r,l){const s=document.createTreeWalker(r,NodeFilter.SHOW_TEXT);return o(s).map(d=>({textNode:d,text:(d.textContent||"").toLocaleLowerCase()})).map(({textNode:d,text:f})=>{const S=[];let y=0;for(;y<f.length;){const w=f.indexOf(l,y);if(w===-1)break;S.push(w),y=w+l.length}return S.map(w=>{const v=new Range;return v.setStart(d,w),v.setEnd(d,w+l.length),v})}).flat()}function i(r){if(!CSS.highlights||(CSS.highlights.clear(),!r||!n))return;const l=a(n.value,r.toLocaleLowerCase()),s=new Highlight(...l);CSS.highlights.set("search-result",s)}return{search:i}}function Go(e,n,o,a,i,r,l,s,u,c){const p=t.ref(e.size),d=t.ref(e.textField),f=t.ref(e.titleField),S=t.ref(e.disableField),y=t.computed(()=>{var x,C;return((x=e.selection)==null?void 0:x.multiSelect)&&((C=e.selection)==null?void 0:C.showCheckbox)}),{onMouseenterItem:w,onMouseoverItem:v,onMouseoutItem:h}=r,{getKey:m,listViewItemClass:g,onCheckItem:F,onClickItem:V}=l,b=t.computed(()=>({margin:p.value==="small"?"0.25rem 0":"10px 0"}));function _(x,C,k){return x.checked=s.findIndexInSelectedItems(x)>-1,t.createVNode("li",{class:g(x,C),id:m(x,C),key:m(x,C),onClick:M=>V(M,x,C),onMouseenter:M=>w(M,x,C),onMouseover:M=>v(M,x,C),onMouseout:M=>h(M,x,C)},[y.value&&t.createVNode("div",{class:"f-list-select",onClick:M=>M.stopPropagation()},[t.createVNode(vt.FCheckBox,{id:"list-"+m(x,C),customClass:"listview-checkbox",disabled:x[S.value],checked:x.checked,"onUpdate:checked":M=>x.checked=M,onChange:M=>{F(x,C,!M.checked)}},null)]),t.createVNode("div",{class:"f-list-content"},[t.createVNode("div",{style:b.value,title:x.raw[f.value]||x.raw[d.value]},[x.raw[d.value]])])])}return{renderItem:_}}function Ys(e,n,o,a,i,r,l,s,u,c){const p=t.ref(e.multiSelect),d=t.ref(e.disableField),{onMouseenterItem:f,onMouseoverItem:S,onMouseoutItem:y}=r,{getKey:w,listViewItemClass:v,onCheckItem:h,onClickItem:m}=l;function g(V,b,_){return n.slots.content?t.createVNode(t.Fragment,null,[n.slots.content&&n.slots.content({item:V.raw,index:b,selectedItem:_})]):t.createVNode("div",{style:"margin: 10px 0;"},[V.raw.name])}function F(V,b,_){return t.createVNode("li",{class:v(V,b),id:w(V,b),key:w(V,b),onClick:x=>m(x,V,b),onMouseenter:x=>f(x,V,b),onMouseover:x=>S(x,V,b),onMouseout:x=>y(x,V,b)},[p.value&&t.createVNode("div",{class:"f-list-select",onClick:x=>x.stopPropagation()},[t.createVNode(vt.FCheckBox,{id:"list-"+w(V,b),customClass:"listview-checkbox",disabled:V[d.value]||!V.checked,checked:V.checked,"onUpdate:checked":x=>V.checked=x,onChange:x=>h(V,b,!x.checked)},null)]),t.createVNode("div",{class:"f-list-content"},[g(V,b,_)])])}return{renderItem:F}}function Js(e,n,o,a,i,r,l,s,u,c){const p=t.ref(e.multiSelect),d=t.ref(e.disableField),{onMouseenterItem:f,onMouseoverItem:S,onMouseoutItem:y}=r,{getKey:w,listViewItemClass:v,onCheckItem:h,onClickItem:m}=l,{dragstart:g,dragenter:F,dragover:V,dragend:b}=a,{removeItem:_}=u,x=t.computed(()=>({margin:p.value?"10px 0":"10px 0px 10px 14px"}));function C(T){return t.createVNode("div",{style:x.value},[T.raw.name])}function k(){return n.slots.itemContent?n.slots.itemContent:C}const M=k();function I(T,N,$){return t.createVNode("li",{class:v(T,N),id:w(T,N),key:w(T,N),onClick:B=>m(B,T,N),onMouseenter:B=>f(B,T,N),onMouseover:B=>S(B,T,N),onMouseout:B=>y(B,T,N),draggable:"true",onDragstart:B=>g(B,T,N),onDragenter:B=>F(B,N),onDragend:B=>b(B,T),onDragover:B=>V(B,N)},[p.value&&t.createVNode("div",{class:"f-list-select",onClick:B=>B.stopPropagation()},[t.createVNode(vt.FCheckBox,{id:"list-"+w(T,N),customClass:"listview-checkbox",disabled:T[d.value]||!T.checked,checked:T.checked,"onUpdate:checked":B=>T.checked=B,onChange:B=>h(T,N,!B.checked)},null)]),t.createVNode("div",{class:"f-list-content"},[M(T)]),t.createVNode("div",{class:"f-list-remove",onClick:B=>_(N)},[t.createVNode("div",{class:"f-list-remove-icon"},[t.createVNode("i",{class:"f-icon f-icon-remove_face"},null)])]),t.createVNode("div",{class:"f-list-handle"},[t.createVNode("div",null,[t.createVNode("i",{class:"f-icon f-icon-drag-vertical"},null)])])])}return{renderItem:I}}function Qs(e,n,o,a,i,r,l,s,u,c){var w;const p=t.ref(((w=e.group)==null?void 0:w.groupFields)||[]),{collpaseGroupIconClass:d}=i,{toggleGroupRow:f}=c;function S(v,h){h.collapse=!h.collapse,o.value=f(h.collapse?"collapse":"expand",h,o.value)}function y(v,h,m){return v.layer>-1&&t.createVNode("div",{class:"f-navlookup-recentHeader",onClick:g=>S(g,v)},[t.createVNode("div",{class:"fv-grid-group-row-icon"},[t.createVNode("span",{class:d(v)},null)]),t.createVNode("div",{class:"f-navlookup-recommandLabel"},[v.raw[p.value[v.layer]]])])}return{renderItem:y}}function Zs(){const e=t.ref(-1),n=t.ref(""),o=t.ref(-1),a=t.ref(!1);function i(c,p,d){o.value=d}function r(c,p,d){a.value||(o.value=d)}function l(c,p,d){o.value=-1}function s(){a.value=!0}function u(){a.value=!1}return{activeIndex:e,focusedItemId:n,hoverIndex:o,onMouseenterItem:i,onMouseoverItem:r,onMouseoutItem:l,resumeHover:u,suspendHover:s}}function ec(e,n,o,a){const i=t.ref(e.idField),{dataView:r}=o,l=t.ref(-1),s=t.ref(!1),{activeIndex:u,focusedItemId:c,hoverIndex:p,resumeHover:d,suspendHover:f}=a;function S(h,m,g){h.stopPropagation(),f(),m&&setTimeout(()=>{l.value=g,s.value=!0,m.moving=!0})}function y(h,m){if(h.preventDefault(),l.value!==m){const g=r.value[l.value],F=r.value;F.splice(l.value,1),F.splice(m,0,g),l.value=m}}function w(h,m){h.preventDefault(),h.dataTransfer&&(h.dataTransfer.dropEffect="move")}function v(h,m){m&&(m.moving=!1),r.value.forEach((g,F)=>{g.__fv_index__=F}),s.value=!1,d(),p.value=m.raw.__fv_index__,u.value=m.raw.__fv_index__,c.value=m.raw[i.value],n.emit("change",r.value),n.emit("activeChange",m)}return{dragstart:S,dragenter:y,dragover:w,dragend:v,isDragging:s}}function tc(e,n,o){const{dataView:a}=o;function i(r){if(r>-1&&r<a.value.length){const l=a.value.splice(r,1);n.emit("removeItem",l[0])}}return{removeItem:i}}function nc(e,n,o,a,i,r){const l=t.ref(e.idField),s=t.ref(e.disableField),u=t.ref(e.draggable),c=t.ref(e.itemClass),p=t.ref(e.selection.multiSelect??!1),d=t.ref(e.selection.multiSelectMode),{isDragging:f}=a,{activeIndex:S,focusedItemId:y,hoverIndex:w}=i,{clearSelection:v,getSelectedItems:h,toggleSelectItem:m}=r,g=t.ref(h());function F(M,I){const T={"f-listview-item":!0,"f-list-view-group-item":!0,"f-list-view-draggable-item":u.value,"f-un-click":!M.checked,"f-un-select":!!M.raw[s.value],"f-listview-active":g.value.findIndex($=>$[l.value]===M.raw[l.value])>-1,"f-listview-item-active":g.value.findIndex($=>$[l.value]===M.raw[l.value])>-1,"f-listview-hover":!f.value&&I===w.value,"f-listview-item-hover":!f.value&&I===w.value,moving:!!M.moving};return c.value.split(" ").reduce(($,B)=>($[B]=!0,$),T),T}function V(M,I){return M.raw[l.value]||""}const b=t.computed(()=>!p.value);function _(M,I,T){M.checked=T,!M.raw[s.value]&&(b.value&&(y.value=M.raw[l.value]),m(M))}const x=t.computed(()=>p.value&&d.value==="OnCheckClearByClick"),C=t.computed(()=>!p.value||p.value&&(d.value==="OnCheckAndClick"||d.value==="OnClick"));function k(M,I,T){if(I.raw[s.value]){M.preventDefault(),M.stopPropagation();return}y.value=I.raw[l.value],S.value=T,x.value&&v(o.value),C.value&&(m(I),g.value=h()),n.emit("clickItem",{data:g.value,index:T}),n.emit("activeChange",g.value)}return{getKey:V,listViewItemClass:F,onCheckItem:_,onClickItem:k}}function oc(e,n,o,a,i,r,l){const s=t.ref(e.view),u=t.ref(e.view==="CardView"),c=t.ref({}),p=t.ref("暂无数据"),d=Zs(),f=ec(e,n,a,d),S=tc(e,n,a),y=nc(e,n,o,f,d,r),w=t.computed(()=>({"f-list-view-group":!0,"d-flex":u.value,"flex-wrap":u.value})),v=t.computed(()=>!!o.value&&o.value.length>0),h=t.computed(()=>o.value.length===0);t.computed(()=>h.value&&!n.slots.empty);function m(){return s.value==="SingleView"?Go:s.value==="DraggableView"?Js:(s.value==="ContentView"||s.value==="CardView")&&n.slots.content?Ys:Go}const g=m(),{renderItem:F}=g(e,n,o,f,i,d,y,r,S,l),{renderItem:V}=Qs(e,n,o,f,i,d,y,r,S,l),b=[F,V];function _(){return o.value.filter(k=>k.visible!==!1).map((k,M)=>b[k.type](k,M,c))}function x(){return t.createVNode("div",{class:"f-list-view-emptydata"},[t.createVNode("p",{class:"f-empty-title"},[n.slots.empty?n.slots.empty():p.value])])}function C(){return t.createVNode("ul",{class:w.value,style:"list-style: none;"},[v.value&&_(),h.value&&x()])}return{renderListArea:C}}function ac(e,n,o){function a(){return n.slots.header&&t.createVNode("div",{class:"f-list-view-header"},[n.slots.header()])}return{renderHeader:a}}function Wo(e,n,o){const a=t.ref(e.headerClass),i=t.ref(e.placeholder),r=t.ref(""),l=t.computed(()=>!r.value),s=t.computed(()=>!!r.value);function u(f){r.value=""}t.watch(r,f=>{e.enableHighlightSearch&&o.search(f),n.emit("afterSearch",f)});const c=t.computed(()=>{const f={"form-group":!0,"farris-form-group":!0};return a.value&&a.value.split(" ").reduce((y,w)=>(y[w]=!0,y),f),f});function p(f){}function d(){return t.createVNode("div",{class:"f-list-view-header",onClick:t.withModifiers(()=>p,["prevent","stop"])},[t.createVNode("div",{class:c.value},[t.createVNode("div",{class:"farris-input-wrap"},[t.createVNode("div",{class:"f-cmp-inputgroup"},[t.createVNode("div",{class:"input-group f-state-editable"},[t.withDirectives(t.createVNode("input",{class:"form-control f-utils-fill text-left","onUpdate:modelValue":f=>r.value=f,name:"input-group-value",type:"text",placeholder:i.value,autocomplete:"off"},null),[[t.vModelText,r.value]]),t.createVNode("div",{class:"input-group-append"},[s.value&&t.createVNode("span",{class:"input-group-text input-group-clear",onClick:f=>u()},[t.createVNode("i",{class:"f-icon f-icon-close-circle"},null)]),l.value&&t.createVNode("span",{class:"input-group-text"},[t.createVNode("span",{class:"f-icon f-icon-search"},null)])])])])])])])}return{renderHeader:d}}const qo=t.defineComponent({name:"FListView",props:zo,emits:["afterSearch","checkValuesChange","clickItem","selectionChange","removeItem","change","activeChange"],setup(e,n){const o=t.ref(),a=t.ref(!0),i=t.ref(!1),r=t.ref([]),l=0,s=t.ref(e.columns),u=A.useIdentify(e),c=A.useHierarchy(e),p=A.useGroupData(e,u),d=A.usePagination(e),f=A.useDataView(e,new Map,c,u,d),S=A.useSelection(e,f,u,r,n),y=Xs(e,o),w=t.computed(()=>f.dataView.value.length),v=A.useEdit(e,n,u),h=A.useVisualDataBound(),m=A.useVisualDataCell(e,{},h),g=A.useVisualDataRow(e,v,c,u,h,m),F=A.useVisualGroupRow(e,u,m,g),V=A.useVisualSummaryRow(e,u,m,g),b=A.useVisualData(e,s,f,w,l,g,F,V),{getVisualData:_}=b;r.value=_(0,w.value+l-1);const x=t.computed(()=>{const O={"f-list-view":!0,"f-list-view-multiple":e.multiSelect};return e.size!=="default"&&(O[`${e.size}-item`]=!0),O}),C=t.computed(()=>!!n.slots.footer||a.value);function k(){return e.header==="SearchBar"?Wo:e.header==="ContentHeader"?ac:Wo}const M=k(),{renderHeader:I}=M(e,n,y),{renderListArea:T}=oc(e,n,r,f,p,S,b);function N(O){y.search(O)}function $(O){O&&(f.load(O),r.value=_(0,w.value+l-1))}n.expose({search:N,updateDataSource:$});function B(O){e.multiSelect&&(O.preventDefault(),O.stopPropagation())}return()=>t.createVNode("div",{class:x.value,onClick:B},[I(),t.createVNode("div",{ref:o,class:"f-list-view-content",onMouseover:()=>{i.value=!0},onMouseleave:()=>{i.value=!1}},[T()]),C.value&&t.createVNode("div",{class:"f-list-view-footer"},[n.slots.footer&&n.slots.footer()])])}}),ic=t.defineComponent({name:"FTransfer",props:Ao,emits:["change","activeChange"],setup(e,n){const o=t.ref(e.identifyField),a=t.ref("已选:"),i=t.ref("项数据"),r=t.ref(e.displayType),l=t.ref(!1),s=t.ref(e.dataSource),u=t.ref(e.selections||[]),c=t.computed(()=>u.value.map(C=>C[o.value])),p=new Map,d=t.ref();function f(){const C=new Map,k=e.selectionValues||[];k.length&&k.reduce((I,T)=>(I.set(T,!0),I),C);const M=e.selections||[];M.length&&(C.clear(),M.reduce((I,T)=>(I.set(T[o.value],!0),I),C)),u.value.length||(u.value=s.value.filter(I=>C.has(I[o.value])).map(I=>Object.assign({},I))),s.value.forEach(I=>{const T=I[o.value],N=C.has(T);I.checked=N,N&&p.set(T,I)})}f();const S=t.computed(()=>r.value==="List"),y=t.computed(()=>r.value==="Tree");function w(C){u.value=C.map(k=>Object.assign({},k)),n.emit("change",u.value)}function v(){return t.createVNode(qo,{class:"f-utils-fill",data:s.value,multiSelect:!0,selection:{enableSelectRow:!0,multiSelect:!0,multiSelectMode:"OnCheckAndClick",showCheckbox:!0,showSelectAll:!1,showSelection:!0},draggable:!1,header:"Search",headerClass:"transfer-search-box","selection-values":c.value,onSelectionChange:w},{default:()=>[t.createTextVNode(" ")]})}function h(){return t.createVNode(t.Fragment,null,null)}function m(){return t.createVNode("div",{class:"f-utils-fill option-pane d-flex flex-column"},[t.createVNode("div",{class:"f-utils-flex-column option-pane-content f-utils-fill"},[t.createVNode("div",{class:"container columns-box d-flex f-utils-fill"},[S.value&&v(),y.value&&h()])])])}function g(C){const k=C[o.value];if(k!==null||k!==void 0){u.value=u.value.filter(I=>I[o.value]!==k);const M=p.get(k);M&&(M.checked=!1,p.delete(k)),n.emit("change",u.value)}}t.watch(u,C=>{d.value.updateDataSource(C)});function F(C){const k=new Map;u.value.reduce((M,I)=>(M.set(I[o.value],I),M),k),u.value=C.map(M=>k.get(M[o.value])),n.emit("change",u.value)}function V(C){n.emit("activeChange",C)}function b(){return t.createVNode(qo,{ref:d,style:"flex:1",data:u.value,draggable:!0,view:"DraggableView","keep-order":!0,onChange:F,onRemoveItem:g,onActiveChange:V},null)}function _(){return t.createVNode("div",{class:"f-utils-fill selection-pane d-flex flex-column"},[t.createVNode("div",{class:"f-utils-flex-column selection-pane-content f-utils-fill"},[t.createVNode("div",{class:"selection-pane-title"},[t.createVNode("span",{class:"selection-title"},[a.value]),t.createVNode("span",{class:"selection-count"},[u.value&&u.value.length]),t.createVNode("span",{class:"selection-item-title"},[i.value])]),t.createVNode("div",{class:"container columns-box f-utils-fill d-flex"},[b()])])])}const x=t.computed(()=>({transfer:!0,row:!0,"f-utils-fill":l.value}));return()=>t.createVNode("div",{class:x.value,style:"height:480px"},[m(),_()])}}),rc=t.defineComponent({name:"FGridFieldEditor",props:Ho,emits:["change"],setup(e,n){const o=t.ref(e.viewModelId),a=t.inject("designViewModelUtils"),i=t.inject("useFormSchema"),r=t.inject("controlCreatorUtils"),l=t.ref(e.modelValue);let s=e.gridData.columns;const u=t.ref([]),c=t.ref([]);let p=[];t.onMounted(()=>{d()});function d(){c.value=a.getAllFields2TreeByVMId(o.value),p=S(c.value)}function f(){if(u.value=[],!s||s.length===0)return[];s.forEach(m=>{if(m.binding&&m.binding.field){const g=p.find(F=>F.data.id===m.binding.field);g?u.value.push(Object.assign({},g.data)):u.value.push({id:m.binding.field,name:m.caption,bindingField:null,isInValidBinding:!0,inValidTip:"绑定字段不存在,请手动移除列"})}})}function S(m,g=[]){return m&&m.forEach(F=>{g.push(F),F.children&&S(F.children,g)}),g}function y(){const m=a.getDgViewModel(o.value),g=[],F=[];u.value.forEach(b=>{delete b.inValidTip,delete b.isInValidBinding;let _=s==null?void 0:s.find(x=>{if(x.binding&&x.binding.field)return x.binding.field===b.id});if(_)g.push(_);else{const x=c.value.find(k=>k.id==b.id),C=r.setGridFieldProperty(e.gridType,x.data,null,!0);m.addField(b),g.push(C)}F.push(b.id)});const V=m.fields.filter(b=>!F.includes(b.id));if(V&&V.length>0){const b=V.map(_=>_.id);m.removeField(b),i.expressions&&i.expressions.length&&b.length&&(i.expressions=i.expressions.filter(_=>!b.includes(_.fieldId)))}l.value=`共 ${g.length} 项`,n.emit("change",g)}const w={fitContent:!1,width:900,height:600,title:"列编辑器",acceptCallback:()=>{y()},rejectCallback:()=>{}};function v(m){u.value=m?[...m]:[]}function h(){return e.getLatestGridData&&(e.gridData=e.getLatestGridData(),d()),s=e.gridData.columns,f(),Promise.resolve(!0)}return()=>t.createVNode(at,{"button-behavior":"Modal","modal-options":w,modelValue:l.value,"onUpdate:modelValue":m=>l.value=m,editable:!1,beforeOpen:h},{default:()=>[t.createVNode("div",{class:"f-utils-absolute-all"},[t.createVNode(ic,{selections:u.value,"data-source":c.value,class:"mx-2",onChange:m=>v(m)},null)])]})}}),lc={$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:"col"},type:{description:"The type string of data-grid-column component",type:"string",default:"data-grid-column"},allowGrouping:{description:"",type:"boolean",default:!0},colspan:{description:"",type:"number"},dataType:{type:"string"},editor:{description:"",type:"obejct",default:{}},field:{description:"",type:"string"},filterable:{description:"",type:"boolean",default:!0},fixed:{description:"",type:"string",enum:["left","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:!0},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}}},sc={$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"},allowGrouping:{description:"",type:"boolean",default:!0},colspan:{description:"",type:"number"},dataType:{type:"string"},editor:{description:"",type:"obejct"},field:{description:"",type:"string"},filterable:{description:"",type:"boolean",default:!0},fixed:{description:"",type:"string",enum:["left","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:!0},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"}}},un={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:{type:Number},sorter:{type:Function,default:()=>{}},origianlColSpan:{type:Number},index:{type:Number},isMultilingualField:{type:Boolean,default:!1},commands:{type:Array,default:[]},filter:{type:String,default:""},showSetting:{type:Boolean,default:!0},formatter:{type:Function,default:()=>{}},componentId:{type:String,default:""}},cc=Oe(un,lc,Po,Eo),uc=Oe(un,sc,Po,Eo);class dc extends ze{constructor(n,o){super(n,o)}getEditorProperties(n){return{description:"编辑器",title:"编辑器",type:"avatar",$converter:"/converter/property-editor.converter",properties:{readonly:{description:"",title:"只读",type:"boolean"},avatarWidth:{description:"",title:"头像宽度",type:"number"},avatarHeight:{description:"",title:"头像高度",type:"number"},cover:{description:"",title:"封面",type:"string"}}}}}class fc extends ze{constructor(n,o){super(n,o)}getEditorProperties(n){return this.getComponentConfig(n,{type:"check-group"},{placeholder:{visible:!1},textField:{description:"",title:"文本字段",type:"string"},valueField:{description:"",title:"值字段",type:"string"},enumData:{visible:!1,description:"",type:"array"}})}}class pc extends ze{constructor(n,o){super(n,o)}getEditorProperties(n){return this.getComponentConfig(n,{type:"check-group"},{placeholder:{visible:!1},text:{description:"",title:"显示文本",type:"string"},value:{description:"",title:"选中值",type:"string"}})}}class Uo extends ze{constructor(n,o){super(n,o)}getEditorProperties(n){return this.getComponentConfig(n,{type:"combo-list"},{editable:{description:"",title:"允许编辑",type:"boolean"},textField:{description:"",title:"数据源显示字段",type:"string"},idField:{description:"",title:"数据源值字段",type:"string"}})}}class mc extends ze{constructor(n,o){super(n,o)}}class hc extends ze{constructor(n,o){super(n,o)}getEditorProperties(n){return this.getComponentConfig(n,{type:"date-picker"},{displayFormat:{description:"",title:"展示格式",type:"enum",editor:{data:[{name:"yyyy-MM-dd",id:"yyyy-MM-dd"},{name:"yyyy/MM/dd",id:"yyyy/MM/dd"},{name:"yyyyMMdd",id:"yyyyMMdd"},{name:"MM/dd/yyyy",id:"MM/dd/yyyy"},{name:"yyyy年MM月dd日",id:"yyyy年MM月dd日"}]}},valueFormat:{description:"",title:"存储格式",type:"enum",editor:{data:[{name:"yyyy-MM-dd",id:"yyyy-MM-dd"},{name:"yyyy/MM/dd",id:"yyyy/MM/dd"},{name:"yyyyMMdd",id:"yyyyMMdd"},{name:"MM/dd/yyyy",id:"MM/dd/yyyy"},{name:"yyyy年MM月dd日",id:"yyyy年MM月dd日"}]}},maxYear:{description:"",title:"最大年限",type:"number"},minYear:{description:"",title:"最小年限",type:"number"}})}}class gc extends ze{constructor(n,o){super(n,o)}getEditorProperties(n){return this.getComponentConfig(n,{type:"number-range"},{editable:{description:"",title:"允许编辑",type:"boolean"}})}}class yc extends ze{constructor(n,o){super(n,o)}getEditorProperties(n){return this.getComponentConfig(n,{type:"number-spinner"},{textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中对齐"},{value:"right",name:"右对齐"}]}}})}}class vc extends ze{constructor(n,o){super(n,o)}getEditorProperties(n){return this.getComponentConfig(n,{type:"number-spinner"},{readonly:{visible:!1},placeholder:{visible:!1},horizontal:{description:"",title:"是否横向",type:"boolean"},textField:{description:"",title:"显示文本字段",type:"string"},valueField:{description:"",title:"值字段",type:"string"},enumData:{visible:!1,description:"",title:"数据",type:"array"}})}}class bc extends ze{constructor(n,o){super(n,o)}getEditorProperties(n){return this.getComponentConfig(n,{type:"switch"},{readonly:{visible:!1},placeholder:{visible:!1},onLabel:{description:"",title:"打开时标签",type:"string"},offLabel:{description:"",title:"关闭时标签",type:"string"},onBackground:{description:"",title:"打开时背景色",type:"string"},offBackground:{description:"",title:"关闭时背景色",type:"string"},size:{description:"",title:"尺寸",type:"enum",editor:{data:[{value:"small",name:"小号"},{value:"middle",name:"中号"},{value:"large",name:"大号"}]}}})}}class Cc extends ze{constructor(n,o){super(n,o)}getEditorProperties(n){return this.getComponentConfig(n,{type:"time-picker"},{editable:{description:"",title:"允许编辑",type:"boolean"},format:{description:"",title:"格式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"HH:mm:ss",name:"HH:mm:ss"}]}},showHeader:{description:"",title:"是否显示头部区域",type:"boolean"},use12Hours:{description:"",title:"是否使用12小时制",type:"boolean"}})}}class wc extends It{constructor(n,o){super(n,o)}getPropertyConfig(n,o){return this.getBasicPropConfig(n),this.getAppearanceProperties(n),this.getFieldEditorProperties(n,o),this.propertyConfig}getBasicPropConfig(n){this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},title:{description:"标题",title:"标题",type:"string"}}}}getAppearanceProperties(n){this.propertyConfig.categories.appearance={description:"",title:"外观",properties:{halign:{description:"数据水平对齐方式选择",title:"数据水平对齐方式",type:"enum",editor:{data:[{id:"left",name:"靠左"},{id:"right",name:"靠右"},{id:"center",name:"居中"}]}},valign:{description:"数据垂直对齐方式选择",title:"数据垂直对齐方式",type:"enum",editor:{data:[{id:"top",name:"靠上"},{id:"middle",name:"居中"},{id:"bottom",name:"靠下"}]}}}}}getFieldEditorProperties(n,o){o.fieldEditable&&n.editor&&this.getFieldEditorProp(n)}getFieldEditorProp(n,o="gridFieldEditor",a=!1){const i=this.formMetadataConverter.getRealEditorType(n.editor.type);let r;switch(i){case"avatar":r=new dc(this.componentId,this.designerHostService);break;case"check-group":r=new fc(this.componentId,this.designerHostService);break;case"check-box":r=new pc(this.componentId,this.designerHostService);break;case"combo-list":r=new Uo(this.componentId,this.designerHostService);break;case"date-picker":r=new hc(this.componentId,this.designerHostService);break;case"lookup":r=new ko(this.componentId,this.designerHostService);break;case"number-range":r=new gc(this.componentId,this.designerHostService);break;case"number-spinner":r=new yc(this.componentId,this.designerHostService);break;case"radio-group":r=new vc(this.componentId,this.designerHostService);break;case"switch":r=new bc(this.componentId,this.designerHostService);break;case"textarea":r=new mc(this.componentId,this.designerHostService);break;case"time-picker":r=new Cc(this.componentId,this.designerHostService);break;default:r=new sl(this.componentId,this.designerHostService)}this.setDesignViewModelField(n);var l=this;this.propertyConfig.categories[`${o}_editorType`]={description:"",title:"编辑器类型",propertyData:n.editor,tabId:"gridFieldEditor",parentPropertyID:"editor",tabName:"编辑器",properties:{type:{description:"",title:"编辑器类型",type:"enum",$converter:"/converter/change-editor.converter",refreshPanelAfterChanged:!0,editor:{type:"combo-list",textField:"value",valueField:"key",data:wt.getEditorTypesByMDataType(l.designViewModelField.type.name)}}},setPropertyRelates(c,p){if(c)switch(c&&c.propertyID){case"type":{l.changeFieldEditorType(n,c.propertyValue);break}}}};const s=["id","type","class","style","binding","label","responseLayout"],u=r.getPropertyConfig(n).categories;Object.keys(u).map(c=>{const p=u[c];let d={};if(Object.keys(p.properties).map(f=>{s.findIndex(S=>S==f)==-1&&p.properties[f]!==!1&&(d[f]=p.properties[f])}),Object.keys(d).length!=0){const f=p==null?void 0:p.title,S="gridFieldEditor",y="编辑器",w=p==null?void 0:p.description,v=(p==null?void 0:p.$converter)||"";l.propertyConfig.categories[o+"_"+c]={title:f,tabId:S,tabName:y,description:w,$converter:v,propertyData:n,properties:d}}})}changeFieldEditorType(n,o){const a=this.designViewModelUtils.getDgViewModel(this.viewModelId);a.changeField(this.designViewModelField.id,{editor:{$type:o},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1);const i=this.formSchemaUtils.getComponentByViewModelId(this.viewModelId),r=this.formSchemaUtils.selectNode(i,p=>p.type===ne["data-grid"].type||p.type===ne["tree-grid"].type);if(!r)return;const l=a.fields.find(p=>p.id==this.designViewModelField.id),s=this.controlCreatorUtils.setGridFieldProperty(o,l,null,!0),u=r.hasOwnProperty("columns")?r.columns:r.fields,c=u.findIndex(p=>p.id===n.id);c>-1&&u[c].editor&&(u[c].editor=Object.assign(s.editor,{required:u[c].editor.required}))}}function Sc(e,n){const o=e.schema,a=t.ref(!0),i=t.ref(!0);function r(f){return!1}function l(){return!1}function s(){return!1}function u(){return!0}function c(f){}function p(){}function d(f){var y;return new wc(f,n).getPropertyConfig(o,(y=e==null?void 0:e.parent)==null?void 0:y.schema)}return{canAccepts:r,checkCanDeleteComponent:l,checkCanMoveComponent:s,hideNestedPaddingInDesginerView:u,onAcceptMovedChildElement:c,resolveComponentContext:p,triggerBelongedComponentToMoveWhenMoved:a,triggerBelongedComponentToDeleteWhenDeleted:i,getPropsConfig:d}}const Ko=t.defineComponent({name:"FDataGridColumnDesign",props:un,emits:[],setup(e,n){const o=t.ref(),a=t.inject("designer-host-service"),i=t.inject("design-item-context"),r=Sc(i,a),l=dt(o,i,r);t.onMounted(()=>{o.value.componentInstance=l}),n.expose(l.value);function s(u){var c;(c=i==null?void 0:i.setupContext)==null||c.emit("selectionChange",l.value.schema,i.schema,e.componentId,l.value)}return()=>t.createVNode("span",{class:"fv-column-title",ref:o,onClick:u=>s()},[e.title])}});Je.install=e=>{e.component(Je.name,Je),e.component(cn.name,cn)},Je.register=(e,n,o,a)=>{e["data-grid"]=Je,n["data-grid"]=Ro,e["grid-field-editor"]=rc,n["grid-field-editor"]=Ls,a["data-grid"]={bindingResolver:js,selectionItemResolver:Ps}},Je.registerDesigner=(e,n,o)=>{e["data-grid"]=cn,n["data-grid"]=Ro,n["data-grid-column"]=cc,e["data-grid-column"]=Ko,n["tree-grid-column"]=uc,e["tree-grid-column"]=Ko};function pt(e){function n(c){return Object.assign({},{enable:!0,sizeLimits:[10,20,30,50,100],size:20,index:1,total:0,mode:"server"},c)}function o(){return{enableSelectRow:!0,multiSelect:e.multiSelect,showCheckbox:e.multiSelect,multiSelectMode:"DependOnCheck"}}function a(){return{fitColumns:e.fitColumns,fitMode:"percentage",resizeColumn:!0}}function i(){return typeof e.displayType=="string"&&e.displayType in Ye?!1:e.displayType.toLowerCase().indexOf("nav")===0}function r(){return e.displayType.toLowerCase()===Ye.Tree.toLowerCase()||e.displayType.toLowerCase()===Ye.ListTree.toLowerCase()}function l(){return e.displayType.toLowerCase()===Ye.TreeList.toLowerCase()}function s(){const c=e.displayType.toLowerCase();return c===Ye.ListList.toLowerCase()||c===Ye.ListTree.toLowerCase()}function u(){return e.navigation?{width:e.navigation.width||320,minWidth:e.navigation.minWidth||200}:{width:300,minWidth:200}}return{checkPaination:n,checkMultiSelect:o,checkColumnOptions:a,isDoubleList:i,getNavigationSize:u,isTreeList:r,navIsTreeList:l,navIsList:s}}const Ge=t.reactive({}),fe=t.reactive({}),Ne=t.reactive({}),mt=t.reactive({}),Qe=t.reactive({}),Vt=t.ref([]);function Xo(e){var a;const n=t.ref(e.searchFields||[]),o=t.ref(((a=e.navigation)==null?void 0:a.searchFields)||[]);return t.watch(()=>fe==null?void 0:fe.searchFields,i=>{n.value=i}),t.watch(()=>Ne==null?void 0:Ne.searchFields,i=>{o.value=i}),{searchFieldItems:n,navSearchFieldItems:o}}const dn=t.ref(),$t="F_LOOKUP_HTTP_COMPOSITION_TOKEN";function Yo(e,n){const o=t.inject("FLoadingService"),a=t.inject(zt),{searchFieldItems:i}=Xo(e),r=t.ref(e.uri),l=t.ref(e.idValue);function s(v,h,m=!1){if(!h.trim())return[];const g=Array.from(new Set(h.trim().split(" ").filter(b=>b.trim())));if(!v||!g.length)return[];const F=(v||[]).map((b,_)=>{const x=g.map((C,k)=>({filterField:b.value,value:C,lbracket:"",rbracket:"",relation:Tt.And,compare:Gt.Like}));return x.length&&(x.length>1&&(x[0].lbracket="(",x[x.length-1].rbracket=")"),x[x.length-1].relation=Tt.Or),x}).filter(b=>b.length);let V=[];return F&&F.length&&(V=Be.flatten(F),V.length>1&&(V[0].lbracket+="(",V[V.length-1].rbracket+=")"),V[V.length-1].relation=0),V}function u(v,h){const m={};m.category=h;let g=null,F=null;if(v!=null&&v.search){const{field:V,value:b,isNavigation:_,type:x}=v.search,C=x||"like";if(b&&(m.searchValue=b.trim()),m.searchField=V?V.trim():"*",m.searchType=C,_&&(m.category="navsearch"),!e.enableMultiFieldSearch&&m.searchField==="*"){const k=s(i.value,b,_);k&&k.length&&(_?g=k:F=k),b===""&&m.category==="search"&&!F&&!g&&(m.category="all")}}return{searchParam:m,navSearchConditions:g,searchConditions:F}}function c(v){var m,g;if(v==="fav")return{pageIndex:1,pageSize:500};let h="default";return v==="navsearch"&&(h="navigation"),{pageIndex:((m=Ge[h])==null?void 0:m.index)||1,pageSize:((g=Ge[h])==null?void 0:g.size)||20}}function p(v){const h={},m=(v==null?void 0:v.action)||"all",{searchParam:g,navSearchConditions:F,searchConditions:V}=u(v,m);V&&(h.searchConditions=V),F&&(h.navSearchConditions=F),h.searchValue=JSON.stringify(g);const{pageIndex:b,pageSize:_}=c(m);return h.pageIndex=b,h.pageSize=_,h.treeToList=e.treeToList,h.navTreeToList=e.navTreeToList,h.loadTreeDataType=e.loadTreeDataType,v!=null&&v.relationFilter&&(h.relationFilter=[...v.relationFilter]),v.selectedInfo&&(h.selectedInfo=v.selectedInfo),h.customData=t.toRaw(dn.value),h}function d(v){return v==null?void 0:v.map(h=>(h.resizable=!0,h))}function f(v,h){return v.map(m=>{const g=h==null?void 0:h.find(F=>F.field.toLowerCase()===m.value.toLowerCase());return g&&(m.label=g.title),m})}function S(v){v.columns&&(v.columns=d(v.columns),v.searchFields&&(v.searchFields=f(v.searchFields,v.columns))),v.navigation&&v.navigation.columns&&(v.navigation.columns=d(v.navigation.columns),v.navigation.searchFields&&(v.navigation.searchFields=f(v.navigation.searchFields,v.navigation.columns)))}function y(v){return r.value&&a?a.getData(r.value,v).then(h=>(S(h),h)):new Promise((h,m)=>{h({columns:[...e.columns],items:[...e.data],searchFields:[...e.searchFields],navigation:{...e.navigation}})})}function w(v,h){const m=p(v);o==null||o.show(),y(m).then(g=>{o==null||o.clearAll(),h(g)})}return{idValues:l,getData:y,loadData:w}}function Jo(e){t.watch(()=>e.pagination,o=>{Ge.default=o}),t.watch(()=>{var o;return(o=e.navigation)==null?void 0:o.pagination},o=>{Ge.navigation=o});function n(o,a=!1){o&&(a?Ge.navigation={...Ge.navigation,...o}:Ge.default={...Ge.default,...o})}return{updatePageInfo:n}}const fn="F_LOOKUP_USER_DATA_SERVICE";function xc(e,n){const o=t.inject("FLoadingService",null),a=t.inject(zt,null),i=t.reactive({key:"",data:{}}),r=t.ref(e.id);function l(){return Xe.encrypt(r.value)}i.key=l();function s(){return e.enableFavorite&&a?a.getSettings(i.key).then(f=>(f&&f.textValue?i.data=JSON.parse(f.textValue):i.data={},e.enableUserData||(i.data.tabIndex=Ee.dataList),f)):Promise.resolve()}function u({width:f,height:S}){var y;i.data.size=((y=i.data)==null?void 0:y.size)||{},i.data.size={width:f,height:S}}function c(){if(e.enableFavorite&&a){const{key:f,data:S}=i,y={configkey1:f,configkey2:"",configkey3:"",textvalue:JSON.stringify(S)};return a==null?void 0:a.updateSettings(f,y)}return Promise.resolve()}function p(f){const S={category:"fav",favoriteIds:f.favoriteIds};return{searchValue:JSON.stringify(S),pageIndex:1,pageSize:500}}function d(){var S;const f=p({favoriteIds:(S=i.data)==null?void 0:S.favorites});return o==null||o.show(),a?a.getData(e.uri,f).then(y=>(o==null||o.clearAll(),i.favoriteItems=y&&y.items||[],y)):Promise.resolve()}return{userDataState:i,setDialogSize:u,saveUserData:c,getFavoriteData:d,getUserData:s}}function Qo(e){const n=t.inject(on),o=t.inject(fn),{userDataState:a}=o,i=t.ref();a.data=a.data||{};const r="_favorite_",l=t.ref(!1);function s({id:f,data:S},y="add"){var v,h;if(f==null&&f==="")return;const w=f;a.data.favorites=((v=a.data)==null?void 0:v.favorites)||[],a.favoriteItems=a.favoriteItems||[],y==="add"?(l.value=!1,a.data.favorites=Array.from(new Set([...((h=a.data)==null?void 0:h.favorites)||[],w])),a.favoriteItems=[...a.favoriteItems,S]):(l.value=!0,a.data.favorites=a.data.favorites.filter(m=>m!==w),a.favoriteItems=a.favoriteItems.filter(m=>m[e.idField]!==w)),o==null||o.saveUserData().then(m=>{const g=y==="add"?"已添加到收藏":"已从收藏中移除";n==null||n.success({message:g,position:"top-center"})})}function u(f){return f?f.raw[e.idField]:""}const c=t.computed(()=>f=>{var y,w;const S=u(f);return(w=(y=a.data)==null?void 0:y.favorites)==null?void 0:w.includes(S)});function p(f,S,y){f.stopPropagation();const w=u(S);s({id:w,data:S.raw},c.value(S)?"remove":"add")}const d={field:r,title:"",width:"50px",fixed:"right",align:"center",formatter:(f,S)=>t.createVNode("button",{type:"button",onClick:y=>{p(y,S)},class:["btn btn-link f-icon mx-2 f-icon-star-outline",{"f-icon-star":c.value(S)}],style:"color: #ffbd8c;",title:c.value(S)?"取消收藏":"收藏"},null)};return t.watch(()=>fe==null?void 0:fe.columns,f=>{i.value=Be.cloneDeep([...f||[]])}),{favorite:d,columns:i,removeFavoriteItem:l}}function Vc(e,n,o){const a=t.inject($t),{checkPaination:i,checkMultiSelect:r,checkColumnOptions:l}=pt(e),{updatePageInfo:s}=Jo(e),u=i(e.pagination),c=r(),p=l(),d=t.ref(),f=t.ref([]),S=t.ref([]),{navSelectedItems:y,getNavigationIdField:w,getRelationFilter:v}=o;s(u);const h=t.ref(Ge.default),{loadData:m,idValues:g}=a,{favorite:F}=Qo(e);t.watch(()=>Ge.default,T=>{h.value=T});function V(T,N,$){var O;const B={total:N};if($){const{pageIndex:j,pageSize:E,enablePager:P,pageList:R}=$;Object.assign(B,{index:j,size:E,enable:P,sizeLimits:R})}s(B),(O=d.value)==null||O.updateDataSource(T||[])}function b(T){var N;e.enableFavorite&&T.push(F),(N=d.value)==null||N.updateColumns(T)}const _=t.computed(()=>y.value&&y.value.length?{relationFilter:v(y.value)}:null);t.watch([()=>fe==null?void 0:fe.columns,()=>fe==null?void 0:fe.items,()=>fe==null?void 0:fe.pageInfo,()=>fe==null?void 0:fe.total,()=>fe==null?void 0:fe.selectedData],([T,N,$,B,O])=>{var j;T&&b(T),V(N,B||0,$),O&&O.length&&(S.value=O,(j=d.value)==null||j.selectItemById(g.value))}),t.watch(()=>e.idValue,T=>{f.value=T.split(e.separator)}),t.watch(()=>S.value,T=>{Vt.value=T});function x(T){S.value=T}function C(){const T={search:Qe.default,action:"list"};_.value&&Object.assign(T,_.value),m(T,N=>{V(N.items,N.total||0,N.pageInfo)})}t.watch(()=>y.value,T=>{if(e.uri){s({index:1}),C();return}const N=T.map($=>$[w()]);n.emit("navSelectionsChanged",{items:T,ids:N})}),t.watch(()=>Qe.default,T=>{if(e.uri){s({index:1}),C();return}n.emit("search",T)});function k(T){var $;const N={index:T,isNavigation:!1};if(s(N),T!==(($=h.value)==null?void 0:$.index)){if(e.uri){C();return}n.emit("pageIndexChanged",N)}}function M(T){const N={size:T,index:1,isNavigation:!1};if(s(N),e.uri){C();return}n.emit("pageSizeChanged",N)}function I(){return t.createVNode(Je,{ref:d,pagination:h.value,summary:{enable:!1},columnOption:p,idField:e.idField,rowNumber:{enable:!1},showBorder:!0,virtualized:!0,fit:!0,selection:c,selectionValues:f.value,onSelectionChange:x,onPageIndexChanged:k,onPageSizeChanged:M},null)}return{datagridRef:d,selectedItems:S,selectionValues:f,renderDataGrid:I}}function Fc(e,n){const{checkMultiSelect:o,checkColumnOptions:a}=pt(e),i=o(),r=a(),l=t.ref(),s=t.ref([]),u=t.ref([]),{loadData:c}=Yo(e);function p(w){var v;(v=l.value)==null||v.updateDataSource(w||[])}function d(w){var v;(v=l.value)==null||v.updateColumns(w)}t.watch([()=>fe==null?void 0:fe.columns,()=>fe==null?void 0:fe.items,()=>fe==null?void 0:fe.pageInfo,()=>fe==null?void 0:fe.total],([w,v,h,m])=>{w&&d(w),p(v)}),t.watch(()=>u.value,w=>{Vt.value=w});function f(w){u.value=w}function S(){c({search:Qe.default,action:"list"},w=>{p(w.items)})}t.watch(()=>Qe.default,w=>{if(e.uri){S();return}n.emit("search",w)});function y(){return t.createVNode(rt,{ref:l,fit:!0,data:e.data,idField:e.idField,columns:e.columns,rowNumber:{enable:!1},columnOption:r,selection:i,showBorder:!0,virtualized:!0,displayField:"code",onSelectionChange:f},null)}return{treegridRef:l,selectedTreeNodes:u,selectionTreeValues:s,renderTreeGrid:y}}const _c=new Map([["appearance",We]]),Nc={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},data:{description:"",type:"array"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"],ignore:["id","appearance","binding"]};function kc(e,n,o){return n}const pn={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-60-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!1},enableTitle:{default:!0,type:Boolean},fitEditor:{default:!1,type:Boolean},forcePlaceholder:{default:!1,type:Boolean},hidePanelOnClear:{default:!0,type:Boolean},idField:{default:"id",type:String},mapFields:{type:Object},maxHeight:{default:350,type:Number},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{},placeholder:{type:String},placement:{type:String,default:"auto"},readonly:{default:!1,type:Boolean},remote:{default:null,type:Object},remoteSearch:{default:!1,type:Boolean},separator:{default:",",type:String},tabIndex:{type:Number,default:-1},textField:{default:"name",type:String},titleField:{default:"name",type:String},valueField:{default:"id",type:String},viewType:{default:"tag",type:String},change:{type:Function,default:()=>{}},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!0},beforeOpen:{type:Function,default:null},searchOption:{type:Object,default:!1},enableHighlightSearch:{type:Boolean,default:!0}},Zo=Oe(pn,Nc,_c,kc),Tc={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:Object,default:!1},enableHighlightSearch:{type:Boolean,default:!0}},Ic=t.defineComponent({name:"FComboListContainer",props:Tc,emits:["selectionChange"],setup(e,n){const o=t.ref(),a=t.ref(e.dataSource),i=t.ref([]),r=t.ref(e.separator),l=t.ref(e.width),s=t.ref(e.maxHeight),u=t.ref(String(e.selectedValues).split(r.value)),c=t.computed(()=>e.multiSelect),p=t.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:c.value,showSelectAll:!1,showSelection:!0}));t.watch(e.dataSource,()=>{a.value=e.dataSource});const d=t.computed(()=>e.enableSearch?"SearchBar":"ContentHeader"),f=t.computed(()=>{const w={};return l.value!==void 0&&(w.width=`${l.value}px`),s.value!==void 0&&s.value>0&&(w.maxHeight=`${s.value}px`),w});function S(w){i.value=w.map(v=>Object.assign({},v)),u.value=w.map(v=>v[e.idField]),n.emit("selectionChange",i.value)}function y(w){if(e.enableHighlightSearch)return;let v=[];typeof e.searchOption=="function"?v=a.value.filter(h=>e.searchOption(w,h)):v=a.value.filter(h=>h[e.valueField].indexOf(w)>-1||h[e.textField].indexOf(w)>-1),o.value.updateDataSource(v)}return t.watch([()=>e.selectedValues],([w])=>{u.value=w.split(r.value)}),()=>t.createVNode("div",{class:"f-combo-list-container pl-1",style:f.value},[t.createVNode(bn,{ref:o,size:"small",itemClass:"f-combo-list-item",header:d.value,headerClass:"f-combo-list-search-box",data:a.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:p.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:u.value,onSelectionChange:S,onAfterSearch:y},null)])}});function Mc(e){const n=t.ref(""),o=t.ref(e.modelValue),a=t.ref(e.data||[]),i=t.ref(e.editable);function r(d){const f=String(d).split(e.separator),S=f.map(v=>[v,!0]),y=new Map(S);return a.value.filter(v=>y.has(String(v[e.valueField]))).sort((v,h)=>{const m=f.indexOf(v[e.valueField]),g=f.indexOf(h[e.valueField]);return m-g})}function l(d){const f=r(d).map(S=>S[e.textField]).join(e.separator);n.value=i.value?f||d:f}function s(d){const f=d.split(e.separator).map(y=>[y,!0]),S=new Map(f);return a.value.filter(y=>S.has(y[e.textField]))}function u(d){const f={};return f[e.idField]=d,f[e.textField]=d,[f]}function c(d){let f=s(d);const S=f&&f.length>0;return i.value&&!S&&(f=u(d)),f}function p(){const{url:d,method:f="GET",headers:S={},body:y=null}=e.remote,w=f.toLowerCase()=="get"?{method:f,headers:S}:{method:f,headers:S,body:y};let v=!1;fetch(d,w).then(h=>{var g,F;if(h.status===200)return v=!!((F=(g=h.headers)==null?void 0:g.get("content-type"))!=null&&F.includes("application/json")),v?h.text():h.json();throw new Error(h.statusText)}).then(h=>{a.value=v?JSON.parse(h):h}).catch(h=>{console.error(h)})}return e.remote&&p(),t.watch(()=>e.data,()=>{a.value=e.data}),t.watch([a],([d])=>{if(e.modelValue!=null){const f=d.find(S=>S[e.valueField]===e.modelValue);f&&(n.value=f[e.textField])}}),t.watch(()=>e.modelValue,d=>{o.value=d,l(d)}),l(e.modelValue),{dataSource:a,displayText:n,editable:i,modelValue:o,getItemsByDisplayText:s,getItemsByValue:r,getSelectedItemsByDisplayText:c}}const Ft=t.defineComponent({name:"FComboList",props:pn,emits:["clear","update:modelValue","change","input"],setup(e,n){const o=t.ref(),a=t.ref(e.disabled),i=t.ref(e.enableClear),r=t.ref(e.enableSearch),l=t.ref(e.readonly),{dataSource:s,displayText:u,editable:c,modelValue:p,getSelectedItemsByDisplayText:d}=Mc(e),f=t.computed(()=>e.multiSelect),S=t.computed(()=>o.value?o.value.elementRef.getBoundingClientRect().width:0);function y(){!f.value&&o.value&&o.value.hidePopup()}function w(V){u.value=V.map(b=>b[e.textField]).join(e.separator),V.length===1?p.value=V[0][e.valueField]:p.value=V.map(b=>b[e.valueField]).join(e.separator),n.emit("update:modelValue",p.value),n.emit("change",V,p.value),y()}function v(){l.value||o.value.togglePopup()}function h(V){p.value="",n.emit("update:modelValue",""),n.emit("clear")}function m(V){const b=d(V);w(b)}function g(){return u.value}function F(V){n.emit("input",V)}return n.expose({getDisplayText:g}),t.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([V,b,_,x,C])=>{a.value=V,c.value=b,i.value=_,r.value=x,l.value=C}),()=>t.createVNode(vn,{ref:o,id:e.id,disable:a.value,readonly:l.value,forcePlaceholder:e.forcePlaceholder,editable:c.value,buttonContent:e.dropDownIcon,placeholder:e.placeholder,enableClear:i.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:u.value,"onUpdate:modelValue":V=>u.value=V,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:h,onClick:v,onChange:m,onInput:F,beforeOpen:e.beforeOpen},{default:()=>[t.createVNode(Ic,{idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:s.value,selectedValues:p.value,multiSelect:e.multiSelect,enableSearch:r.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?S.value:void 0,onSelectionChange:w},null)]})}});function Oc(e,n){const{canAccepts:o,checkCanDeleteComponent:a,checkCanMoveComponent:i,hideNestedPaddingInDesginerView:r,onAcceptMovedChildElement:l,resolveComponentContext:s,triggerBelongedComponentToMoveWhenMoved:u,triggerBelongedComponentToDeleteWhenDeleted:c}=On(e),p=e.schema;function d(f,S){return new Uo(f,n).getPropertyConfig(p,S)}return{canAccepts:o,checkCanDeleteComponent:a,checkCanMoveComponent:i,hideNestedPaddingInDesginerView:r,onAcceptMovedChildElement:l,resolveComponentContext:s,triggerBelongedComponentToMoveWhenMoved:u,triggerBelongedComponentToDeleteWhenDeleted:c,getPropsConfig:d}}const Bc=t.defineComponent({name:"FComboListDesign",props:pn,emits:["clear","update:modelValue","change"],setup(e,n){const o=t.ref(),a=t.inject("designer-host-service"),i=t.inject("design-item-context"),r=Oc(i,a),l=mn.useDesignerComponent(o,i,r);return t.onMounted(()=>{o.value.componentInstance=l}),n.expose(l.value),()=>t.createVNode(Ht,{ref:o,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}});Ft.register=(e,n,o,a)=>{e["combo-list"]=Ft,n["combo-list"]=Zo},Ft.registerDesigner=(e,n,o)=>{e["combo-list"]=Bc,n["combo-list"]=Zo},oo(Ft);const $c={fields:{type:Array,default:()=>[]},showAllColumns:{type:Boolean,default:!0}},jc=t.defineComponent({name:"FLookupSearchBar",props:$c,emits:["search"],setup(e,n){const o=t.ref(e.fields||[]),a=t.ref(""),i=t.ref(mt.value),r=t.computed(()=>({field:a.value,value:i.value}));function l(){if(!o.value.length)return;let p="";e.showAllColumns&&(p="*"),p=o.value[0].value;const d=o.value.find(f=>!!f.isDefault);d&&(p=d.value),a.value=p}t.watch(()=>e.fields,p=>{o.value=p,l()});function s(){n.emit("search",r.value)}function u(){i.value="",s()}function c(p){p.key==="Enter"&&s()}return t.onMounted(()=>{l()}),()=>t.createVNode("div",{class:"fv-lookup-search-bar d-flex flex-row"},[t.createVNode("div",{style:"width: 160px;"},[t.createVNode(Ft,{data:o.value,textField:"label",valueField:"value",idField:"value",modelValue:a.value,"onUpdate:modelValue":p=>a.value=p,enableClear:!1},null)]),t.createVNode("div",{class:"f-utils-fill ml-2"},[t.createVNode(at,{buttonContent:'<i class="f-icon f-icon-search"></i>',modelValue:i.value,"onUpdate:modelValue":p=>i.value=p,onClickButton:s,enableClear:!0,onClear:u,onKeyup:c},null)])])}});function ea(e,n){const{searchFieldItems:o,navSearchFieldItems:a}=Xo(e),i=t.ref([]),r=t.ref([]);function l(p,d=!1){let f=p;e.showAllSearchColumns&&(f=[{label:"所有列",value:"*"}].concat(p)),d?r.value=f:i.value=f}l(o.value),l(a.value,!0),t.watch(()=>o.value,p=>{l(p)}),t.watch(()=>a.value,p=>{l(p,!0)});function s(p){const d={...p};if(n){Qe.navigation=d;return}Qe.default=d}const u=t.computed(()=>n?r.value||[]:i.value||[]);function c(){if(e.enableSearchBar&&u.value.length>0)return t.createVNode("div",{class:"p-2"},[t.createVNode(jc,{fields:u.value,showAllColumns:e.showSearchAllColumns,onSearch:s},null)])}return{renderSearchBar:c}}function Pc(e,n){var T;const o=t.inject($t),{renderSearchBar:a}=ea(e,!0),{checkPaination:i,navIsList:r,navIsTreeList:l}=pt(e),{updatePageInfo:s}=Jo(e),{loadData:u}=o,c=t.ref([]);if(r()){const N=i((T=e.navigation)==null?void 0:T.pagination);s(N,!0)}const p=t.ref(Ge.navigation);t.watch(()=>Ge.navigation,N=>{p.value=N});const d={enableSelectRow:!0,multiSelect:!1,showCheckbox:!1},f={fitColumns:!0,fitMode:"percentage",resizeColumn:!0},S=t.ref(),y=t.ref(),w=t.ref("id");function v(N,$,B){var O,j;if(N=N||[],r()){const E={total:$};if(B){const{pageIndex:P,pageSize:R,enablePager:W,pageList:te}=B;Object.assign(E,{index:P,size:R,enable:W,sizeLimits:te})}s(E,!0),(O=y.value)==null||O.updateDataSource(N)}else l()&&((j=S.value)==null||j.updateDataSource(N))}function h(N){var $,B;r()?($=y.value)==null||$.updateColumns(N):l()&&((B=S.value)==null||B.updateColumns(N))}t.watch([()=>Ne==null?void 0:Ne.columns,()=>Ne==null?void 0:Ne.items,()=>Ne==null?void 0:Ne.pageInfo,()=>Ne==null?void 0:Ne.total],([N,$,B,O])=>{N&&h(N),v($,O||0,B)}),t.watch(()=>Ne==null?void 0:Ne.idField,N=>{w.value=N||"id"});function m(N){c.value=N}function g(N){c.value=N}function F(){u({search:Qe.navigation,action:"navsearch"},N=>{v(N.items,N.total||0,N.pageInfo)})}t.watch(()=>Qe.navigation,N=>{if(e.uri){s({index:1},!0),F();return}n.emit("search",N)});function V(N){const $={index:N};if(s($,!0),e.uri){F();return}n.emit("pageIndexChanged",$)}function b(N){const $={size:N,index:1};if(s($,!0),e.uri){F();return}n.emit("pageSizeChanged",$)}function _(){return t.createVNode(rt,{ref:S,fit:!0,idField:w.value,rowNumber:{enable:!1},columnOption:f,selection:d,virtualized:!0,showBorder:!0,onSelectionChange:m},null)}function x(){return t.createVNode(Je,{ref:y,pagination:p.value,summary:{enable:!1},columnOption:f,idField:w.value,rowNumber:{enable:!1},showBorder:!0,fit:!0,virtualized:!0,selection:d,onSelectionChange:g,onPageIndexChanged:V,onPageSizeChanged:b},null)}function C(){if(l())return _();if(r())return x()}function k(){return t.createVNode("div",{class:"d-flex h-100 w-100 flex-column"},[a(),t.createVNode("div",{class:"f-utils-fill px-2",style:"position: relative;"},[C()])])}function M(){return w.value}function I(N){return Ne.relations&&Ne.relations.length?Ne.relations.map(B=>{const{groupField:O,helpField:j}=B,E={fieldName:j,fieldValue:""},P=N.map(R=>O.split(".").reduce((W,te)=>W[te],R));return E.fieldValue=P.join(","),E}):""}return{renderNavigation:k,selectedItems:c,getNavigationIdField:M,getRelationFilter:I}}function Dc(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const Ec=t.defineComponent({name:"LookupContainer",props:Ct,emits:["update:modelValue","search","navSelectionsChanged","pageIndexChanged","pageSizeChanged","changeDialogOptions","clearSearch"],setup(e,n){const o=t.inject(kt,t.ref(Ee.dataList)),a=t.inject($t),{renderSearchBar:i}=ea(e,!1),{isDoubleList:r,getNavigationSize:l,isTreeList:s}=pt(e),{renderNavigation:u,selectedItems:c,getNavigationIdField:p,getRelationFilter:d}=Pc(e,n);function f(){if(s()){const{renderTreeGrid:m}=Fc(e,n);return m}const{renderDataGrid:h}=Vc(e,n,{navSelectedItems:c,getNavigationIdField:p,getRelationFilter:d});return h}const S=f(),y=l();function w(){try{if(e.context){const{rowData:h}=e.context;if(e.mappingFields&&h){const m=e.mappingFields[e.idField];if(m!==void 0)return h[m]}return""}return a==null?void 0:a.idValues.value}catch(h){return console.error("Error in getIdValues:",h),""}}function v(){const h={};if(e.enableToSelect){let m=w()||[];Array.isArray(m)||(m=(""+m).split(e.separator)),a.idValues.value=m,h.selectedInfo={selectedIds:m,selected:!0},mt.value!=null&&(h.search={field:"*",value:mt.value,type:"like"})}a==null||a.loadData(h,m=>{m.navigation&&(Object.keys(m.navigation).forEach(g=>{var F;Ne[g]=(F=m.navigation)==null?void 0:F[g]}),delete m.navigation),Object.keys(m).forEach(g=>{fe[g]=m[g]}),n.emit("changeDialogOptions",{title:m.title})})}return t.watch(()=>o.value,(h,m)=>{console.log(h,m)}),t.onMounted(()=>{v(),document.body.classList.add("lookup-modal-open")}),t.onUnmounted(()=>{document.body.classList.remove("lookup-modal-open")}),()=>{let h;return t.createVNode(lt,null,{default:()=>[t.createVNode(xt,{position:"left",width:y==null?void 0:y.width,minWidth:y==null?void 0:y.minWidth,visible:r()},Dc(h=u())?h:{default:()=>[h]}),t.createVNode(xt,{position:"center"},{default:()=>[t.createVNode("div",{class:"d-flex h-100 w-100 flex-column"},[i(),t.createVNode("div",{class:"f-utils-fill px-2",style:"position: relative;"},[S()])])]})]})}}}),Rc={multiSelect:{type:Boolean,default:!1},idField:{type:String},displayType:{type:String,default:"list"}},Lc=t.defineComponent({name:"FLookupFavorite",props:Rc,setup(e,n){const{userDataState:o,getFavoriteData:a}=t.inject(fn),i=t.inject(kt,t.ref(Ee.dataList)),{columns:r,favorite:l,removeFavoriteItem:s}=Qo(e),{isTreeList:u}=pt(e),c=t.ref(),p=t.ref();t.watch(()=>r.value,g=>{(u()?p:c).value.updateColumns(g)});function d(){return o.data&&o.data.favorites&&o.data.favorites.length}function f(g,F){const V=u()?p:c;F&&F.length&&(F=F.map(b=>(b.resizable=!0,b)),V.value.updateColumns([...F,l])),g&&V.value.updateDataSource(g||[])}function S(){a().then(g=>{g?f(g.items||[],g.columns):f([],null)})}t.watch(()=>i.value,(g,F)=>{g===Ee.favorite&&(d()?S():f([],null))}),t.watch(()=>s.value,(g,F)=>{i.value===Ee.favorite&&g&&(u()?S():f(o.favoriteItems||[],null),s.value=!1)});const y={fitColumns:!0,fitMode:"percentage",resizeColumn:!0},w={enableSelectRow:!0,multiSelect:e.multiSelect,showCheckbox:e.multiSelect,multiSelectMode:"DependOnCheck"};function v(){}t.onMounted(()=>{});function h(){return t.createVNode(rt,{ref:p,fit:!0,idField:e.idField,rowNumber:{enable:!1},columnOption:y,selection:w,showBorder:!0,virtualized:!0,onSelectionChange:v},null)}function m(){return t.createVNode(Je,{ref:c,pagination:{enable:!1},summary:{enable:!1},columnOption:y,idField:e.idField,rowNumber:{enable:!1},showBorder:!0,virtualized:!0,fit:!0,selection:w,onSelectionChange:v},null)}return()=>u()?h():m()}}),Hc={title:{type:String},height:{type:Number,default:50},draggable:{type:Boolean,default:!0},enableFavorite:{type:Boolean,default:!1},useHttpComposition:{type:Object,default:{}},userDataService:{type:Object,default:{}}},Ac=t.defineComponent({name:"FLookupModalContainer",props:Hc,emits:["closeModal","maximize"],setup(e,n){const o=t.ref(Ee.dataList);t.provide(kt,o),t.provide($t,e.useHttpComposition),t.provide(fn,e.userDataService);const{userDataState:a,getUserData:i}=e.userDataService;function r(p){n.emit("maximize",p)}function l(){n.emit("closeModal")}function s(p){o.value=p,a.data.tabIndex=p}const u=t.computed(()=>({transform:`translate3d(${o.value===Ee.favorite?84:0}px, 0px, 0px)`})),c=t.computed(()=>p=>({display:o.value===p?"block":"none!important"}));return t.onMounted(()=>{i().then(p=>{var d;a.data.favorites&&a.data.favorites.length&&(o.value=((d=a.data)==null?void 0:d.tabIndex)||Ee.dataList)})}),()=>t.createVNode("div",{class:"d-flex flex-column h-100 lookup-modal"},[t.createVNode("div",{class:"d-flex justify-content-between align-items-center px-3 lookup-modal-header"},[t.createVNode("div",{class:"lookup-modal-header-title",title:e.title},[e.title]),e.enableFavorite&&t.createVNode("div",{class:"d-flex justify-content-center w-100"},[t.createVNode("div",{class:"lookup-modal-header-tabs-container d-flex",onMousedown:p=>p.stopPropagation()},[t.createVNode("div",{class:"active-tab",style:u.value},null),t.createVNode("div",{class:["tab-item","d-flex",{active:o.value===Ee.dataList}],onClick:()=>s(Ee.dataList)},[t.createTextVNode("数据列表")]),t.createVNode("div",{class:["tab-item","d-flex",{active:o.value===Ee.favorite}],onClick:()=>s(Ee.favorite)},[t.createTextVNode("收藏夹")])])]),t.createVNode("div",{class:"d-flex flex-row h-100 justify-content-between align-items-center lookup-modal-header-buttons",onMousedown:p=>p.stopPropagation()},[t.createVNode("span",{class:"f-icon modal_maximize",onClick:r,style:"cursor: pointer"},null),t.createVNode("span",{class:"f-icon modal_close",onClick:l,style:"cursor: pointer"},null)])]),t.createVNode("div",{class:"f-utils-fill"},[t.createVNode("div",{class:"h-100 d-flex flex-column mx-2 f-utils-fill",style:c.value(Ee.dataList)},[n.slots.default&&n.slots.default()]),t.createVNode("div",{class:"h-100 d-flex flex-column mx-2 f-utils-fill",style:c.value(Ee.favorite)},[n.slots.fav&&n.slots.fav()])])])}});function zc(e,n,o,{dictPicked:a,modelValue:i,buttonEditInstance:r,userDataService:l}){var M,I,T,N,$;const s=t.inject(on,null),u=t.inject("FLoadingService"),c=t.ref(e.dialog),p=t.ref(),d=t.ref("accept"),f=t.ref(),{isDoubleList:S}=pt(e);async function y(){const B=o.value.map(E=>E[e.textField]).join(e.separator),O=o.value.map(E=>E[e.idField]).join(e.separator);i.value=B,n.emit("update:modelValue",B),n.emit("update:idValue",O);const j={items:o.value,mappingFields:e.mappingFields};if(n.emit("update:dataMapping",j),e.context){const{editor:E}=e.context;E&&Object.assign(E,j)}return await a({items:o.value}),!0}function w(){return d.value="cancel",!0}const v=B=>{Object.keys(B).forEach(O=>{delete B[O]})},h=B=>{B.forEach(O=>{v(O)})};function m(){u==null||u.clearAll(),h([fe,Ne,Ge,Qe,mt]),f.value=null}async function g(){let B=!0,O="";if(o.value.length===0)return s==null||s.warning({message:"请选择数据!",position:"top-center"}),!1;if(e.beforeSelectData&&typeof e.beforeSelectData=="function"){const j=await e.beforeSelectData({items:o.value});typeof j=="boolean"&&(B=j),typeof j=="object"&&(B=j.canSelect,O=j.message||"")}return B?(y(),d.value="accept",!0):(O&&(s==null||s.warning({message:O,position:"top-center"})),!1)}async function F(B){let O=!0;if(e.dictPicking&&typeof e.dictPicking=="function"){const j=await e.dictPicking({context:{customData:f}});typeof j=="boolean"&&!j&&(O=!1),typeof j=="object"&&(j.showDialog?j.data&&(f.value=j.data):(O=!1,j.message&&(s==null||s.error({message:j.message,position:"top-center"}))))}return O}function V(){var R,W,te,pe,_e;const B=((R=c.value)==null?void 0:R.height)||620,O=((W=c.value)==null?void 0:W.width)||590,j=((te=c.value)==null?void 0:te.minWidth)||300,E=((pe=c.value)==null?void 0:pe.minHeight)||200,P={height:B,width:O,minWidth:j,minHeight:E};return S()&&(P.width=((_e=c.value)==null?void 0:_e.width)||960),P}const{width:b,height:_,minHeight:x,minWidth:C}=V();return{modalOptions:{title:(M=c.value)==null?void 0:M.title,fitContent:!1,showHeader:!1,dragHandle:".lookup-modal-header",height:_,width:b,minWidth:C,minHeight:x,showMaxButton:((I=c.value)==null?void 0:I.showMaxButton)==null?!0:(T=c.value)==null?void 0:T.showMaxButton,showCloseButton:((N=c.value)==null?void 0:N.showCloseButton)==null?!0:($=c.value)==null?void 0:$.showCloseButton,reiszeable:!0,draggable:!0,closedCallback:(B,O)=>{const j={type:d.value,button:B==null?void 0:B.target};if((O==="esc"||O==="icon")&&(j.type="esc"),j.type==="accept"&&(j.items=o.value),(j.type==="cancel"||j.type==="esc")&&(i.value=e.modelValue),l&&e.enableUserData){l.saveUserData().then(()=>{m(),n.emit("dialogClosed",j)});return}m(),n.emit("dialogClosed",j)},buttons:[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:B=>w()},{name:"accept",text:"确定",class:"btn btn-primary",handle:B=>g()}],resizeHandle:B=>{p.value=B;const{width:O,height:j}=B.newSize.size;l.setDialogSize({width:Math.round(O),height:Math.round(j)})},enableEnter:!0,onEnter:B=>{B.event.preventDefault(),!B.event.target.closest(".fv-lookup-search-bar")&&g().then(j=>{var E;if(j){const P=(E=r.value)==null?void 0:E.getModal();P&&P.close(B.event,"enter")}})}},beforeOpenDialog:F,dialogSize:p,customData:f,updateModelValue:y}}function Gc(e){const{mapFields:n,separator:o}=e,a={mapFields:n,separator:o};return{dictPicked:async r=>{e.dictPicked&&typeof e.dictPicked=="function"&&await e.dictPicked(r,a)}}}function Wc(e,n,o){const a=t.computed(()=>e.textChangeType==="blur"||e.textChangeType==="any"),i=t.computed(()=>e.textChangeType==="enter"||e.textChangeType==="any"),{beforeOpenDialog:r,updateModelValue:l,selectedItems:s,openDialog:u,modelValue:c,useHttpComposition:p}=o;function d(v){if(Be.isEmpty(v))return!1;const h=e.modelValue!==v;return h?mt.value=v:mt.value="",h}async function f(v){const h={search:{field:"*",value:v,type:"equal"}};if(r){if(await r(h)===!1)return;p.loadData(h,g=>{if(g.items&&g.items.length===1&&(!g.items[0].children||!g.items[0].children.length)){s.value=g.items||[],l();return}u()})}}function S(v,h){var g;let m=(g=v.target)==null?void 0:g.value;m!==""&&(m=m.trim()),d(m)&&(e.uri?f(m):n.emit("textChanged",{value:m,type:h?"blur":"enter"}))}function y(v){a.value&&S(v,!0)}function w(v){v.key==="Enter"&&i.value&&S(v,!1)}return{changeOnBlur:a,changeOnEnter:i,onInputBlur:y,onEnterKeyDown:w}}const jt=t.defineComponent({name:"FLookup",props:Ct,emits:["update:modelValue","update:idValue","search","navSelectionsChanged","pageIndexChanged","pageSizeChanged","resize","dialogClosed","textChanged","clear","update:dataMapping"],setup(e,n){const o='<i class="f-icon f-icon-lookup"></i>',a=t.ref(),i=t.ref(e.modelValue),r=t.ref();dn.value=t.ref(e.customData);const l=Yo(e),s=xc(e);function u(){a.value&&!a.value.getModal()&&a.value.openDialog()}const{dictPicked:c}=Gc(e),{modalOptions:p,beforeOpenDialog:d,dialogSize:f,customData:S,updateModelValue:y}=zc(e,n,Vt,{dictPicked:c,modelValue:i,buttonEditInstance:a,userDataService:s}),{onInputBlur:w,onEnterKeyDown:v}=Wc(e,n,{beforeOpenDialog:d,updateModelValue:y,selectedItems:Vt,openDialog:u,modelValue:i,useHttpComposition:l}),h=t.reactive(p),m=t.inject(_n,null);t.watch(()=>S.value,I=>{dn.value=I}),t.watch(()=>e.modelValue,I=>{i.value=I});function g(I){l.idValues.value=I,n.emit("update:idValue",I)}t.onMounted(()=>{}),t.watch(()=>f.value,I=>{n.emit("resize",I)});async function F(){Vt.value=[],n.emit("update:modelValue",""),n.emit("update:idValue",""),n.emit("clear",{mappingFields:e.mappingFields})}function V(I){n.emit("search",I)}function b(I){n.emit("navSelectionsChanged",I)}function _(I){n.emit("pageIndexChanged",I)}function x(I){n.emit("pageSizeChanged",I)}async function C(I){const T=m==null?void 0:m.getCurrentModal();T&&T.updateModalOptions(I),I.title&&(r.value=I.title)}function k(){const I=m==null?void 0:m.getCurrentModal();I&&I.close()}function M(I){const T=m==null?void 0:m.getCurrentModal();T&&T.maxDialog(I)}return n.expose({openDialog:u,updateIdValue:g}),()=>t.createVNode(at,{ref:a,id:e.id,modelValue:i.value,"onUpdate:modelValue":I=>i.value=I,disable:e.disable,readonly:e.readonly,editable:e.editable,inputType:"text",enableClear:e.enableClear,buttonContent:o,buttonBehavior:"Modal",modalOptions:h,onClear:F,beforeOpen:d,onBlur:w,onKeydown:v},{default:()=>[t.createVNode(Ac,{title:r.value||"请选择",enableFavorite:e.enableFavorite,onCloseModal:k,onMaximize:I=>M(I),useHttpComposition:l,userDataService:s},{default:()=>t.createVNode(Ec,t.mergeProps(e,{onSearch:V,onNavSelectionsChanged:b,onPageIndexChanged:_,onPageSizeChanged:x,onChangeDialogOptions:C}),null),fav:()=>t.createVNode(Lc,{idField:e.idField,displayType:e.displayType},null)})]})}}),qc={install(e){e.component(jt.name,jt)},register(e,n,o,a){e.lookup=jt,n.lookup=Wt},registerDesigner(e,n,o){e.lookup=Ss,n.lookup=Wt}};L.Compare=Gt,L.ExpressValueType=Mn,L.FLookup=jt,L.F_LOOKUP_HTTP_SERVICE_TOKEN=zt,L.FilterRelation=Tt,L.LOOKUP_ACTIVE_TAB=kt,L.LOOKUP_USER_DATA_ID=Oi,L.LoadTreeDataType=At,L.LookupDisplayType=Ye,L.LookupSchemaRepositoryToken=No,L.LookupTabs=Ee,L.default=qc,L.lookupProps=Ct,L.propsResolver=Wt,Object.defineProperties(L,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});