@farris/ui-vue 1.2.8 → 1.2.9

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 (215) hide show
  1. package/components/accordion/index.esm.js +129 -129
  2. package/components/accordion/index.umd.cjs +1 -0
  3. package/components/avatar/index.esm.js +166 -157
  4. package/components/avatar/index.umd.cjs +1 -0
  5. package/components/border-editor/index.umd.cjs +1 -0
  6. package/components/button/index.umd.cjs +1 -0
  7. package/components/button-edit/index.esm.js +343 -325
  8. package/components/button-edit/index.umd.cjs +1 -0
  9. package/components/button-group/index.umd.cjs +1 -0
  10. package/components/calculator/index.umd.cjs +1 -0
  11. package/components/calendar/index.esm.js +338 -338
  12. package/components/calendar/index.umd.cjs +1 -0
  13. package/components/capsule/index.esm.js +182 -182
  14. package/components/capsule/index.umd.cjs +1 -0
  15. package/components/checkbox/index.esm.js +326 -317
  16. package/components/checkbox/index.umd.cjs +1 -0
  17. package/components/color-picker/index.esm.js +118 -118
  18. package/components/color-picker/index.umd.cjs +3 -0
  19. package/components/combo-list/index.esm.js +338 -325
  20. package/components/combo-list/index.umd.cjs +1 -0
  21. package/components/combo-tree/index.esm.js +62 -62
  22. package/components/combo-tree/index.umd.cjs +1 -0
  23. package/components/common/index.umd.cjs +1 -0
  24. package/components/component/index.esm.js +382 -270
  25. package/components/component/index.umd.cjs +1 -0
  26. package/components/condition/index.esm.js +1018 -895
  27. package/components/condition/index.umd.cjs +1 -0
  28. package/components/content-container/index.esm.js +285 -212
  29. package/components/content-container/index.umd.cjs +1 -0
  30. package/components/data-grid/index.css +1 -1
  31. package/components/data-grid/index.esm.js +4761 -4319
  32. package/components/data-grid/index.umd.cjs +1 -0
  33. package/components/data-view/index.esm.js +2901 -2664
  34. package/components/data-view/index.umd.cjs +1 -0
  35. package/components/date-picker/index.esm.js +1502 -1488
  36. package/components/date-picker/index.umd.cjs +1 -0
  37. package/components/designer-canvas/index.css +1 -1
  38. package/components/designer-canvas/index.esm.js +938 -928
  39. package/components/designer-canvas/index.umd.cjs +1 -0
  40. package/components/designer-outline/index.css +1 -1
  41. package/components/designer-outline/index.esm.js +27 -27
  42. package/components/designer-outline/index.umd.cjs +1 -0
  43. package/components/designer-toolbox/index.esm.js +36 -12
  44. package/components/designer-toolbox/index.umd.cjs +1 -0
  45. package/components/discussion-editor/index.umd.cjs +3 -0
  46. package/components/discussion-list/index.umd.cjs +1 -0
  47. package/components/drawer/index.umd.cjs +1 -0
  48. package/components/dropdown/index.esm.js +241 -241
  49. package/components/dropdown/index.umd.cjs +2 -0
  50. package/components/dynamic-form/index.esm.js +1074 -885
  51. package/components/dynamic-form/index.umd.cjs +1 -0
  52. package/components/dynamic-resolver/index.esm.js +99 -94
  53. package/components/dynamic-resolver/index.umd.cjs +1 -0
  54. package/components/dynamic-view/index.umd.cjs +1 -0
  55. package/components/enum-editor/index.umd.cjs +1 -0
  56. package/components/events-editor/index.esm.js +577 -522
  57. package/components/events-editor/index.umd.cjs +1 -0
  58. package/components/expression-editor/index.esm.js +70 -70
  59. package/components/expression-editor/index.umd.cjs +1 -0
  60. package/components/external-container/index.css +1 -1
  61. package/components/external-container/index.esm.js +2938 -2619
  62. package/components/external-container/index.umd.cjs +1 -0
  63. package/components/field-selector/index.css +1 -1
  64. package/components/field-selector/index.esm.js +4766 -4325
  65. package/components/field-selector/index.umd.cjs +1 -0
  66. package/components/filter-bar/index.css +1 -1
  67. package/components/filter-bar/index.esm.js +1231 -1215
  68. package/components/filter-bar/index.umd.cjs +1 -0
  69. package/components/flow-canvas/index.css +1 -1
  70. package/components/flow-canvas/index.esm.js +1062 -1052
  71. package/components/flow-canvas/index.umd.cjs +1 -0
  72. package/components/image-cropper/index.esm.js +373 -373
  73. package/components/image-cropper/index.umd.cjs +1 -0
  74. package/components/input-group/index.esm.js +398 -394
  75. package/components/input-group/index.umd.cjs +1 -0
  76. package/components/layout/index.esm.js +268 -268
  77. package/components/layout/index.umd.cjs +1 -0
  78. package/components/list-nav/index.esm.js +234 -161
  79. package/components/list-nav/index.umd.cjs +1 -0
  80. package/components/list-view/index.css +1 -1
  81. package/components/list-view/index.esm.js +2288 -2048
  82. package/components/list-view/index.umd.cjs +1 -0
  83. package/components/loading/index.umd.cjs +8 -0
  84. package/components/locale/index.umd.cjs +1 -0
  85. package/components/lookup/index.css +1 -1
  86. package/components/lookup/index.esm.js +5776 -5305
  87. package/components/lookup/index.umd.cjs +1 -0
  88. package/components/mapping-editor/index.css +1 -1
  89. package/components/mapping-editor/index.esm.js +5496 -5036
  90. package/components/mapping-editor/index.umd.cjs +1 -0
  91. package/components/message-box/index.umd.cjs +1 -0
  92. package/components/modal/index.umd.cjs +1 -0
  93. package/components/nav/index.esm.js +383 -322
  94. package/components/nav/index.umd.cjs +3 -0
  95. package/components/notify/index.umd.cjs +1 -0
  96. package/components/number-range/index.esm.js +273 -269
  97. package/components/number-range/index.umd.cjs +1 -0
  98. package/components/number-spinner/index.esm.js +292 -283
  99. package/components/number-spinner/index.umd.cjs +1 -0
  100. package/components/order/index.css +1 -1
  101. package/components/order/index.esm.js +1008 -925
  102. package/components/order/index.umd.cjs +1 -0
  103. package/components/page-footer/index.esm.js +98 -98
  104. package/components/page-footer/index.umd.cjs +1 -0
  105. package/components/page-header/index.esm.js +949 -847
  106. package/components/page-header/index.umd.cjs +1 -0
  107. package/components/pagination/index.esm.js +464 -403
  108. package/components/pagination/index.umd.cjs +1 -0
  109. package/components/popover/index.umd.cjs +1 -0
  110. package/components/progress/index.esm.js +226 -226
  111. package/components/progress/index.umd.cjs +3 -0
  112. package/components/property-editor/index.esm.js +1110 -1092
  113. package/components/property-editor/index.umd.cjs +3 -0
  114. package/components/property-panel/index.esm.js +520 -513
  115. package/components/property-panel/index.umd.cjs +1 -0
  116. package/components/query-solution/index.css +1 -1
  117. package/components/query-solution/index.esm.js +1714 -1575
  118. package/components/query-solution/index.umd.cjs +1 -0
  119. package/components/radio-button/index.esm.js +67 -67
  120. package/components/radio-button/index.umd.cjs +1 -0
  121. package/components/radio-group/index.esm.js +298 -289
  122. package/components/radio-group/index.umd.cjs +1 -0
  123. package/components/rate/index.esm.js +195 -190
  124. package/components/rate/index.umd.cjs +1 -0
  125. package/components/response-layout/index.esm.js +112 -112
  126. package/components/response-layout/index.umd.cjs +1 -0
  127. package/components/response-layout-editor/index.esm.js +902 -877
  128. package/components/response-layout-editor/index.umd.cjs +1 -0
  129. package/components/response-toolbar/index.esm.js +874 -778
  130. package/components/response-toolbar/index.umd.cjs +1 -0
  131. package/components/schema-selector/index.css +1 -1
  132. package/components/schema-selector/index.esm.js +4594 -4289
  133. package/components/schema-selector/index.umd.cjs +8 -0
  134. package/components/search-box/index.esm.js +126 -126
  135. package/components/search-box/index.umd.cjs +1 -0
  136. package/components/section/index.esm.js +645 -503
  137. package/components/section/index.umd.cjs +1 -0
  138. package/components/smoke-detector/index.esm.js +120 -120
  139. package/components/smoke-detector/index.umd.cjs +1 -0
  140. package/components/spacing-editor/index.umd.cjs +1 -0
  141. package/components/splitter/index.esm.js +421 -348
  142. package/components/splitter/index.umd.cjs +1 -0
  143. package/components/step/index.esm.js +219 -219
  144. package/components/step/index.umd.cjs +1 -0
  145. package/components/switch/index.esm.js +232 -222
  146. package/components/switch/index.umd.cjs +1 -0
  147. package/components/tabs/index.esm.js +1823 -1744
  148. package/components/tabs/index.umd.cjs +1 -0
  149. package/components/tags/index.esm.js +399 -401
  150. package/components/tags/index.umd.cjs +1 -0
  151. package/components/text/index.esm.js +164 -164
  152. package/components/text/index.umd.cjs +1 -0
  153. package/components/textarea/index.esm.js +220 -215
  154. package/components/textarea/index.umd.cjs +1 -0
  155. package/components/time-picker/index.esm.js +693 -666
  156. package/components/time-picker/index.umd.cjs +1 -0
  157. package/components/tooltip/index.umd.cjs +1 -0
  158. package/components/transfer/index.css +1 -1
  159. package/components/transfer/index.esm.js +422 -413
  160. package/components/transfer/index.umd.cjs +1 -0
  161. package/components/tree-grid/index.css +1 -1
  162. package/components/tree-grid/index.esm.js +4799 -4358
  163. package/components/tree-grid/index.umd.cjs +1 -0
  164. package/components/tree-view/index.esm.js +2448 -2215
  165. package/components/tree-view/index.umd.cjs +1 -0
  166. package/components/uploader/index.esm.js +164 -164
  167. package/components/uploader/index.umd.cjs +2 -0
  168. package/components/verify-detail/index.esm.js +143 -143
  169. package/components/verify-detail/index.umd.cjs +1 -0
  170. package/components/video/index.esm.js +410 -331
  171. package/components/video/index.umd.cjs +1 -0
  172. package/components/weather/index.esm.js +901 -901
  173. package/components/weather/index.umd.cjs +16 -0
  174. package/farris.all.esm.js +12305 -11403
  175. package/farris.all.umd.cjs +8 -8
  176. package/index.css +1 -1
  177. package/package.json +1 -1
  178. package/types/button-edit/src/designer/button-group.design.component.d.ts +7 -0
  179. package/types/combo-list/src/components/list-container.component.d.ts +3 -0
  180. package/types/combo-list/src/components/list-container.props.d.ts +5 -1
  181. package/types/common/entity/entity-schema.d.ts +258 -0
  182. package/types/component/src/component-ref.props.d.ts +4 -0
  183. package/types/component/src/composition/inner-component-build-info.d.ts +27 -0
  184. package/types/component/src/designer/use-designer-rules.d.ts +2 -2
  185. package/types/data-grid/index.d.ts +5 -2
  186. package/types/data-grid/src/composition/data-grid-component-creator.service.d.ts +33 -0
  187. package/types/data-grid/src/data-grid.component.d.ts +2 -1
  188. package/types/data-grid/src/data-grid.props.d.ts +2 -2
  189. package/types/data-grid/src/designer/use-group-column.d.ts +20 -0
  190. package/types/data-grid/src/property-config/data-grid.property-config.d.ts +4 -0
  191. package/types/data-grid/src/schema/schema-resolver.d.ts +2 -1
  192. package/types/data-view/components/column-format/boolean.component.d.ts +4 -0
  193. package/types/data-view/components/column-format/column-format.component.d.ts +4 -0
  194. package/types/data-view/components/column-format/date.component.d.ts +4 -0
  195. package/types/data-view/components/column-format/enum.component.d.ts +4 -0
  196. package/types/data-view/components/column-format/number.component.d.ts +4 -0
  197. package/types/data-view/composition/pagination/use-pagination.d.ts +1 -0
  198. package/types/data-view/composition/types.d.ts +18 -6
  199. package/types/data-view/composition/use-edit.d.ts +2 -1
  200. package/types/designer-canvas/src/composition/function/use-dragula.d.ts +2 -2
  201. package/types/designer-canvas/src/types.d.ts +2 -2
  202. package/types/dynamic-form/index.d.ts +2 -1
  203. package/types/dynamic-form/src/composition/response-form-component-creator.service.d.ts +31 -0
  204. package/types/dynamic-form/src/schema/schema-resolver.d.ts +2 -1
  205. package/types/dynamic-resolver/src/schema-resolver.d.ts +2 -1
  206. package/types/dynamic-resolver/src/types.d.ts +3 -2
  207. package/types/response-toolbar/src/response-toolbar.props.d.ts +2 -2
  208. package/types/response-toolbar/src/schema/schema-mapper.d.ts +4 -0
  209. package/types/section/src/property-config/section.property-config.d.ts +93 -0
  210. package/types/section/src/schema/schema-resolver.d.ts +2 -1
  211. package/types/tabs/src/composition/types.d.ts +2 -2
  212. package/types/tabs/src/designer/tab-header-item.design.component.d.ts +3 -1
  213. package/types/tabs/src/property-config/tab-page.property-config.d.ts +60 -0
  214. package/types/tabs/src/schema/schema-resolver.d.ts +2 -1
  215. package/types/tags/index.d.ts +36 -5
@@ -0,0 +1 @@
1
+ (function(D,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("lodash-es"),require("@vueuse/core"),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("../tags/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("../dynamic-resolver/index.umd.js"),require("../common/index.umd.js"),require("../data-view/index.umd.js"),require("../popover/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","@vueuse/core","../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","../tags/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","../dynamic-resolver/index.umd.js","../common/index.umd.js","../data-view/index.umd.js","../popover/index.umd.js"],n):(D=typeof globalThis<"u"?globalThis:D||self,n(D["data-grid"]={},D.Vue,D.LodashES,D.VueUseCore,null,D.FTransfer$1,D.FTabs,D.FOrder,null,D.FCheckBox$1,D.FFilterBar,D.FPagination,D.FDynamicForm,D.FComboList,D.BigNumber,D.FNumberSpinner,D.FAccordion,D.FAvatar,D.FButtonEdit$1,D.FButtonGroup,D.FCalendar,D.FCapsule,D.FComboTree,D.FComponent,D.FColorPicker,D.FContentContainer,D.FDatePicker,D.FDataGrid$1,D.FDropdown,D.FEventsEditor,D.FFieldSelector,D.FImageCropper,D.FInputGroup$1,D.FLayout,D.FListNav,D.FListView$1,D.FLookup,D.FMappingEditor,D.FNav,D.FNumberRange,D.FPageHeader,D.FPageFooter,D.FProgress,D.FQuerySolution,D.FRadioGroup,D.FRate,D.FResponseToolbar,D.FResponseLayout,D.FResponseLayoutEditorSetting,D.FSearchBox,D.FSection,D.FSmokeDetector,D.FSplitter,D.FStep,D.FSwitch,D.FTags,D.FText,D.FTimePicker,D.FTreeview,D.FUploader,D.FVerifyDetail,D.FWeather,D.FVideo,D.FTextArea,D.FSchemaSelector,D.FTreeGrid$1,null,D.dynamicResolver,D.common,D.dataView,D.FPopover))})(this,function(D,n,Ee,at,Xl,Jn,Qn,Zn,Yl,nt,$t,jt,ft,mt,Jl,ot,eo,to,no,oo,io,ro,ao,lo,so,co,uo,po,fo,mo,go,ho,yo,vo,bo,Co,wo,So,xo,_o,Vo,Fo,No,ko,To,Io,Oo,Bo,Mo,$o,jo,Po,Do,Eo,Ro,Pt,Ao,Go,Ho,Wo,Lo,qo,zo,Uo,Ko,Xo,Ql,gt,Ue,R,Yo){"use strict";var Ul=Object.defineProperty;var Kl=(D,n,Ee)=>n in D?Ul(D,n,{enumerable:!0,configurable:!0,writable:!0,value:Ee}):D[n]=Ee;var q=(D,n,Ee)=>Kl(D,typeof n!="symbol"?n+"":n,Ee);const Dt={},Et={};function ht(e){const{properties:t,title:o,ignore:i}=e,r=i&&Array.isArray(i),a=Object.keys(t).reduce((l,s)=>((!r||!i.find(d=>d==s))&&(l[s]=t[s].type==="object"&&t[s].properties?ht(t[s]):Ee.cloneDeep(t[s].default)),l),{});return(!r||!i.find(l=>l=="id"))&&(a.id=`${o}-${Date.now()}`),a}function yt(e,t={},o){const i=Dt[e];if(i){let r=ht(i);const a=Et[e];return r=a?a({getSchemaByType:yt},r,t,o):r,r}return null}function Jo(e,t){const o=ht(t);return Object.keys(e).reduce((i,r)=>(i[r]&&typeof i[r]=="object"?Object.assign(i[r],e[r]):i[r]=e[r],i),o),o}function Qo(e,t){return Object.keys(e).filter(i=>e[i]!=null).reduce((i,r)=>{if(t.has(r)){const a=t.get(r);if(typeof a=="string")i[a]=e[r];else{const l=a(r,e[r],e);Object.assign(i,l)}}else i[r]=e[r];return i},{})}function Zo(e,t,o=new Map){const i=Jo(e,t);return Qo(i,o)}function ei(e={}){function t(p,f,c,u){if(typeof c=="number")return u[p].length===c;if(typeof c=="object"){const S=Object.keys(c)[0],v=c[S];if(S==="not")return Number(u[p].length)!==Number(v);if(S==="moreThan")return Number(u[p].length)>=Number(v);if(S==="lessThan")return Number(u[p].length)<=Number(v)}return!1}function o(p,f,c,u){return u[p]&&u[p].propertyValue&&String(u[p].propertyValue.value)===String(c)}const i=new Map([["length",t],["getProperty",o]]);Object.keys(e).reduce((p,f)=>(p.set(f,e[f]),p),i);function r(p,f){const c=p;return typeof f=="number"?[{target:c,operator:"length",param:null,value:Number(f)}]:typeof f=="boolean"?[{target:c,operator:"getProperty",param:p,value:!!f}]:typeof f=="object"?Object.keys(f).map(u=>{if(u==="length")return{target:c,operator:"length",param:null,value:f[u]};const S=u,v=f[u];return{target:c,operator:"getProperty",param:S,value:v}}):[]}function a(p){return Object.keys(p).reduce((c,u)=>{const S=r(u,p[u]);return c.push(...S),c},[])}function l(p,f){if(i.has(p.operator)){const c=i.get(p.operator);return c&&c(p.target,p.param,p.value,f)||!1}return!1}function s(p,f){return a(p).reduce((S,v)=>S&&l(v,f),!0)}function d(p,f){const c=Object.keys(p),u=c.includes("allOf"),S=c.includes("anyOf"),v=u||S,V=(v?p[v?u?"allOf":"anyOf":"allOf"]:[p]).map(g=>s(g,f));return u?!V.includes(!1):V.includes(!0)}return{parseValueSchema:d}}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"}},ti={},ni={};ei();function Be(e,t,o=new Map,i=(l,s,d)=>s,r={},a=l=>l){return Dt[t.title]=t,Et[t.title]=i,ti[t.title]=r,ni[t.title]=a,(l={})=>{const s=Zo(l,t,o),d=Object.keys(e).reduce((p,f)=>(p[f]=e[f].default,p),{});return Object.assign(d,s)}}function We(e,t){return{customClass:t.class,customStyle:t.style}}function oi(){function e(t,o){const{id:i}=t||{},{dataSource:r}=t||{};return r===void 0?{}:{data:o.getValue(i),"onUpdate:data":(...a)=>{}}}return{resolve:e}}function ii(){function e(t,o){return t.selectItemById(o)}return{selectItemById:e}}function ri(){function e(t,o){return t.selectItemById(o)}return{selectItemById:e}}const Rt=new Map([["appearance",We],["column","columnOption"]]),At=new Map([]);var Gt=(e=>(e.SimpleField="SimpleField",e.ComplexField="ComplexField",e))(Gt||{}),it=(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))(it||{});const ai="root-viewmodel";class li{constructor(t,o){q(this,"formSchemaUtils");q(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),r=this.createViewModeNode(t),a=this.formSchemaUtils.getFormSchema();return a.module.viewmodels.push(r),a.module.components.push(i),this.wrapContainerSectionForComponent(o,t)}wrapContainerSectionForComponent(t,o){var a,l;const i=[Z["content-container"].type,Z["response-layout-item"].type,Z["splitter-pane"].type],r=(l=(a=o==null?void 0:o.parentComponentInstance)==null?void 0:a.schema)==null?void 0:l.type;if(r&&i.includes(r)){const s=this.resolver.getSchemaByType("section",{parentComponentInstance:o.parentComponentInstance},this.designerHostService);if(s&&s.contents&&s.contents.length){const d=s.contents[0];return d.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:ai,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 r=this.resolver.getSchemaByType("data-grid"),a=[];Object.assign(r,{id:t.componentId+"-dataGrid",appearance:{class:"f-component-grid f-utils-fill"},fields:a,fieldEditable:t.editable,dataSource:t.dataSource||""}),i.contents=[r];const{selectedFields:l}=t;return l==null||l.forEach(s=>{if(s.$type===Gt.ComplexField)return;const d=Ee.cloneDeep(s),p=this.controlCreatorUtils.setGridFieldProperty("data-grid-column",d,"",t.editable);p&&a.push(p)}),[i]}assembleViewModelFields(t){const o=[],{selectedFields:i}=t;return i==null||i.forEach(r=>{let a="blur";const l=r.type.name;(l===it.Enum||l===it.Boolean)&&(a="change"),o.push({type:"Form",id:r.id,fieldName:r.bindingField,groupId:null,groupName:null,updateOn:a,fieldSchema:{}})}),o}}function Ht(e,t,o,i){const r=o.parentComponentInstance;if(r){const a=Math.random().toString(36).slice(2,6),l={componentId:`data-grid-${a}`,componentName:`表格-${a}`,componentType:"data-grid",parentContainerId:r.schema.id,parentComponentInstance:r,editable:!0,bindTo:"",dataSource:""};return new li(e,i).createComponent(l)}else return t}function Wt(e,t,o){return t}const si={$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"]},ci={enable:{type:Boolean,default:!1},index:{type:Number,default:1},mode:{type:String,default:"client"},showGoto:{type:Boolean,default:!1},showIndex:{type:Boolean,default:!0},showLimits:{type:Boolean,default:!1},showPageInfo:{type:Boolean,default:!0},size:{type:Number,default:20},sizeLimits:{type:Array,default:[10,20,30,50,100]},total:{type:Number,default:0}},di={enable:{type:Boolean,default:!1},fields:{type:Array,default:[]},mode:{type:String,default:"client"},multiSort:{type:Boolean,default:!1}},ui={customGroupRow:{type:Function,default:()=>{}},customGroupRowStyle:{type:Function,default:()=>{}},customSummaryStyle:{type:Function,default:()=>{}},enable:{type:Boolean,default:!1},groupColSpan:{type:Number,default:1},groupFields:{type:Array,default:[]},showGroupedColumn:{type:Boolean,default:!0},showGroupPanel:{type:Boolean,default:!1},showSummary:{type:Boolean,default:!1},summaryPosition:{type:String,default:"separate"}},pi={enable:{type:Boolean,default:!1},filterStyle:{type:String,default:"filter-column"},mode:{type:String,default:"server"},showSummary:{type:Boolean,default:!0}},fi={wrapHeadings:{type:Boolean,default:!1}},mi={enable:{type:Boolean,default:!1},heading:{type:String,default:"序号"},width:{type:Number,default:36},showEllipsis:{type:Boolean,default:!0}},gi={customRowStyle:{type:Function,default:()=>{}},customRowStatus:{type:Function,default:()=>{}},disable:{type:Function,default:()=>{}},height:{type:Number,default:28},showHovering:{type:Boolean,default:!0},wrapContent:{type:Boolean,default:!1}},hi={enable:{type:Boolean,default:!1},customSummaryStyle:{type:Function,default:()=>{}},groupFields:{type:Array,default:[]},mode:{type:String,default:"client"},position:{type:String,default:"bottom"}},yi={fitColumns:{type:Boolean,default:!1},fitMode:{type:String,default:"average"},groups:{type:Array,defaut:[]},reorderColumn:{type:Boolean,default:!1},resizeColumn:{type:Boolean,default:!0},resizeColumnOnDoubleClick:{type:Boolean,default:!0}},vi={checkOnSelect:{type:Boolean,default:!1},clearSelectionOnEmpty:{type:Boolean,default:!0},customSelectionItem:{type:Function,default:()=>{}},enabelSelectRow:{type:Boolean,default:!0},keepSelectingOnClick:{type:Boolean,default:!0},keepSelectingOnPaging:{type:Boolean,default:!0},multiSelect:{type:Boolean,default:!1},focusSelection:{type:String,default:"current"},selectOnCheck:{type:Boolean,default:!1},showCheckbox:{type:Boolean,default:!1},showSelectAll:{type:Boolean,default:!1},showSelection:{type:Boolean,default:!1}},bi={selectOnEditing:{type:Boolean,default:!1},editMode:{type:String,default:"cell"}},Ci={show:{type:Boolean,default:!1},message:{type:String,default:"加载中..."}},lt={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}},Lt=Object.assign({},lt,{componentId:{type:String,default:""}}),vt=Be(lt,si,Rt,Ht),bt=oi(),qt=ii();var Oe=(e=>(e[e.readonly=0]="readonly",e[e.editable=1]="editable",e[e.editing=2]="editing",e))(Oe||{}),Ae=(e=>(e[e.initial=0]="initial",e[e.editing=1]="editing",e))(Ae||{}),Ke=(e=>(e[e.data=0]="data",e[e.group=1]="group",e[e.summary=2]="summary",e))(Ke||{}),$e=(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))($e||{}),Ct=(e=>(e.NONE="none",e.NUMBER="number",e.DATE="date",e.TEXT="boolean",e.IMAGE="boolean2",e.ENUM="enum",e.CUSTOM="custom",e))(Ct||{});function wi(){function e(){return n.createVNode("div",{class:"fv-grid-disable"},null)}return{renderDisableMask:e}}function Si(e,t,o,i,r){const{columnContext:a}=t,{conditions:l,clearCondition:s,removeCondition:d}=i,p=n.ref([]);function f(){const v=[];Array.from(l.value).forEach((x,C)=>{const V={id:x.id,code:x.fieldCode,labelCode:x.fieldCode,name:x.fieldName,editor:{type:x.value.editorType}};v.push(V)}),p.value=v}n.watch(l,()=>f());function c(v){d(`field_filter_${v}`);const x=a.value.primaryHeaderColumns.find(C=>C.field===v);if(x){x.filterValue=null;let C=x.status;C=(C&$e.filtered)===$e.filtered?C^$e.filtered:C,x.status=C}o.refresh(),r.reCalculateVisualDataRows()}function u(){s(),a.value.primaryHeaderColumns.forEach(v=>{v.filterValue=null;let x=v.status;x=(x&$e.filtered)===$e.filtered?x^$e.filtered:x,v.status=x}),o.refresh(),r.reCalculateVisualDataRows()}function S(){return n.createVNode("div",{class:"fv-grid-filter-panel"},[n.createVNode($t.FFilterBar,{data:l.value,fields:p.value,mode:"display-only","show-reset":!0,onRemove:c,onReset:u},null)])}return{renderFilterPanel:S}}function xi(e,t,o,i,r){const{dropOnGroupPanel:a,groupColumnItems:l}=o,{groupFields:s,shouldGroupingData:d}=i,p=n.ref();function f(S){s.value=S.map(v=>v.value),t.updateDataView(),r.reCalculateVisualDataRows()}function c(S){S.preventDefault()}function u(){return d.value&&n.createVNode("div",{class:"fv-grid-group-panel",onDrop:a,onDragover:c},[l.value&&n.createVNode(n.resolveComponent("f-tags"),{ref:p,style:"margin:0.375rem","tag-type":"default",data:l.value,"tag-style":"capsule","show-close":!0,onChange:f},null)])}return{renderGroupPanel:u}}function wt(e,t){var S;const o=String(Date.now()),i=((S=e.rowOption)==null?void 0:S.height)||28,r=n.ref(t.value.primaryColumnsWidth);function a(v){const x={};return v.reduce((C,V,b)=>{const g=b<v.length-1?v[b+1]:null;return b===0&&(C[V.field]={left:0}),V.actualWidth!==void 0&&(C[V.field].width=V.actualWidth),g&&(C[g.field]={left:C[V.field].left+(V.actualWidth||0)}),C},x),x}function l(v,x,C){const V=i*(C+1),g=x[v.field].left-V+(x[v.field].width||0),_=v.parent.height?`${v.parent.height}px`:"";return{left:`${V}px`,width:`${g}px`,height:`${_}`}}function s(v,x,C){return{right:"0px",height:`${v.parent.height?`${v.parent.height}px`:""}`}}function d(v,x){const C=v.parent.height?`${v.parent.height}px`:"";return{left:`${x[v.field].left}px`,height:`${C}`,width:isNaN(Number(x[v.field].width))?"100%":`${x[v.field].width}px`}}function p(v,x,C){const b=(x.spanned||[]).reduce((_,w)=>_+(w.parent.height||0),0)+(v.height||0);return{top:`${v.top}px`,left:`${C[x.field].left}px`,width:`${C[x.field].width}px`,height:`${b}px`,padding:`calc(${b/2}px - 1rem) 0`}}function f(v,x){return`${o}_${v.type}_r_${v.index}_c_${x}_${v.refreshKey||""}`}function c(v){return`${o}_${v.type}_r_${v.index}_${v.refreshKey||""}`}function u(v){const x=v.height?`${v.height}px`:"";return{top:`${v.top}px`,width:isNaN(r.value)?"100%":`${r.value}px`,height:`${x}`}}return n.watch(t,()=>{r.value=t.value.primaryColumnsWidth}),{calculateCellPositionInRow:a,cellKey:f,cellPosition:d,groupCellPosition:l,rowKey:c,rowPosition:u,rowSpanCellPosition:p,summaryCellPosition:s}}function _i(e,t,o){const{hasChildrenField:i}=o,r=n.ref("#9399a0"),a=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,S)=>Number(u)-Number(S))}function s(f){const c=new Array(t.value.length).fill(0);if(e.showLines){const u=l();t.value.forEach((S,v)=>{const x=u.includes(v),C=S.raw[i.value];c[v]=`repeating-linear-gradient(90deg, ${r.value} 0 1px, transparent 0px 2px) ${C?"-10px":"0px"} ${a.value/2}px/20px 1px no-repeat,repeating-linear-gradient(${r.value} 0 1px, transparent 0px 2px) 0px 0px/1px ${x?"50%":"100%"} no-repeat`}),c[0]=""}return c[f]}function d(f,c,u){return u[f].parents.set(f,!0).forEach(v=>{u[v].childsLength=u[v].childWithLines.filter(x=>c[x].visible).length}),c}function p(f){const S=f.raw.__fv_parent_index__===void 0||f.raw.__fv_parent_index__===-1?0:8,v=0,x=f.raw[i.value],C=f.visible?{left:`${f.layer*10+f.layer*S+v}px`,background:s(f.index),display:"flex",width:"100%",position:"relative",paddingLeft:"0.75rem"}:{display:"none"};return x||(C.paddingLeft="2rem"),C}return{hierarchyCellContentStyle:p,handleCollapsedPaddingBottom:d}}function Vi(e,t,o){const i=n.ref(e.iconField);function r(a,l){if(i.value)return a.raw[e.iconField];let s="";return a.raw[o.value]!==!0?s=t.value.leafnodes:s=a.collapse?t.value.fold:t.value.unfold,s}return{treeNodeIconsClass:r}}function St(){function e(o,i){const r=o.pre;if(r){const a=o.visible?(r.__fv_data_position__||0)+(r.__fv_data_height__||0):r.__fv_data_position__;o.top=a,i.__fv_data_position__=a}else o.top=0,i.__fv_data_position__=0}function t(o,i,r){if(o){const a=i.parent;i.cellHeight!==o.offsetHeight&&(i.cellHeight=o.offsetHeight),i.cellHeight&&i.cellHeight>(a.height||0)&&(a.height=i.cellHeight,r.__fv_data_height__=a.height),e(a,r)}}return{updateRowPosition:e,updateVisualInfomation:t}}function Fi(e,t,o,i,r,a){const{dataView:l,fold:s,hasRealChildren:d,unFold:p}=i,{collapseField:f,hasChildrenField:c}=r,{updateRowPosition:u}=St();function S(C,V){const b=V[C].layer;let g=C+1;for(;g<V.length&&V[g].layer>b;)g++;return g-1}function v(C,V){o.value[C].collapse=!o.value[C].collapse,o.value[C].raw[f.value]=o.value[C].collapse,o.value[C].raw[c.value]=d(o.value[C].raw);const b=o.value[C].collapse;let g=!1,_=C;for(;_<o.value.length;){const y=o.value[_];if((typeof y.raw.__fv_parent_index__=="number"?Number(y.raw.__fv_parent_index__):-1)>V)y.visible=!b,y.raw.__fv_visible__=y.visible,y.collapse&&(_=S(_,o.value)),g=!0;else if(g){_++;break}_++}let w=C;for(;w<o.value.length;){const y=o.value[w];u(y,y.raw),w++}}function x(C){if(C.raw[c.value]){const b=typeof C.raw.__fv_parent_index__=="number"?Number(C.raw.__fv_parent_index__):-1;v(Number(C.raw.__fv_index__),b)}}return{toggleTreeNode:x}}function Ni(e,t,o,i,r,a,l,s,d,p,f){const{onClickCell:c}=a,{gridRowClass:u,onClickRow:S,onMouseoverRow:v,onMouseoutRow:x}=s,{clearSelection:C,enableMultiSelect:V,select:b,unSelect:g,isSelectingHirarchyItem:_,multiSelectOnClickRow:w,multiSelectOnlyOnCheck:y,selectItem:N,toggleSelectItem:m}=d;n.ref(e.cellHeight);const h=n.ref(e.treeNodeIconsData||{}),{hasChildrenField:T,shouldShowCheckBox:O,shouldShowIcon:I}=l,{toggleTreeNode:k}=Fi(e,t,i,r,l),{toggleSelectHierarchyItem:F}=p,{cellKey:B,cellPosition:M,rowKey:j,rowPosition:P}=wt(e,o),{hierarchyCellContentStyle:$}=_i(e,i,l),{treeNodeIconsClass:E}=Vi(e,h,T);function H(W,z){const le=W.raw[T.value];return{"fv-tree-node-toggle":le&&W.collapse,"fv-tree-node-toggle-minus":le&&!W.collapse}}function oe(W,z){W.stopPropagation(),k(z)}function ae(W,z){return n.createVNode("div",{class:H(W),onClick:le=>oe(le,W)},null)}function ve(W,z){return I.value&&n.createVNode("div",{id:"treeNodeIcons",class:E(W,z)},null)}function Te(W){V.value?(W.checked?b(W):g(W),F(W)):N(W)}function xe(W,z){return O.value&&n.createVNode(nt.FCheckBox,{id:"checkbox_for_"+B(W,z.index),indeterminate:W.indeterminate,checked:W.checked,"onUpdate:checked":le=>W.checked=le,onChange:()=>Te(W)},null)}function ye(W,z){return n.createVNode("span",{title:z.data},[z.mode===Oe.editing?z.getEditor(z):z.formatter?z.formatter(z,W):z.data!=null?z.data.toString():z.data])}function we(W,z,le){return n.createVNode("div",{ref:z.setRef,key:B(W,z.index),class:"fv-grid-hierarchy-cell",style:M(z,le)},[n.createVNode("div",{style:$(W)},[ae(W),ve(W,z),xe(W,z),ye(W,z)])])}function Ne(W,z,le){return n.createVNode("div",{ref:z.setRef,key:B(W,z.index),class:"fv-grid-cell",style:M(z,le),onClick:Q=>c(Q,z)},[z.mode===Oe.editing?z.getEditor(z):z.formatter?z.formatter(z,W):z.data!=null?z.data.toString():z.data])}function ie(W,z){return z==="left"&&o.value.leftColumns.length>0&&o.value.leftColumns[0].field===W.field||z==="primary"&&o.value.primaryColumns.length>0&&o.value.primaryColumns[0].field===W.field}function pe(W,z,le="primary"){return n.createVNode("div",{ref:W.setRef,key:j(W),class:u(W),style:P(W),onMouseover:Q=>v(Q,W),onMouseout:Q=>x(Q,W),onClick:Q=>S(Q,W)},[Object.values(W.data).filter(Q=>z[Q.field]&&Q.rowSpan===1).map((Q,me)=>ie(Q,le)?we(W,Q,z):Ne(W,Q,z))])}return{renderDataRow:pe}}function zt(e,t,o){const{horizontalScrollThumbStyle:i,onMouseDownScrollThumb:r,shouldShowHorizontalScrollbar:a}=o;function l(){return a.value&&n.createVNode("div",{class:"fv-grid-horizontal-scroll"},[n.createVNode("div",{class:"fv-grid-horizontal-scroll-thumb",style:i.value,onMousedown:s=>r(s,t,"horizontal")},null)])}return{renderHorizontalScrollbar:l}}function ki(e,t,o,i,r){const{currentPage:a,pageSize:l,pageList:s,total:d,showPageIndex:p,showPageList:f,mode:c}=r;function u(x){o.navigatePageTo(x),i.resetScroll(),t.emit("pageIndexChanged",x)}function S(x){o.changePageSizeTo(x),i.resetScroll(),t.emit("pageSizeChanged",x)}n.onMounted(()=>{c.value==="server"&&u(1)});function v(){return n.createVNode("div",{class:"fv-datagrid-pagination"},[n.createVNode(jt,{mode:"default",currentPage:a.value,"onUpdate:currentPage":x=>a.value=x,pageSize:l.value,"onUpdate:pageSize":x=>l.value=x,showPageList:f.value,showPageNumbers:p.value,totalItems:d.value,pageList:s.value,onPageIndexChanged:u,onPageSizeChanged:S},null)])}return{renderDataGridPagination:v}}function Ut(e,t,o,i,r){const{isSelectingHirarchyItem:a,multiSelectOnClickRow:l,multiSelectOnlyOnCheck:s,selectItem:d,toggleSelectItem:p}=o,{onMouseoverRow:f,sidebarRowClass:c}=t,{showRowNumer:u,showSidebarCheckBox:S,sidebarCellPosition:v,rowKey:x,cellKey:C}=i,{gridSideStyle:V}=r;function b(m){m.stopPropagation()}function g(m){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:C(m),title:C(m),type:"checkbox","onUpdate:modelValue":h=>m.checked=h,class:"custom-control-input"},null),[[n.vModelCheckbox,m.checked]]),n.createVNode("label",{class:"custom-control-label",for:C(m),onClick:b},null)])])}function _(m){return n.createVNode("div",{class:"fv-grid-sidebar-row-number justify-content-center",style:"padding:0",onMouseover:h=>f(h,m)},[n.createVNode("div",{title:m.dataIndex,class:{"text-center":!0,"text-truncate":e.rowNumber.showEllipsis,"w-100":e.rowNumber.showEllipsis}},[m.dataIndex])])}function w(m,h,T){a.value?l.value?p(T):d(T):s.value||l.value?p(T):d(T)}function y(m){return(S.value||u.value)&&m.value.map(h=>n.createVNode("div",{key:x(h),class:c(h),style:v(h),onClick:T=>w(T,m,h)},[S.value&&!e.hierarchy&&g(h),u.value&&_(h)]))}function N(m){return n.createVNode("div",{class:"fv-grid-content-side"},[n.createVNode("div",{class:"fv-grid-side",style:V.value},[y(m)])])}return{renderDataGridSidebar:N}}function Ti(e,t,o){const{columnContext:i}=o,r=n.ref(e.summary),a=n.computed(()=>{const s=r.value;return s&&s.enable&&s.groupFields&&s.groupFields.length>0});function l(){return a.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 Kt(e,t,o){const{verticalScrollThumbStyle:i,onMouseDownScrollThumb:r,shouldShowVirticalScrollbar:a}=o;function l(){return a.value&&n.createVNode("div",{class:"fv-grid-vertical-scroll"},[n.createVNode("div",{class:"fv-grid-vertical-scroll-thumb",style:i.value,onMousedown:s=>r(s,t,"vertical")},null)])}return{renderVerticalScrollbar:l}}function Ii(){function e(i,r){switch(i.command){case"edit":case"remove":return r.status===Ae.initial;case"accept":case"cancel":return r.status===Ae.editing;default:return!i.hidden}}function t(i,r,a){switch(i.onClick(r,a.dataIndex,a),i.command){case"edit":a.status,Ae.editing;break;case"accept":case"cancel":a.status,Ae.initial;break}}function o(i,r){return n.createVNode("div",null,[i.commands&&i.commands.map(a=>e(a,r)&&n.createVNode(n.resolveComponent("f-button"),{class:"ml-2",type:a.type,size:a.size||"small",onClick:l=>t(a,l,r)},{default:()=>[n.createTextVNode(" "),a.text,n.createTextVNode(" ")]}))])}return{renderCommandColumn:o}}function Oi(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 Xt(e){const t=n.ref(e.minHeight),o=n.ref(e.minWidth),i=n.ref(e.height),r=n.ref(e.width),a=n.computed(()=>i.value<=0?0:Math.max(i.value,t.value)),l=n.computed(()=>r.value<=0?0:Math.max(r.value,o.value));return n.watch([()=>e.height,()=>e.width,()=>e.minHeight,()=>e.minWidth],([d,p,f,c])=>{t.value=Number(f),o.value=Number(c),i.value=Number(d),r.value=Number(p)}),{containerStyleObject:n.computed(()=>({height:a.value>0?`${a.value}px`:e.fit?"100%":"",width:l.value>0?`${l.value}px`:e.fit?"100%":""}))}}function Yt(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 r(){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 a=n.ref(e.summary),l=n.computed(()=>{const g=a.value;return(g==null?void 0:g.groupFields)||[]});function s(){i.value.rightColumns.forEach(w=>{w.showSetting=!1}),i.value.primaryColumns.forEach(w=>{w.showSetting=!1});const g=i.value.rightColumns.filter(w=>w.visible),_=i.value.primaryColumns.filter(w=>w.visible);g.length>0?g[g.length-1].showSetting=!0:_.length>0&&(_[_.length-1].showSetting=!0)}function d(g){r();const _=new Map;return l.value&&l.value.reduce((w,y)=>(w.set(y,!0),w),_),g.reduce((w,y)=>(y.visible=y.visible!==!1,y.fixed==="left"?(i.value.leftColumns.push(y),i.value.leftColumnsMap.set(y.field,y),i.value.leftColumnsWidth+=y.actualWidth):y.fixed==="right"?(i.value.rightColumns.push(y),i.value.rightColumnsMap.set(y.field,y),i.value.rightColumnsWidth+=y.actualWidth):(i.value.primaryColumns.push(y),i.value.primaryColumnsMap.set(y.field,y),i.value.primaryColumnsWidth+=y.actualWidth),_.has(y.field)&&i.value.summaryColumns.push(y),w),i),s(),i}d(e.columns);const p=n.computed(()=>i.value.leftColumns.length>0),f=n.computed(()=>i.value.rightColumns.length>0);function c(g,_){return _.sortable&&_.sort&&_.sort!=="none"&&g.push(_),g}function u(g,_){return g.sortOrder=g.sortOrder||0,_.sortOrder=_.sortOrder||0,g.sortOrder===_.sortOrder?0:g.sortOrder<_.sortOrder?-1:1}function S(g,_){return g.sortOrder=g.sortOrder||0,_.sortOrder=_.sortOrder||0,g.sortOrder===_.sortOrder?0:g.sortOrder<_.sortOrder?1:-1}function v(g,_){return _.filterable&&g.push(_),g}function x(){const g=[];return i.value.leftColumns.reduce(v,g),i.value.primaryColumns.reduce(v,g),i.value.rightColumns.reduce(v,g),g}function C(){const g=[];i.value.leftColumns.reduce(c,g),i.value.primaryColumns.reduce(c,g),i.value.rightColumns.reduce(c,g);const _=Math.max(...g.map(w=>w.sortOrder||0));return g.sort(S).map(w=>{const y=w.sortOrder||_+1;return w.sortOrder=y,w}).sort(u).map((w,y)=>{const N=y+1;return w.sortOrder=N,w})}function V(g,_,w){const y=g.map(N=>{const m=w.getSorterByColumn(N),h=N.sort==="asc",T=N.sort==="desc",O=h?m.ascend:T?m.decend:void 0;return{field:N.field,compare:O}});_.setSorters(y)}function b(g,_){const w=C();V(w,g,_)}return{applyColumnSorter:b,collectionFilterableColumns:x,applySortableColumns:V,collectionSortableColumns:C,columnContext:i,hasLeftFixedColumn:p,hasRightFixedColumn:f,updateColumnRenderContext:d,updateColumnSettingIcon:s}}const Bi=[{name:"是",value:!0},{name:"否",value:!1}];function Mi(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":Bi},null)])}const $i=n.ref([{name:"七天",selectable:!0},{name:"一个月",selectable:!0},{name:"三个月",selectable:!0},{name:"半年",selectable:!0}]);function ji(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:$i.value,selectable:!0,"tag-style":"capsule"},null)])}function Pi(e){e.filter=e.filter||function(o){const i=Number.parseFloat(e.filterValue),r=Number.parseFloat(o[e.field]);return isNaN(i)?isNaN(r):i===r};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 Di(e,t,o,i,r,a){e.filterHistory=e.filterHistory||r.getFilterHistory(e),e.filter=e.filter||function(u){return(u[e.field]||"").startsWith(e.filterValue)};function l(u,S){r.removeFilterHistory(e,u.name),e.filterHistory=r.getFilterHistory(e)}function s(u){e.filterValue=u.name}function d(u){e.filterHistory=u}const p=i.rawView.value.reduce((u,S,v)=>(u.push(S[e.field]),u),[]),c=[...new Set(p)].map((u,S)=>({id:S,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":a.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:d},null)])}function Ei(e,t,o,i,r,a){e.filter=e.filter||function(S){return String(e.filterValue).split(",").includes(String(S[e.field]))};const l=",",s=i.rawView.value.reduce((S,v,x)=>(S.push(v[e.field]),S),[]),p=[...new Set(s)].map((S,v)=>({id:v,name:S}));function f(S){return(S==null?void 0:S.split(l))||[]}function c(S){return S.map(x=>x.name).join(l)}function u(S){e.filterValue=c(S)}return n.createVNode(n.resolveComponent("f-list-view"),{data:p,"multi-select":!0,"multi-select-mode":"OnCheckAndClick","id-field":"name",view:"SingleView",header:"Search",size:"Small","selection-values":f(e.filterValue),onSelectChange:S=>u(S)},{default:()=>[n.createTextVNode(" ")]})}function Ri(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 Jt(e,t,o,i,r){const a=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",Mi],["date-filter",ji],["enum-filter",Ei],["list-filter",Ri],["numeric-filter",Pi],["text-filter",Di]]);function s(d){var u,S;const p=((u=d.column)==null?void 0:u.dataType)||"string",f=((S=d.column)==null?void 0:S.filter)||a.get(p)||"text-editor",c=l.get(f);if(c)return c(d,e,t,o,i,r)}return{getFilterEditor:s}}function Qt(e){const o=n.ref(e.commandOption.enable||!1),i=n.ref(e.commandOption.commands||[]);function r(a){if(o.value&&!(a.value.findIndex(s=>s.dataType==="commands")>-1)){const s={field:"__commands__",title:"操作",width:120,fixed:"right",dataType:"commands",commands:i.value,visible:!0};a.value.push(s)}}return{applyCommands:r}}function Zt(e,t,o,i,r,a,l){const{columnContext:s}=o,{getGridHeaderCells:d}=r,{groupFields:p}=a,f=n.ref(-1),c=n.ref(!1),u=n.computed(()=>p.value&&p.value.map(b=>{var g;return{name:((g=s.value.primaryColumnsMap.get(b))==null?void 0:g.title)||b,value:b}}));function S(b,g,_){var w,y,N;if(b.stopPropagation(),g){const m=`${(w=g.column)==null?void 0:w.title}:${(y=g.column)==null?void 0:y.field}`;(N=b.dataTransfer)==null||N.setData("Text",m),setTimeout(()=>{f.value=_,c.value=!0})}}function v(b,g){if(b.preventDefault(),f.value!==g){const{primaryColumns:_}=s.value,w=_[f.value],y=_;y.splice(f.value,1),y.splice(g,0,w),s.value.primaryHeaderColumns=Array.from(d(y).values()),f.value=g}}function x(b,g){b.preventDefault(),b.dataTransfer&&(b.dataTransfer.dropEffect="move")}function C(b,g){c.value=!1,i.updateDataView(),l.reCalculateVisualDataRows()}function V(b){var _;b.preventDefault(),b.stopPropagation();const g=(_=b.dataTransfer)==null?void 0:_.getData("Text");if(g){const w=g.split(":");w[0];const y=w[1];a.groupFields.value.push(y)}i.updateDataView(),l.reCalculateVisualDataRows()}return{dragstart:S,dragenter:v,dragover:x,dragend:C,dropOnGroupPanel:V,isDragging:c,groupColumnItems:u}}function en(e,t,o,i,r){const{getGridHeaderCells:a}=r,l=120,s=50,d=n.computed(()=>{var m;return((m=e.rowNumber)==null?void 0:m.enable)||!1}),p=n.computed(()=>{var m,h;return((m=e.selection)==null?void 0:m.multiSelect)||((h=e.selection)==null?void 0:h.showCheckbox)||!1}),f=n.computed(()=>{var m;return 0+(d.value?((m=e.rowNumber)==null?void 0:m.width)||32:0)+(p.value?s:0)}),c=n.computed(()=>{var m;return(m=e.columnOption)==null?void 0:m.fitColumns}),u=n.computed(()=>{var m;return c.value&&((m=e.columnOption)==null?void 0:m.fitMode)||"average"});function S(m,h,T){const O=parseInt(m.width,10)/100;return T*O}function v(m,h,T){return typeof m.width=="string"?S(m,h,T):m.width||l}function x(m,h){const T=[],O=[];let I=0;m.value.primaryColumns.filter(B=>B.visible).forEach(B=>{typeof B.width=="string"?O.push(B):(B.width=B.width||l,I+=B.width,T.push(B))});const k=h*(T.length/m.value.primaryColumns.filter(B=>B.visible).length);T.forEach(B=>{const M=k*(B.width/I);B.actualWidth=M,m.value.primaryColumnsWidth+=B.actualWidth});const F=h-k;O.forEach(B=>{const M=S(B,m.value,F);B.actualWidth=M,m.value.primaryColumnsWidth+=B.actualWidth})}function C(m,h){const T=h/(m.value.primaryColumns.filter(O=>O.visible).length||1);m.value.primaryColumns.filter(O=>O.visible).forEach(O=>{O.actualWidth=T,m.value.primaryColumnsWidth+=O.actualWidth})}function V(m,h){const T=[],O=[],I=new WeakMap;let k=0,F=0;if(m.value.primaryColumns.filter(M=>M.visible).forEach(M=>{if(typeof M.width=="string"){const j=S(M,m.value,h);I.set(M,j),k+=j,O.push(M)}else M.width=M.width||l,F+=M.width,T.push(M)}),h-k>F){const M=h-k;O.forEach(j=>{j.actualWidth=I.get(j)||l,m.value.primaryColumnsWidth+=j.actualWidth}),T.forEach(j=>{j.actualWidth=M*(j.width/F),m.value.primaryColumnsWidth+=j.actualWidth})}else x(m,h)}function b(m,h){m.value.primaryColumns.filter(T=>T.visible).forEach(T=>{T.actualWidth=v(T,m.value,h),m.value.primaryColumnsWidth+=T.actualWidth})}const g={average:C,expand:V,none:b,percentage:x};function _(m){m.value.leftHeaderColumns=Array.from(a(m.value.leftColumns.filter(h=>h.visible)).values()),m.value.primaryHeaderColumns=Array.from(a(m.value.primaryColumns.filter(h=>h.visible)).values()),m.value.rightHeaderColumns=Array.from(a(m.value.rightColumns.filter(h=>h.visible)).values())}function w(m){m.value.leftColumnsWidth=0,m.value.primaryColumnsWidth=0,m.value.rightColumnsWidth=0,m.value.leftColumns.filter(h=>h.visible).forEach(h=>{m.value.leftColumnsWidth+=h.actualWidth||0}),m.value.primaryColumns.filter(h=>h.visible).forEach(h=>{m.value.primaryColumnsWidth+=h.actualWidth||0}),m.value.rightColumns.filter(h=>h.visible).forEach(h=>{m.value.rightColumnsWidth+=h.actualWidth||0}),m.value=Object.assign({},m.value)}function y(m,h,T){var j;let O=0;const I=m.value.primaryColumns,k=m.value.rightColumns;m.value.rightColumns.filter(P=>P.visible).forEach(P=>{P.actualWidth=v(P,m.value,h),O+=P.actualWidth});const F=T-O,B=g[u.value];if(B&&B(m,F),m.value.primaryColumnsWidth+O<=T)return m.value.primaryColumns=[...I,...k],m.value.primaryColumnsWidth+=O,m.value.rightColumns=[],m.value.rightColumnsWidth=0,!0;const M=new Map;return M.set("primary",[]),M.set("right",[]),m.value.primaryColumns.reduce((P,$)=>{var E,H;return $.fixed==="right"?(E=P.get("right"))==null||E.push($):(H=P.get("primary"))==null||H.push($),P},M),(j=M.get("right"))!=null&&j.length&&(m.value.primaryColumns=[...M.get("primary")||[]],m.value.rightColumns=[...M.get("right")||[]]),m.value.primaryColumnsWidth=0,m.value.rightColumnsWidth=0,!1}function N(){if(o.value){t.value.leftColumnsWidth=0,t.value.primaryColumnsWidth=0,t.value.rightColumnsWidth=0;const m=o.value.clientWidth-f.value;t.value.leftColumns.filter(T=>T.visible).forEach(T=>{T.actualWidth=v(T,t.value,m),t.value.leftColumnsWidth+=T.actualWidth});const h=m-t.value.leftColumnsWidth;if(y(t,m,h))i.value=h;else{t.value.rightColumns.filter(I=>I.visible).forEach(I=>{I.actualWidth=v(I,t.value,m),t.value.rightColumnsWidth+=I.actualWidth});const T=m-t.value.leftColumnsWidth-t.value.rightColumnsWidth,O=g[u.value];O&&O(t,T),i.value=T}_(t),t.value=Object.assign({},t.value)}}return n.watch(()=>{var m;return(m=e.columnOption)==null?void 0:m.fitColumns},(m,h)=>{m!==h&&m&&N()}),n.watch(u,(m,h)=>{m!==h&&c.value&&N()}),{calculateColumnHeaders:_,calculateColumnsSize:N,calculateColumnsWidth:w}}const tn={conditions:{type:Array,default:[]},fields:{type:Array,default:[]},key:{type:String,default:""},isControlInline:{type:Boolean,default:!0}};class Ai{constructor(t={value:[]}){q(this,"editorType","check-box");q(this,"value");q(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 Gi{constructor(t={textValue:"",value:"",valueField:""}){q(this,"editorType","combo-lookup");q(this,"textValue");q(this,"value");q(this,"valueField");q(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(r=>this.getPropValue(r,Ee.cloneDeep(o)));return i&&i.length?i.join(","):""}getValue(){const t=this.valueField.split("."),o=this.value.split(",").map(i=>this.getPropValue(i,Ee.cloneDeep(t)));return o&&o.length?o.join(","):""}setValue(t){throw new Error("Method not implemented.")}isEmpty(){return!this.valueField}}class Hi{constructor(t={value:""}){q(this,"editorType","date-picker");q(this,"value");q(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 nn{constructor(t={begin:"",end:""}){q(this,"editorType","date-range");q(this,"begin","");q(this,"end","");q(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 Wi{constructor(t={value:""}){q(this,"editorType","datetime-picker");q(this,"value");q(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 Li{constructor(t={value:"",dispalyText:""}){q(this,"editorType","combo-list");q(this,"value");q(this,"valueType","enum");q(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 qi{constructor(t={value:[],displayText:"",displayField:"",isInputText:!1}){q(this,"editorType","input-group");q(this,"value");q(this,"valueType","text");q(this,"displayText");q(this,"valueField");q(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(r=>this.getPropValue(r,Ee.cloneDeep(o)));return i&&i.length?i.join(","):""}getValue(){const t=this.valueField.split(".")||[],o=this.value.map(i=>this.getPropValue(i,Ee.cloneDeep(t)));return o&&o.length?o.join(","):""}setValue(t){throw new Error("Method not implemented.")}isEmpty(){return!this.displayText}}class zi{constructor(t={textValue:"",value:[],valueField:"",isInputText:!1}){q(this,"editorType","lookup");q(this,"textValue");q(this,"value");q(this,"valueField");q(this,"valueType","text");q(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(r=>this.getPropValue(r,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 Ui{constructor(t={value:""}){q(this,"editorType","month-picker");q(this,"value");q(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 Ki{constructor(t={begin:"",end:""}){q(this,"editorType","month-range");q(this,"begin");q(this,"end");q(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 Xi{constructor(t={begin:null,end:null}){q(this,"editorType","number-range");q(this,"begin");q(this,"end");q(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 Yi{constructor(t={value:""}){q(this,"editorType","number-spinner");q(this,"value");q(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 Ji{constructor(t={value:null}){q(this,"editorType","radio-group");q(this,"value");q(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 on{constructor(t={value:""}){q(this,"editorType","text");q(this,"value");q(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 rn(){function e(t,o){switch(t){case"check-box":return new Ai(o);case"combo-list":return new Li(o);case"combo-lookup":return new Gi(o);case"input-group":return new qi(o);case"date-picker":return new Hi(o);case"date-range":return new nn(o);case"datetime-picker":return new Wi(o);case"datetime-range":return new nn(o);case"lookup":return new zi(o);case"month-picker":return new Ui(o);case"month-range":return new Ki(o);case"number-range":return new Xi(o);case"number-spinner":return new Yi(o);case"radio-group":return new Ji(o);default:return new on(o)}}return{createConditionValue:e}}function an(e,t){const o=n.ref(e.fields),i=n.ref([]),r=new Map,{createConditionValue:a}=rn();function l(f){switch(f.editor?f.editor.type:"input-group"){case"date-range":f.editor.type="date-picker";break;case"datetime-range":f.editor.type="datetime-picker";break;case"number-range":f.editor.type="number-spinner";break}return f.editor}function s(f){return f.map(u=>Object.assign({},u)).map(u=>(u.editor=l(u),u))}function d(f=!0){o.value.reduce((c,u)=>(f||(u.editor=l(u)),c.set(u.labelCode,u),c),r)}function p(f){return f.forEach(c=>{if(c&&typeof c.valueConfig=="object"){const u=r.get(c.fieldCode);c.value=a(u.editor.type,c.valueConfig.content)}}),f}return{convertToSingleControl:s,fields:o,fieldMap:r,fieldConditions:i,loadFieldConfigs:d,initialConditionValue:p}}function Qi(e,t,o){const i=n.ref(null),r=n.ref(o),a=n.ref(0),l=n.computed(()=>p(a.value));function s(){r.value&&(i.value=new ResizeObserver(d(f=>{const c=f[0];a.value=c.contentRect.width})),i.value.observe(r.value))}function d(f,c){let u=null;return function(){const S=arguments;u||(u=setTimeout(()=>{u=null},500),f(...S))}}function p(f){let u="col-12";return f>250*6?u="col-2":f>250*4?u="col-3":f>250*3?u="col-4":f>250*2&&(u="col-6"),u}return n.watch([o],([f])=>{r.value=f,s()}),{conditionClass:l,resizeObserver:i}}const ln=n.defineComponent({name:"FConditionFields",props:tn,emits:["valueChange","blur","focus","click","input"],setup(e,t){const o=n.ref(),i=n.ref(e.key),r=n.ref(e.isControlInline),a=n.ref(e.conditions),l=an(e),{initialConditionValue:s,fieldMap:d,loadFieldConfigs:p}=l,f=Qi(e,t,o),{conditionClass:c,resizeObserver:u}=f;p(!0),s(a.value),n.onBeforeUnmount(()=>{var V;(V=u.value)==null||V.unobserve(o.value)}),n.watch(()=>e.conditions,()=>{a.value=e.conditions});const S=n.computed(()=>({"f-utils-flex-row-wrap":!0,"farris-form":!0,"farris-form-controls-inline":r.value})),v=n.computed(()=>c.value);function x(V,b){t.emit("valueChange",V,b)}function C(){return a.value.map(V=>{var b;return n.createVNode(ft.FDynamicFormGroup,{customClass:v.value,label:V.fieldName,editor:(b=d.get(V.fieldCode))==null?void 0:b.editor,modelValue:V.value.value,"onUpdate:modelValue":g=>V.value.value=g,onChange:g=>{x(g,V)}},null)})}return()=>n.createVNode("div",{class:S.value,key:i.value,ref:o},[C()])}}),xt=new Map([["appearance",We]]),Zi="root-viewmodel";class er{constructor(t,o){q(this,"formSchemaUtils");q(this,"controlCreatorUtils");q(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),r=this.createViewModeNode(t),a=this.formSchemaUtils.getFormSchema();return a.module.viewmodels.push(r),a.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"),r=[];Object.assign(i,{id:t.componentId+"-form",appearance:{class:"f-form-layout farris-form farris-form-controls-inline"},contents:r}),o.contents=[i];const{selectedFields:a}=t;return a==null||a.forEach(s=>{const d=Ee.cloneDeep(s),p=this.resolveControlClassByFormColumns(t),f=this.controlCreatorUtils.setFormFieldProperty(d,"",p);f&&r.push(f)}),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:Zi,fields:this.assembleViewModelFields(t),commands:[],states:[],enableValidation:!0,pagination:{enable:!1}}}assembleViewModelFields(t){const o=[],{selectedFields:i}=t;return i==null||i.forEach(r=>{let a="blur";const l=r.type.name;(l===it.Enum||l===it.Boolean)&&(a="change"),o.push({type:"Form",id:r.id,fieldName:r.bindingField,groupId:null,groupName:null,updateOn:a,fieldSchema:{}})}),o}}function tr(e,t,o,i){const r=o.parentComponentInstance;if(r){const l={componentId:`form-${Math.random().toString(36).slice(2,6)}`,componentName:"标题",componentType:"form",formColumns:4,parentContainerId:r.schema.id,bindTo:"/"};return new er(e,i).createComponent(l)}else return t}Be({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"]},xt,tr,{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 sn={$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"]},cn={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"}};Be(cn,sn,xt,void 0);function _t(e,t,o){var w;function i(){o!=null&&o.resolveComponentContext&&o.resolveComponentContext()}i();const r=o&&o.getStyles&&o.getStyles()||"",a=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 d(){return!1}function p(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:o&&o.checkCanDeleteComponent?o.checkCanDeleteComponent():!0}function f(){return(t==null?void 0:t.schema.componentType)==="frame"?!0:o&&o.hideNestedPaddingInDesginerView?o.hideNestedPaddingInDesginerView():!1}function c(y){if(!y||!y.value)return null;if(y.value.schema&&y.value.schema.type==="component")return y.value;const N=n.ref(y==null?void 0:y.value.parent),m=c(N);return m||null}function u(y=t){const{componentInstance:N,designerItemElementRef:m}=y;return!N||!N.value?null:N.value.canMove?m:u(y.parent)}function S(y){return!!o&&o.canAccepts(y)}function v(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function x(){}function C(y,N){N&&o!=null&&o.onAcceptMovedChildElement&&o.onAcceptMovedChildElement(N)}function V(y,N){const{componentType:m}=y;let h=yt(m,y,N);o&&o.onResolveNewComponentSchema&&(h=o.onResolveNewComponentSchema(y,h));const T=m.toLowerCase().replace("-","_");return h&&!h.id&&h.type===m&&(h.id=`${T}_${Math.random().toString().slice(2,6)}`),h}function b(y,N){const m=String(y.getAttribute("data-controltype")),h=y.getAttribute("data-feature"),T=h?JSON.parse(h):{};T.parentComponentInstance=l.value;let O=yt(m,T);o&&o.onAcceptNewChildElement&&(O=o.onAcceptNewChildElement(y,N,O));const I=m.toLowerCase().replace("-","_");return O&&!O.id&&O.type===m&&(O.id=`${I}_${Math.random().toString().slice(2,6)}`),O}function g(y){}function _(...y){if(o&&o.getPropsConfig)return o.getPropsConfig(...y)}return l.value={canMove:s(),canSelectParent:d(),canDelete:p(),canNested:!f(),contents:t==null?void 0:t.schema.contents,elementRef:e,parent:(w=t==null?void 0:t.parent)==null?void 0:w.componentInstance,schema:t==null?void 0:t.schema,styles:r,designerClass:a,canAccepts:S,getBelongedComponentInstance:c,getDraggableDesignItemElement:u,getDraggingDisplayText:v,getPropConfig:_,getDragScopeElement:x,onAcceptMovedChildElement:C,onAcceptNewChildElement:b,onChildElementMovedOut:g,addNewChildComponentSchema:V,updateDragAndDropRules:i,triggerBelongedComponentToMoveWhenMoved:!!o&&o.triggerBelongedComponentToMoveWhenMoved||n.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!o&&o.triggerBelongedComponentToDeleteWhenDeleted||n.ref(!1)},l}const nr={id:{type:String},required:{type:Boolean,default:!1},text:{type:String,default:""},title:{type:String}},or=n.defineComponent({name:"FDynamicFormLabel",props:nr,emits:[],setup(e,t){const o=n.ref(e.title||e.text),i=n.ref(e.required),r=n.ref(e.text);return n.watch(()=>e.text,()=>{r.value=e.text}),n.watch(()=>e.required,(a,l)=>{a!==l&&(i.value=a)}),()=>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"},[r.value])])}}),ir=new Map([["appearance",We]]);function rr(e,t,o){return t}const ar={$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"]},dn={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"}};Be(dn,ar,ir,rr);function lr(e,t,o,i){const r=n.ref(e.disabled),a=n.ref(!1),l=n.ref("text"),s=n.ref(e.showBorder),d=n.ref(e.textAlign),p=n.ref(e.updateOn),f=n.computed(()=>e.editable||!e.readonly),c=n.computed(()=>e.editable&&!e.disabled&&!e.readonly),u=n.computed(()=>!e.disabled&&a.value),S=n.computed(()=>o.value===""||o.value===null||o.value===void 0),v=n.computed(()=>(e.disabled||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),x=n.computed(()=>e.readonly||!e.editable),C=n.computed(()=>e.enableTitle?o.value:""),V=n.computed(()=>({"form-control":!0,"f-utils-fill":!0,"text-left":d.value==="left","text-center":d.value==="center","text-right":d.value==="right"})),b=n.computed(()=>{const k={"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disable":r.value,"f-state-editable":c.value,"f-state-readonly":x.value,"f-state-focus":u.value};return(e.customClass||"").split(" ").reduce((B,M)=>(B[M]=!0,B),k),k}),g=n.computed(()=>s.value?"":"border-width : 0 ");function _(k,F=!0){o.value=k,i.value!==k&&(i.value=k),F&&t.emit("change",k),t.emit("update:modelValue",k),t.emit("update:value",k)}n.watch(()=>e.modelValue,(k,F)=>{k!==F&&(o.value=k,i.value=k)}),n.watch(()=>e.disabled,(k,F)=>{k!==F&&(r.value=k)});function w(k){return a.value=!1,t.emit("blur",k),k.stopPropagation(),!1}function y(k){t.emit("click",k)}function N(k){e.disabled||(s.value&&(a.value=!0),f.value&&t.emit("focus",k))}function m(k){t.emit("input",k.target.value);const F=k.target.value;i.value=F,p.value==="input"&&(t.emit("update:modelValue",F),t.emit("update:value",F))}function h(k){t.emit("keydown",k)}function T(k){t.emit("keyup",k)}function O(k){k.target.tagName!=="INPUT"&&k.preventDefault(),k.stopPropagation()}function I(k){if(p.value==="blur"){const F=k.target.value;k.stopPropagation(),_(F)}}return{changeTextBoxValue:_,disabled:r,displayText:i,editable:c,hasFocused:u,inputGroupClass:b,inputType:l,isEmpty:S,modelValue:o,readonly:x,onBlur:w,onClick:y,onFocus:N,onInput:m,onKeydown:h,onKeyup:T,onMousedown:O,onTextBoxValueChange:I,placeholder:v,textBoxClass:V,textBoxTitle:C,inputGroupStyle:g}}function sr(e,t,o){const i=n.ref(!1),r=n.computed(()=>e.enableClear&&!e.readonly&&!e.disabled),{changeTextBoxValue:a,displayText:l,hasFocused:s,isEmpty:d}=o;function p(x){i.value=x}n.watch(l,()=>{s!=null&&s.value?p(!!(l!=null&&l.value)):p(!1)});const f=n.computed(()=>({"input-group-text":!0,"input-group-clear":!0})),c=n.computed(()=>({width:"24px",display:i.value?"flex":"none"}));function u(x){x.stopPropagation(),r.value&&(a("",!0),p(!i.value),t.emit("clear"))}function S(x){r.value&&!d.value&&p(!0)}function v(x){r.value&&p(!1)}return{clearButtonClass:f,clearButtonStyle:c,hasShownClearButton:i,onClearValue:u,onMouseEnter:S,onMouseLeave:v,shouldShowClearButton:r}}const cr=["moz","ms","webkit"];function dr(){let e=0;return t=>{const o=new Date().getTime(),i=Math.max(0,16-(o-e)),r=setTimeout(()=>{t(o+i)},i);return e=o+i,r}}function ur(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const e=cr.filter(t=>`${t}RequestAnimationFrame`in window)[0];return e?window[`${e}RequestAnimationFrame`]:dr()}ur();const pr=e=>{const t=e;return t.install=function(o){o.component(t.name,e)},e},fr={checked:{type:Boolean,default:!1},mode:{type:String,default:"default"},type:{type:String,default:"secondary"},size:{type:String,default:"middle"}};function mr(e,t){const o=n.ref(e.groupText),i=n.computed(()=>e.showButtonWhenDisabled&&(e.readonly||e.disabled)),r=n.computed(()=>e.enableClear||!!e.groupText);return{appendedButtonClass:n.computed(()=>({"input-group-append":!0,"append-force-show":i.value})),appendedContent:o,shouldShowAppendedButton:r}}function gr(e,t,o,i){const{appendedContent:r}=i,a=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>',d='<span class="f-icon f-icon-eye"></span>',p=n.ref(!1);n.watch(()=>[e.readonly,e.disabled],([u,S])=>{l.value&&(o.value=u||S?"password":o.value,r.value=u||S?d:r.value)});function f(){return p.value=!p.value,o.value=p.value?"text":"password",r.value=p.value?s:d,!1}function c(){o.value=l.value?"password":"text",r.value=l.value?a.value?d:"":r.value}return c(),{isPassword:l,onClickAppendedButton:f}}function hr(e,t,o){const i=n.ref(),{onBlurTextBox:r,onFocusTextBox:a,onInput:l,onKeyDown:s,textBoxValue:d}=o,p=n.computed(()=>e.disabled||e.readonly||!e.editable?"":e.placeholder),f=n.computed(()=>({"form-control":!0,"f-utils-fill":!0})),c=n.computed(()=>({"text-align":e.textAlign}));function u(x){x.stopPropagation()}function S(){e.selectOnCreated,e.focusOnCreated}async function v(x){a(x),await n.nextTick,S()}return n.onMounted(async()=>{await n.nextTick,S()}),()=>n.createVNode("input",{ref:i,class:f.value,style:c.value,type:"text",value:d.value,disabled:e.disabled,readonly:e.readonly||!e.editable,placeholder:p.value,onBlur:r,onChange:u,onFocus:v,onInput:l,onKeydown:s},null)}function yr(e,t,o){const{canDownward:i,canUpward:r,onClickDownButton:a,onClickUpButton:l}=o,s=n.computed(()=>({"input-group-append":!0,"btn-group":!0,"btn-group-number":!0})),d=n.computed(()=>({btn:!0,"btn-secondary":!0,"btn-number-flag":!0})),p=n.computed(()=>({cursor:r()?"pointer":"not-allowed","margin-left":0})),f=n.computed(()=>({cursor:i()?"pointer":"not-allowed","margin-left":0}));return()=>n.createVNode("div",{class:s.value},[n.createVNode("button",{title:"upButton",class:d.value,style:p.value,onClick:l,disabled:!r()},[n.createVNode("span",{class:"f-icon f-icon-arrow-chevron-up number-arrow-chevron"},null)]),n.createVNode("button",{title:"downButton",class:d.value,style:f.value,onClick:a,disabled:!i()},[n.createVNode("span",{class:"f-icon f-icon-arrow-chevron-down number-arrow-chevron"},null)])])}function vr(e,t){const o=ot.useNumber(e,t),i=ot.useFormat(e,t,o),r=ot.useSpinner(e,t,i,o),a=ot.useTextBox(e,t,i,o,r),l=yr(e,t,r),{displayValue:s,modelValue:d,getRealValue:p}=o,f=hr(e,t,a),{format:c}=i,{isFocus:u}=a,S=n.computed(()=>!e.disabled&&!e.readonly);return n.onMounted(()=>{const v=p(e.modelValue);s.value=c(v)}),n.watch(()=>[e.value],([v])=>{const x=p(v);d.value=x,s.value=c(x)}),n.watch(()=>[e.modelValue],([v])=>{v!==d.value&&(d.value=v,!u.value&&(s.value=c(p(v))))}),n.watch(()=>[e.precision,e.useThousands,e.prefix,e.suffix,e.showZero],()=>{s.value=c(d.value)}),()=>n.createVNode("div",{class:"input-group f-state-hover flex-row f-cmp-number-spinner"},[f(),S.value&&l()])}function br(e,t,o,i){const r=n.ref(),a=n.ref(e.autocomplete),l=n.ref(e.enableTitle),{isPassword:s}=o,d=n.ref(e.minLength),p=n.ref(e.maxLength),f=n.ref(e.tabIndex),{disabled:c,displayText:u,inputType:S,onBlur:v,onFocus:x,onInput:C,onClick:V,onKeydown:b,onKeyup:g,onMousedown:_,onTextBoxValueChange:w,readonly:y,placeholder:N,textBoxClass:m,textBoxTitle:h}=i;return n.onMounted(()=>{e.selectOnCreated,e.focusOnCreated}),()=>n.createVNode("input",{ref:r,name:"input-group-value",autocomplete:a.value,class:m.value,disabled:c==null?void 0:c.value,maxlength:p.value,minlength:d.value,placeholder:N.value,readonly:y==null?void 0:y.value,tabindex:f.value,title:l.value&&!s.value?h.value:"",type:S.value,value:u==null?void 0:u.value,onBlur:v,onClick:V,onChange:w,onFocus:x,onInput:C,onKeydown:b,onKeyup:g,onMousedown:_},null)}function Cr(e,t){const o=n.computed(()=>e.useExtendInfo&&!!e.extendInfo),i=n.reactive({content:e.extendInfo});function r(){t.emit("updateExtendInfo")}return()=>o.value&&n.withDirectives(n.createVNode("span",{class:"input-group-before-tips",onMouseenter:r},[n.createVNode("i",{class:"f-icon f-icon-info-circle"},null),n.createVNode("b",{class:"tips-arrow"},null)]),[[n.resolveDirective("tooltip"),i]])}function wr(e,t,o,i,r){const{appendedButtonClass:a,appendedContent:l}=o,s=n.computed(()=>e.showButtonWhenDisabled&&(!e.editable||!e.readonly)&&!e.disabled),d=n.computed(()=>l.value&&!t.slots.groupTextTemplate),p=n.computed(()=>!!t.slots.groupTextTemplate),{clearButtonClass:f,clearButtonStyle:c,onClearValue:u,shouldShowClearButton:S}=i;function v(){return n.createVNode("span",{id:"clearIcon",class:f.value,style:c.value,onClick:N=>u(N)},[n.createVNode("i",{class:"f-icon modal_close"},null)])}function x(N){t.emit("iconMouseEnter",N)}function C(N){t.emit("iconMouseLeave",N)}function V(N){s.value&&t.emit("clickHandle",{originalEvent:N}),N.stopPropagation()}const b=e.type==="password"?r.onClickAppendedButton:V;function g(){return n.createVNode("span",{class:"input-group-text",onMouseenter:N=>x(N),onMouseleave:N=>C(N),innerHTML:l.value,onClick:N=>b(N)},null)}function _(){return t.slots.groupTextTemplate&&t.slots.groupTextTemplate()}function w(){return d.value?g:p.value?_:""}const y=w();return()=>n.createVNode("div",{class:a.value},[S.value&&v(),y&&y()])}const Sr=n.defineComponent({name:"FInputGroup",props:dn,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),r=lr(e,t,o,i),{inputGroupClass:a,inputType:l,inputGroupStyle:s}=r,d=mr(e),{shouldShowAppendedButton:p}=d,f=sr(e,t,r),{onMouseEnter:c,onMouseLeave:u}=f,S=gr(e,t,l,d),v=vr(e,t),x=br(e,t,S,r),C=wr(e,t,d,f,S),V=Cr(e,t),b=n.computed(()=>e.type==="number");n.watch(()=>[e.value],([_])=>{o.value=_,i.value=_}),n.watch(()=>[e.modelValue],([_])=>{o.value=_,i.value=_}),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:a.value,style:s.value,onMouseenter:c,onMouseleave:u},[b.value?v():n.createVNode(n.Fragment,null,[V(),x(),p.value&&C()])])]);return()=>g()}}),U={},K={},Y={},J={};let un=!1;function xr(){un||(un=!0,to.register(U,K,Y,J),eo.register(U,K,Y,J),no.register(U,K,Y,J),oo.register(U,K,Y,J),io.register(U,K,Y,J),ro.register(U,K,Y,J),nt.register(U,K,Y,J),mt.register(U,K,Y,J),ao.register(U,K,Y,J),lo.register(U,K,Y,J),co.register(U,K,Y,J),so.register(U,K,Y,J),uo.register(U,K,Y,J),po.register(U,K,Y,J),fo.register(U,K,Y,J),ft.register(U,K,Y,J),mo.register(U,K,Y,J),$t.register(U,K,Y,J),go.register(U,K,Y,J),ho.register(U,K,Y,J),yo.register(U,K,Y,J),vo.register(U,K,Y,J),Co.register(U,K,Y,J),bo.register(U,K,Y,J),wo.register(U,K,Y,J),So.register(U,K,Y,J),xo.register(U,K,Y,J),_o.register(U,K,Y,J),ot.register(U,K,Y,J),Zn.register(U,K,Y,J),Vo.register(U,K,Y,J),Fo.register(U,K,Y,J),jt.register(U,K,Y,J),No.register(U,K,Y,J),ko.register(U,K,Y,J),To.register(U,K,Y,J),Io.register(U,K,Y,J),Bo.register(U,K,Y,J),Mo.register(U,K,Y,J),Oo.register(U,K,Y,J),Ko.register(U,K,Y),$o.register(U,K,Y,J),jo.register(U,K,Y,J),Po.register(U,K,Y,J),Do.register(U,K,Y,J),Eo.register(U,K,Y,J),Ro.register(U,K,Y,J),Qn.register(U,K,Y,J),Pt.register(U,K,Y,J),Ao.register(U,K,Y,J),Go.register(U,K,Y,J),Jn.register(U,K,Y,J),Ho.register(U,K,Y,J),Lo.register(U,K,Y,J),Wo.register(U,K,Y,J),qo.register(U,K,Y,J),zo.register(U,K,Y,J),Uo.register(U,K,Y,J),Xo.register(U,K,Y,J))}function _r(){xr();function e(r,a){const l=K[r];return l?l(a):{}}function t(r){return U[r]||Sr}function o(r){switch(r){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(r){switch(r){case"combo-list":case"input-group":case"textarea":return"onClear"}}return{resolveEditorProps:e,resolveEditorType:t,getChangeFunctionName:o,getClearFunctionName:i}}const Vr=n.defineComponent({name:"FDynamicFormGroup",props:cn,emits:["change","update:modelValue"],setup(e,t){const o=n.ref(e.id),i=n.ref(e.customClass),r=n.ref(e.editor),a=n.ref(e.label),l=n.ref(e.modelValue),s=n.ref(e.readonly),d=n.ref(e.required),p=n.ref(e.showLabel),f=n.ref(e.visible);n.ref(e.type);const c=n.ref(),{resolveEditorProps:u,resolveEditorType:S,getChangeFunctionName:v,getClearFunctionName:x}=_r(),C=n.computed(()=>({"form-group":!0,"farris-form-group":!0,"common-group":!0,"q-state-readonly":s.value}));function V(_,w){l.value=w!==void 0?w:_,t.emit("update:modelValue",l.value),t.emit("change",l.value)}function b(){t.emit("update:modelValue","")}const g=n.computed(()=>{const _=r.value.type||"input-group",w=S(_),y=u(_,r.value),N=v(_),m=x(r.value.type);return y[N]=V,y[m]=b,()=>n.createVNode(w,n.mergeProps({ref:c},y,{modelValue:l.value,"onUpdate:modelValue":h=>l.value=h}),null)});return n.watch([()=>e.id,()=>e.customClass,()=>e.editor,()=>e.label,()=>e.modelValue,()=>e.readonly,()=>e.required,()=>e.showLabel,()=>e.visible],([_,w,y,N,m,h,T,O,I])=>{o.value=_,i.value=w,r.value=y,a.value=N,l.value=m,s.value=h,d.value=T,p.value=O,f.value=I}),t.expose({editorRef:c}),()=>f.value&&n.createVNode("div",{id:`${o.value}-input-group`,class:i.value},[n.createVNode("div",{class:"farris-group-wrap"},[n.createVNode("div",{class:C.value},[p.value&&n.createVNode(or,{id:`${o.value}-lable`,required:d.value,text:a.value,title:a.value},null),n.createVNode("div",{class:"farris-input-wrap"},[g.value()])])])])}}),Fr={},Nr={};class st{constructor(t,o){q(this,"componentId");q(this,"viewModelId");q(this,"eventsEditorUtils");q(this,"formSchemaUtils");q(this,"formMetadataConverter");q(this,"designViewModelUtils");q(this,"designViewModelField");q(this,"controlCreatorUtils");q(this,"designerHostService");q(this,"schemaService",null);q(this,"metadataService",null);q(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(r=>r.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 et=class et{static getEditorTypesByMDataType(t){const o=et.fieldControlTypeMapping[t];return o||[{key:"",value:""}]}static getAllInputTypes(){const t=[];for(let o in et.fieldControlTypeMapping)et.fieldControlTypeMapping[o].forEach(i=>{t.find(r=>r.key===i.key&&r.value===i.value)||t.push({key:i.key,value:i.value})});return t}};q(et,"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 rt=et;const ct=n.ref(0);function kr(e,t){const o=t.getBoundingClientRect(),i=e.getBoundingClientRect(),r=i.top>=o.top,a=i.top<=o.bottom;return r&&a}function Tr(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(!kr(t,e)){i.style.display="none";return}i.style.display="";const a=i.getBoundingClientRect(),l=i.querySelector("div");if(l){const s=l.getBoundingClientRect();l.style.top=a.top+"px",l.style.left=a.left-s.width+"px"}}}class Re extends st{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 r=this.formSchemaUtils.getFormMetadataBasicInfo(),a=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?rt.getEditorTypesByMDataType((l=i.designViewModelField.type)==null?void 0:l.name):rt.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:r},columns:[{field:"name",title:"字段名称"},{field:"bindingField",title:"绑定字段"},{field:"fieldType",title:"字段类型"}],textField:"bindingField",data:a}}},setPropertyRelates(s,d){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 p,f,c,u;const r=o.propertyValue,a=i&&i.parent&&i.parent.schema;if(!a)return;const l=a.contents.findIndex(S=>S.id===t.id),s=a.contents[l];let d;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),d=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,r)),d||(d=gt.getSchemaByType("form-group")||{},d.editor=gt.getSchemaByType(r)||{},delete d.editor.id,delete d.editor.binding,delete d.editor.appearance),Object.assign(d,{id:s.id,appearance:s.appearance,size:s.size,label:s.label,binding:s.binding,visible:s.visible}),Object.assign(d.editor,{isTextArea:d.isTextArea&&s.isTextArea,placeholder:(p=s.editor)==null?void 0:p.placeholder,holdPlace:(f=s.editor)==null?void 0:f.holdPlace,readonly:(c=s.editor)==null?void 0:c.readonly,require:(u=s.editor)==null?void 0:u.require}),a.contents.splice(l,1),a.contents.splice(l,0,d),i.schema=Object.assign(s,d),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(S=>S.classList.remove("dgComponentSelected")),ct.value++}getComponentConfig(t,o={},i={}){const r=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},o),a=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},i);return{...r,properties:{...a}}}}class Ir extends Re{constructor(t,o){super(t,o)}}Be({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}},sn,xt,void 0);var pn=(e=>(e[e.Value=0]="Value",e[e.SmartHelp=1]="SmartHelp",e[e.Enum=2]="Enum",e[e.Express=3]="Express",e))(pn||{}),fn=(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))(fn||{});const Or=[{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:"结束是"}],Br={"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 Mr(e,t,o){const{fieldMap:i}=o;function r(a){const l=i.get(a.fieldCode);if(!l)return[];const s=l.editor.type,d=new Set(Br[s]);return Or.filter(f=>d.has(f.value))}return{getCompareOperators:r}}function mn(){const e=n.ref({relation:0,items:[],children:[],path:[],groupId:0,level:0}),t=new Map,o=new Map;let i=0;function r(){return{id:"",fieldCode:"",fieldName:"",compareType:fn.Equal,valueType:pn.Value,value:new on,relation:0,conditionId:Date.now()}}function a(h,T){return{relation:h,items:[],children:[],path:[],groupId:++i,level:T}}function l(){const h=Object.assign({},e.value);o.forEach((T,O)=>{T.groupId===h.groupId&&o.set(O,h)}),t.forEach((T,O)=>{T.groupId===h.groupId&&t.set(O,h)}),e.value=h}function s(h){const T=new Map;let O=0;return h.forEach((I,k)=>{var F,B;if(O+=((F=I.lBracket)==null?void 0:F.length)||0,T.set(k,O),O-=((B=I.rBracket)==null?void 0:B.length)||0,O<0)throw new Error("The right bracket is out of range.")}),T}function d(h,T,O,I,k){for(let F=0;F<T;F++){const B=h+(F+1),M=a(k,B);O.children.push(M),o.set(M.groupId,O),O=O.children[O.children.length-1],I.push(O)}return O}function p(h,T,O,I,k){for(let j=T;j<=0;j++)I.pop();const F=I[I.length-1];if(!F)throw new Error("The group path is out of range");const B=h+T,M=a(k,B);return F.children.push(M),o.set(M.groupId,F),O=F.children[F.children.length-1],I.push(O),O}function f(h,T,O,I){O.pop();const k=O[O.length-1],F=a(I,h);return k.children.push(F),o.set(F.groupId,k),T=k.children[k.children.length-1],O.push(T),T}function c(h,T,O,I,k,F){let B=h[h.length-1];if(!B)throw new Error("The group path is out of range");const M=T.get(I)||0,j=T.get(O)||0;if(O<0||O===I)return h[h.length-1];const P=M-j,$=k&&k.relation!==void 0?k.relation:1;return B=P>0?d(j,P,B,h,$):B,B=P<0?p(j,P,B,h,$):B,B=P===0&&j>0&&M>0&&k&&F&&!!k.rBracket&&!!F.lBracket?f(j,B,h,$):B,B}function u(h){const O={relation:h.length&&h[0].relation!==void 0?h[0].relation:1,items:[],children:[],path:[],groupId:0,level:0},I=[O],k=s(h);return h.forEach((F,B)=>{const M=B-1,j=h[M],P=c(I,k,M,B,j,F);P.items.push(F),t.set(F.conditionId,P)}),e.value=O,O}function S(){const h=r();t.set(h.conditionId,e.value),e.value.items.push(h)}function v(h){if(!h)return;const T=t.get(h.conditionId);if(T){const O=T.items.findIndex(k=>k.conditionId===h.conditionId)+1,I=r();t.set(I.conditionId,T),T.items.splice(O,0,I),l()}}function x(h){const T=t.get(h.conditionId);T&&(T.items=T.items.filter(O=>O.conditionId!==h.conditionId),t.delete(h.conditionId),m(),l())}function C(h,T,O,I){h.reduce((k,F)=>{const B=F.conditionId!==void 0,M=F.groupId!==void 0;if(B){const j=F;O.push(j),k.items.set(j.conditionId,j)}if(M){const j=F;I.push(j),k.groups.set(j.groupId,j)}return k},T)}function V(h,T,O,I,k){h&&(h.items=T.length?h.items.filter(F=>!O.has(F.conditionId)):h.items,h.children=I.length?h.children.filter(F=>!k.has(F.groupId)):h.children)}function b(h,T,O){T.forEach(I=>{h.items.push(I),t.set(I.conditionId,h)}),O.forEach(I=>{h.children.push(I),o.set(I.groupId,h)})}function g(h){const T=h[0],O=T.conditionId!==void 0?t.get(T.conditionId):o.get(T.groupId),I={items:new Map,groups:new Map},k=[],F=[];if(O){C(h,I,k,F),V(O,k,I.items,F,I.groups);const B=a(O.relation,O.level+1);b(B,k,F),O.children.push(B),o.set(B.groupId,O),l()}}function _(h){const T=[...h.items],O=[...h.children],I=o.get(h.groupId);I&&(I.children=I.children.filter(k=>k.groupId!==h.groupId),o.delete(h.groupId),T.forEach(k=>{I.items.push(k),t.set(k.conditionId,I)}),O.forEach(k=>{I.children.push(k),o.set(k.groupId,I)}),l())}function w(h){h.relation=h.relation===1?2:1,l()}let y;function N(h){const{relation:T}=h;return(h.children&&h.children.length?h.children.map((I,k,F)=>{const B=y(I);return B[0].lBracket=(B[0].lBracket||"")+"(",B[B.length-1].rBracket=(B[B.length-1].rBracket||"")+")",B[B.length-1].relation=k<F.length-1?T:0,B}):[]).flat()}y=(h=e.value)=>{const{relation:T}=h,O=h.items.map((k,F,B)=>(k.lBracket=F===0?"(":"",k.rBracket=F===B.length-1?")":"",k.relation=F<B.length-1?T||1:0,k)),I=N(h);return[...O,...I]};function m(h){const T=h||e.value;if(T.children.length&&T.children.forEach(O=>{m(O)}),T.level===0&&!T.items.length&&T.children.length===1){const O=T.children[0];e.value.relation=O.relation,_(O)}else T.items.length===0&&T.children.length<=1&&_(T)}return{addCondition:S,changeGroupRelation:w,conditionGroupMap:t,getConditions:y,group:g,groupParentMap:o,insertConditionTo:v,loadConditionGroup:u,refresh:l,removeCondition:x,rootGroup:e,unGroup:_}}function $r(e,t,o){const i=n.ref(new Set),r=n.ref(new Set),{conditionGroupMap:a,groupParentMap:l}=o;let s,d;function p(V){let b=s.level<=V.level?s:V,g=s.level>V.level?s:V;const _=[];for(;g&&b&&g!==b;)g.level>b.level?(_.push(g),g=l.get(g.groupId)):g.level===b.level&&(b=l.get(b.groupId),b&&_.unshift(b));return _}function f(V){r.value.add(V.groupId),V.items.forEach(b=>i.value.add(b.conditionId)),V.children.forEach(b=>f(b))}function c(V){const{conditionId:b}=V;i.value.add(b),s=i.value.size===0?a.get(b):s;const g=a.get(V.conditionId);p(g).forEach(w=>f(w))}const u=n.computed(()=>i.value.size===0&&r.value.size===1),S=function(V){r.value.delete(V.groupId),V.items.forEach(g=>d(g)),V.children.forEach(g=>!u.value&&S(g));const b=l.get(V.groupId);b&&r.value.has(b.groupId)&&S(b)};d=function(V){const{conditionId:b}=V;if(i.value.has(b)&&i.value.delete(b),r.value.size>0){const g=a.get(b);g&&r.value.has(g.groupId)&&S(g)}};function v(V){const{conditionId:b}=V;i.value.size===0&&(s=a.get(b)),i.value.has(b)?d(V):c(V)}function x(){const V=[];return s&&(s.items.filter(b=>i.value.has(b.conditionId)).forEach(b=>V.push(b)),s.children.filter(b=>r.value.has(b.groupId)).forEach(b=>V.push(b))),V}function C(){i.value.clear(),r.value.clear()}return{clear:C,getSelectedGroupItem:x,selectedItems:i,toggleSelect:v}}const Vt=n.defineComponent({name:"FConditionList",props:tn,emits:["valueChange","labelCodeChange","compareTypeChange"],setup(e,t){const o=n.ref(e.key),i=n.ref(e.conditions),r=an(e),{convertToSingleControl:a,fields:l,fieldMap:s,loadFieldConfigs:d}=r,p=mn(),{addCondition:f,changeGroupRelation:c,getConditions:u,group:S,insertConditionTo:v,loadConditionGroup:x,refresh:C,removeCondition:V,rootGroup:b,unGroup:g}=p,{createConditionValue:_}=rn(),w=$r(e,t,p),{selectedItems:y,toggleSelect:N}=w,{getCompareOperators:m}=Mr(e,t,r);d(!1),l.value=a(l.value),x(i.value);function h(P){var E;const $=((E=s.get(P.fieldCode))==null?void 0:E.editor)||{type:"text"};P.value=_($.type,void 0),t.emit("labelCodeChange",P)}function T(P,$){t.emit("compareTypeChange",$)}function O(){}t.expose({getConditions:u});function I(P,$){t.emit("valueChange",P,$)}function k(P){return P.items.map($=>{var E;return n.createVNode("div",{class:"condition-list-item",key:$.conditionId},[n.createVNode("div",{class:"condition-list-item-type mr-3"},[n.createVNode(mt,{"value-field":"labelCode","text-field":"name","id-field":"id",data:l.value,modelValue:$.fieldCode,"onUpdate:modelValue":H=>$.fieldCode=H,onChange:H=>h($)},null)]),n.createVNode("div",{class:"condition-list-item-compare mr-3"},[n.createVNode(mt,{"value-field":"value","text-field":"name","id-field":"id",data:m($),modelValue:$.compareType,"onUpdate:modelValue":H=>$.compareType=H,onChange:H=>T(H,$)},null)]),n.createVNode("div",{class:"condition-list-item-control mr-3"},[n.createVNode(Vr,{editor:(E=s.get($.fieldCode))==null?void 0:E.editor,showLabel:!1,modelValue:$.value.value,"onUpdate:modelValue":H=>$.value.value=H,onChange:H=>{I(H,$)}},null)]),n.createVNode("div",{class:"condition-list-item-extend"},[n.createVNode("span",{class:"f-icon f-icon-plus-sm mr-2",onClick:()=>v($)},null),n.createVNode("span",{class:"f-icon f-icon-minus-sm",onClick:()=>V($)},null)]),n.createVNode("div",{class:"custom-control custom-checkbox"},[n.createVNode("input",{title:"selection",class:"custom-control-input",type:"checkbox",checked:y.value.has($.conditionId)},null),n.createVNode("label",{class:"custom-control-label",onClick:()=>N($)},null)])])})}function F(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 B(P){return n.createVNode("div",{class:"condition-list-content"},[n.createVNode("div",{class:"condition-list-content-group"},[k(P),P.children&&P.children.map($=>B($))]),F(P)])}function M(){S(w.getSelectedGroupItem()),w.clear()}function j(){return n.createVNode("div",{class:"condition-list-bottom"},[n.createVNode("div",{class:"add-condition-btn mb-1 mr-3",onClick:f},[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:M},[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:O},[n.createTextVNode("重置")])])}return()=>n.createVNode("div",{class:"condition-list",key:o.value},[n.createVNode("div",{class:"condition-list-body"},[B(b.value)]),j()])}});Vt.install=e=>{e.component(ln.name,ln).component(Vt.name,Vt)};const jr=["equal","notEqual","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","contain","startWidth","endWidth"],Pr={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},Dr={equal:(e,t,o)=>e&&e[t]===o,notEqual:(e,t,o)=>e&&e[t]!==o},Er={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}},Rr={equal:(e,t,o)=>e?String(o).split(",").includes(String(e[t])):!1,notEqual:(e,t,o)=>e?String(o).split(",").findIndex(r=>r===String(e[t]))===-1:!1},Ar={equal:(e,t,o)=>{if(e){const i=Number.parseFloat(String(o)),r=Number.parseFloat(String(e[t]));return isNaN(i)?isNaN(r):i===r}return!1},notEqual:(e,t,o)=>{if(e){const i=Number.parseFloat(String(o)),r=Number.parseFloat(String(e[t]));return isNaN(i)?!0:i!==r}return!1},greaterThan:(e,t,o)=>{if(e){const i=Number.parseFloat(String(o)),r=Number.parseFloat(String(e[t]));return isNaN(i)?isNaN(r):r>i}return!1},greaterThanOrEqual:(e,t,o)=>{if(e){const i=Number.parseFloat(String(o)),r=Number.parseFloat(String(e[t]));return isNaN(i)?isNaN(r):r>=i}return!1},lessThan:(e,t,o)=>{if(e){const i=Number.parseFloat(String(o)),r=Number.parseFloat(String(e[t]));return isNaN(i)?isNaN(r):r<i}return!1},lessThanOrEqual:(e,t,o)=>{if(e){const i=Number.parseFloat(String(o)),r=Number.parseFloat(String(e[t]));return isNaN(i)?isNaN(r):r<=i}return!1}};function Ft(){const e=n.ref([]),t=new Map,{loadConditionGroup:o}=mn(),i=new Map([["boolean",Dr],["datetime",Er],["enum",Rr],["number",Ar],["text",Pr]]);function r(c){t.delete(c),e.value=Array.from(t.values())}function a(){t.clear(),e.value=[]}function l(c){const{valueType:u}=c.value,S=c.compareType||"0",v=jr[Number(S)];return i.get(u)[v]}function s(c){const u=c.relation===2?0:1,S=c.items.map(x=>{const C=l(x);return b=>C(b,x.fieldCode,x.value.getValue())}),v=c.children&&c.children.length?c.children.map(x=>s(x)):[];return{relation:u,filterFunctions:S,children:v}}function d(){const c=o(e.value);return s(c)}function p(c,u){const S=u.filterFunctions.map(x=>x(c)),v=u.children.map(x=>p(c,x));return u.relation===1?S.every(x=>x)&&v.every(x=>x):S.includes(!0)||v.includes(!0)}function f(c){const u=d();return p(c,u)}return{apply:f,clearCondition:a,conditions:e,removeCondition:r}}function Nt(e,t){var C,V;const{idField:o}=t,i=n.ref(e.summary),r=n.ref(e.group),a=n.ref(((C=e.group)==null?void 0:C.groupFields)||[]),l=n.ref(((V=e.group)==null?void 0:V.enable)||!1),s=n.computed(()=>{const b=i.value;return(b==null?void 0:b.groupFields)||[]}),d=n.computed(()=>{const b=r.value;return b&&b.showSummary}),p=new Map;let f=[];function c(b,g,_,w,y){const N=w[_];N&&(g.reduce((m,h,T)=>{var k;const O=h[N];let I=m.get(O);if(!I){const F=s.value.reduce((B,M)=>(B.set(M,0),B),new Map);I={field:N,title:((k=y.get(N))==null?void 0:k.title)||N,value:O,layer:_,details:[],groupSummaries:F},m.set(O,I)}return s.value&&s.value.forEach(F=>{if(I){const B=I.groupSummaries.get(F)||0;I.groupSummaries.set(F,B+h[F])}}),I.details.push(h),m},b),_<w.length-1&&b.forEach((m,h)=>{m.nestGroup=new Map,c(m.nestGroup,m.details,_+1,w,y),m.details=[]}))}function u(b,g){return e.group&&e.group.formatter?e.group.formatter(b.value,{...b,total:g}):`${b.title}:${b.value} (${g})`}function S(b){const g=[];return b.forEach(_=>{const w={__fv_data_grid_group_collapse__:!1,__fv_data_grid_group_field__:_.field,__fv_data_grid_group_layer__:_.layer,__fv_data_grid_group_row__:!0,__fv_data_grid_group_value__:_.value};let y=0;if(g.push(w),_.nestGroup){const N=S(_.nestGroup);g.push(...N),y+=N.length}if(_.details&&_.details.length&&(g.push(..._.details),y+=_.details.length),d.value){const N={__fv_data_grid_group_field__:_.field,__fv_data_grid_group_layer__:_.layer,__fv_data_grid_group_summary__:!0};N[o.value]=`summary_of_${_.field}_${_.value}`,N[_.field]=Array.from(_.groupSummaries.entries()).reduce((m,[h,T])=>`${m} ${h} total:${T} `,""),g.push(N)}_.groupSummaries&&_.groupSummaries.size&&_.groupSummaries.forEach((N,m)=>{w[m]=N}),w[o.value]=`group_of_${_.field}_${_.value}`,w[_.field]=u(_,y)}),g.forEach((_,w)=>{_.__fv_data_index__=w}),g}function v(b,g,_){return!b||b.length===0||!g.length?g:(b.join(","),p.clear(),f=[],c(p,g,0,b,_),f=S(p),f)}function x(b){return{"f-icon":!0,"f-icon-arrow-chevron-down":!0,"fv-grid-group-row-icon-collapse":b.collapse}}return{collpaseGroupIconClass:x,generateGroupData:v,groupFields:a,shouldGroupingData:l}}function Gr(e,t,o,i){const r=n.ref(!!e.hierarchy),{idField:a}=i,{collapseField:l,hasChildrenField:s,parentIdField:d}=o,p=new Map;function f(I,k){const F=new Map;return I.reduce((B,M)=>{const j=M[d.value]!==void 0?M[d.value]:"";if(j&&k.has(j)){const $=k.get(j);M.__fv_parent_index__=$.__fv_index__,$.__fv_hasChildren__=!0}const P=B.has(j)?B.get(j):[];return P.push(M),B.set(j,P),B},F),F}function c(I){const k=new Map;return I.reduce((F,B)=>{const M=B[a.value];return F.set(M,B),F},k),k}function u(I){I.forEach(k=>{const F=k[a.value];k.__fv_children_index__.map(M=>I[M]).forEach(M=>{M.__fv_parents__=new Map([...k.__fv_parents__.entries(),[F,!0]])})})}function S(I){I.forEach(k=>{const F=new Set(k.__fv_children_index__);k.__fv_children_index__=[...F].sort((B,M)=>B-M)})}function v(I,k){I.forEach(F=>{const B=F.__fv_parents__;Array.from(B.keys()).map(M=>k.get(M)).forEach(M=>{M.__fv_children_index__.push(F.__fv_index__)})}),S(I)}function x(I){I.forEach(k=>{k.__fv_child_with_lines__=[],k.__fv_child_length__=k.__fv_descendant_index__.length,k.__fv_descendant_index__.map(F=>I[F]).reduce((F,B)=>(F.__fv_child_length__+=B.__fv_children_index__.length,F.__fv_child_with_lines__.push(...B.__fv_children_index__,B.__fv_index__),F),k)})}function C(I,k){return{id:I,index:k,parentId:"",parentIndex:-1,parents:new Map,children:new Map,descendant:new Map}}function V(I,k){Array.from(k.keys()).forEach(F=>{k.get(F).reduce((M,j)=>{const P=j[a.value],$=I.get(j[a.value]),E=I.get(F);return E&&(E.children.set(P,$),E.children.set(P,$),$.parentId=F,$.parentIndex=E.index,$.parents.set(F,E)),M},I)})}function b(I){I.children.forEach(F=>{F.parents=new Map([...I.parents.entries(),[I.id,I]]),b(F)})}function g(I,k){I.filter(F=>F[d.value]===void 0||F[d.value]==="").forEach(F=>{const B=F[a.value],M=k.get(B);b(M)})}function _(I){Array.from(I.values()).forEach(k=>{Array.from(k.parents.values()).forEach(F=>{F.descendant.set(k.id,k)})})}function w(I){p.clear(),I.forEach((B,M)=>{const j=B[a.value];p.set(j,C(j,M))});const k=c(I),F=f(I,k);return V(p,F),g(I,p),_(p),p}function y(I){const k=I[a.value],F=p.get(k);return F&&F.children.size>0}function N(I){return I[s.value]&&!y(I)}function m(I){w(t.value);const k=c(I),F=f(I,k);return I.forEach((B,M)=>{var E;const j=B[a.value],P=F.has(j)?(E=F.get(j))==null?void 0:E.map(H=>H.__fv_index__):[],$=C(j,M);B.__fv_graph_node__=$,B.__fv_children_index__=P,B.__fv_descendant_index__=[...P],B.__fv_parents__=new Map,N(B)&&(B[l.value]=!0)}),u(I),v(I,k),e.showLines&&x(I),I}function h(I,k,F){const M=F.value[I][a.value],j=p.get(M);if(j){const P=p.get(j.parentId);let $=F.value.length-1;if(P){const E=Array.from(P.children.keys()).indexOf(j.id);if(E===P.children.size-1){const oe=Array.from(P.descendant.values())[P.descendant.size-1];$=F.value.findIndex(ve=>ve[a.value]===oe.id)+1}else{const oe=Array.from(P.children.values())[E+1];$=F.value.findIndex(ve=>ve[a.value]===oe.id)}k[s.value]=!1,k[d.value]=P.id,F.value.splice($,0,k)}}}function T(I,k,F){const B=F.value[I],M=B[a.value];if(p.get(M)){const $=F.value.findIndex(E=>E[a.value]===M)+1;B[s.value]=!0,B[l.value]=!1,k[s.value]=!1,k[d.value]=M,F.value.splice($,0,k)}}function O(I,k){const F=I[a.value],B=p.get(F),M=Array.from(B.descendant.keys());M.unshift(F);const j=p.get(B.parentId);if(j&&(j.children.delete(F),j.children.size===0)){const $=k.find(E=>E[a.value]===B.parentId);$[s.value]=!1,$[l.value]=!1}return k.filter($=>M.indexOf($.id)===-1)}return{generateHierarchyData:m,hasRealChildren:y,insertSibling:h,insertChild:T,shouldStratifyData:r,trimmedOriginalData:O}}const Hr={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}},Wr={showCloseButton:{type:Boolean,default:!0},animate:{type:String,default:"fadeIn"},options:{type:Object}},kt=n.defineComponent({name:"Toast",props:Wr,emits:["close","click"],setup:(e,t)=>{const o=n.ref(e.animate),i="fadeOut",r=n.computed(()=>e.options),a=n.ref(!1),l=n.computed(()=>{const V={animated:a.value,toast:!0};return V[e.animate]=!1,V[i]=a.value,V[r.value.type]=!0,r.value.theme&&(V[r.value.theme]=!0),V}),s=n.computed(()=>{const g=`f-icon-${r.value&&r.value.type?r.value.type.replace("toasty-type-",""):"default"}`,_={"f-icon":!0};return _[g]=!0,_}),d=n.computed(()=>r.value.title||r.value.message),p=n.computed(()=>r.value.title&&r.value.message),f=n.computed(()=>!r.value.title&&r.value.message),c=n.computed(()=>e.showCloseButton),u=n.computed(()=>!!r.value.buttons||!!t.slots.default);function S(V){V.stopPropagation(),V.preventDefault(),a.value=!1,setTimeout(()=>{t.emit("close",r.value)},200)}function v(V,b){}function x(V){return`f-preten-link ${V.customClass?V.customClass:""}`}n.watch(o,()=>{o.value});const C=()=>{var V;return n.createVNode(n.Fragment,null,[n.createVNode("div",{class:"after-toast-msg text-right"},[!t.slots.default&&((V=r.value.buttons)==null?void 0:V.map(b=>n.createVNode("span",{class:x(b),onClick:g=>void 0},[b.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:S},[n.createVNode("span",{class:"f-icon modal_close"},null)]),d.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"},[p.value&&n.createVNode(n.Fragment,null,[n.createVNode("h5",{class:"toast-title modal-tips-title",innerHTML:r.value.title},null),n.createVNode("p",{class:"toast-msg",innerHTML:r.value.message},null),u.value&&C()]),f.value&&(r.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:r.value.message},null),n.createVNode("div",{class:"after-toast-title text-right ml-auto"},[C()])]):n.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",innerHTML:r.value.message},null))])])])}}),dt=n.defineComponent({name:"Notify",props:Hr,emits:["close","empty"],setup(e,t){const o=n.computed(()=>({"farris-notify":!0})),i={left:12,right:12,top:20,bottom:12},r=n.ref(),a=n.ref(e.options),l=n.ref(e.showCloseButton),s=n.computed(()=>e.position||"bottom-right"),d=n.computed(()=>e.timeout!=null?e.timeout:3e3),p=n.computed(()=>{const u=e.bottom?e.bottom:i.bottom,S=e.top?e.top:i.top,v={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?`${S}px`:"",bottom:s.value.indexOf("bottom")>-1?`${u}px`:""};return s.value.indexOf("center")>-1&&(v.left="50%",v.marginLeft="calc(-24rem / 2)",s.value==="center-center"&&(v.top="50%",v.transform="translate(-50%, -50%)")),v});function f(u){t.emit("close")}d.value&&setTimeout(()=>{f()},d.value),t.expose({closeToast:f,container:r,notifyPosition:s});function c(u,S){f()}return()=>n.createVNode("div",{class:o.value,style:p.value,ref:r},[n.createVNode(kt,{options:a.value,showCloseButton:l.value,animate:e.animate,onClose:u=>c(u,a.value)},null)])}});class gn{constructor(){q(this,"notifyRefs",[]);q(this,"globalConfig",n.reactive({}))}createNotifyInstance(t){const o=this,r=Object.assign({timeout:3e3,position:"bottom-right",showCloseButton:!0},this.globalConfig,{...t}),a=document.createElement("div");a.style.display="contents";const l=n.createApp({setup(){const s=n.ref();function d(){s.value.container.style.transform="scale(0)",setTimeout(()=>{o.updateNotifyPositionForClose(r,s),l.unmount()},220)}if(r.position.indexOf("top")>-1){const p=o.getNotifyInstances(r.position),f=p[p.length-1];if(f){const c=f.value.container.getBoundingClientRect();r.top=c.bottom}}return n.onUnmounted(()=>{document.body.removeChild(a)}),n.onMounted(()=>{o.updateNotifyPositionForCreate(r,s)}),()=>n.createVNode(dt,n.mergeProps({ref:s},r,{onClose:d}),null)}});return l.provide("NotifyService",this),document.body.appendChild(a),l.mount(a),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(r=>{const a=r.value.container.getBoundingClientRect();r.value.container.style.bottom=a.height+i-a.bottom+"px"})}this.notifyRefs=[...this.notifyRefs,o]}updateNotifyPositionForClose(t,o){const i=this.notifyRefs.indexOf(o);if(t.position.indexOf("top")>-1){const r=this.getNotifyInstances(t.position),a=r.indexOf(o);r.slice(a+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="",r="",a,l,s;typeof o=="string"?i=o:o&&(i=o.message||"",r=o.title||"",l=o.position||null,s=o.showCloseButton!=null?o.showCloseButton:null,a=o.timeout!=null?o.timeout:null);const p={options:{type:t,message:i,title:r}};return l!=null&&(p.position=l),s!=null&&(p.showCloseButton=s),a!=null&&(p.timeout=a),p}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 Lr=Symbol("NOTIFY_SERVICE_TOKEN");dt.install=e=>{e.component(dt.name,dt),e.component(kt.name,kt);const t=new gn;e.provide(Lr,t),e.provide("FNotifyService",t)};function hn(e,t,o,i,r){var qe;const{pageSize:a,total:l,shouldRenderPagination:s,currentPage:d,mode:p}=r,f=new Map,c=new Map,u=new Map,S=new Map,v=new Map,x=n.ref([]),C=n.ref([]),V=Ft(),b=Nt(e,i),{generateGroupData:g,groupFields:_,shouldGroupingData:w}=b,y=n.ref(e.data),N=Gr(e,y,o,i),{generateHierarchyData:m,hasRealChildren:h,insertSibling:T,insertChild:O,shouldStratifyData:I,trimmedOriginalData:k}=N,{idField:F,reviseIdentifyField:B}=i,M=n.ref(e.newDataItem),j=n.ref(e.data),P=n.ref(e.data),{flatTreeData:$}=aa(e);if(e.data&&((qe=e.data[0])!=null&&qe.children)){const G=we(e.data);y.value=G,j.value=G,P.value=G}const E=n.ref(e.summary),H=n.computed(()=>{const G=E.value;return(G==null?void 0:G.groupFields)||[]});let oe=new Map;const ae=n.computed(()=>{var G;return((G=j.value)==null?void 0:G.length)||0}),ve=n.ref(e.pagination),Te=new gn,xe=n.computed(()=>s.value?p.value==="server"?0:(d.value-1)*a.value:0),ye=n.computed(()=>s.value?p.value==="server"?Math.min(a.value,l.value,ae.value):Math.min(xe.value+a.value,l.value,ae.value):ae.value);function we(G){return $(G)}function Ne(){var ne;j.value=y.value,w.value&&(j.value=g(_.value,y.value,t)),oe=H.value.reduce((Fe,Pe)=>(Fe.set(Pe,0),Fe),oe);const G=xe.value,ee=ye.value;let re=0;const Ve=[];if((ne=j.value)!=null&&ne.length){B(j.value);const Fe=F.value!==e.idField;for(let Pe=G;Pe<ee;Pe++){const he=j.value[Pe];he.__fv_data_grid_group_row__?(re=0,he.__fv_data_index__=""):he.__fv_data_grid_group_summary__?he.__fv_data_index__="":(re++,s.value?he.__fv_data_index__=re+(d.value-1)*a.value:he.__fv_data_index__=re),he.__fv_index__=Pe,Fe&&(he[F.value]=Pe),H.value.forEach(je=>{const De=oe.get(je)||0;oe.set(je,De+he[je])}),Ve.push(he)}}return I.value&&m(Ve),P.value=[...Ve],Ve}const ie=n.ref(Ne());function pe(G,ee,re=!1){const ne=(re?Ne():[...P.value]).filter(he=>V.apply(he)),Fe=G&&G.length?ne.filter(he=>G.reduce((je,De)=>je&&De.filter(he),!0)):ne,Pe=ee&&ee.length?Fe.sort((he,je)=>{const De=[...ee],be=De.shift();let ze=be.compare(he[be.field],je[be.field]);for(;ze===0&&De.length!==0;){const tt=De.shift();tt&&(ze=tt.compare(he[tt.field],je[tt.field]))}return ze}):Fe;return ie.value=Pe.map((he,je)=>{if(he.__fv_data_grid_group_row__){const De=`group_of_${he.__fv_data_grid_group_field__}_${he.__fv_data_grid_group_value__}`;he.__fv_data_grid_group_collapse__=!!f.get(De)}return he.__fv_index__=je,he}),ie.value}function W(G){return v.clear(),C.value=G,C.value.reduce((ee,re)=>(ee.set(re.field,re),ee),v),pe([],C.value)}function z(G,ee){return v.set(G,ee),C.value=Array.from(v.values()),pe([],C.value)}function le(G){return v.delete(G),C.value=Array.from(v.values()),pe([],C.value)}function Q(G,ee){return c.set(G,ee),x.value=Array.from(c.values()),pe([],Array.from(v.values()))}function me(G){return c.delete(G),x.value=Array.from(c.values()),pe([],Array.from(v.values()),!0)}function ge(){return c.clear(),x.value=[],pe([],Array.from(v.values()),!0)}function ce(G,ee){const re=`group_of_${G}_${ee}`;f.set(re,!0);const Ve=ne=>ne[G]!==ee;return u.set(`collapse_${G}_${ee}`,{field:G,fieldName:G,fieldType:"string",filterValue:ee,filter:Ve}),pe(Array.from(u.values()),Array.from(v.values()))}function Se(G,ee){const re=`group_of_${G}_${ee}`;return f.set(re,!1),u.delete(`collapse_${G}_${ee}`),pe(Array.from(u.values()),Array.from(v.values()),!0)}function A(G){const ee=G.raw[F.value],re=Ve=>!Ve.__fv_parents__.has(ee);S.set(`fold_${ee}`,{field:"id",fieldName:"id",fieldType:"string",filterValue:String(ee),filter:re}),pe(Array.from(S.values()),Array.from(v.values())),m(ie.value)}function se(G){const ee=G[F.value];S.delete(`fold_${ee}`)}function ue(G){se(G.raw),pe(Array.from(S.values()),Array.from(v.values()),!0),m(ie.value)}function L(){const G=Ne();ie.value=G,e.hierarchy&&(pe(Array.from(S.values()),Array.from(v.values())),m(ie.value))}function fe(G){var ee;if(G&&((ee=G[0])!=null&&ee.children)){const re=we(G);y.value=re,j.value=re,P.value=re}else y.value=G,j.value=G,P.value=G;L()}function Ie(G,ee,re){return(G&&G.length?ie.value.filter((ne,Fe)=>G.reduce((Pe,he)=>Pe&&he.filter(ne),!0)):ie.value).slice(ee,re)}function X(G){(G-1)*a.value<=ae.value&&L()}function te(G){y.value.push(Ee.cloneDeep(G)),ie.value=Ne()}function de(G=0){if(!(G>-1))return!1;const re=M.value();e.hierarchy?T(G,re,y):y.value.splice(G,0,re),L()}function _e(G=0){if(!(G>-1&&e.hierarchy))return!1;const re=M.value(),Ve=y.value[G];se(Ve),O(G,re,y),L()}function ke(G){const ee=G?G-1:0;y.value.splice(ee,1),L()}function Me(G){const ee=y.value.findIndex(re=>re[F.value]===G);ee!==-1&&(y.value.splice(ee,1),L())}function Ge(G){const ee=G>-1?y.value[G]:null;if(!(ee&&ee.deletable!==!1))return!1;y.value=k(ee,y.value),L()}function He(){const G=u.size>0?Array.from(u.values()):[];return pe(G,Array.from(v.values()))}function Ye(G){ve.value&&(ve.value.size=G,L())}function Je(G,ee){const re=y.value[Number(G)-1];re.editable!==!1?(re.name=ee,L()):Te.show({showCloseButton:!1,timeout:3e3,animate:"fadeIn",toasts:[{type:"string",title:"提示",msg:"当前节点禁止编辑"}]})}function Qe(G){return G.map(re=>{const Ve=P.value.findIndex(ne=>ne[F.value]===re);return Ve>-1?P.value[Ve]:null}).filter(re=>re!=null)}return{addFilter:Q,addNewDataItem:te,addSorter:z,changePageSizeTo:Ye,collapse:ce,dataView:ie,editDataItem:Je,expand:Se,filters:x,fold:A,getRange:Ie,getSelectionItems:Qe,hasRealChildren:h,load:fe,navigatePageTo:X,summaries:oe,totalItems:ae,insertNewDataItem:de,insertNewChildDataItem:_e,removeAllFilter:ge,removeDataItem:ke,removeDataItemById:Me,removeFilter:me,removeHierarchyDataItem:Ge,removeSorter:le,rawView:P,refresh:He,setSorters:W,sorters:C,updateDataView:L,unFold:ue,startIndex:xe,endIndex:ye,originalData:y}}function yn(){function t(l){return l.field}function o(l){const s=t(l),d=localStorage.getItem(s);return d?JSON.parse(d):[]}function i(l,s){const d=t(l);localStorage.setItem(d,JSON.stringify(s))}function r(l,s){if(!s)return;const d=o(l),f=[d.find(c=>c.name===s)||{id:Date.now(),name:s,selectable:!0},...d.filter(c=>c.name!==s)];f.length>5&&(f.length=5),i(l,f)}function a(l,s){const p=[...o(l).filter(c=>c.name!==s)],f=t(l);localStorage.setItem(f,JSON.stringify(p))}return{getFilterHistory:o,removeFilterHistory:a,setFilterHistory:i,updateFilterHistory:r}}function vn(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"}),r=n.computed(()=>e.hierarchy&&e.selection.showCheckbox),a=n.computed(()=>(e.treeNodeIconsData.fold||e.iconField)&&e.showTreeNodeIcons);return{collapseField:t,hasChildrenField:o,parentIdField:i,shouldShowCheckBox:r,shouldShowIcon:a}}function qr(e,t,o,i){var x,C,V,b,g,_;const{idField:r}=o,a=n.ref(((C=(x=e.hierarchy)==null?void 0:x.cascadeOption)==null?void 0:C.autoCheckChildren)||!1),l=n.ref(((b=(V=e.hierarchy)==null?void 0:V.cascadeOption)==null?void 0:b.autoCheckParent)||!1),s=n.ref(((_=(g=e.hierarchy)==null?void 0:g.cascadeOption)==null?void 0:_.selectionRange)||"All");n.watch(()=>{var w;return(w=e.hierarchy)==null?void 0:w.cascadeOption},w=>{a.value=w?!!w.autoCheckChildren:!1,l.value=w?!!w.autoCheckParent:!1,s.value=w?w.selectionRange:"All"});function d(w,y){for(let N=0;N<y.length;N++)if(!w.includes(y[N]))return!1;return!0}function p(w,y){return w.filter(m=>y.indexOf(m)===-1)}const f=n.computed(()=>s.value==="OnlyParent"),c=n.computed(()=>s.value==="OnlyChildren");function u(w,y){let N=w;const m=t.value[y],h=m.raw[r.value],T=Array.from(m.raw.__fv_descendant_index__).map(M=>t.value[M]),O=T.map(M=>M.raw[r.value]),I=d(w,O),k=d(w,[h]);return k&&I&&f.value&&(N=p(w,O),T.forEach(M=>{M.disable=!0})),k&&I&&c.value&&(N=p(w,[h]),T.forEach(M=>{M.disable=!0})),N}function S(w,y){let N=w;const m=y[r.value],h=Array.from(y.__fv_children_index__).map(B=>t.value[B]),T=h.map(B=>B.raw[r.value]),O=d(w,T),I=d(w,[y[r.value]]);return I&&O&&f.value&&(N=p(w,T),h.forEach(B=>{B.disable=!0})),I&&O&&c.value&&(N=p(w,[m]),h.forEach(B=>{B.disable=!0})),N}function v(w,y){let N=w.map(O=>O[r.value]);return y.__fv_parent_index__>0&&(N=u(N,y.__fv_parent_index__)),y.__fv_children_index__.length>0&&(N=S(N,y)),w.filter(O=>N.includes(O[r.value]))}return{autoCheckChildren:a,autoCheckParent:l,interactAfterCheckHierarchyItem:v}}function zr(e,t,o,i,r){const{select:a,unSelect:l,indeterminate:s,getSelectedItems:d}=i,{autoCheckChildren:p,autoCheckParent:f,interactAfterCheckHierarchyItem:c}=qr(e,t,o),{idField:u}=o;function S(){return t.value.filter(y=>!!y.checked).map(y=>y.raw.__fv_index__)}function v(y,N){return y.filter(h=>N.indexOf(h)===-1)}function x(y){const N=S();y.raw.__fv_children_index__.some(h=>N.includes(h))&&!!y.checked!==!0&&s(y)}function C(y){let N=y.raw.__fv_parent_index__;for(;N!==void 0;){const m=S(),h=t.value[N],T=v(h.raw.__fv_children_index__,m);T.length===h.raw.__fv_children_index__.length&&T.length!==0?l(h):T.length===0?f.value&&a(h):T.length<h.raw.__fv_children_index__.length&&h.checked!==!0&&s(h),N=h.raw.__fv_parent_index__}}function V(y){const N=!!y.checked;p.value&&y.raw.__fv_children_index__.map(m=>t.value[m]).forEach(m=>{N?a(m):l(m)})}function b(y){V(y),C(y);const N=y.raw;let m=d();m=c(m,N),x(y),r.emit("selectionChange",m)}function g(y,N){let m=-1;if(y.raw.__fv_parent_index__>-1){const I=t.value[y.raw.__fv_parent_index__].raw.__fv_descendant_index__,k=I.length>1,F=I.findIndex(M=>M===N),B=F===I.length-1;m=k?B?I[F-1]:I[F+1]:-1}return m>-1?t.value[m]:null}function _(y){return y.raw.__fv_parent_index__>-1?t.value[y.raw.__fv_parent_index__]:null}function w(y){const N=t.value[y];if(!N)return null;const m=g(N,y),T=m!==null?m:_(N);return T?T.raw[u.value]:null}return{getNextSelectableHierarchyItemId:w,toggleSelectHierarchyItem:b}}function bn(e,t,o,i,r,a,l,s){var Ie;const{dataView:d}=t,{getVisualData:p,maxVisibleRowIndex:f,minVisibleRowIndex:c}=r,u=n.ref(i.value.primaryColumnsWidth),S=n.ref(i.value.leftColumnsWidth),v=n.ref(i.value.rightColumnsWidth),x=((Ie=e.rowOption)==null?void 0:Ie.height)||28,C=n.ref(0),V=n.ref(0);let b=0,g=a.value-1;const _=n.ref(0),w=n.ref(0),y=n.ref(0);function N(){if(d.value.length<=0)return 0;const X=f.value<d.value.length?d.value[f.value]:d.value[d.value.length-1];return(X.__fv_data_position__||0)+(X.__fv_data_height__||0)+Math.max(d.value.length-1-f.value,0)*x}const m=n.computed(()=>{const X=N();return d.value.length>a.value+l?Math.floor((a.value+l)/d.value.length*w.value):Math.floor(w.value/Math.max(X,w.value)*w.value)}),h=n.computed(()=>Math.floor(y.value/Math.max(u.value,y.value)*_.value)),T=0,O=0,I=n.computed(()=>_.value-(S.value+u.value+v.value+s.value));function k(X){const te=d.value.find(de=>de.__fv_data_position__>X);return te?te.__fv_index__-1:0}function F(X){var Ge,He;if(!d.value.length){o.value=[];return}const te=(Ge=e.pagination)!=null&&Ge.enable?0:Math.max(b-l,0),de=d.value[d.value.length-1].__fv_index__,_e=(He=e.pagination)!=null&&He.enable?d.value.length-1:Math.min(g+l-1,de),ke=d.value[te-1],Me=p(te,_e,ke,X);Me.length&&(o.value=[...Me])}const B=n.computed(()=>N()>w.value),M=n.computed(()=>Math.floor(u.value)>y.value);function j(X){let te=C.value+X;te>T&&(te=T);const de=te>T,_e=N(),ke=B.value;ke&&te<w.value-_e&&(te=w.value-_e),(!ke||de)&&(te=T),C.value!==te&&(C.value=te,b=k(Math.abs(C.value)),g=b+a.value,(b<c.value||g>f.value-l/2)&&F())}function P(X){if(!M.value){V.value=0;return}let te=V.value+X;te>O&&(te=O),te<I.value&&(te=I.value),V.value!==te&&(V.value=te)}function $(){Math.abs(V.value)+y.value>u.value&&(V.value=Math.min(y.value-u.value,0))}function E(){C.value=0,b=0,g=a.value-1,F()}n.watch(y,()=>{P(0)}),n.watch(i,()=>{u.value=i.value.primaryColumnsWidth,S.value=i.value.leftColumnsWidth,v.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 oe(X){X.preventDefault(),X.stopPropagation();const{deltaX:te,deltaY:de}=H(X);j(de),P(te)}const ae=n.computed(()=>({height:`${d.value.length*x}px`,width:`${S.value}px`,transform:`translateY(${C.value}px)`})),ve=n.computed(()=>({transform:`translateY(${C.value}px)`})),Te=n.computed(()=>({height:`${d.value.length*x}px`,width:`${u.value}px`,transform:`translate(${V.value}px, ${C.value}px)`})),xe=n.computed(()=>({transform:`translate(${V.value}px, ${C.value}px)`})),ye=n.computed(()=>({height:`${d.value.length*x}px`,width:`${v.value}px`,transform:`translateY(${C.value}px)`})),we=n.computed(()=>({transform:`translateY(${C.value}px)`})),Ne=n.computed(()=>({height:`${d.value.length*x}px`,width:`${s.value}px`,transform:`translateY(${C.value}px)`})),ie=n.computed(()=>({width:`${S.value}px`})),pe=n.computed(()=>({transform:`translateX(${V.value}px)`})),W=n.computed(()=>({width:`${v.value}px`})),z=n.computed(()=>{const X=N();return C.value/(w.value-X)*(w.value-m.value)}),le=n.computed(()=>({height:`${m.value}px`,top:`${z.value}px`})),Q=n.computed(()=>V.value/I.value*(_.value-h.value)),me=n.computed(()=>({width:`${h.value}px`,left:`${Q.value}px`})),ge=n.ref(!1),ce=n.ref(-1),Se=n.ref(-1),A=n.ref();function se(X){if(ge.value&&Se.value!==-1){const te=Se.value-X.pageX,de=_.value-h.value;if(Math.abs(te)<=de){const _e=te/(y.value-h.value)*(u.value-y.value);P(_e),Se.value=X.pageX}}}function ue(X){if(ge.value&&ce.value!==-1){const te=ce.value-X.pageY,de=N(),_e=de-m.value;if(Math.abs(te)<=_e){const ke=te/(w.value-m.value)*(de-w.value);j(ke),ce.value=X.pageY}}}function L(X){ge.value=!1,ce.value=-1,Se.value=-1,document.removeEventListener("mouseup",L),document.removeEventListener("mousemove",se),document.removeEventListener("mousemove",ue),document.body.style.userSelect="",A.value&&(A.value.style.opacity=null)}function fe(X,te,de){var Me;ge.value=!0;const _e=(Me=X.target)==null?void 0:Me.parentElement;_e&&(_e.style.opacity=1,A.value=_e);const ke=de==="horizontal"?se:ue;de==="vertical"&&(ce.value=X.pageY),de==="horizontal"&&(Se.value=X.pageX),te.value&&(te.value,document.addEventListener("mousemove",ke),document.addEventListener("mouseup",L),document.body.style.userSelect="none")}return{onMouseDownScrollThumb:fe,onWheel:oe,dataGridWidth:_,gridDataStyle:Te,gridHeaderColumnsStyle:pe,gridMergedDataStyle:xe,gridSideStyle:Ne,fitHorizontalScroll:$,viewPortWidth:y,viewPortHeight:w,horizontalScrollThumbStyle:me,leftFixedGridDataStyle:ae,leftFixedGridHeaderColumnsStyle:ie,leftFixedGridMergedDataStyle:ve,reCalculateVisualDataRows:F,resetScroll:E,rightFixedGridDataStyle:ye,rightFixedGridHeaderColumnsStyle:W,rightFixedGridMergedDataStyle:we,shouldShowHorizontalScrollbar:M,shouldShowVirticalScrollbar:B,verticalScrollThumbStyle:le,offsetX:V,offsetY:C}}function Cn(e,t,o,i,r,a,l,s){const d=n.ref(i.value-1+r),p=n.ref(0),{renderDataRow:f}=a,c=l?l.renderGroupRow:f,u=s?s.renderSummaryRow:f;function S(C){let V=f;return C.__fv_data_grid_group_row__&&(V=c),C.__fv_data_grid_group_summary__&&(V=u),V}function v(C,V,b,g){const{dataView:_}=o,w=[];if(_.value.length>0){const y=g?Date.now().toString():"";for(let N=C,m=0;N<=V;N++,m++){const h=_.value[N],T=_.value[N-1]||b,O=w[m-1],I=T?(T.__fv_data_position__||0)+(T.__fv_data_height__||0):0,F=S(h)(h,T,O,N,I,t.value);F.refreshKey=y,w.push(F)}}return p.value=w.length>0?w[0].index:0,d.value=w.length>0?w[w.length-1].index:0,w}function x(C,V,b){const g=V.groupField||"",{groupValue:_}=V;o[C](g,_);const{dataView:w}=o,y=b[0].index,N=Math.min(y+i.value+r+1,w.value.length-1);return v(y,N)}return{getVisualData:v,maxVisibleRowIndex:d,minVisibleRowIndex:p,toggleGroupRow:x}}function Ur(){function e(t,o){var a,l;const i=o.raw[t.field],r=(a=t.editor)==null?void 0:a.enumData.find(s=>{var d;return s[(d=t.editor)==null?void 0:d.idField]===i});return r==null?void 0:r[((l=t.editor)==null?void 0:l.textField)||"name"]}return{renderEnumColumn:e}}function Kr(){function e(i,r){return i?n.createVNode("span",{innerHTML:r.formatter.trueText},null):n.createVNode("span",{innerHTML:r.formatter.falseText},null)}function t(i,r){var a,l;return i?(a=r.formatter)==null?void 0:a.trueText:(l=r.formatter)==null?void 0:l.falseText}function o(i,r){const{formatter:a}=i,l=r.raw[i.field];if(a.type===Ct.TEXT)return t(l,i);if(a.type===Ct.IMAGE)return e(l,i)}return{renderBooleanColumn:o}}function Xr(){const{formatTo:e}=Ue.useDateFormat();function t(i,r){return e(i,r.formatter.dateFormat)}function o(i,r){const a=r.raw[i.field];return t(a,i)}return{renderDateColumn:o}}function Yr(){const{formatTo:e}=Ue.useNumberFormat();function t(i,r){const{formatter:a}=r,l={precision:a.precision,prefix:a.prefix||"",suffix:a.suffix||"",decimalSeparator:a.decimal||".",groupSeparator:a.thousand||""};return e(i,l)}function o(i,r){const a=r.raw[i.field];return t(a,i)}return{renderNumberColumn:o}}function Jr(){const{renderBooleanColumn:e}=Kr(),{renderEnumColumn:t}=Ur(),{renderNumberColumn:o}=Yr(),{renderDateColumn:i}=Xr();function r(s){return s}function a(s,d){const{formatter:p}=d;return p.customFormat?new Function(`return ${p.customFormat}`)():s}function l(s,d,p){const f=p.data[d.field],{formatter:c}=d;return c.type==="none"?f:c.type==="custom"?a(f,d):c.type==="enum"?t(d,p):c.type==="number"?o(d,p):c.type==="boolean"?e(d,p):c.type==="date"?i(d,p):f}return{renderFormatColumn:l}}function wn(e,t,o){var x;const i=n.ref(e.mergeCell),a=((x=n.ref(e.rowOption).value)==null?void 0:x.wrapContent)||!1,{updateVisualInfomation:l}=o,{renderCommandColumn:s}=Ii(),{renderFormatColumn:d}=Jr();function p(C,V,b,g,_,w=1){const y={colSpan:w,rowSpan:1,index:b,field:C,data:g[C],editingData:g[C],parent:_,mode:V,getEditor:N=>N.data,setRef:N=>l(N,y,g),update:()=>{},accept:()=>{},cancel:()=>{}};return y}function f(C,V,b){return C.getEditor=g=>t.getEditor(g,V,g.parent),C.setRef=g=>a&&l(g,C,b),C.update=g=>{g!==void 0&&(C.editingData=g)},C.accept=()=>{b[V.field]=C.editingData,C.data=b[V.field]},C.cancel=()=>{C.editingData=C.data},C}function c(C,V){V.dataType==="commands"?C.formatter=(b,g)=>s(V,g):V.formatter&&(C.formatter=(b,g)=>typeof V.formatter=="function"?V.formatter(b,g):d(V.dataType,V,g))}function u(C,V,b){const g=V&&V.data[b];if(g&&g.data===C.data){const w=g&&g.spannedBy||g;w.rowSpan++,w.spanned=w.spanned||[],w.spanned.push(C),C.colSpan=0,C.rowSpan=0,C.spannedBy=w}}function S(C,V,b){i.value&&u(C,V,b.field)}function v(C,V,b,g,_){const w=C.readonly?Oe.readonly:Oe.editable,y=p(C.field,w,V,b,g);return f(y,C,b),c(y,C),S(y,_,C),y}return{createCellByColumn:v,createCellByField:p}}function Sn(e,t,o,i,r,a){var V,b;const l=n.ref(e.rowOption),s=((V=l.value)==null?void 0:V.height)||28,d=((b=l.value)==null?void 0:b.wrapContent)||!1,{idField:p}=i,{collapseField:f}=o,{updateRowPosition:c}=r,{createCellByColumn:u}=a;function S(g,_,w,y,N,m){var oe,ae;const{__fv_data_grid_group_field__:h,__fv_data_grid_group_value__:T,__fv_data_index__:O}=w,I=w.__fv_data_grid_group_layer__||w.__fv_parents__?(oe=w.__fv_parents__)==null?void 0:oe.size:0,k=typeof w.parent=="number"?Number(w.parent):-1,F=w.__fv_data_grid_group_collapse__||w[f.value],B=w.__fv_visible__===void 0?!0:w.__fv_visible__,M=w.__fv_checked__,j=w.__fv_indeterminate__,P=y&&y[p.value]===w.parent,$=y&&y.parent===w.parent,E=P&&N&&(N.collapse||!N.visible)||$&&N&&!N.visible,H={collapse:F,data:{},dataIndex:O,groupField:h,groupValue:T,layer:I,index:_,parentIndex:k,pre:y,top:m,type:g,raw:w,checked:M,disabled:w.disabled,indeterminate:j,setRef:ve=>{H.ref=ve},visible:B&&!E,status:Ae.initial};return y||(w.__fv_data_position__=0),d||(H.height=s,w.__fv_data_height__=H.height,c(H,w)),(ae=l.value)!=null&&ae.customRowStatus&&(l.value.customRowStatus(H),w.__fv_collapse__=H.collapse,w.__fv_visible__=H.visible),H}function v(g,_,w,y,N,m){const h=S(Ke.data,N,_,w,y,m);return g.forEach((T,O)=>{h.data[T.field]=u(T,N,_,h,y)}),h}function x(g,_,w,y,N){return Object.assign(g,{index:_,dataIndex:w,top:y,pre:N})}function C(g,_,w,y,N,m){const h=g.__fv_data_index__,T=g[p.value],O=t.getEditingSnapshot(T);return O===null?v(m,g,_,w,y,N):x(O,y,h,N,w)}return{createEmptyRow:S,createNewRowFromDataItem:v,renderDataRow:C}}function Qr(e,t,o,i){const r=n.ref(e.summary),{idField:a}=t,{createCellByField:l}=o,{createEmptyRow:s}=i,d=n.computed(()=>{const u=r.value;return(u==null?void 0:u.groupFields)||[]}),p=n.computed(()=>{const u=r.value;return u&&u.enable&&u.groupFields&&u.groupFields.length>0});function f(u,S,v,x){if(p.value){const C=u.data[S];let V=C.colSpan;const b=d.value.reduce((g,_)=>(g.set(_,!0),g),new Map);x.reduce((g,_,w)=>{if(b.has(_.field)){const y=l(_.field,Oe.readonly,w,v,u);u.data[_.field]=y,V-1>w&&(V=w)}return g},u),C.colSpan=V}}function c(u,S,v,x,C,V){const b=u.__fv_data_grid_group_field__,g=s(Ke.group,x,u,S,v,C);return g.data[a.value]=l(a.value,Oe.readonly,-1,u,g,0),g.data[b]=l(b,Oe.readonly,1,u,g,V.length),f(g,b,u,V),g}return{renderGroupRow:c}}function Zr(e,t,o,i){const{idField:r}=t,{createCellByField:a}=o,{createEmptyRow:l}=i;function s(d,p,f,c,u,S){const v=d.__fv_data_grid_group_field__,x=l(Ke.summary,c,d,p,f,u);return x.data[r.value]=a(r.value,Oe.readonly,-1,d,x),x.data[v]=a(v,Oe.readonly,1,d,x,S.length),x}return{renderSummaryRow:s}}function xn(e,t,o){var N;const{idField:i}=o,r=n.ref(e.editable),a=n.ref(e.editOption),l=n.ref(((N=e.rowOption)==null?void 0:N.wrapContent)||!1);n.watch(()=>e.editable,()=>{r.value=e.editable}),n.watch(()=>{var m;return(m=e.editOption)==null?void 0:m.editMode},m=>{a.value.editMode=m});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 d,p,f,c;function u(m){return p&&p.raw[i.value]===m?p:null}function S(m,h,T){m.mode=Oe.editing,d=m,p=h,f=h.raw[m.field],c=T}function v(m){m.accept(),m.mode=Oe.editable,t.emit("endEditCell",{cell:m,row:p,newValue:p==null?void 0:p.raw[m.field],oldValue:f,column:c})}function x(m){d&&(v(d),p&&(p=null)),document.body.removeEventListener("click",x)}function C(m,h,T,O){r.value&&a.value.editMode==="cell"&&h.mode===Oe.editable&&(d&&v(d),S(h,T,O),document.body.removeEventListener("click",x),document.body.addEventListener("click",x))}function V(m){Object.values(m.data).filter(h=>h.mode===Oe.editable&&h.field!=="__commands__").forEach(h=>{h.mode=Oe.editing}),m.status=Ae.editing,p=m}function b(m,h){Object.values(m.data).filter(T=>T.mode===Oe.editing).forEach(T=>{h?T.accept():T.cancel(),T.mode=Oe.editable}),m.status=Ae.initial,p===m&&(p=null)}function g(m){r.value&&a.value.editMode==="row"&&p!==m&&(p&&b(p,!1),V(m))}function _(m){b(m,!0),m.status=Ae.initial}function w(m){b(m,!1),m.status=Ae.initial}function y(m,h,T){const O=h.dataType,I=h.editor||{type:s.get(O)||"input-group"};return!l.value&&I.type==="text"&&(I.type="input-group"),I?n.createVNode(ft.FDynamicFormInput,{focusOnCreated:e.focusOnEditingCell,selectOnCreated:e.selectOnEditingCell,editor:I,modelValue:m.editingData,"onUpdate:modelValue":k=>m.editingData=k},null):m.data}return{onClickCell:C,onEditingRow:g,acceptEditingRow:_,cancelEditingRow:w,getEditingSnapshot:u,getEditor:y}}function _n(e){const t=n.ref(e.idField);function o(i){if(i&&i.length){const r=i[0];Object.keys(r).includes(t.value)||(t.value="__fv_indetify__")}}return{idField:t,reviseIdentifyField:o}}function ea(e,t,o,i,r,a){const{addNewDataItemAtLast:l}=o,{columnContext:s}=i,{onClickCell:d}=r;function p(v,x){const C=s.value.primaryColumns.findIndex(N=>N.field===v.field),V=v.parent,b=V.index,g=s.value.primaryColumns.length-1,_=a.value.length-1,w=C===g,y=b===_;if(C>-1&&!w){const N=s.value.primaryColumns[C+1],m=V.data[N.field];d(x,m)}if(w&&!y){const m=a.value[b+1].data[s.value.primaryColumns[0].field];d(x,m)}if(w&&y){if(e.appendOnEnterAtLastCell){l();const m=a.value[b+1].data[s.value.primaryColumns[0].field];d(x,m)}t.emit("enterUpInLastCell")}}function f(v,x){const C=s.value.primaryColumns.findIndex(_=>_.field===v.field),V=v.parent,b=s.value.primaryColumns.length-1;if(C>0&&C<=b){const _=s.value.primaryColumns[C-1],w=V.data[_.field];d(x,w)}}function c(v,x){const C=v.field,b=v.parent.index,g=a.value.length-1;if(b>-1&&b<g){const y=a.value[b+1].data[C];d(x,y)}}function u(v,x){const C=v.field,b=v.parent.index,g=a.value.length-1;if(b>0&&b<=g){const y=a.value[b-1].data[C];d(x,y)}}function S(v,x){const{key:C,shiftKey:V}=v;if(C==="Enter"&&!V){p(x,v);return}if(V&&C==="Enter"){f(x,v);return}if(C==="ArrowDown"){c(x,v);return}C==="ArrowUp"&&u(x,v)}return{navigateOnKeyUp:S}}function Vn(e,t,o,i){const{idField:r}=i,{currentSelectedDataId:a,multiSelectOnClickRow:l,multiSelectOnClickRowWithShift:s,selectItem:d,selectedValues:p,toggleSelectItem:f,enableSelectRow:c}=o,u=n.ref(0),S=n.ref(-1);function v(y){return c.value&&(s.value?p.value.includes(y.raw[r.value]):y.raw[r.value]===a.value)}function x(y){var m;const N={"fv-grid-row":y.type===Ke.data,"fv-grid-group-row":y.type===Ke.group,"fv-grid-summary-row":y.type===Ke.summary,"fv-grid-row-hover":y.index===S.value,"fv-grid-row-selected":v(y),"fv-grid-row-odd":y.dataIndex%2>0,"fv-grid-row-even":y.dataIndex%2===0,"fv-grid-disabled":y.disabled};if((m=e.rowOption)!=null&&m.customRowStyle){const h=e.rowOption.customRowStyle(y.raw)||{};return Object.assign({},N,h)}return N}function C(y){var m;const N={"fv-grid-cell":!0};if((m=e.rowOption)!=null&&m.customCellStyle){const h=e.rowOption.customCellStyle(y)||{};return Object.assign({},N,h)}return N}function V(y){u.value+=1,setTimeout(()=>{u.value===1&&t.emit("ClickRow",y.index,y.raw),u.value=0},250),u.value>1&&(t.emit("doubleClickRow",y.index,y.raw),console.log(`on double click row: ${y.index}`),u.value=0)}function b(y,N){if(N.disabled)return;s.value&&y.shiftKey||l.value?f(N):d(N),V(N),y.stopPropagation()}function g(y,N){}function _(y,N){}function w(y){var m;const N={"fv-grid-sidebar-row":!0,"fv-grid-sidebar-row-hover":y.index===S.value,"fv-grid-sidebar-row-selected":v(y),"fv-grid-sidebar-row-odd":y.dataIndex%2>0,"fv-grid-sidebar-row-even":y.dataIndex%2===0};if((m=e.rowOption)!=null&&m.customRowStyle){const h=e.rowOption.customRowStyle(y.raw)||{};return Object.assign({},N,h)}return N}return{gridCellClass:C,gridRowClass:x,onClickRow:b,onMouseoverRow:g,sidebarRowClass:w,onMouseoutRow:_}}function Fn(e,t,o,i,r){const{idField:a}=o,l=n.ref(""),s=n.computed(()=>e.selection.enableSelectRow),d=n.ref(e.selection.multiSelect??!1),p=n.ref(e.selection.multiSelectMode),f=n.ref(e.selection.showCheckbox),c=n.ref(e.selection.showSelectAll),u=n.ref(e.selectionValues);n.watch(()=>e.selection.showSelectAll,($,E)=>{$!==E&&(c.value=$)});function S(){return t.getSelectionItems(u.value)}function v(){const $=i.value.reduce((H,oe)=>(H.set(oe.raw[a.value],oe),H),new Map);return u.value.map(H=>$.get(H)).filter(H=>!!H)}const x=n.computed(()=>s.value&&d.value),C=n.computed(()=>!!e.hierarchy),V=n.computed(()=>{const $=f.value&&p.value==="DependOnCheck";return x.value&&$}),b=n.computed(()=>x.value&&!f.value),g=n.computed(()=>x.value&&f.value&&p.value==="OnCheckAndClick");n.computed(()=>g.value);function _(){const $=t.getSelectionItems(u.value);r.emit("selectionChange",$)}function w(){i.value.forEach(E=>{E.checked=!1,E.indeterminate=!1,E.raw.__fv_checked__=!1,E.raw.__fv_indeterminate__=!1}),v().forEach(E=>{E.checked=!0,E.raw.__fv_checked__=!0})}n.watch(()=>i.value,()=>{w()}),n.watch(()=>e.selectionValues,$=>{u.value=$,w()},{immediate:!0}),n.watch(()=>e.selection,$=>{d.value=!!$.multiSelect,p.value=$.multiSelectMode||"DependOnCheck",f.value=!!$.showCheckbox});const y=n.computed(()=>!d.value);function N($){return $.raw[a.value]||""}function m($){return u.value.findIndex(H=>H===N($))}function h(){v().forEach(H=>{H.checked=!1}),t.getSelectionItems(u.value).forEach(H=>{H.__fv_checked__=!1}),u.value=[],l.value=""}function T($){const E=$.raw;E.__fv_checked__=!0,E.__fv_indeterminate__=!1;const H=new Set(u.value);H.add(E[a.value]),u.value=Array.from(H.values()),$.checked=!0,$.indeterminate=!1,l.value=$.raw[a.value]}function O($){const E=$.raw;E.__fv_checked__=!1,E.__fv_indeterminate__=!1,u.value=u.value.filter(H=>H!==E[a.value]),$.checked=!1,$.indeterminate=!1,l.value=""}function I($){const E=$.raw;E.__fv_checked__=!1,E.__fv_indeterminate__=!0,u.value=u.value.filter(H=>H!==E[a.value]),$.checked=!1,$.indeterminate=!0}function k($){y.value&&h(),$.checked?O($):T($),_()}function F($){$.raw[a.value]!==l.value&&(h(),T($),_())}function B($){const E=i.value.find(H=>H.raw[a.value]===$);E&&F(E)}function M(){i.value.forEach($=>T($)),l.value="",_()}function j(){u.value.splice(0,u.value.length),l.value="",i.value.forEach($=>{const E=$.raw;E.__fv_checked__=!1,E.__fv_indeterminate__=!1,$.checked=!1,$.indeterminate=!1}),_()}function P(){return i.value.find($=>$.raw[a.value]===l.value)}return{clearSelection:h,currentSelectedDataId:l,enableMultiSelect:d,enableSelectRow:s,findIndexInSelectedItems:m,getSelectedItems:S,getSelectionRow:P,indeterminate:I,isSelectingHirarchyItem:C,multiSelectMode:p,multiSelectOnClickRow:g,multiSelectOnClickRowWithShift:b,multiSelectOnlyOnCheck:V,select:T,selectAll:M,selectedValues:u,selectItem:F,selectItemById:B,showCheckBox:f,showSelectAll:c,toggleSelectItem:k,unSelect:O,unSelectAll:j}}function Nn(e,t){var C,V;const o=String(Date.now()),i=50,{showCheckBox:r,showSelectAll:a}=t,l=n.ref(((C=e.rowNumber)==null?void 0:C.enable)??!1),s=n.computed(()=>e.hierarchy&&r.value&&e.selection.enableSelectRow&&e.selection.multiSelect?!1:r.value),d=n.ref(l.value?((V=e.rowNumber)==null?void 0:V.width)??32:0),p=n.ref(s.value?i:0),f=n.computed(()=>{var b;return l.value?((b=e.rowNumber)==null?void 0:b.heading)??"序号":""}),c=n.computed(()=>(s.value&&!e.hierarchy?Number(p.value):0)+(l.value?Number(d.value):0));n.watch(()=>e.rowNumber,b=>{b&&b.enable!==void 0&&(l.value=b.enable),b&&b.width!==void 0&&(d.value=b.width)});function u(b){return{top:`${b.top}px`,width:`${c.value}px`,height:`${b.height||""}px`}}const S=n.computed(()=>({width:`${c.value}px`}));function v(b){return`${o}_${b.type}_r_${b.index}_${b.refreshKey||""}`}function x(b){return`${o}_${b.type}_r_${b.index}_${b.refreshKey||""}`}return{showRowNumer:l,showSidebarCheckBox:s,sidebarCellPosition:u,sidebarCornerCellStyle:S,sidebarTitle:f,sidebarWidth:c,rowKey:x,cellKey:v}}const ta={ascend:(e,t)=>e===t?0:e===!1?-1:1,decend:(e,t)=>e===t?0:e===!0?-1:1},na={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}},oa={ascend:(e,t)=>e===t?0:e<t?-1:1,decend:(e,t)=>e===t?0:e<t?1:-1},ia={ascend:(e,t)=>e===t?0:e<t?-1:1,decend:(e,t)=>e===t?0:e<t?1:-1};function kn(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",ta],["datetime-sorter",na],["numeric-sorter",oa],["text-sorter",ia]]);function i(l){const s=(l==null?void 0:l.dataType)||"string",d=t.get(s)||"text-sorter";return o.get(d)||(l==null?void 0:l.sorter)}function r(l){return i(l.column)}function a(l,s){const d=r(l),p=(l.status&$e.sortable)===$e.sortable&&(l.status&$e.sorted)===$e.sorted,f=(l.status&$e.ascending)===$e.ascending,c=(l.status&$e.descending)===$e.descending;if(p&&d){const u=f?d.ascend:c?d.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:a}}function ra(e){function t(i){return{}}function o(i,r){const a=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}=a;return{"d-flex":!0,"h-100":!0,"w-100":r==null?void 0:r.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 Xe(e){return typeof e>"u"}function Tn(e){var c,u,S,v,x,C,V,b;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((S=e.pagination)==null?void 0:S.size),r=n.ref((v=e.pagination)==null?void 0:v.sizeLimits),a=n.ref((x=e.pagination)==null?void 0:x.mode),l=n.ref((C=e.pagination)==null?void 0:C.showIndex),s=n.ref((V=e.pagination)==null?void 0:V.showLimits),d=n.ref(((b=e.pagination)==null?void 0:b.total)||0),p=n.computed(()=>a.value==="server"?d.value||0:d.value||e.data.length||0);return n.watch(()=>{var g;return(g=e.pagination)==null?void 0:g.sizeLimits},(g,_)=>{r.value=g},{immediate:!0,deep:!0}),n.watch(()=>{var g;return(g=e.pagination)==null?void 0:g.showIndex},(g,_)=>{g!==_&&(l.value=g)}),n.watch(()=>{var g;return(g=e.pagination)==null?void 0:g.showLimits},(g,_)=>{g!==_&&(s.value=g)}),n.watch(()=>{var g;return(g=e.pagination)==null?void 0:g.total},(g,_)=>{g!==_&&(d.value=g)}),n.watch(()=>{var g;return(g=e.pagination)==null?void 0:g.enable},(g,_)=>{g!==_&&(t.value=g)}),{currentPage:o,pageSize:i,pageList:r,total:p,shouldRenderPagination:t,showPageIndex:l,showPageList:s,mode:a,updatePagination:g=>{if(!g)return;const{enable:_,total:w,size:y,index:N,sizeLimits:m,showIndex:h,showLimits:T}=g;Xe(_)||(t.value=_),Xe(N)||(o.value=N),Xe(y)||(i.value=y),Xe(m)||(r.value=m),Xe(h)||(l.value=h),Xe(T)||(s.value=T),Xe(w)||(d.value=w)}}}function aa(e){const t="parent",o="layer",i="hasChildren",r=(a,l=1,s=[],d=null)=>(a=a||[],a.reduce((p,f)=>(f.id=f.id||f.data[e.idField],f.data[t]=d,f.data[o]=l,f.data[i]=!1,p.push(f.data),f.children&&f.children.length&&(f.data[i]=!0,r(f.children,l+1,s,f.id)),p),s),s);return{flatTreeData:r}}function In(e,t,o,i,r,a,l,s,d,p,f,c,u,S,v){const{calculateCellPositionInRow:x,cellKey:C,cellPosition:V,rowKey:b,rowPosition:g,rowSpanCellPosition:_,groupCellPosition:w,summaryCellPosition:y}=l,{cellContentClass:N,cellContentPosition:m}=a,{collpaseGroupIconClass:h}=p,{gridCellClass:T,gridRowClass:O,onClickRow:I,onMouseoverRow:k,onMouseoutRow:F}=c,{onClickCell:B}=d,{toggleGroupRow:M}=u,{columnContext:j,hasLeftFixedColumn:P,hasRightFixedColumn:$}=s,{navigateOnKeyUp:E}=f,{gridDataStyle:H,gridMergedDataStyle:oe,leftFixedGridDataStyle:ae,leftFixedGridMergedDataStyle:ve,rightFixedGridDataStyle:Te,rightFixedGridMergedDataStyle:xe}=S;function ye(A,se){se.collapse=!se.collapse,v.value=M(se.collapse?"collapse":"expand",se,v.value)}function we(A,se){const ue=[];if(A.groupField&&se[A.groupField]){for(let fe=0;fe<=A.layer;fe++)ue.push(n.createVNode("div",{class:"fv-grid-group-row-icon",onClick:Ie=>ye(Ie,A)},[n.createVNode("span",{class:h(A)},null)]));const L=A.data[A.groupField];ue.push(n.createVNode("div",{ref:L.setRef,key:C(A,A.layer+1),class:"fv-grid-cell",style:w(L,se,A.layer)},[L.data])),Object.values(A.data).filter(fe=>fe.field!==A.groupField&&fe.colSpan!==0).forEach(fe=>{ue.push(n.createVNode("div",{ref:fe.setRef,key:C(A,fe.index),class:"fv-grid-cell",style:V(fe,se)},[fe.data]))})}return ue}function Ne(A,se,ue){return A.layer>-1&&n.createVNode("div",{ref:A.setRef,key:b(A),class:O(A),style:g(A),onClick:L=>I(L,A),onMouseover:L=>k(L,A)},[we(A,se)])}function ie(A,se){const ue=[];if(A.groupField&&se[A.groupField]){const L=A.data[A.groupField];ue.push(n.createVNode("div",{ref:L.setRef,key:C(A,A.layer+1),class:"fv-grid-cell",style:y(L,se,A.layer)},[L.data]))}return ue}function pe(A,se,ue){return A.layer>-1&&n.createVNode("div",{ref:A.setRef,key:b(A),class:O(A),style:g(A),onClick:L=>I(L,A),onMouseover:L=>k(L,A)},[ie(A,se)])}function W(A,se,ue){return n.createVNode("div",{ref:A.setRef,key:b(A),class:O(A),style:g(A),onClick:L=>I(L,A),onMouseover:L=>k(L,A),onMouseout:L=>F(L,A)},[Object.values(A.data).filter(L=>se[L.field]&&L.rowSpan===1).map(L=>{const fe=ue==null?void 0:ue.find(Ie=>Ie.field===L.field);return n.createVNode("div",{ref:L.setRef,key:C(A,L.index),class:T(L),style:V(L,se),onClick:Ie=>B(Ie,L,A,fe),onKeyup:Ie=>E(Ie,L)},[n.createVNode("div",{class:N(L,fe),style:m(L)},[n.createVNode("div",{class:{"text-truncate":fe==null?void 0:fe.showEllipsis,"w-100":fe==null?void 0:fe.showEllipsis,"text-center":!0}},[L.data!=null&&t.slots.cellTemplate?t.slots.cellTemplate({cell:L,row:A}):L.mode===Oe.editing?L.getEditor(L):L.formatter?L.formatter(L,A):L.data!=null?L.data.toString():L.data])])])})])}const z=[W,Ne,pe];function le(A,se){const ue=x(A);return v.value.map(L=>z[L.type](L,ue,A))}function Q(A){const se=x(A);return v.value.map(ue=>Object.values(ue.data).filter(L=>se[L.field]&&L.rowSpan>1).map(L=>n.createVNode("div",{key:C(ue,L.index),class:"fv-grid-cell fv-grid-merged-cell",style:_(ue,L,se)},[L.data])))}function me(){return n.createVNode("div",{ref:i,class:"fv-grid-content-left-fixed"},[n.createVNode("div",{class:"fv-grid-data",style:ae.value},[le(j.value.leftColumns.filter(A=>A.visible))]),n.createVNode("div",{class:"fv-grid-merge-date",style:ve.value},[Q(j.value.leftColumns.filter(A=>A.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(A=>A.visible))]),n.createVNode("div",{class:"fv-grid-merge-date",style:oe.value},[Q(j.value.primaryColumns.filter(A=>A.visible))])])}function ce(){return n.createVNode("div",{ref:r,class:"fv-grid-content-right-fixed"},[n.createVNode("div",{class:"fv-grid-data",style:Te.value},[le(j.value.rightColumns.filter(A=>A.visible))]),n.createVNode("div",{class:"fv-grid-merge-date",style:xe.value},[Q(j.value.rightColumns.filter(A=>A.visible))])])}function Se(){const A=[];return P.value&&A.push(me()),A.push(ge()),$.value&&A.push(ce()),A}return{renderDataArea:Se}}const Le=n.defineComponent({name:"FDataGrid",props:lt,emits:["ClickRow","doubleClickRow","selectionChange","enterUpInLastCell","pageIndexChanged","pageSizeChanged","endEditCell"],setup(e,t){var Kn;const r=n.ref(e.columns),a=R.useIdentify(e),l=n.ref(),s=n.ref(),d=n.ref(),p=n.ref(),f=n.ref(),c=n.ref([]),u=n.ref(!1),S=n.ref(((Kn=e.rowOption)==null?void 0:Kn.wrapContent)||!1),v=R.useGroupData(e,a),x=R.useFilter(),C=R.useHierarchy(e),{showLoading:V,renderLoading:b}=R.useLoading(e,l),g=R.usePagination(e),{shouldRenderPagination:_}=g,w=R.useDataView(e,new Map,C,a,g),y=R.useSelection(e,w,a,c,t),N=n.computed(()=>e.disable),m=n.computed(()=>_.value?w.dataView.value.length:Math.min(w.totalItems.value,100));n.computed(()=>e.loadingConfig.message);const{containerStyleObject:h}=R.useDataViewContainerStyle(e),T=R.useCommandColumn(e),{applyCommands:O}=T;O(r);const I=R.useColumn(e),k=R.useSort(e),{applyColumnSorter:F,columnContext:B,updateColumnRenderContext:M}=I;F(w,k);const j=R.useGroupColumn(e,B),P=R.useEdit(e,t,a),$=R.useVisualDataBound(),E=R.useVisualDataCell(e,P,$),H=R.useVisualDataRow(e,P,C,a,$,E),oe=R.useVisualGroupRow(e,a,E,H),ae=R.useVisualSummaryRow(e,a,E,H),ve=R.useVisualData(e,r,w,m,0,H,oe,ae),{getVisualData:Te}=ve,xe=R.useCellContentStyle(B),ye=R.useCellPosition(e,B),we=R.useSidebar(e,y),{sidebarWidth:Ne}=we;c.value=Te(0,m.value+0-1);const ie=R.useVirtualScroll(e,w,c,B,ve,m,0,Ne),{onWheel:pe,dataGridWidth:W,viewPortHeight:z,viewPortWidth:le,resetScroll:Q}=ie,me=R.useFitColumn(e,B,s,le,j),{calculateColumnsSize:ge}=me,ce=R.useFilterHistory(),Se=R.useColumnFilter(s,f,w,ce,ie),A=R.useRow(e,t,y,a),se=R.useDragColumn(e,t,I,w,j,v,ie),ue=n.computed(()=>({"fv-grid":!0,"fv-datagrid-strip":e.showStripe})),L=n.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":u.value,"fv-grid-wrap-content":S.value})),{renderGridHeader:fe,renderGridColumnResizeOverlay:Ie}=R.getColumnHeader(e,s,p,f,I,w,se,Se,x,ce,me,j,y,we,k,ie,le,c),{renderDataGridPagination:X}=R.getPagination(e,t,w,ie,g),{renderDataGridSidebar:te}=R.getSidebar(e,A,y,we,ie),{renderDisableMask:de}=R.getDisableMask(),{renderDataGridSummery:_e}=R.getSummary(e,w,I),{renderHorizontalScrollbar:ke}=R.getHorizontalScrollbar(e,s,ie),{renderVerticalScrollbar:Me}=R.getVerticalScrollbar(e,s,ie),{renderFilterPanel:Ge}=R.getFilterPanel(e,I,w,x,ie),{renderGroupPanel:He}=R.getGroupPanel(e,w,se,v,ie);function Ye(){var Ce,pt;z.value=((Ce=d.value)==null?void 0:Ce.clientHeight)||0,W.value=((pt=s.value)==null?void 0:pt.clientWidth)||0,ge()}n.onMounted(()=>{s.value&&(at.useResizeObserver(s.value,Ye),ge(),n.nextTick(()=>{s.value&&(W.value=s.value.clientWidth),d.value&&(le.value=d.value.clientWidth,z.value=d.value.clientHeight)})),V.value&&b()}),n.onUnmounted(()=>{}),n.watch(le,()=>{});function Je(){w.insertNewDataItem(),Q()}function Qe(){w.insertNewDataItem(c.value.length),Q()}function qe(Ce){P.onEditingRow(Ce)}function G(Ce){w.removeDataItem(Ce),Q()}function ee(Ce){w.removeDataItemById(Ce),Q()}function re(Ce){P.acceptEditingRow(Ce)}function Ve(Ce){P.cancelEditingRow(Ce)}function ne(Ce){Ce&&(r.value=Ce,O(r),M(r.value),F(w,k),ge())}function Fe(Ce){Ce&&(w.load(Ce),c.value=Te(0,m.value+0-1))}function Pe(Ce){g.updatePagination(Ce)}n.watch([w.startIndex,w.endIndex],([Ce,pt],[ql,zl])=>{var Xn,Yn;Ce!==ql&&Fe((Xn=w.originalData)==null?void 0:Xn.value),pt!==zl&&Fe((Yn=w.originalData)==null?void 0:Yn.value)}),n.watch(()=>e.data,Ce=>{e.changePolicy==="default"&&Fe(Ce)},{deep:!0});function he(Ce){y.selectItemById(Ce)}const je={addNewDataItem:Je,addNewDataItemAtLast:Qe,removeDataItem:G,removeDataItemById:ee,editDataItem:qe,acceptDataItem:re,cancelDataItem:Ve,selectItemById:he,updateColumns:ne,updateDataSource:Fe,updatePagination:Pe};t.expose(je);const De=R.useNavigation(e,t,je,I,P,c),{renderDataArea:be}=In(e,t,d,p,f,xe,ye,I,P,v,De,A,ve,ie,c),ze=n.computed(()=>!c.value||!c.value.length),{renderEmpty:tt}=R.getEmpty(t);return()=>n.createVNode("div",{ref:l,class:ue.value,style:h.value,onWheel:pe},[Ge(),He(),fe(),ze.value&&tt(),n.createVNode("div",{ref:s,class:L.value,onMouseover:()=>{u.value=!0},onMouseleave:()=>{u.value=!1}},[te(c),be(),ke(),Me()]),_e(),_.value&&X(),Ie(),N.value&&de()])}}),la={$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"]},sa=new Map([["appearance",We]]);function ca(e,t,o){return t}const On={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}};Be(On,la,sa,ca);const da=n.defineComponent({name:"FCheckBox",props:On,emits:["change","changeValue","update:modelValue","update:checked"],setup(e,t){const o=n.inject(Ue.CHECKBOX_CONTEXT,null),{buttonClass:i,disabled:r,name:a,shouldRenderButton:l,shouldRenderNative:s,shouldRenderTag:d,tagClass:p,checked:f,onClickCheckBox:c}=Ue.useCheck(e,t,o==null?void 0:o.parentProps,o==null?void 0:o.parentContext);n.ref();const u=n.ref(e.id),S=n.ref(e.customClass),v=n.ref(e.modelValue),x=n.ref(e.indeterminate);return n.computed(()=>{const C={"custom-control":!0,"custom-checkbox":!0};return S.value&&S.value.split(" ").reduce((V,b)=>(V[b]=!0,V),C),C}),n.watch(()=>e.modelValue,C=>{v.value=C}),n.watch(()=>e.indeterminate,C=>{x.value=C}),n.onMounted(()=>{}),()=>{var C,V,b,g,_,w;return n.createVNode(n.Fragment,null,[l.value&&n.createVNode("div",{class:i.value,style:"border-radius:0;border: 1px solid #E8EBF2;",onClick:c},[(V=(C=t.slots).default)==null?void 0:V.call(C)]),d.value&&n.createVNode("div",{class:p.value,onClick:c},[n.createVNode("div",{class:"title"},[(g=(b=t.slots).default)==null?void 0:g.call(b)]),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:a.value,id:u,value:e.value,checked:f.value,disabled:r.value},null),n.createVNode("div",{class:"custom-control-label"},[(w=(_=t.slots).default)==null?void 0:w.call(_)])])])}}}),ua={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}},pa={id:{type:String}},fa=n.defineComponent({name:"FDesignerPlaceholder",props:pa,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 ma(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!n.isVNode(e)}const Tt=n.defineComponent({name:"FDesignerItem",props:ua,emits:["selectionChange"],setup(e,t){const o=n.ref(`${e.modelValue.id}-component`),i=n.ref(e.canMove),r=n.ref(e.canDelete),a=n.ref(!1),l=n.ref(e.modelValue),s=n.ref(e.componentId||""),d=n.ref(""),p=n.ref(""),f=n.ref(e.customClass),c=n.ref(),u=n.inject("canvas-dragula"),S=n.ref(),v=n.inject("design-item-context"),x={designerItemElementRef:c,componentInstance:S,schema:l.value,parent:v,setupContext:t};n.provide("design-item-context",x);const C=n.inject("useFormSchema"),V=n.computed(()=>{const F=e.modelValue.appearance&&e.modelValue.appearance.class||"";let B={"farris-component":!0,"flex-fill":l.value.id=="root-component","position-relative":i.value&&r.value,"farris-nested":a.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 B[`farris-component-${l.value.type}`]=!0,B=Ue.getCustomClass(B,F),B=Ue.getCustomClass(B,p.value),B=Ue.getCustomClass(B,f.value),B}),b=n.computed(()=>{const F={},B=e.modelValue.appearance&&e.modelValue.appearance.style||"";return B&&B.split(";").reduce((M,j)=>{const[P,$]=j.split(":");return M[P]=$,M},F),d.value&&d.value.split(";").reduce((M,j)=>{const[P,$]=j.split(":");return P&&(M[P]=$),M},F),F});function g(F,B){var P,$,E;if(F&&(F.preventDefault(),F.stopPropagation()),S.value.triggerBelongedComponentToDeleteWhenDeleted){const H=S.value.getBelongedComponentInstance(S);if(H&&H.parent){const oe=n.ref(H==null?void 0:H.parent),ae=oe.value.contents.findIndex(ve=>ve.id===H.schema.id);($=(P=oe.value)==null?void 0:P.contents)==null||$.splice(ae,1),(E=oe.value)==null||E.updateDragAndDropRules(),ct.value++}return}let M=v,j=H=>H.id===B.id;if(B.type==="component"&&(M=v==null?void 0:v.parent,j=H=>H.component===B.id),M&&M.schema.contents){const H=M.schema.contents.findIndex(j);M.schema.contents.splice(H,1),M.componentInstance.value.updateDragAndDropRules(),ct.value++,t.emit("selectionChange")}}function _(F){return r.value&&n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:B=>{g(B,F)}},[n.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function w(){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 y(){return e.customButtons&&!!e.customButtons.length&&e.customButtons.map(F=>n.createVNode("div",{role:"button",class:`btn component-settings-button ${F.class||""}`,title:F.title,ref:F.id},[n.createVNode("i",{class:F.icon},null)]))}function N(F){return n.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[n.createVNode("div",null,[_(F),w(),y()])])}function m(F,B,M,j){t.emit("selectionChange",F,B,M,j)}function h(F){let B;const M=F.type,j=Fr[M],P=Nr[M],$=P?P(F):{};$.customClass=e.ignore?$.customClass:"",$.componentId=s.value;const E=F.contents&&F.contents.length===0;return F.contents&&!!F.contents.length&&j?n.createVNode(j,n.mergeProps({ref:S},$),ma(B=F.contents.map(oe=>n.createVNode(Tt,{key:oe.id,modelValue:oe,"onUpdate:modelValue":ae=>oe=ae,componentId:s.value,onSelectionChange:m},null)))?B:{default:()=>[B]}):j?E?n.createVNode(j,n.mergeProps({ref:S},$),{default:()=>[n.createVNode(fa,null,null)]}):n.createVNode(j,n.mergeProps({ref:S},$),null):n.createVNode("div",null,null)}function T(F){if(F.type==="component-ref"){let M=C==null?void 0:C.getFormSchema().module.components.find(j=>j.id===F.component);if(M)return n.createVNode(Tt,{key:M.id,modelValue:M,"onUpdate:modelValue":j=>M=j,componentId:M.id,onSelectionChange:m},null)}}n.watch(()=>e.modelValue,F=>{l.value=F,o.value=`${F.id}-component`});function O(F){const B=F.target;Tr(B)}function I(){var F,B;(B=(F=l.value)==null?void 0:F.contents)!=null&&B.length&&c.value&&c.value.addEventListener("scroll",O)}n.onMounted(()=>{if(c.value&&S.value&&S.value.schema){const F=c.value.querySelector(`[data-dragref='${S.value.schema.id}-container']`);u&&F&&u.attachComponents(F,l.value),a.value=S.value.canNested!==void 0?S.value.canNested:a.value,r.value=S.value.canDelete!==void 0?S.value.canDelete:r.value,i.value=S.value.canMove!==void 0?S.value.canMove:i.value,d.value=S.value.styles||"",p.value=S.value.designerClass||"",c.value&&(c.value.componentInstance=S,c.value.designItemContext=x)}I(),ct.value++}),n.onBeforeUnmount(()=>{c.value&&c.value.removeEventListener("scroll",O)});function k(F){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(M=>M.classList.remove("dgComponentFocused")),F&&(F.preventDefault(),F.stopPropagation());const B=c.value;if(B){const M=document.getElementsByClassName("dgComponentSelected");if(!(M&&M.length===1&&M[0]===c.value)&&(Array.from(M).forEach(P=>P.classList.remove("dgComponentSelected")),B.classList.add("dgComponentFocused"),t.emit("selectionChange",l.value.type,l.value,s.value,S.value),S.value.getDraggableDesignItemElement)){const P=S.value.getDraggableDesignItemElement(x);P&&P.value&&P.value.classList.add("dgComponentSelected")}}O(F)}return()=>l.value.type==="component-ref"?T(l.value):n.createVNode("div",{id:`${l.value.id}-design-item`,ref:c,class:V.value,style:b.value,onClick:k},[N(l.value),h(l.value)])}});function Bn(e,t,o,i,r,a,l,s,d,p,f,c,u,S,v,x,C,V,b,g="data-grid-column"){const{showSelectAll:_,selectAll:w,unSelectAll:y,selectedValues:N}=S,{showRowNumer:m,showSidebarCheckBox:h,sidebarTitle:T,sidebarCornerCellStyle:O}=v,{columnContext:I,hasLeftFixedColumn:k,hasRightFixedColumn:F}=a,{gridHeaderColumnsStyle:B,leftFixedGridHeaderColumnsStyle:M,rightFixedGridHeaderColumnsStyle:j}=C,P=n.computed(()=>_.value||h.value||m.value),$=I.value.defaultColumnWidth,E=32,H=new Map([[0,0]]);function oe(Q,me){const ge=H.get(me)||0,ce={height:`${Q.depth*E}px`,left:`${Q.left}px`,top:`${(Q.layer-1)*E}px`,width:`${Q.actualWidth}px`,padding:0};return I.value.headerDepth>1&&(ce["line-height"]=`${Q.depth*E}px`),H.set(me+1,ge+(Q.actualWidth||$)),ce}const ae=n.computed(()=>({"fv-grid-header":!0,"fv-grid-header-group-columns":I.value.headerDepth>1})),ve=n.computed(()=>({height:`${I.value.headerDepth*E}px`}));function Te(Q,me,ge,ce){var Se;(Se=e==null?void 0:e.setupContext)==null||Se.emit("selectionChange",Q,me,ge,ce)}function xe(Q,me,ge){let ce=Q.column;return n.createVNode("div",{class:"fv-grid-header-cell",style:oe(Q,ge)},[n.createVNode(Tt,{modelValue:ce,"onUpdate:modelValue":Se=>ce=Se,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:Te},null)])}function ye(Q){return Q.map((me,ge)=>{const ce=[];if(ce.push(xe(me,Q,ge)),me.children&&me.children.length){const Se=ye(me.children);ce.push(...Se)}return ce})}function we(){return n.createVNode("div",{class:"fv-grid-header-left-fixed"},[n.createVNode("div",{class:"fv-grid-header-columns",style:M.value},[ye(I.value.leftHeaderColumns)])])}function Ne(){return n.createVNode("div",{class:"fv-grid-header-right-fixed"},[n.createVNode("div",{class:"fv-grid-header-columns",style:j.value},[ye(I.value.rightHeaderColumns)])])}const ie=n.ref(b.value.length===N.value.length);function pe(Q){ie.value?w():y()}const W=n.computed(()=>N.value.length>0&&b.value.length!==N.value.length);function z(){return n.createVNode("div",{class:"fv-grid-header-corner d-flex",style:O.value},[_.value&&n.createVNode(da,{id:"checkbox_for_select_all",indeterminate:W.value,modelValue:ie.value,"onUpdate:modelValue":Q=>ie.value=Q,onChange:pe,style:"margin-left:8px"},null),m.value&&n.createVNode("div",{style:"line-height:18px"},[T.value])])}function le(){return n.createVNode("div",{class:ae.value,style:ve.value},[P.value&&z(),k.value&&we(),n.createVNode("div",{class:"fv-grid-header-primary"},[n.createVNode("div",{class:"fv-grid-header-columns",style:B.value},[ye(I.value.primaryHeaderColumns)])]),F.value&&Ne()])}return{renderGridHeader:le}}function Mn(e,t){var p;const o=n.ref((p=e.columnOption)==null?void 0:p.groups);function i(f,c,u,S,v){const x={actualWidth:0,children:[],depth:1,field:f.field,layer:1,left:0,parent:u,resizable:!1,title:f.title||"",status:R.HeaderCellStatus.none,popoverRef:n.ref(),showPopover:!1,column:null,filterValue:null,sortType:"none"},C=S||x;if(f.group){let V=1;f.group.reduce((b,g)=>{if(typeof g=="string"){const _=c.get(g);_&&(v.fieldToRootMap.set(g,C),b.actualWidth+=_.actualWidth,b.children.push(_))}else{const _=i(g,c,b,C,v);V=Math.max(V,_.depth),b.actualWidth+=_.actualWidth,b.children.push(_)}return b},x),x.depth+=V}return t.value.headerDepth=Math.max(t.value.headerDepth,x.depth),x}function r(f){const c={groupedCells:new Map,fieldToRootMap:new Map};return o.value&&o.value.reduce((u,S)=>{const v=i(S,f,null,null,c);return u.groupedCells.set(S.field,v),u},c),c}function a(f){if(!f||f.length===0)return 0;const c=f[0];return c.children&&c.children.length>0&&(c.left=a(c.children)),c.left}function l(f,c){const u=t.value.headerDepth;f.forEach(S=>{S.layer=c?c.layer+1:1;const v=S.children&&S.children.length===0;S.depth=v?u-(S.layer-1):1,S.left=v?S.left:a(S.children),S.children&&l(S.children,S)})}function s(f,c){const u=new Map;return f.forEach(S=>{const v=c.fieldToRootMap.get(S.field),x=v!=null;x&&!u.has(v.field)&&u.set(v.field,v),x||u.set(S.field,S)}),l(Array.from(u.values())),u}function d(f){let c=new Map,u=0;if(f.reduce((S,v)=>{let x=R.HeaderCellStatus.none;x=v.sortable?x|R.HeaderCellStatus.sortable:x,x=v.filterable?x|R.HeaderCellStatus.filterable:x,x=v.sort&&v.sort!=="none"?x|R.HeaderCellStatus.sorted|(v.sort==="asc"?R.HeaderCellStatus.ascending:R.HeaderCellStatus.descending):x;let C=v.binding&&v.binding.field?v.binding.field:v.field;return S.set(C,{actualWidth:v.actualWidth||0,children:[],depth:1,layer:1,left:u,field:C,parent:null,resizable:v.resizable||!1,title:v.title,status:x,popoverRef:n.ref(),showPopover:!1,column:v,filterValue:null,sortType:v.sort||"none",showSetting:v.showSetting}),u+=v.actualWidth||0,S},c),o.value){const S=r(c);c=s(c,S)}return c}return{getGridHeaderCells:d}}class ga extends st{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.getBasicPropConfig(t),this.getAppearanceProperties(t),this.getEventPropConfig(t),this.propertyConfig}getBasicPropConfig(t){var a,l,s;const o=(s=(l=(a=this.formSchemaUtils.getFormSchema())==null?void 0:a.module)==null?void 0:l.entity[0])==null?void 0:s.entities[0],i=this.assembleSchemaEntityToTree(o,0),r=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(d,p){switch(d&&d.propertyID){case"dataSource":{const f=r.formSchemaUtils.getViewModelById(r.viewModelId);if(f){const c=i.find(u=>u.label===d.propertyValue);f.bindTo=c.bindTo}r.designViewModelUtils.assembleDesignViewModel();break}}}}}assembleSchemaEntityToTree(t,o,i,r="",a=[]){const l=r?`${r}/${t.label}`:"/";return a.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,a)),a}getAppearanceProperties(t){var o,i,r;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:a=>t},refreshPanelAfterChanged:!0},fit:{title:"适配父组件尺寸",type:"boolean",description:"是否适配父组件尺寸"},showStripe:{title:"显示条纹",type:"boolean",description:"是否显示条纹"},showBorder:{title:"显示边框",type:"boolean",description:"是否显示边框"}},setPropertyRelates(a,l){switch(a&&a.propertyID){case"useBlankWhenDataIsEmpty":t.emptyDataHeight=t.useBlankWhenDataIsEmpty?36:240;break;case"columns":t.columns=a.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:((r=t.pagination)==null?void 0:r.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 r=i.eventsEditorUtils.formProperties(t,i.viewModelId,o),a={};a[i.viewModelId]={type:"events-editor",editor:{initialData:r}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:a,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(l,s){const d=l.propertyValue;delete t[i.viewModelId],d&&(d.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(t,i.viewModelId,d.events,d)),t.remoteSort=!!t.columnSorted}}}}function ha(e,t){const o=e.schema,i=n.ref(!0),r=n.ref(!0);function a(u){return u&&u.sourceType==="control"?u.controlCategory==="input":!1}function l(){return!1}function s(){return!1}function d(){return!0}function p(u){}function f(){}function c(u){return new ga(u,t).getPropertyConfig(o)}return{canAccepts:a,checkCanDeleteComponent:l,checkCanMoveComponent:s,hideNestedPaddingInDesginerView:d,onAcceptMovedChildElement:p,resolveComponentContext:f,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:r,getPropsConfig:c}}const It=n.defineComponent({name:"FDataGridDesign",props:Lt,emits:["ClickRow","DoubleClickRow","selectionChange","enterUpInLastCell","pageIndexChanged","pageSizeChanged"],setup(e,t){var De;const o=n.ref(),i=n.inject("designer-host-service"),r=n.inject("design-item-context"),a=ha(r,i),l=_t(o,r,a);l.value.styles="display:flex;flex:1;",n.onMounted(()=>{o.value.componentInstance=l}),t.expose(l.value);const s=n.ref(e.columns),d=20,p=_n(e),f=0,c=n.ref(),u=n.ref(),S=n.ref(),v=n.ref(),x=n.ref(e.showStripe),C=n.ref([]),V=n.ref(!1),b=n.ref(((De=e.rowOption)==null?void 0:De.wrapContent)||!1),g=Nt(e,p),_=Ft(),w=vn(e),y=Tn(e),N=hn(e,new Map,w,p,y),m=Fn(e,N,p,C,t),h=n.computed(()=>e.disable),T=n.computed(()=>N.totalItems.value<d?N.totalItems.value:d),{containerStyleObject:O}=Xt(e),I=Qt(e),{applyCommands:k}=I;k(s);const F=Yt(e),B=kn(),{applyColumnSorter:M,columnContext:j,updateColumnRenderContext:P}=F;M(N,B);const $=Mn(e,j),E=xn(e,p),H=St(),oe=wn(e,E,H),ae=Sn(e,E,w,p,H,oe),ve=Qr(e,p,oe,ae),Te=Zr(e,p,oe,ae),xe=Cn(e,s,N,T,f,ae,ve,Te),{getVisualData:ye}=xe,we=ra(j),Ne=wt(e,j),ie=Nn(e,m),{sidebarWidth:pe}=ie;C.value=ye(0,T.value+f-1);const W=bn(e,N,C,j,xe,T,f,pe),{onWheel:z,dataGridWidth:le,viewPortHeight:Q,viewPortWidth:me,resetScroll:ge}=W,ce=en(e,j,c,me,$),{calculateColumnsSize:Se}=ce,A=yn(),se=Jt(c,v,N,A,W),ue=Vn(e,t,m,p),L=Zt(e,t,F,N,$,g,W),fe=n.computed(()=>({"fv-grid":!0,"fv-datagrid-strip":x.value})),Ie=n.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":V.value,"fv-grid-wrap-content":b.value})),{renderGridHeader:X}=Bn(r,e,c,S,v,F,N,L,se,_,A,ce,$,m,ie,B,W,me,C);ki(e,t,N,W,y);const{renderDataGridSidebar:te}=Ut(e,ue,m,ie,W),{renderDisableMask:de}=wi(),{renderDataGridSummery:_e}=Ti(e,N,F),{renderHorizontalScrollbar:ke}=zt(e,c,W),{renderVerticalScrollbar:Me}=Kt(e,c,W),{renderFilterPanel:Ge}=Si(e,F,N,_,W),{renderGroupPanel:He}=xi(e,N,L,g,W);function Ye(){var be,ze;Q.value=((be=u.value)==null?void 0:be.clientHeight)||0,le.value=((ze=c.value)==null?void 0:ze.clientWidth)||0,Se()}n.onMounted(()=>{c.value&&(at.useResizeObserver(c.value,Ye),Se(),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&&Se()}),n.watch(()=>e.columns,be=>{ne(be)});function Je(){N.insertNewDataItem(),ge()}function Qe(){N.insertNewDataItem(C.value.length),ge()}function qe(be){E.onEditingRow(be)}function G(be){N.removeDataItem(be),ge()}function ee(be){N.removeDataItemById(be),ge()}function re(be){E.acceptEditingRow(be)}function Ve(be){E.cancelEditingRow(be)}function ne(be){be&&(s.value=be,k(s),P(s.value),M(N,B),Se())}function Fe(be){be&&(N.load(be),C.value=ye(0,T.value+f-1))}const he=ea(e,t,{addNewDataItem:Je,addNewDataItemAtLast:Qe,removeDataItem:G,removeDataItemById:ee,editDataItem:qe,acceptDataItem:re,cancelDataItem:Ve,updateColumns:ne,updateDataSource:Fe},F,E,C),{renderDataArea:je}=In(e,t,u,S,v,we,Ne,F,E,g,he,ue,xe,W,C);return()=>n.createVNode("div",{ref:o,class:fe.value,style:O.value,onWheel:z},[Ge(),He(),X(),n.createVNode("div",{ref:c,class:Ie.value,onMouseover:()=>{V.value=!0},onMouseleave:()=>{V.value=!1}},[te(C),je(),ke(),Me()]),_e(),h.value&&de()])}}),ya=new Map([["appearance",gt.resolveAppearance]]);function va(e,t,o){return t}const ba={$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"]},Ca={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:"右对齐"}]}}}}}},$n={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}};Be($n,ba,ya,va,Ca);const wa={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},Sa=n.defineComponent({name:"FOverlay",props:wa,emits:["click"],setup(e,t){const o=n.ref(e.popupContentPosition),i=n.ref(e.host),r=n.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function a(s){t.emit("click"),s.preventDefault(),s.stopPropagation()}n.computed(()=>{const s=i.value;if(s){const d=s.getBoundingClientRect(),{left:p,top:f,height:c}=d;return{left:p,top:f+c}}return o.value});const l=n.computed(()=>({}));return()=>n.createVNode(n.Teleport,{to:"body"},{default:()=>{var s,d;return[n.createVNode("div",{class:"overlay-container",onClick:p=>a(p),style:r.value},[n.createVNode("div",{style:l.value},[(d=(s=t.slots).default)==null?void 0:d.call(s)])])]}})}});function xa(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function _a(e){const t=document.createElement("div");t.style.display="contents";let o;const i=e.onClickCallback||(()=>{}),r=()=>{i(),o&&o.unmount()};return o=n.createApp({setup(){n.onUnmounted(()=>{document.body.removeChild(t)});const a=xa(e);return()=>n.createVNode(Sa,{"popup-content-position":e.popupPosition,host:e.host,onClick:r,backgroundColor:e.backgroundColor},{default:()=>[a&&a()]})}}),document.body.appendChild(t),o.mount(t),o}class Va{static show(t){return _a(t)}}const Fa=Symbol("FModalService");function jn(e,t){function o(){const i=e.beforeOpen||e.beforeClickButton||null;let r=Promise.resolve(!0);if(i){const a=i(t.value);if(typeof a>"u")return r;typeof a=="boolean"?r=Promise.resolve(a):r=a}return r}return{judgeCanOpen:o}}function Na(e,t,o,i,r){const a=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:d}=jn(e,r),p=n.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),f=n.inject(Fa,null),c=n.ref();async function u(x){if(await d()&&p.value){const C=!!t.slots.default;if(a.value==="Modal"){const V=e.modalOptions,b=f==null?void 0:f.open({...V,render:()=>t.slots.default&&t.slots.default()});c.value=b==null?void 0:b.modalRef}a.value==="Overlay"&&Va.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>t.slots.default&&t.slots.default()}),C&&a.value==="Popup"&&i.togglePopup(!0),C&&l.value&&i.hidePopup(),t.emit("clickButton",{origin:x,value:e.modelValue})}}function S(x){t.emit("mouseEnterIcon",x)}function v(x){t.emit("mouseLeaveIcon",x)}return{buttonGroupClass:s,onClickButton:u,onMouseEnterButton:S,onMouseLeaveButton:v,modalRef:c}}function ka(e,t,o,i,r,a){const l=n.ref(!1),s=n.computed(()=>e.enableClear&&!e.readonly&&!e.disable),{changeTextBoxValue:d}=a;function p(S){l.value=S}n.watch(r,()=>{p(!!r.value)});function f(S){const v=!e.readonly&&!e.disable&&e.editable,x=!e.editable;S.stopPropagation(),(v||x)&&(d("",!1),p(!l.value),t.emit("clear"))}function c(S){if(s.value){if(!o.value){p(!1);return}!e.disable&&!e.readonly&&p(!0)}}function u(S){s.value&&p(!1)}return{enableClearButton:s,showClearButton:l,onClearValue:f,onMouseEnterTextBox:c,onMouseLeaveTextBox:u}}function Ta(e,t,o,i,r){const a=n.computed(()=>e.popupOnInput),l=n.computed(()=>e.popupOnFocus),{shouldPopupContent:s}=r,d=n.computed(()=>e.enableTitle?o.value:""),p=n.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),f=n.computed(()=>e.readonly||!e.editable),c=n.ref(!1),u=n.computed(()=>!e.disable&&c.value),S=n.computed(()=>({"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right","form-control":!0,"f-utils-fill":!0})),v=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 x(h,T=!0){o.value!==h&&(o.value=h,T&&t.emit("change",h),t.emit("update:modelValue",h))}function C(h){s.value=!1,x(h,!0)}n.watch(()=>e.modelValue,h=>{o.value=h});function V(h){c.value=!1,t.emit("blur",h),h.stopPropagation()}function b(h){t.emit("click",h)}function g(h){e.disable||(c.value=!0,f.value||(t.emit("focus",h),l.value&&!s.value&&r.popup()))}function _(h){t.emit("input",h.target.value);const T=h.target.value;i.value=T,o.value!==T&&x(T,!0),a.value&&!s.value&&r.popup()}function w(h){h.target.tagName!=="INPUT"&&h.preventDefault(),h.stopPropagation()}function y(h){t.emit("keydown",h)}function N(h){h.key==="Enter"&&(a.value||l.value)&&r.hidePopup(),t.emit("keyup",h)}function m(h){const T=h.target.value;h.stopPropagation(),x(T)}return{hasFocusedTextBox:u,isTextBoxReadonly:f,textBoxClass:S,textBoxPlaceholder:p,textBoxTitle:d,inputGroupClass:v,changeTextBoxValue:x,commitValue:C,onBlurTextBox:V,onClickTextBox:b,onFocusTextBox:g,onInput:_,onKeyDownTextBox:y,onKeyUpTextBox:N,onMouseDownTextBox:w,onTextBoxValueChange:m}}function Ia(e,t,o,i){const r=n.ref(),a=n.ref(!1),{judgeCanOpen:l}=jn(e,i);function s(){const c=r.value;c&&c.show(o.value)}async function d(c=!1){if(!!t.slots.default){if(!c&&!a.value&&!await l())return;a.value=!a.value,await n.nextTick(),s()}}async function p(c=!1){if(!!t.slots.default){if(!c&&!await l())return;a.value=!0,await n.nextTick(),s()}}function f(){a.value=!1}return{hidePopup:f,popup:p,shouldPopupContent:a,togglePopup:d,popoverRef:r}}function Oa(e,t,o){const i=n.ref(),{isTextBoxReadonly:r,textBoxClass:a,textBoxPlaceholder:l,textBoxTitle:s,onBlurTextBox:d,onClickTextBox:p,onFocusTextBox:f,onInput:c,onKeyDownTextBox:u,onKeyUpTextBox:S,onMouseDownTextBox:v,onTextBoxValueChange:x}=o;return n.onMounted(()=>{var C,V;e.selectOnCreated&&((C=i.value)==null||C.select()),e.focusOnCreated&&((V=i.value)==null||V.focus())}),()=>n.createVNode("input",{ref:i,name:"input-group-value",autocomplete:e.autoComplete?"on":"off",class:a.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:l.value,readonly:r.value,tabindex:e.tabIndex,title:s.value,type:e.inputType,value:t.value,onBlur:d,onChange:x,onClick:p,onFocus:f,onInput:c,onKeydown:u,onKeyup:S,onMousedown:v},null)}function Ba(e,t,o){const i=n.ref(e.separator),{changeTextBoxValue:r}=o,a=n.computed(()=>t.value?t.value.split(i.value).map(s=>({name:s,selectable:!0})):[]);function l(s){r(s.map(d=>d.name).join(i.value),!0)}return()=>n.createVNode(Pt,{id:`${e.id}-tag-editor`,class:"form-control",data:a.value,showClose:!0,showInput:!0,onChange:l},null)}function Ma(e,t,o,i){const{buttonGroupClass:r,onClickButton:a,onMouseEnterButton:l,onMouseLeaveButton:s}=o,{enableClearButton:d,showClearButton:p,onClearValue:f}=i,c=n.ref();return{renderButtonGroup:()=>n.createVNode("div",{id:`${e.id}-button-group`,class:r.value},[d.value&&n.withDirectives(n.createVNode("span",{class:"input-group-text input-group-clear",onClick:f},[n.createVNode("i",{class:"f-icon modal_close"},null)]),[[n.vShow,p.value]]),t.slots.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",onClick:a,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:a,onMouseenter:l,onMouseleave:s},null):null]),buttonHandleElement:c}}function $a(e,t,o){const i=n.ref(e.popupMinWidth),{hidePopup:r,popoverRef:a}=o;return()=>n.createVNode(Yo,{id:`${e.id}-popover`,ref:a,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:r},{default:()=>{var l,s;return[(s=(l=t.slots).default)==null?void 0:s.call(l)]}})}const ja=n.defineComponent({name:"FButtonEdit",props:$n,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),r=n.ref(e.modelValue),a=Ia(e,t,o,r),{shouldPopupContent:l,hidePopup:s,togglePopup:d}=a,p=Na(e,t,o,a,r),f=n.ref(""),c=Ta(e,t,r,f,a),{hasFocusedTextBox:u,commitValue:S,inputGroupClass:v}=c,x=ka(e,t,r,u,f,c),{onMouseEnterTextBox:C,onMouseLeaveTextBox:V}=x,b=n.computed(()=>{const h={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return i.value&&i.value.split(" ").reduce((T,O)=>(T[O]=!0,T),h),h});function g(){return e.multiSelect&&e.inputType==="tag"?Ba(e,r,c):Oa(e,r,c)}let _=g();n.watch([()=>e.multiSelect,()=>e.inputType],()=>{_=g()});const{renderButtonGroup:w,buttonHandleElement:y}=Ma(e,t,p,x),N=$a(e,t,a),m={commitValue:S,elementRef:o,hidePopup:s,shouldPopupContent:l,togglePopup:d,openDialog:()=>{y.value&&e.buttonBehavior==="Modal"&&y.value.click()},getModal:()=>{var h;return e.buttonBehavior==="Modal"?(h=p.modalRef.value)==null?void 0:h.value:null}};return n.onMounted(()=>{o.value.componentInstance=m,window.onresize=()=>{document.body.click()}}),t.expose(m),()=>n.createVNode(n.Fragment,null,[n.createVNode("div",n.mergeProps(t.attrs,{ref:o,class:b.value,id:e.id}),[n.createVNode("div",{id:`${e.id}-input-group`,class:v.value,onMouseenter:C,onMouseleave:V},[_(),w()])]),l.value&&N()])}}),Pa={$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"]},Pn={modelValue:{type:String,default:""},viewModelId:{Type:String,default:""},gridData:{Type:Object,default:null},gridType:{Type:String,default:"data-grid-column"},getLatestGridData:{Type:Function}},Da=Be(Pn,Pa,Rt,Ht),Ea=new Map([["appearance",We]]);function Ra(e,t,o){return t}const Aa={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:[]}}}}}},Ga={$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"]},Dn={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:[]}};Be(Dn,Ga,Ea,Ra,Aa);const Ha=new Map([["appearance",We]]);function Wa(e,t,o){return t}const La={$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"]},qa={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:[]}}}}}},En={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}};Be(En,La,Ha,Wa,qa);function za(e,t){function o(a){const l=[];let s=a.nextNode();for(;s;)l.push(s),s=a.nextNode();return l}function i(a,l){const s=document.createTreeWalker(a,NodeFilter.SHOW_TEXT);return o(s).map(c=>({textNode:c,text:(c.textContent||"").toLocaleLowerCase()})).map(({textNode:c,text:u})=>{const S=[];let v=0;for(;v<u.length;){const x=u.indexOf(l,v);if(x===-1)break;S.push(x),v=x+l.length}return S.map(x=>{const C=new Range;return C.setStart(c,x),C.setEnd(c,x+l.length),C})}).flat()}function r(a){if(!CSS.highlights||(CSS.highlights.clear(),!a||!t))return;const l=i(t.value,a.toLocaleLowerCase()),s=new Highlight(...l);CSS.highlights.set("search-result",s)}return{search:r}}function Rn(e,t,o,i,r,a,l,s,d,p){const f=n.ref(e.size),c=n.ref(e.textField),u=n.ref(e.titleField),S=n.ref(e.disableField),v=n.computed(()=>{var m,h;return((m=e.selection)==null?void 0:m.multiSelect)&&((h=e.selection)==null?void 0:h.showCheckbox)}),{onMouseenterItem:x,onMouseoverItem:C,onMouseoutItem:V}=a,{getKey:b,listViewItemClass:g,onCheckItem:_,onClickItem:w}=l,y=n.computed(()=>({margin:f.value==="small"?"0.25rem 0":"10px 0"}));function N(m,h,T){return m.checked=s.findIndexInSelectedItems(m)>-1,n.createVNode("li",{class:g(m,h),id:b(m,h),key:b(m,h),onClick:O=>w(O,m,h),onMouseenter:O=>x(O,m,h),onMouseover:O=>C(O,m,h),onMouseout:O=>V(O,m,h)},[v.value&&n.createVNode("div",{class:"f-list-select",onClick:O=>O.stopPropagation()},[n.createVNode(nt.FCheckBox,{id:"list-"+b(m,h),customClass:"listview-checkbox",disabled:m[S.value],checked:m.checked,"onUpdate:checked":O=>m.checked=O,onChange:O=>{_(m,h,!O.checked)}},null)]),n.createVNode("div",{class:"f-list-content"},[n.createVNode("div",{style:y.value,title:m.raw[u.value]||m.raw[c.value]},[m.raw[c.value]])])])}return{renderItem:N}}function Ua(e,t,o,i,r,a,l,s,d,p){const f=n.ref(e.multiSelect),c=n.ref(e.disableField),{onMouseenterItem:u,onMouseoverItem:S,onMouseoutItem:v}=a,{getKey:x,listViewItemClass:C,onCheckItem:V,onClickItem:b}=l;function g(w,y,N){return t.slots.content?n.createVNode(n.Fragment,null,[t.slots.content&&t.slots.content({item:w.raw,index:y,selectedItem:N})]):n.createVNode("div",{style:"margin: 10px 0;"},[w.raw.name])}function _(w,y,N){return n.createVNode("li",{class:C(w,y),id:x(w,y),key:x(w,y),onClick:m=>b(m,w,y),onMouseenter:m=>u(m,w,y),onMouseover:m=>S(m,w,y),onMouseout:m=>v(m,w,y)},[f.value&&n.createVNode("div",{class:"f-list-select",onClick:m=>m.stopPropagation()},[n.createVNode(nt.FCheckBox,{id:"list-"+x(w,y),customClass:"listview-checkbox",disabled:w[c.value]||!w.checked,checked:w.checked,"onUpdate:checked":m=>w.checked=m,onChange:m=>V(w,y,!m.checked)},null)]),n.createVNode("div",{class:"f-list-content"},[g(w,y,N)])])}return{renderItem:_}}function Ka(e,t,o,i,r,a,l,s,d,p){const f=n.ref(e.multiSelect),c=n.ref(e.disableField),{onMouseenterItem:u,onMouseoverItem:S,onMouseoutItem:v}=a,{getKey:x,listViewItemClass:C,onCheckItem:V,onClickItem:b}=l,{dragstart:g,dragenter:_,dragover:w,dragend:y}=i,{removeItem:N}=d,m=n.computed(()=>({margin:f.value?"10px 0":"10px 0px 10px 14px"}));function h(k){return n.createVNode("div",{style:m.value},[k.raw.name])}function T(){return t.slots.itemContent?t.slots.itemContent:h}const O=T();function I(k,F,B){return n.createVNode("li",{class:C(k,F),id:x(k,F),key:x(k,F),onClick:M=>b(M,k,F),onMouseenter:M=>u(M,k,F),onMouseover:M=>S(M,k,F),onMouseout:M=>v(M,k,F),draggable:"true",onDragstart:M=>g(M,k,F),onDragenter:M=>_(M,F),onDragend:M=>y(M,k),onDragover:M=>w(M,F)},[f.value&&n.createVNode("div",{class:"f-list-select",onClick:M=>M.stopPropagation()},[n.createVNode(nt.FCheckBox,{id:"list-"+x(k,F),customClass:"listview-checkbox",disabled:k[c.value]||!k.checked,checked:k.checked,"onUpdate:checked":M=>k.checked=M,onChange:M=>V(k,F,!M.checked)},null)]),n.createVNode("div",{class:"f-list-content"},[O(k)]),n.createVNode("div",{class:"f-list-remove",onClick:M=>N(F)},[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:I}}function Xa(e,t,o,i,r,a,l,s,d,p){var x;const f=n.ref(((x=e.group)==null?void 0:x.groupFields)||[]),{collpaseGroupIconClass:c}=r,{toggleGroupRow:u}=p;function S(C,V){V.collapse=!V.collapse,o.value=u(V.collapse?"collapse":"expand",V,o.value)}function v(C,V,b){return C.layer>-1&&n.createVNode("div",{class:"f-navlookup-recentHeader",onClick:g=>S(g,C)},[n.createVNode("div",{class:"fv-grid-group-row-icon"},[n.createVNode("span",{class:c(C)},null)]),n.createVNode("div",{class:"f-navlookup-recommandLabel"},[C.raw[f.value[C.layer]]])])}return{renderItem:v}}function Ya(){const e=n.ref(-1),t=n.ref(""),o=n.ref(-1),i=n.ref(!1);function r(p,f,c){o.value=c}function a(p,f,c){i.value||(o.value=c)}function l(p,f,c){o.value=-1}function s(){i.value=!0}function d(){i.value=!1}return{activeIndex:e,focusedItemId:t,hoverIndex:o,onMouseenterItem:r,onMouseoverItem:a,onMouseoutItem:l,resumeHover:d,suspendHover:s}}function Ja(e,t,o,i){const r=n.ref(e.idField),{dataView:a}=o,l=n.ref(-1),s=n.ref(!1),{activeIndex:d,focusedItemId:p,hoverIndex:f,resumeHover:c,suspendHover:u}=i;function S(V,b,g){V.stopPropagation(),u(),b&&setTimeout(()=>{l.value=g,s.value=!0,b.moving=!0})}function v(V,b){if(V.preventDefault(),l.value!==b){const g=a.value[l.value],_=a.value;_.splice(l.value,1),_.splice(b,0,g),l.value=b}}function x(V,b){V.preventDefault(),V.dataTransfer&&(V.dataTransfer.dropEffect="move")}function C(V,b){b&&(b.moving=!1),a.value.forEach((g,_)=>{g.__fv_index__=_}),s.value=!1,c(),f.value=b.raw.__fv_index__,d.value=b.raw.__fv_index__,p.value=b.raw[r.value],t.emit("change",a.value),t.emit("activeChange",b)}return{dragstart:S,dragenter:v,dragover:x,dragend:C,isDragging:s}}function Qa(e,t,o){const{dataView:i}=o;function r(a){if(a>-1&&a<i.value.length){const l=i.value.splice(a,1);t.emit("removeItem",l[0])}}return{removeItem:r}}function Za(e,t,o,i,r,a){const l=n.ref(e.idField),s=n.ref(e.disableField),d=n.ref(e.draggable),p=n.ref(e.itemClass),f=n.ref(e.selection.multiSelect??!1),c=n.ref(e.selection.multiSelectMode),{isDragging:u}=i,{activeIndex:S,focusedItemId:v,hoverIndex:x}=r,{clearSelection:C,getSelectedItems:V,toggleSelectItem:b}=a,g=n.ref(V());function _(O,I){const k={"f-listview-item":!0,"f-list-view-group-item":!0,"f-list-view-draggable-item":d.value,"f-un-click":!O.checked,"f-un-select":!!O.raw[s.value],"f-listview-active":g.value.findIndex(B=>B[l.value]===O.raw[l.value])>-1,"f-listview-item-active":g.value.findIndex(B=>B[l.value]===O.raw[l.value])>-1,"f-listview-hover":!u.value&&I===x.value,moving:!!O.moving};return p.value.split(" ").reduce((B,M)=>(B[M]=!0,B),k),k}function w(O,I){return O.raw[l.value]||""}const y=n.computed(()=>!f.value);function N(O,I,k){O.checked=k,!O.raw[s.value]&&(y.value&&(v.value=O.raw[l.value]),b(O))}const m=n.computed(()=>f.value&&c.value==="OnCheckClearByClick"),h=n.computed(()=>!f.value||f.value&&(c.value==="OnCheckAndClick"||c.value==="OnClick"));function T(O,I,k){if(I.raw[s.value]){O.preventDefault(),O.stopPropagation();return}v.value=I.raw[l.value],S.value=k,m.value&&C(o.value),h.value&&(b(I),g.value=V()),t.emit("clickItem",{data:g.value,index:k}),t.emit("activeChange",g.value)}return{getKey:w,listViewItemClass:_,onCheckItem:N,onClickItem:T}}function el(e,t,o,i,r,a,l){const s=n.ref(e.view),d=n.ref(e.view==="CardView"),p=n.ref({}),f=n.ref("暂无数据"),c=Ya(),u=Ja(e,t,i,c),S=Qa(e,t,i),v=Za(e,t,o,u,c,a),x=n.computed(()=>({"f-list-view-group":!0,"d-flex":d.value,"flex-wrap":d.value})),C=n.computed(()=>!!o.value&&o.value.length>0),V=n.computed(()=>o.value.length===0),b=n.computed(()=>V.value&&!t.slots.empty);function g(){return s.value==="SingleView"?Rn:s.value==="DraggableView"?Ka:(s.value==="ContentView"||s.value==="CardView")&&t.slots.content?Ua:Rn}const _=g(),{renderItem:w}=_(e,t,o,u,r,c,v,a,S,l),{renderItem:y}=Xa(e,t,o,u,r,c,v,a,S,l),N=[w,y];function m(){return o.value.filter(O=>O.visible!==!1).map((O,I)=>N[O.type](O,I,p))}function h(){return n.createVNode("div",{class:"f-list-view-emptydata"},[n.createVNode("p",{class:"f-empty-title"},[f.value])])}function T(){return n.createVNode("ul",{class:x.value,style:"list-style: none;"},[C.value&&m(),b.value&&h(),t.slots.empty&&t.slots.empty()])}return{renderListArea:T}}function tl(e,t,o){function i(){return t.slots.header&&n.createVNode("div",{class:"f-list-view-header"},[t.slots.header()])}return{renderHeader:i}}function An(e,t,o){const i=n.ref(e.headerClass),r=n.ref(e.placeholder),a=n.ref(""),l=n.computed(()=>!a.value),s=n.computed(()=>!!a.value);function d(u){a.value=""}n.watch(a,u=>{e.enableHighlightSearch&&o.search(u),t.emit("afterSearch",u)});const p=n.computed(()=>{const u={"form-group":!0,"farris-form-group":!0};return i.value&&i.value.split(" ").reduce((v,x)=>(v[x]=!0,v),u),u});function f(u){}function c(){return n.createVNode("div",{class:"f-list-view-header",onClick:n.withModifiers(()=>f,["prevent","stop"])},[n.createVNode("div",{class:p.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=>a.value=u,name:"input-group-value",type:"text",placeholder:r.value,autocomplete:"off"},null),[[n.vModelText,a.value]]),n.createVNode("div",{class:"input-group-append"},[s.value&&n.createVNode("span",{class:"input-group-text input-group-clear",onClick:u=>d()},[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 Gn=n.defineComponent({name:"FListView",props:En,emits:["afterSearch","checkValuesChange","clickItem","selectionChange","removeItem","change","activeChange"],setup(e,t){const o=n.ref(),i=n.ref(!0),r=n.ref(!1),a=n.ref([]),l=0,s=n.ref(e.columns),d=R.useIdentify(e),p=R.useHierarchy(e),f=R.useGroupData(e,d),c=R.usePagination(e),u=R.useDataView(e,new Map,p,d,c),S=R.useSelection(e,u,d,a,t),v=za(e,o),x=n.computed(()=>u.dataView.value.length),C=R.useEdit(e,t,d),V=R.useVisualDataBound(),b=R.useVisualDataCell(e,{},V),g=R.useVisualDataRow(e,C,p,d,V,b),_=R.useVisualGroupRow(e,d,b,g),w=R.useVisualSummaryRow(e,d,b,g),y=R.useVisualData(e,s,u,x,l,g,_,w),{getVisualData:N}=y;a.value=N(0,x.value+l-1);const m=n.computed(()=>{const j={"f-list-view":!0,"f-list-view-multiple":e.multiSelect};return e.size!=="default"&&(j[`${e.size}-item`]=!0),j}),h=n.computed(()=>!!t.slots.footer||i.value);function T(){return e.header==="SearchBar"?An:e.header==="ContentHeader"?tl:An}const O=T(),{renderHeader:I}=O(e,t,v),{renderListArea:k}=el(e,t,a,u,f,S,y);function F(j){v.search(j)}function B(j){j&&(u.load(j),a.value=N(0,x.value+l-1))}t.expose({search:F,updateDataSource:B});function M(j){e.multiSelect&&(j.preventDefault(),j.stopPropagation())}return()=>n.createVNode("div",{class:m.value,onClick:M},[I(),n.createVNode("div",{ref:o,class:"f-list-view-content",onMouseover:()=>{r.value=!0},onMouseleave:()=>{r.value=!1}},[k()]),h.value&&n.createVNode("div",{class:"f-list-view-footer"},[t.slots.footer&&t.slots.footer()])])}}),nl=n.defineComponent({name:"FTransfer",props:Dn,emits:["change","activeChange"],setup(e,t){const o=n.ref(e.identifyField),i=n.ref("已选:"),r=n.ref("项数据"),a=n.ref(e.displayType),l=n.ref(!1),s=n.ref(e.dataSource),d=n.ref(e.selections||[]),p=n.computed(()=>d.value.map(h=>h[o.value])),f=new Map,c=n.ref();function u(){const h=new Map,T=e.selectionValues||[];T.length&&T.reduce((I,k)=>(I.set(k,!0),I),h);const O=e.selections||[];O.length&&(h.clear(),O.reduce((I,k)=>(I.set(k[o.value],!0),I),h)),d.value.length||(d.value=s.value.filter(I=>h.has(I[o.value])).map(I=>Object.assign({},I))),s.value.forEach(I=>{const k=I[o.value],F=h.has(k);I.checked=F,F&&f.set(k,I)})}u();const S=n.computed(()=>a.value==="List"),v=n.computed(()=>a.value==="Tree");function x(h){d.value=h.map(T=>Object.assign({},T)),t.emit("change",d.value)}function C(){return n.createVNode(Gn,{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":p.value,onSelectionChange:x},{default:()=>[n.createTextVNode(" ")]})}function V(){return n.createVNode(n.Fragment,null,null)}function b(){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"},[S.value&&C(),v.value&&V()])])])}function g(h){const T=h[o.value];if(T!==null||T!==void 0){d.value=d.value.filter(I=>I[o.value]!==T);const O=f.get(T);O&&(O.checked=!1,f.delete(T)),t.emit("change",d.value)}}n.watch(d,h=>{c.value.updateDataSource(h)});function _(h){const T=new Map;d.value.reduce((O,I)=>(O.set(I[o.value],I),O),T),d.value=h.map(O=>T.get(O[o.value])),t.emit("change",d.value)}function w(h){t.emit("activeChange",h)}function y(){return n.createVNode(Gn,{ref:c,style:"flex:1",data:d.value,draggable:!0,view:"DraggableView","keep-order":!0,onChange:_,onRemoveItem:g,onActiveChange:w},null)}function N(){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"},[d.value&&d.value.length]),n.createVNode("span",{class:"selection-item-title"},[r.value])]),n.createVNode("div",{class:"container columns-box f-utils-fill d-flex"},[y()])])])}const m=n.computed(()=>({transfer:!0,row:!0,"f-utils-fill":l.value}));return()=>n.createVNode("div",{class:m.value,style:"height:480px"},[b(),N()])}}),ol=n.defineComponent({name:"FGridFieldEditor",props:Pn,emits:["change"],setup(e,t){const o=n.ref(e.viewModelId),i=n.inject("designViewModelUtils"),r=n.inject("useFormSchema"),a=n.inject("controlCreatorUtils"),l=n.ref(e.modelValue);let s=e.gridData.columns;const d=n.ref([]),p=n.ref([]);let f=[];n.onMounted(()=>{c()});function c(){p.value=i.getAllFields2TreeByVMId(o.value),f=S(p.value)}function u(){if(d.value=[],!s||s.length===0)return[];s.forEach(b=>{if(b.binding&&b.binding.field){const g=f.find(_=>_.data.id===b.binding.field);g?d.value.push(Object.assign({},g.data)):d.value.push({id:b.binding.field,name:b.caption,bindingField:null,isInValidBinding:!0,inValidTip:"绑定字段不存在,请手动移除列"})}})}function S(b,g=[]){return b&&b.forEach(_=>{g.push(_),_.children&&S(_.children,g)}),g}function v(){const b=i.getDgViewModel(o.value),g=[],_=[];d.value.forEach(y=>{delete y.inValidTip,delete y.isInValidBinding;let N=s==null?void 0:s.find(m=>{if(m.binding&&m.binding.field)return m.binding.field===y.id});if(N)g.push(N);else{const m=p.value.find(T=>T.id==y.id),h=a.setGridFieldProperty(e.gridType,m.data,null,!0);b.addField(y),g.push(h)}_.push(y.id)});const w=b.fields.filter(y=>!_.includes(y.id));if(w&&w.length>0){const y=w.map(N=>N.id);b.removeField(y),r.expressions&&r.expressions.length&&y.length&&(r.expressions=r.expressions.filter(N=>!y.includes(N.fieldId)))}l.value=`共 ${g.length} 项`,t.emit("change",g)}const x={fitContent:!1,width:900,height:600,title:"列编辑器",acceptCallback:()=>{v()},rejectCallback:()=>{}};function C(b){d.value=b?[...b]:[]}function V(){return e.getLatestGridData&&(e.gridData=e.getLatestGridData(),c()),s=e.gridData.columns,u(),Promise.resolve(!0)}return()=>n.createVNode(ja,{"button-behavior":"Modal","modal-options":x,modelValue:l.value,"onUpdate:modelValue":b=>l.value=b,editable:!1,beforeOpen:V},{default:()=>[n.createVNode("div",{class:"f-utils-absolute-all"},[n.createVNode(nl,{selections:d.value,"data-source":p.value,class:"mx-2",onChange:b=>C(b)},null)])]})}}),il={$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}}},rl={$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"}}},Ot={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:""}},al=Be(Ot,il,At,Wt),ll=Be(Ot,rl,At,Wt);class sl extends Re{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 cl extends Re{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 dl extends Re{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 ul extends Re{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 pl extends Re{constructor(t,o){super(t,o)}}class fl extends Re{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"}})}}const ml={$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:{}},gl=[{field:"code",title:"绑定字段"},{field:"name",title:"名称"},{field:"fieldType",title:"字段类型"}],Bt=Symbol("Field_Selector Component Repository Service Token");Be({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:gl},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}},ml);function hl(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 Hn=new Map([["appearance",We],["column","columnOption"],["fields",hl]]);function yl(e,t,o){var c;const i=o.parentComponentInstance,r=i.schema.type,a=String(((c=i.schema.appearance)==null?void 0:c.class)||"").split(" "),l=r==="section"||r==="tab-page",s=a.includes("f-page-content-nav"),d=a.includes("f-page-main"),p=e.getSchemaByType("component");p.id=`${t.id}-component`,p.componentType="data-grid";let f="";return f+=l?"f-struct-data-grid-in-card f-struct-is-subgrid":"",f+=s?"f-struct-data-grid-in-nav f-struct-wrapper f-utils-fill-flex-column":"",f+=d?"f-struct-data-grid f-struct-wrapper":"",p.appearance={class:f},p.contents=[t],p}function vl(e,t,o){const i=o.parentComponentInstance,r=String(i.schema.appearance.class||"").split(" "),a=r.includes("f-page-content-nav"),l=r.includes("f-page-main"),s=e.getSchemaByType("section");s.id=`${t.id}-section`;let d="";return d+=a?"f-section-in-nav ":"",d+=l?"f-section-in-managelist ":"",d+="f-section-grid",s.appearance={class:d},s.contents=[t],s}function bl(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 r=o.parentComponentInstance.schema.type,a=r==="section"||r==="tab-page";t.appearance={class:"f-component-grid"};const s=(a?bl:vl)(e,t,o);return yl(e,s,o)}const Ln={$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"]},Mt={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}},Cl=Be(Mt,Ln,Hn,Wn),wl=ri(),qn=Object.assign({},Mt,{componentId:{type:String,default:""}}),Sl=Be(qn,Ln,Hn,Wn);function zn(e,t,o,i,r,a,l,s,d,p,f,c,u,S,v,x){const{calculateCellPositionInRow:C}=a,{columnContext:V,hasLeftFixedColumn:b,hasRightFixedColumn:g}=l,{gridDataStyle:_,leftFixedGridDataStyle:w,rightFixedGridDataStyle:y}=S,{renderDataRow:N}=Ni(e,t,V,x,s,d,p,f,c,u),m=[N];function h(F,B){const M=C(F);return x.value.filter(j=>j.visible!==!1).map(j=>m[j.type](j,M,B))}function T(){return n.createVNode("div",{ref:i,class:"fv-grid-content-left-fixed"},[n.createVNode("div",{class:"fv-grid-data",style:w.value},[h(V.value.leftColumns.filter(F=>F.visible),"left")])])}function O(){return n.createVNode("div",{ref:o,class:"fv-grid-content-primary"},[n.createVNode("div",{class:"fv-grid-data",style:_.value},[h(V.value.primaryColumns.filter(F=>F.visible),"primary")])])}function I(){return n.createVNode("div",{ref:r,class:"fv-grid-content-right-fixed"},[n.createVNode("div",{class:"fv-grid-data",style:y.value},[h(V.value.rightColumns.filter(F=>F.visible),"right")])])}function k(){const F=[];return b.value&&F.push(T()),F.push(O()),g.value&&F.push(I()),F}return{renderDataArea:k}}const ut=n.defineComponent({name:"FTreeGrid",props:Mt,emits:["selectionChange"],setup(e,t){var Ve;const r=n.ref(),a=n.ref(),l=n.ref(),s=n.ref(),d=n.ref(),p=n.ref([]),f=n.ref(!1),c=n.ref(((Ve=e.rowOption)==null?void 0:Ve.wrapContent)||!1),{showLoading:u,renderLoading:S}=R.useLoading(e,r),v=R.useIdentify(e),x=R.useGroupData(e,v),C=R.useFilter(),V=R.useHierarchy(e),b=R.usePagination(e),g=R.useDataView(e,new Map,V,v,b),_=R.useSelection(e,g,v,p,t),w=R.useSelectHierarchyItem(e,p,v,_,t),y=n.computed(()=>e.disable),N=n.computed(()=>Math.min(g.dataView.value.length,100)),{containerStyleObject:m}=R.useDataViewContainerStyle(e),h=R.useCommandColumn(e),T=n.ref(e.columns),{applyCommands:O}=h;O(T);const I=R.useColumn(e),k=R.useSort(e),{applyColumnSorter:F,columnContext:B,updateColumnRenderContext:M}=I;F(g,k);const j=R.useGroupColumn(e,B),P=R.useEdit(e,t,v),$=R.useVisualDataBound(),E=R.useVisualDataCell(e,P,$),H=R.useVisualDataRow(e,P,V,v,$,E),oe=R.useVisualData(e,T,g,N,0,H),{getVisualData:ae}=oe,ve=R.useCellPosition(e,B),Te=R.useSidebar(e,_),{sidebarWidth:xe}=Te;p.value=ae(0,N.value+0-1);const ye=R.useVirtualScroll(e,g,p,B,oe,N,0,xe),{onWheel:we,dataGridWidth:Ne,viewPortHeight:ie,viewPortWidth:pe}=ye,W=R.useFitColumn(e,B,a,pe,j),{calculateColumnsSize:z}=W,le=R.useFilterHistory(),Q=R.useColumnFilter(a,d,g,le,ye),me=R.useRow(e,t,_,v),ge=R.useDragColumn(e,t,I,g,j,x,ye),ce=n.computed(()=>({"fv-grid":!0,"fv-grid-bordered":e.showBorder,"fv-datagrid-strip":e.showStripe})),Se=n.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":f.value,"fv-grid-wrap-content":c.value})),{renderDataArea:A}=zn(e,t,l,s,d,ve,I,g,P,V,me,_,w,ye,oe,p),{renderGridHeader:se,renderGridColumnResizeOverlay:ue}=R.getColumnHeader(e,a,s,d,I,g,ge,Q,C,le,W,j,_,Te,k,ye,pe,p),{renderDataGridSidebar:L}=R.getSidebar(e,me,_,Te,ye),{renderDisableMask:fe}=R.getDisableMask(),{renderHorizontalScrollbar:Ie}=R.getHorizontalScrollbar(e,a,ye),{renderVerticalScrollbar:X}=R.getVerticalScrollbar(e,a,ye);function te(){var ne,Fe;ie.value=((ne=l.value)==null?void 0:ne.clientHeight)||0,Ne.value=((Fe=a.value)==null?void 0:Fe.clientWidth)||0,z()}n.onMounted(()=>{a.value&&(at.useResizeObserver(a.value,te),z(),n.nextTick(()=>{a.value&&(Ne.value=a.value.clientWidth),l.value&&(pe.value=l.value.clientWidth,ie.value=l.value.clientHeight)})),u.value&&S()}),n.onUnmounted(()=>{}),n.watch(pe,()=>{a.value&&z()});function de(){const ne=_.getSelectionRow();return ne?ne.dataIndex-1:-1}function _e(){const ne=de();g.insertNewDataItem(ne),p.value=ae(0,N.value+0-1)}function ke(){const ne=de();g.insertNewChildDataItem(ne),p.value=ae(0,N.value+0-1)}function Me(){const ne=de(),Fe=w.getNextSelectableHierarchyItemId(ne);g.removeHierarchyDataItem(ne),p.value=ae(0,N.value+0-1),Fe&&_.selectItemById(Fe)}function Ge(ne){P.onEditingRow(ne)}function He(ne){P.acceptEditingRow(ne)}function Ye(ne){P.cancelEditingRow(ne)}function Je(ne){ne&&(T.value=ne,O(T),M(T.value),F(g,k),z())}function Qe(ne){ne&&(g.load(ne),p.value=ae(0,N.value+0-1))}function qe(ne){_.selectItemById(ne)}function G(){return _.getSelectedItems()}const ee=n.computed(()=>!p.value||!p.value.length),{renderEmpty:re}=R.getEmpty(t);return t.expose({addNewDataItem:_e,addNewChildDataItem:ke,removeDataItem:Me,editDataItem:Ge,acceptDataItem:He,cancelDataItem:Ye,updateColumns:Je,updateDataSource:Qe,selectItemById:qe,getSelectedItems:G}),()=>n.createVNode("div",{ref:r,class:ce.value,style:m.value,onWheel:we},[se(),ee.value&&re(),n.createVNode("div",{ref:a,class:Se.value,onMouseover:()=>{},onMouseleave:()=>{}},[L(p),A(),Ie(),X()]),ue(),y.value&&fe()])}});class xl extends st{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,r;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(a,l){switch(a&&a.propertyID){case"useBlankWhenDataIsEmpty":t.emptyDataHeight=t.useBlankWhenDataIsEmpty?36:240;break;case"fields":t.fields=a.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:((r=t.pagination)==null?void 0:r.enable)||!1,title:"显示每页记录数",type:"boolean"}}}}getEventPropConfig(t){const o=[{label:"selectionChange",name:"行切换事件"}];var i=this;const r=i.eventsEditorUtils.formProperties(t,i.viewModelId,o),a={};a[i.viewModelId]={type:"events-editor",editor:{initialData:r}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:a,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(l,s){const d=l.propertyValue;delete t[i.viewModelId],d&&(d.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(t,i.viewModelId,d.events,d)),t.remoteSort=!!t.columnSorted}}}}function _l(e,t){const o=e.schema,i=n.ref(!0),r=n.ref(!0);function a(u){return u&&u.sourceType==="control"?u.controlCategory==="input":!1}function l(){return!1}function s(){return!1}function d(){return!0}function p(u){}function f(){}function c(u){return new xl(u,t).getPropertyConfig(o)}return{canAccepts:a,checkCanDeleteComponent:l,checkCanMoveComponent:s,hideNestedPaddingInDesginerView:d,onAcceptMovedChildElement:p,resolveComponentContext:f,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:r,getPropsConfig:c}}const Vl=n.defineComponent({name:"FTreeGridDesign",props:qn,emits:[],setup(e,t){var _e;const o=n.ref(),i=0,r=100,a=n.ref(),l=n.ref(),s=n.ref(),d=n.ref(),p=n.ref([]),f=n.ref(!1),c=n.ref(((_e=e.rowOption)==null?void 0:_e.wrapContent)||!1),u=n.inject("designer-host-service"),S=n.inject("design-item-context"),v=_l(S,u),x=_t(o,S,v);x.value.designerClass="f-utils-fill-flex-column";const C=_n(e),V=Nt(e,C),b=Ft(),g=vn(e),_=Tn(e),w=hn(e,new Map,g,C,_),y=Fn(e,w,C,p,t),N=zr(e,p,C,y,t),m=n.computed(()=>Math.min(w.dataView.value.length,r)),{containerStyleObject:h}=Xt(e),T=Qt(e),O=n.ref(e.columns),{applyCommands:I}=T;I(O);const k=Yt(e),F=kn(),{applyColumnSorter:B,columnContext:M,updateColumnRenderContext:j}=k;B(w,F);const P=Mn(e,M),$=xn(e,t,C),E=St(),H=wn(e,$,E),oe=Sn(e,$,g,C,E,H),ae=Cn(e,O,w,m,i,oe),{getVisualData:ve}=ae,Te=wt(e,M),xe=Nn(e,y),{sidebarWidth:ye}=xe;p.value=ve(0,m.value+i-1);const we=bn(e,w,p,M,ae,m,i,ye),{onWheel:Ne,dataGridWidth:ie,viewPortHeight:pe,viewPortWidth:W}=we,z=en(e,M,a,W,P),{calculateColumnsSize:le}=z,Q=yn(),me=Jt(a,d,w,Q,we),ge=Vn(e,t,y,C),ce=Zt(e,t,k,w,P,V,we),Se=n.computed(()=>({"drag-container":!0,"fv-grid":!0,"fv-grid-bordered":e.showBorder,"fv-datagrid-strip":e.showStripe})),A=n.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":f.value,"fv-grid-wrap-content":c.value})),{renderDataArea:se}=zn(e,t,l,s,d,Te,k,w,$,g,ge,y,N,we,ae,p),{renderGridHeader:ue}=Bn(S,e,a,s,d,k,w,ce,me,b,Q,z,P,y,xe,F,we,W,p,"tree-grid-column"),{renderDataGridSidebar:L}=Ut(e,ge,y,xe,we),{renderHorizontalScrollbar:fe}=zt(e,a,we),{renderVerticalScrollbar:Ie}=Kt(e,a,we);function X(){var ke,Me;pe.value=((ke=l.value)==null?void 0:ke.clientHeight)||0,ie.value=((Me=a.value)==null?void 0:Me.clientWidth)||0,le()}n.onMounted(()=>{o.value.componentInstance=x,a.value&&(at.useResizeObserver(a.value,X),le(),n.nextTick(()=>{a.value&&(ie.value=a.value.clientWidth),l.value&&(W.value=l.value.clientWidth,pe.value=l.value.clientHeight)}))}),n.onUnmounted(()=>{}),n.watch(W,()=>{a.value&&le()});const te=n.computed(()=>!p.value||!p.value.length),{renderEmpty:de}=Oi(t);return t.expose(x.value),()=>n.createVNode("div",{ref:o,dragref:`${S.schema.id}-container`,class:Se.value,style:h.value,onWheel:Ne},[ue(),te.value&&de(),n.createVNode("div",{ref:a,class:A.value,onMouseover:()=>{f.value=!0},onMouseleave:()=>{f.value=!1}},[L(p),se(),fe(),Ie()])])}});ut.register=(e,t,o,i)=>{e["tree-grid"]=ut,t["tree-grid"]=Cl,i["tree-grid"]={bindingResolver:bt,selectionItemResolver:wl}},ut.registerDesigner=(e,t,o)=>{e["tree-grid"]=Vl,t["tree-grid"]=Sl},pr(ut);function Fl(e,t,o){return t}const Nl=new Map([["appearance",We]]),kl={$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"]},Tl={...fr,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"}};Be(Tl,kl,Nl,Fl);const Ze={convertFrom:(e,t)=>t==="multiSelect"?!!e.editor[t]:t==="separator"?e.editor[t]||",":e.editor[t],convertTo:(e,t,o)=>{e.editor[t]=o}},Il={convertFrom:(e,t)=>e[t]==null?!0:e[t],convertTo:(e,t,o)=>{e[t]=o}};function Ol(e){let t="form_group_"+Date.now();return e&&(t=e.replaceAll("-","_").replaceAll(".","_")),"lookup."+t}const Bl={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:r,id:a,metadataContent:l}=i;e.editor.dataSource||(e.editor.dataSource={}),e.editor.dataSource.displayName=r,e.editor.helpId=a;const{displayType:s,idField:d,textField:p}=l;e.editor.displayType=s,e.editor.dataSource.idField=d,e.editor.textField=p,e.editor.dataSource.type="ViewObject",e.editor.dataSource.uri||(e.editor.dataSource.uri=Ol(e.id))}}},Ml={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}}},$l={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}}},jl={convertFrom:(e,t)=>e.editor.displayType?e.editor.displayType.toUpperCase():"LIST",convertTo:(e,t,o)=>{e.editor.displayType=o}},Pl=Symbol("schema_repository_token");class Dl extends Re{getPropertyConfig(t,o){const i=this.getBasicProperties(t,o),r=this.getAppearanceConfig(),a=this.getBehaviorConfig(t),l=this.getLookupConfig(t.editor);return{type:"object",categories:{basic:i,appearance:r,behavior:a,lookup:l}}}getBehaviorConfig(t){return{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean",$converter:Ze},readonly:{description:"",title:"只读",type:"boolean",$converter:Ze},required:{visible:!1,description:"",title:"必填",type:"boolean",$converter:Ze},visible:{description:"",title:"可见",type:"boolean",$converter:Il},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:Pl,onSubmitModal:o=>{if(o){const i=this.formSchemaUtils.getFormMetadataBasicInfo();return this.metadataService.getPickMetadata(i.relativePath,o[0].data).then(r=>JSON.parse(r==null?void 0:r.metadata.content))}}},$converter:Bl},displayType:{description:"类型: 树列表、列表、双列表、左树右列表",title:"展示类型",type:"string",$converter:jl,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:Bt},$converter:Ml},textField:{description:"显示文本字段",title:"文本字段",type:"string",$converter:$l,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:Bt}},mappingFields:{description:"字段映射",title:"字段映射",type:"string",$converter:Ze,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:Bt},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:Ze,title:"启用多选",type:"boolean"},separator:{description:"多选分隔符",$converter:Ze,title:"多选分隔符",type:"string"}}}}}class El extends Re{constructor(t,o){super(t,o)}getEditorProperties(t){return this.getComponentConfig(t,{type:"number-range"},{editable:{description:"",title:"允许编辑",type:"boolean"}})}}class Rl extends Re{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 Al extends Re{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 Gl extends Re{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 Hl extends Re{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 Wl extends st{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 r=this.formMetadataConverter.getRealEditorType(t.editor.type);let a;switch(r){case"avatar":a=new sl(this.componentId,this.designerHostService);break;case"check-group":a=new cl(this.componentId,this.designerHostService);break;case"check-box":a=new dl(this.componentId,this.designerHostService);break;case"combo-list":a=new ul(this.componentId,this.designerHostService);break;case"date-picker":a=new fl(this.componentId,this.designerHostService);break;case"lookup":a=new Dl(this.componentId,this.designerHostService);break;case"number-range":a=new El(this.componentId,this.designerHostService);break;case"number-spinner":a=new Rl(this.componentId,this.designerHostService);break;case"radio-group":a=new Al(this.componentId,this.designerHostService);break;case"switch":a=new Gl(this.componentId,this.designerHostService);break;case"textarea":a=new pl(this.componentId,this.designerHostService);break;case"time-picker":a=new Hl(this.componentId,this.designerHostService);break;default:a=new Ir(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:rt.getEditorTypesByMDataType(l.designViewModelField.type.name)}}},setPropertyRelates(p,f){if(p)switch(p&&p.propertyID){case"type":{l.changeFieldEditorType(t,p.propertyValue);break}}}};const s=["id","type","class","style","binding","label","responseLayout"],d=a.getPropertyConfig(t).categories;Object.keys(d).map(p=>{const f=d[p];let c={};if(Object.keys(f.properties).map(u=>{s.findIndex(S=>S==u)==-1&&f.properties[u]!==!1&&(c[u]=f.properties[u])}),Object.keys(c).length!=0){const u=f==null?void 0:f.title,S="gridFieldEditor",v="编辑器",x=f==null?void 0:f.description,C=(f==null?void 0:f.$converter)||"";l.propertyConfig.categories[o+"_"+p]={title:u,tabId:S,tabName:v,description:x,$converter:C,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 r=this.formSchemaUtils.getComponentByViewModelId(this.viewModelId),a=this.formSchemaUtils.selectNode(r,f=>f.type===Z["data-grid"].type||f.type===Z["tree-grid"].type);if(!a)return;const l=i.fields.find(f=>f.id==this.designViewModelField.id),s=this.controlCreatorUtils.setGridFieldProperty(o,l,null,!0),d=a.hasOwnProperty("columns")?a.columns:a.fields,p=d.findIndex(f=>f.id===t.id);p>-1&&d[p].editor&&(d[p].editor=Object.assign(s.editor,{required:d[p].editor.required}))}}function Ll(e,t){const o=e.schema,i=n.ref(!0),r=n.ref(!0);function a(u){return!1}function l(){return!1}function s(){return!1}function d(){return!0}function p(u){}function f(){}function c(u){var v;return new Wl(u,t).getPropertyConfig(o,(v=e==null?void 0:e.parent)==null?void 0:v.schema)}return{canAccepts:a,checkCanDeleteComponent:l,checkCanMoveComponent:s,hideNestedPaddingInDesginerView:d,onAcceptMovedChildElement:p,resolveComponentContext:f,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:r,getPropsConfig:c}}const Un=n.defineComponent({name:"FDataGridColumnDesign",props:Ot,emits:[],setup(e,t){const o=n.ref(),i=n.inject("designer-host-service"),r=n.inject("design-item-context"),a=Ll(r,i),l=_t(o,r,a);n.onMounted(()=>{o.value.componentInstance=l}),t.expose(l.value);function s(d){var p;(p=r==null?void 0:r.setupContext)==null||p.emit("selectionChange",l.value.schema,r.schema,e.componentId,l.value)}return()=>n.createVNode("span",{class:"fv-column-title",ref:o,onClick:d=>s()},[e.title])}});Le.install=e=>{e.component(Le.name,Le),e.component(It.name,It)},Le.register=(e,t,o,i)=>{e["data-grid"]=Le,t["data-grid"]=vt,e["grid-field-editor"]=ol,t["grid-field-editor"]=Da,i["data-grid"]={bindingResolver:bt,selectionItemResolver:qt}},Le.registerDesigner=(e,t,o)=>{e["data-grid"]=It,t["data-grid"]=vt,t["data-grid-column"]=al,e["data-grid-column"]=Un,t["tree-grid-column"]=ll,e["tree-grid-column"]=Un},D.FDataGrid=Le,D.bindingResolver=bt,D.columnOptions=yi,D.dataGridDesignProps=Lt,D.dataGridProps=lt,D.default=Le,D.editOptions=bi,D.filterOptions=pi,D.groupOptions=ui,D.headerOptions=fi,D.loadingOptions=Ci,D.paginationOptions=ci,D.propsResolver=vt,D.rowNumberOptions=mi,D.rowOptions=gi,D.selectionItemResolver=qt,D.selectionOptions=vi,D.sortOptions=di,D.summaryOptions=hi,Object.defineProperties(D,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});