@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(E,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("lodash-es"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../tags/index.umd.js"),require("../popover/index.umd.js"),require("@vueuse/core"),require("../data-view/index.umd.js"),require("../modal/index.umd.js"),require("../transfer/index.umd.js"),require("../tabs/index.umd.js"),require("../order/index.umd.js"),require("../condition/index.umd.js"),require("../checkbox/index.umd.js"),require("../filter-bar/index.umd.js"),require("../pagination/index.umd.js"),require("../dynamic-form/index.umd.js"),require("../combo-list/index.umd.js"),require("bignumber.js"),require("../number-spinner/index.umd.js"),require("../accordion/index.umd.js"),require("../avatar/index.umd.js"),require("../button-edit/index.umd.js"),require("../button-group/index.umd.js"),require("../calendar/index.umd.js"),require("../capsule/index.umd.js"),require("../combo-tree/index.umd.js"),require("../component/index.umd.js"),require("../color-picker/index.umd.js"),require("../content-container/index.umd.js"),require("../date-picker/index.umd.js"),require("../data-grid/index.umd.js"),require("../dropdown/index.umd.js"),require("../events-editor/index.umd.js"),require("../field-selector/index.umd.js"),require("../image-cropper/index.umd.js"),require("../input-group/index.umd.js"),require("../layout/index.umd.js"),require("../list-nav/index.umd.js"),require("../list-view/index.umd.js"),require("../lookup/index.umd.js"),require("../mapping-editor/index.umd.js"),require("../nav/index.umd.js"),require("../number-range/index.umd.js"),require("../page-header/index.umd.js"),require("../page-footer/index.umd.js"),require("../progress/index.umd.js"),require("../query-solution/index.umd.js"),require("../radio-group/index.umd.js"),require("../rate/index.umd.js"),require("../response-toolbar/index.umd.js"),require("../response-layout/index.umd.js"),require("../response-layout-editor/index.umd.js"),require("../search-box/index.umd.js"),require("../section/index.umd.js"),require("../smoke-detector/index.umd.js"),require("../splitter/index.umd.js"),require("../step/index.umd.js"),require("../switch/index.umd.js"),require("../text/index.umd.js"),require("../time-picker/index.umd.js"),require("../tree-view/index.umd.js"),require("../uploader/index.umd.js"),require("../verify-detail/index.umd.js"),require("../weather/index.umd.js"),require("../video/index.umd.js"),require("../textarea/index.umd.js"),require("../schema-selector/index.umd.js"),require("../tree-grid/index.umd.js"),require("../external-container/index.umd.js"),require("../common/index.umd.js"),require("../button-edit/index.umd.js/src/designer/button-edit.design.component")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../tags/index.umd.js","../popover/index.umd.js","@vueuse/core","../data-view/index.umd.js","../modal/index.umd.js","../transfer/index.umd.js","../tabs/index.umd.js","../order/index.umd.js","../condition/index.umd.js","../checkbox/index.umd.js","../filter-bar/index.umd.js","../pagination/index.umd.js","../dynamic-form/index.umd.js","../combo-list/index.umd.js","bignumber.js","../number-spinner/index.umd.js","../accordion/index.umd.js","../avatar/index.umd.js","../button-edit/index.umd.js","../button-group/index.umd.js","../calendar/index.umd.js","../capsule/index.umd.js","../combo-tree/index.umd.js","../component/index.umd.js","../color-picker/index.umd.js","../content-container/index.umd.js","../date-picker/index.umd.js","../data-grid/index.umd.js","../dropdown/index.umd.js","../events-editor/index.umd.js","../field-selector/index.umd.js","../image-cropper/index.umd.js","../input-group/index.umd.js","../layout/index.umd.js","../list-nav/index.umd.js","../list-view/index.umd.js","../lookup/index.umd.js","../mapping-editor/index.umd.js","../nav/index.umd.js","../number-range/index.umd.js","../page-header/index.umd.js","../page-footer/index.umd.js","../progress/index.umd.js","../query-solution/index.umd.js","../radio-group/index.umd.js","../rate/index.umd.js","../response-toolbar/index.umd.js","../response-layout/index.umd.js","../response-layout-editor/index.umd.js","../search-box/index.umd.js","../section/index.umd.js","../smoke-detector/index.umd.js","../splitter/index.umd.js","../step/index.umd.js","../switch/index.umd.js","../text/index.umd.js","../time-picker/index.umd.js","../tree-view/index.umd.js","../uploader/index.umd.js","../verify-detail/index.umd.js","../weather/index.umd.js","../video/index.umd.js","../textarea/index.umd.js","../schema-selector/index.umd.js","../tree-grid/index.umd.js","../external-container/index.umd.js","../common/index.umd.js","../button-edit/index.umd.js/src/designer/button-edit.design.component"],n):(E=typeof globalThis<"u"?globalThis:E||self,n(E.lookup={},E.Vue,E.LodashES,E.dynamicResolver,E.designerCanvas,E.FTags,E.FPopover,E.VueUseCore,E.dataView,null,E.FTransfer$1,E.FTabs,E.FOrder,null,E.FCheckBox$1,E.FFilterBar,E.FPagination,E.FDynamicForm,E.FComboList$1,E.BigNumber,E.FNumberSpinner,E.FAccordion,E.FAvatar,E.FButtonEdit$1,E.FButtonGroup,E.FCalendar,E.FCapsule,E.FComboTree,E.FComponent,E.FColorPicker,E.FContentContainer,E.FDatePicker,E.FDataGrid$1,E.FDropdown,E.FEventsEditor,E.FFieldSelector,E.FImageCropper,E.FInputGroup$1,E.FLayout$1,E.FListNav,E.FListView$1,E.FLookup$1,E.FMappingEditor,E.FNav,E.FNumberRange,E.FPageHeader,E.FPageFooter,E.FProgress,E.FQuerySolution,E.FRadioGroup,E.FRate,E.FResponseToolbar,E.FResponseLayout,E.FResponseLayoutEditorSetting,E.FSearchBox,E.FSection,E.FSmokeDetector,E.FSplitter,E.FStep,E.FSwitch,E.FText,E.FTimePicker,E.FTreeview,E.FUploader,E.FVerifyDetail,E.FWeather,E.FVideo,E.FTextArea,E.FSchemaSelector,E.FTreeGrid$1,null,E.common,E.FButtonEditDesign$1))})(this,function(E,n,Re,Tt,nn,on,zo,St,R,ic,qo,Uo,Ko,ac,ft,an,rn,It,Ot,rc,pt,Xo,Yo,ln,Jo,Qo,Zo,ei,ti,ni,oi,ii,ai,ri,li,si,ci,di,ui,fi,sn,pi,mi,gi,hi,yi,vi,bi,Ci,wi,Si,xi,_i,Fi,Vi,Ni,ki,Ti,Ii,Oi,$i,Bi,Mi,ji,Pi,Di,Ri,Ei,Li,Ai,lc,Xe,Hi){"use strict";var nc=Object.defineProperty;var oc=(E,n,Re)=>n in E?nc(E,n,{enumerable:!0,configurable:!0,writable:!0,value:Re}):E[n]=Re;var z=(E,n,Re)=>oc(E,typeof n!="symbol"?n+"":n,Re);const cn={},dn={};function $t(e){const{properties:t,title:o,ignore:i}=e,a=i&&Array.isArray(i),r=Object.keys(t).reduce((l,s)=>((!a||!i.find(f=>f==s))&&(l[s]=t[s].type==="object"&&t[s].properties?$t(t[s]):Re.cloneDeep(t[s].default)),l),{});return(!a||!i.find(l=>l=="id"))&&(r.id=`${o}-${Date.now()}`),r}function Bt(e,t={},o){const i=cn[e];if(i){let a=$t(i);const r=dn[e];return a=r?r({getSchemaByType:Bt},a,t,o):a,a}return null}function Gi(e,t){const o=$t(t);return Object.keys(e).reduce((i,a)=>(i[a]&&typeof i[a]=="object"?Object.assign(i[a],e[a]):i[a]=e[a],i),o),o}function Wi(e,t){return Object.keys(e).filter(i=>e[i]!=null).reduce((i,a)=>{if(t.has(a)){const r=t.get(a);if(typeof r=="string")i[r]=e[a];else{const l=r(a,e[a],e);Object.assign(i,l)}}else i[a]=e[a];return i},{})}function zi(e,t,o=new Map){const i=Gi(e,t);return Wi(i,o)}function qi(e={}){function t(d,p,c,u){if(typeof c=="number")return u[d].length===c;if(typeof c=="object"){const _=Object.keys(c)[0],m=c[_];if(_==="not")return Number(u[d].length)!==Number(m);if(_==="moreThan")return Number(u[d].length)>=Number(m);if(_==="lessThan")return Number(u[d].length)<=Number(m)}return!1}function o(d,p,c,u){return u[d]&&u[d].propertyValue&&String(u[d].propertyValue.value)===String(c)}const i=new Map([["length",t],["getProperty",o]]);Object.keys(e).reduce((d,p)=>(d.set(p,e[p]),d),i);function a(d,p){const c=d;return typeof p=="number"?[{target:c,operator:"length",param:null,value:Number(p)}]:typeof p=="boolean"?[{target:c,operator:"getProperty",param:d,value:!!p}]:typeof p=="object"?Object.keys(p).map(u=>{if(u==="length")return{target:c,operator:"length",param:null,value:p[u]};const _=u,m=p[u];return{target:c,operator:"getProperty",param:_,value:m}}):[]}function r(d){return Object.keys(d).reduce((c,u)=>{const _=a(u,d[u]);return c.push(..._),c},[])}function l(d,p){if(i.has(d.operator)){const c=i.get(d.operator);return c&&c(d.target,d.param,d.value,p)||!1}return!1}function s(d,p){return r(d).reduce((_,m)=>_&&l(m,p),!0)}function f(d,p){const c=Object.keys(d),u=c.includes("allOf"),_=c.includes("anyOf"),m=u||_,S=(m?d[m?u?"allOf":"anyOf":"allOf"]:[d]).map(g=>s(g,p));return u?!S.includes(!1):S.includes(!0)}return{parseValueSchema:f}}const Z={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"}},Ui={},Ki={};qi();function Ie(e,t,o=new Map,i=(l,s,f)=>s,a={},r=l=>l){return cn[t.title]=t,dn[t.title]=i,Ui[t.title]=a,Ki[t.title]=r,(l={})=>{const s=zi(l,t,o),f=Object.keys(e).reduce((d,p)=>(d[p]=e[p].default,d),{});return Object.assign(f,s)}}function Ge(e,t){return{customClass:t.class,customStyle:t.style}}function Xi(){function e(t,o){const{id:i}=t||{},{dataSource:a}=t||{};return a===void 0?{}:{data:o.getValue(i),"onUpdate:data":(...r)=>{}}}return{resolve:e}}function Yi(){function e(t,o){return t.selectItemById(o)}return{selectItemById:e}}function Ji(){function e(t,o){return t.selectItemById(o)}return{selectItemById:e}}const Qi=new Map([["appearance",Tt.resolveAppearance]]);function Zi(e,t,o){return t}const ea={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/button-edit.schema.json",title:"button-edit",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"button-edit"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""},autoComplete:{description:"",type:"boolean",default:!1},buttonContent:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},inputType:{description:"",type:"string",enum:["text","tag"],default:"text"},multiSelect:{description:"",type:"boolean",default:!1},popup:{description:"",type:"object",properties:{footerButtons:{type:"array",default:[]},height:{type:"number",default:600},dataMapping:{type:"object"},contents:{type:"array",default:[]},showMaxButton:{type:"boolean",default:!0},showCloseButton:{type:"boolean",default:!0},showFooter:{type:"boolean",default:!0},title:{type:"string",default:""},width:{type:"number",default:800}}},separator:{type:"string",default:","},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},wrapText:{type:"boolean",default:!1},onClear:{description:"",type:"string",default:""}},required:["id","type"]},ta={title:"buttonEdit",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean"},readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中对齐"},{value:"right",name:"右对齐"}]}}}}}},Mt={id:String,buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:Number,tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null}},un=Ie(Mt,ea,Qi,Zi,ta),na={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},oa=n.defineComponent({name:"FOverlay",props:na,emits:["click"],setup(e,t){const o=n.ref(e.popupContentPosition),i=n.ref(e.host),a=n.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function r(s){t.emit("click"),s.preventDefault(),s.stopPropagation()}n.computed(()=>{const s=i.value;if(s){const f=s.getBoundingClientRect(),{left:d,top:p,height:c}=f;return{left:d,top:p+c}}return o.value});const l=n.computed(()=>({}));return()=>n.createVNode(n.Teleport,{to:"body"},{default:()=>{var s,f;return[n.createVNode("div",{class:"overlay-container",onClick:d=>r(d),style:a.value},[n.createVNode("div",{style:l.value},[(f=(s=t.slots).default)==null?void 0:f.call(s)])])]}})}});function ia(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function aa(e){const t=document.createElement("div");t.style.display="contents";let o;const i=e.onClickCallback||(()=>{}),a=()=>{i(),o&&o.unmount()};return o=n.createApp({setup(){n.onUnmounted(()=>{document.body.removeChild(t)});const r=ia(e);return()=>n.createVNode(oa,{"popup-content-position":e.popupPosition,host:e.host,onClick:a,backgroundColor:e.backgroundColor},{default:()=>[r&&r()]})}}),document.body.appendChild(t),o.mount(t),o}class ra{static show(t){return aa(t)}}const fn=Symbol("FModalService");function pn(e,t){function o(){const i=e.beforeOpen||e.beforeClickButton||null;let a=Promise.resolve(!0);if(i){const r=i(t.value);if(typeof r>"u")return a;typeof r=="boolean"?a=Promise.resolve(r):a=r}return a}return{judgeCanOpen:o}}function mn(e,t,o,i,a){const r=n.ref(e.buttonBehavior),l=n.ref(e.popupOnInput),s=n.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:f}=pn(e,a),d=n.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),p=n.inject(fn,null),c=n.ref();async function u(y){if(await f()&&d.value){const b=!!t.slots.default;if(r.value==="Modal"){const S=e.modalOptions,C=p==null?void 0:p.open({...S,render:()=>t.slots.default&&t.slots.default()});c.value=C==null?void 0:C.modalRef}r.value==="Overlay"&&ra.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>t.slots.default&&t.slots.default()}),b&&r.value==="Popup"&&i.togglePopup(!0),b&&l.value&&i.hidePopup(),t.emit("clickButton",{origin:y,value:e.modelValue})}}function _(y){t.emit("mouseEnterIcon",y)}function m(y){t.emit("mouseLeaveIcon",y)}return{buttonGroupClass:s,onClickButton:u,onMouseEnterButton:_,onMouseLeaveButton:m,modalRef:c}}function gn(e,t,o,i){const a=n.ref(),r=n.ref(!1),{judgeCanOpen:l}=pn(e,i);function s(){const c=a.value;c&&c.show(o.value)}async function f(c=!1){if(!!t.slots.default){if(!c&&!r.value&&!await l())return;r.value=!r.value,await n.nextTick(),s()}}async function d(c=!1){if(!!t.slots.default){if(!c&&!await l())return;r.value=!0,await n.nextTick(),s()}}function p(){r.value=!1}return{hidePopup:p,popup:d,shouldPopupContent:r,togglePopup:f,popoverRef:a}}function la(e,t,o){const{buttonGroupClass:i}=o,a=n.ref();return{renderButtonGroup:()=>n.createVNode("div",{id:`${e.id}-button-group`,class:i.value},[t.slots.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button"},[t.slots.buttonContent()]):e.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:a},null):null]),buttonHandleElement:a}}const hn=n.defineComponent({name:"FButtonEdit",props:Mt,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,t){const o=n.ref(),i=n.inject("design-item-context"),a=nn.useDesignerComponent(o,i),r=n.ref(e.customClass),l=n.ref(e.modelValue),s=gn(e,t,o,l),f=mn(e,t,o,s,l),d=n.ref(),p=n.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disable":!0,"f-state-editable":!1,"f-state-readonly":!0}));n.onMounted(()=>{o.value.componentInstance=a}),t.expose(a.value);const c=n.computed(()=>{const _={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return r.value&&r.value.split(" ").reduce((m,y)=>(m[y]=!0,m),_),_}),{renderButtonGroup:u}=la(e,t,f);return()=>n.createVNode("div",n.mergeProps(t.attrs,{ref:o,class:c.value,id:e.id}),[n.createVNode("div",{class:p.value},[n.createVNode("input",{ref:d,class:"form-control",readonly:!0,placeholder:e.placeholder},null),u()])])}});function rt(e,t,o){var x;function i(){o!=null&&o.resolveComponentContext&&o.resolveComponentContext()}i();const a=o&&o.getStyles&&o.getStyles()||"",r=o&&o.getDesignerClass&&o.getDesignerClass()||"",l=n.ref();function s(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:o&&o.checkCanMoveComponent?o.checkCanMoveComponent():!0}function f(){return!1}function d(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:o&&o.checkCanDeleteComponent?o.checkCanDeleteComponent():!0}function p(){return(t==null?void 0:t.schema.componentType)==="frame"?!0:o&&o.hideNestedPaddingInDesginerView?o.hideNestedPaddingInDesginerView():!1}function c(h){if(!h||!h.value)return null;if(h.value.schema&&h.value.schema.type==="component")return h.value;const V=n.ref(h==null?void 0:h.value.parent),v=c(V);return v||null}function u(h=t){const{componentInstance:V,designerItemElementRef:v}=h;return!V||!V.value?null:V.value.canMove?v:u(h.parent)}function _(h){return!!o&&o.canAccepts(h)}function m(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function y(){}function b(h,V){V&&o!=null&&o.onAcceptMovedChildElement&&o.onAcceptMovedChildElement(V)}function S(h,V){const{componentType:v}=h;let w=Bt(v,h,V);o&&o.onResolveNewComponentSchema&&(w=o.onResolveNewComponentSchema(h,w));const k=v.toLowerCase().replace("-","_");return w&&!w.id&&w.type===v&&(w.id=`${k}_${Math.random().toString().slice(2,6)}`),w}function C(h,V){const v=String(h.getAttribute("data-controltype")),w=h.getAttribute("data-feature"),k=w?JSON.parse(w):{};k.parentComponentInstance=l.value;let I=Bt(v,k);o&&o.onAcceptNewChildElement&&(I=o.onAcceptNewChildElement(h,V,I));const O=v.toLowerCase().replace("-","_");return I&&!I.id&&I.type===v&&(I.id=`${O}_${Math.random().toString().slice(2,6)}`),I}function g(h){}function F(...h){if(o&&o.getPropsConfig)return o.getPropsConfig(...h)}return l.value={canMove:s(),canSelectParent:f(),canDelete:d(),canNested:!p(),contents:t==null?void 0:t.schema.contents,elementRef:e,parent:(x=t==null?void 0:t.parent)==null?void 0:x.componentInstance,schema:t==null?void 0:t.schema,styles:a,designerClass:r,canAccepts:_,getBelongedComponentInstance:c,getDraggableDesignItemElement:u,getDraggingDisplayText:m,getPropConfig:F,getDragScopeElement:y,onAcceptMovedChildElement:b,onAcceptNewChildElement:C,onChildElementMovedOut:g,addNewChildComponentSchema:S,updateDragAndDropRules:i,triggerBelongedComponentToMoveWhenMoved:!!o&&o.triggerBelongedComponentToMoveWhenMoved||n.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!o&&o.triggerBelongedComponentToDeleteWhenDeleted||n.ref(!1)},l}const sa=new Map([["appearance",Ge],["mappingFields",(e,t,o)=>{let{mappingFields:i}=o;return typeof i=="string"&&i.startsWith("{")&&i.endsWith("}")?(i=i.replace(/'/g,'"'),{mappingFields:JSON.parse(i)}):{mappingFields:i}}],["uri",(e,t,o)=>{var i;return{uri:(i=o==null?void 0:o.dataSource)==null?void 0:i.uri}}]]),ca={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/lookup.schema.json",title:"lookup",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"lookup"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:"帮助"},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},textField:{description:"帮助显示文本字段",type:"string",default:""},mappingFields:{description:"帮助字段映射",type:"object",default:{}},uri:{type:"string",default:""}},required:["id","type"],ignore:["id","appearance","binding"]};function da(e,t,o){return t}var Ue=(e=>(e.List="LIST",e.Tree="TREELIST",e.ListList="NAVLIST",e.TreeList="NAVTREELIST",e.ListTree="NAVLISTTREE",e))(Ue||{}),jt=(e=>(e.default="default",e.all="all",e.async="async",e))(jt||{});const yn=Symbol("f_lookup-http-service_token");var Pt=(e=>(e[e.Equal=0]="Equal",e[e.NotEqual=1]="NotEqual",e[e.Greater=2]="Greater",e[e.GreaterOrEqual=3]="GreaterOrEqual",e[e.Less=4]="Less",e[e.LessOrEqual=5]="LessOrEqual",e[e.Like=6]="Like",e[e.LikeStartWith=7]="LikeStartWith",e[e.LikeEndWith=8]="LikeEndWith",e[e.NotLike=9]="NotLike",e[e.NotLikeStartWith=10]="NotLikeStartWith",e[e.NotLikeEndWith=11]="NotLikeEndWith",e[e.Is=12]="Is",e[e.IsNot=13]="IsNot",e[e.In=14]="In",e[e.NotIn=15]="NotIn",e))(Pt||{}),xt=(e=>(e[e.Empty=0]="Empty",e[e.And=1]="And",e[e.Or=2]="Or",e))(xt||{}),vn=(e=>(e[e.Value=0]="Value",e[e.Expression=1]="Expression",e.FrontExpress="frontExpress",e))(vn||{});const mt={id:{type:String,require:!0},uri:{type:String,default:""},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},editable:{type:Boolean,default:!1},mappingFields:{type:Object,default:null},fitColumns:{type:Boolean,default:!0},columns:{type:Array,default:[]},idField:{type:String,default:"id"},textField:{type:String,defalut:"name"},data:{type:Array,default:[]},displayType:{type:String,default:Ue.List},dialog:{type:Object,default:{title:"选择"}},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},pagination:{type:Object,default:{enable:!1,showLimits:!0,sizeLimits:[10,20,30,50,100],size:20,index:1,total:0,mode:"server",showGoto:!1}},enableClear:{type:Boolean,default:!0},inputType:{type:String,default:"text"},idValue:{type:String,default:""},dictPicking:{type:Function,default:null},dictPicked:{type:Function,default:null},beforeSelectData:{type:Function,default:null},enableSearchBar:{type:Boolean,default:!0},searchFields:{type:Array,default:[]},showAllSearchColumns:{type:Boolean,default:!0},navigation:{type:Object,default:null},textChangeType:{type:String,default:"any"},enableMultiFieldSearch:{type:Boolean,default:!1},treeToList:{type:Boolean,default:!1},navTreeToList:{type:Boolean,default:!1},loadTreeDataType:{type:String,default:jt.all},enableToSelect:{type:Boolean,default:!0},customData:{type:Object,default:null},modelValue:{type:String,default:""}},Dt=Ie(mt,ca,sa,da);function bn(e,t){e.schema;const o=n.ref(!0),i=n.ref(!0);function a(c){return!1}function r(){return!1}function l(){return!1}function s(){return!0}function f(c){}function d(){}function p(c){return null}return{canAccepts:a,checkCanDeleteComponent:r,checkCanMoveComponent:l,hideNestedPaddingInDesginerView:s,onAcceptMovedChildElement:f,resolveComponentContext:d,triggerBelongedComponentToMoveWhenMoved:o,triggerBelongedComponentToDeleteWhenDeleted:i,getPropsConfig:p}}class _t{constructor(t,o){z(this,"componentId");z(this,"viewModelId");z(this,"eventsEditorUtils");z(this,"formSchemaUtils");z(this,"formMetadataConverter");z(this,"designViewModelUtils");z(this,"designViewModelField");z(this,"controlCreatorUtils");z(this,"designerHostService");z(this,"schemaService",null);z(this,"metadataService",null);z(this,"propertyConfig",{type:"object",categories:{}});var i;this.componentId=t,this.designerHostService=o,this.eventsEditorUtils=o.eventsEditorUtils,this.formSchemaUtils=o.formSchemaUtils,this.formMetadataConverter=o.formMetadataConverter,this.viewModelId=((i=this.formSchemaUtils)==null?void 0:i.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=o.designViewModelUtils,this.controlCreatorUtils=o.controlCreatorUtils,this.metadataService=o.metadataService,this.schemaService=o.schemaService}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){const o=t.binding&&t.binding.type==="Form"&&t.binding.field;if(o){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(a=>a.id===o)}t.updateOn=this.designViewModelField.updateOn}}changeFieldEditorType(t,o){}getBasicPropConfig(t){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:t.type,name:Z[t.type].name}]}}}}}getAppearanceConfig(t=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}}const dt=class dt{static getEditorTypesByMDataType(t){const o=dt.fieldControlTypeMapping[t];return o||[{key:"",value:""}]}static getAllInputTypes(){const t=[];for(let o in dt.fieldControlTypeMapping)dt.fieldControlTypeMapping[o].forEach(i=>{t.find(a=>a.key===i.key&&a.value===i.value)||t.push({key:i.key,value:i.value})});return t}};z(dt,"fieldControlTypeMapping",{String:[{key:Z["input-group"].type,value:Z["input-group"].name},{key:Z.lookup.type,value:Z.lookup.name},{key:Z["date-picker"].type,value:Z["date-picker"].name},{key:Z["check-box"].type,value:Z["check-box"].name},{key:Z["radio-group"].type,value:Z["radio-group"].name},{key:Z["combo-list"].type,value:Z["combo-list"].name},{key:Z.textarea.type,value:Z.textarea.name}],Text:[{key:Z.textarea.type,value:Z.textarea.name},{key:Z.lookup.type,value:Z.lookup.name}],Decimal:[{key:Z["number-spinner"].type,value:Z["number-spinner"].name}],Integer:[{key:Z["number-spinner"].type,value:Z["number-spinner"].name}],Number:[{key:Z["number-spinner"].type,value:Z["number-spinner"].name}],BigNumber:[{key:Z["number-spinner"].type,value:Z["number-spinner"].name}],Date:[{key:Z["date-picker"].type,value:Z["date-picker"].name}],DateTime:[{key:Z["date-picker"].type,value:Z["date-picker"].name}],Boolean:[{key:Z.switch.type,value:Z.switch.name},{key:Z["check-box"].type,value:Z["check-box"].name}],Enum:[{key:Z["combo-list"].type,value:Z["combo-list"].name},{key:Z["radio-group"].type,value:Z["radio-group"].name}],Object:[{key:Z.lookup.type,value:Z.lookup.name},{key:Z["combo-list"].type,value:Z["combo-list"].name},{key:Z["radio-group"].type,value:Z["radio-group"].name}]});let gt=dt;const Ft=n.ref(0);function ua(e,t){const o=t.getBoundingClientRect(),i=e.getBoundingClientRect(),a=i.top>=o.top,r=i.top<=o.bottom;return a&&r}function fa(e){if(!e)return;let t;if(e.className.includes("dgComponentSelected")?t=e:t=e.querySelector(".dgComponentSelected"),!t)return;const o=t.getBoundingClientRect();if(o.width===0&&o.height===0)return;const i=t.querySelector(".component-btn-group");if(i){if(!ua(t,e)){i.style.display="none";return}i.style.display="";const r=i.getBoundingClientRect(),l=i.querySelector("div");if(l){const s=l.getBoundingClientRect();l.style.top=r.top+"px",l.style.left=r.left-s.width+"px"}}}class Ae extends _t{constructor(t,o){super(t,o)}getPropertyConfig(t,o){return this.propertyConfig.categories.basic=this.getBasicProperties(t,o),this.propertyConfig.categories.appearance=this.getAppearanceProperties(t),this.propertyConfig.categories.editor=this.getEditorProperties(t),this.propertyConfig}getBasicProperties(t,o){var l;var i=this;this.setDesignViewModelField(t);const a=this.formSchemaUtils.getFormMetadataBasicInfo(),r=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",editable:!1,data:i.designViewModelField?gt.getEditorTypesByMDataType((l=i.designViewModelField.type)==null?void 0:l.name):gt.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",$converter:"/converter/field-selector.converter",editor:{type:"field-selector",bindingType:{enable:!1},editorParams:{propertyData:t,formBasicInfo:a},columns:[{field:"name",title:"字段名称"},{field:"bindingField",title:"绑定字段"},{field:"fieldType",title:"字段类型"}],textField:"bindingField",data:r}}},setPropertyRelates(s,f){if(s)switch(s&&s.propertyID){case"type":{i.changeControlType(t,s,o);break}case"label":{s.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(t){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!1,editor:{type:"response-layout-editor-setting"},$converter:"/converter/response-form-layout.converter"}}}}getEditorProperties(t){return this.getComponentConfig(t)}changeControlType(t,o,i){var d,p,c,u;const a=o.propertyValue,r=i&&i.parent&&i.parent.schema;if(!r)return;const l=r.contents.findIndex(_=>_.id===t.id),s=r.contents[l];let f;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:a},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),f=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,a)),f||(f=Tt.getSchemaByType("form-group")||{},f.editor=Tt.getSchemaByType(a)||{},delete f.editor.id,delete f.editor.binding,delete f.editor.appearance),Object.assign(f,{id:s.id,appearance:s.appearance,size:s.size,label:s.label,binding:s.binding,visible:s.visible}),Object.assign(f.editor,{isTextArea:f.isTextArea&&s.isTextArea,placeholder:(d=s.editor)==null?void 0:d.placeholder,holdPlace:(p=s.editor)==null?void 0:p.holdPlace,readonly:(c=s.editor)==null?void 0:c.readonly,require:(u=s.editor)==null?void 0:u.require}),r.contents.splice(l,1),r.contents.splice(l,0,f),i.schema=Object.assign(s,f),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(_=>_.classList.remove("dgComponentSelected")),Ft.value++}getComponentConfig(t,o={},i={}){const a=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},o),r=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},i);return{...a,properties:{...r}}}}function pa(e,t,o,i,a,r){const l=n.ref(!1),s=n.computed(()=>e.enableClear&&!e.readonly&&!e.disable),{changeTextBoxValue:f}=r;function d(_){l.value=_}n.watch(a,()=>{d(!!a.value)});function p(_){const m=!e.readonly&&!e.disable&&e.editable,y=!e.editable;_.stopPropagation(),(m||y)&&(f("",!1),d(!l.value),t.emit("clear"))}function c(_){if(s.value){if(!o.value){d(!1);return}!e.disable&&!e.readonly&&d(!0)}}function u(_){s.value&&d(!1)}return{enableClearButton:s,showClearButton:l,onClearValue:p,onMouseEnterTextBox:c,onMouseLeaveTextBox:u}}function ma(e,t,o,i,a){const r=n.computed(()=>e.popupOnInput),l=n.computed(()=>e.popupOnFocus),{shouldPopupContent:s}=a,f=n.computed(()=>e.enableTitle?o.value:""),d=n.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),p=n.computed(()=>e.readonly||!e.editable),c=n.ref(!1),u=n.computed(()=>!e.disable&&c.value),_=n.computed(()=>({"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right","form-control":!0,"f-utils-fill":!0})),m=n.computed(()=>({"input-group":!0,"f-state-disable":e.disable,"f-state-editable":e.editable&&!e.disable&&!e.readonly,"f-state-readonly":e.readonly&&!e.disable,"f-state-focus":u.value}));function y(w,k=!0){o.value!==w&&(o.value=w,k&&t.emit("change",w),t.emit("update:modelValue",w))}function b(w){s.value=!1,y(w,!0)}n.watch(()=>e.modelValue,w=>{o.value=w});function S(w){c.value=!1,t.emit("blur",w),w.stopPropagation()}function C(w){t.emit("click",w)}function g(w){e.disable||(c.value=!0,p.value||(t.emit("focus",w),l.value&&!s.value&&a.popup()))}function F(w){t.emit("input",w.target.value);const k=w.target.value;i.value=k,o.value!==k&&y(k,!0),r.value&&!s.value&&a.popup()}function x(w){w.target.tagName!=="INPUT"&&w.preventDefault(),w.stopPropagation()}function h(w){t.emit("keydown",w)}function V(w){w.key==="Enter"&&(r.value||l.value)&&a.hidePopup(),t.emit("keyup",w)}function v(w){const k=w.target.value;w.stopPropagation(),y(k)}return{hasFocusedTextBox:u,isTextBoxReadonly:p,textBoxClass:_,textBoxPlaceholder:d,textBoxTitle:f,inputGroupClass:m,changeTextBoxValue:y,commitValue:b,onBlurTextBox:S,onClickTextBox:C,onFocusTextBox:g,onInput:F,onKeyDownTextBox:h,onKeyUpTextBox:V,onMouseDownTextBox:x,onTextBoxValueChange:v}}function ga(e,t,o){const i=n.ref(),{isTextBoxReadonly:a,textBoxClass:r,textBoxPlaceholder:l,textBoxTitle:s,onBlurTextBox:f,onClickTextBox:d,onFocusTextBox:p,onInput:c,onKeyDownTextBox:u,onKeyUpTextBox:_,onMouseDownTextBox:m,onTextBoxValueChange:y}=o;return n.onMounted(()=>{var b,S;e.selectOnCreated&&((b=i.value)==null||b.select()),e.focusOnCreated&&((S=i.value)==null||S.focus())}),()=>n.createVNode("input",{ref:i,name:"input-group-value",autocomplete:e.autoComplete?"on":"off",class:r.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:l.value,readonly:a.value,tabindex:e.tabIndex,title:s.value,type:e.inputType,value:t.value,onBlur:f,onChange:y,onClick:d,onFocus:p,onInput:c,onKeydown:u,onKeyup:_,onMousedown:m},null)}function ha(e,t,o){const i=n.ref(e.separator),{changeTextBoxValue:a}=o,r=n.computed(()=>t.value?t.value.split(i.value).map(s=>({name:s,selectable:!0})):[]);function l(s){a(s.map(f=>f.name).join(i.value),!0)}return()=>n.createVNode(on,{id:`${e.id}-tag-editor`,class:"form-control",data:r.value,showClose:!0,showInput:!0,onChange:l},null)}function ya(e,t,o,i){const{buttonGroupClass:a,onClickButton:r,onMouseEnterButton:l,onMouseLeaveButton:s}=o,{enableClearButton:f,showClearButton:d,onClearValue:p}=i,c=n.ref();return{renderButtonGroup:()=>n.createVNode("div",{id:`${e.id}-button-group`,class:a.value},[f.value&&n.withDirectives(n.createVNode("span",{class:"input-group-text input-group-clear",onClick:p},[n.createVNode("i",{class:"f-icon modal_close"},null)]),[[n.vShow,d.value]]),t.slots.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",onClick:r,onMouseenter:l,onMouseleave:s},[t.slots.buttonContent()]):e.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:c,onClick:r,onMouseenter:l,onMouseleave:s},null):null]),buttonHandleElement:c}}function va(e,t,o){const i=n.ref(e.popupMinWidth),{hidePopup:a,popoverRef:r}=o;return()=>n.createVNode(zo,{id:`${e.id}-popover`,ref:r,visible:!0,placement:"bottom-left",host:e.popupHost,"keep-width-with-reference":!0,fitContent:!0,"right-boundary":e.popupRightBoundary,minWidth:i.value,offsetX:e.popupOffsetX,onHidden:a},{default:()=>{var l,s;return[(s=(l=t.slots).default)==null?void 0:s.call(l)]}})}const Ze=n.defineComponent({name:"FButtonEdit",props:Mt,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,t){const o=n.ref(),i=n.ref(e.customClass),a=n.ref(e.modelValue),r=gn(e,t,o,a),{shouldPopupContent:l,hidePopup:s,togglePopup:f}=r,d=mn(e,t,o,r,a),p=n.ref(""),c=ma(e,t,a,p,r),{hasFocusedTextBox:u,commitValue:_,inputGroupClass:m}=c,y=pa(e,t,a,u,p,c),{onMouseEnterTextBox:b,onMouseLeaveTextBox:S}=y,C=n.computed(()=>{const w={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return i.value&&i.value.split(" ").reduce((k,I)=>(k[I]=!0,k),w),w});function g(){return e.multiSelect&&e.inputType==="tag"?ha(e,a,c):ga(e,a,c)}let F=g();n.watch([()=>e.multiSelect,()=>e.inputType],()=>{F=g()});const{renderButtonGroup:x,buttonHandleElement:h}=ya(e,t,d,y),V=va(e,t,r),v={commitValue:_,elementRef:o,hidePopup:s,shouldPopupContent:l,togglePopup:f,openDialog:()=>{h.value&&e.buttonBehavior==="Modal"&&h.value.click()},getModal:()=>{var w;return e.buttonBehavior==="Modal"?(w=d.modalRef.value)==null?void 0:w.value:null}};return n.onMounted(()=>{o.value.componentInstance=v,window.onresize=()=>{document.body.click()}}),t.expose(v),()=>n.createVNode(n.Fragment,null,[n.createVNode("div",n.mergeProps(t.attrs,{ref:o,class:C.value,id:e.id}),[n.createVNode("div",{id:`${e.id}-input-group`,class:m.value,onMouseenter:b,onMouseleave:S},[F(),x()])]),l.value&&V()])}}),ba={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/field-selector.schema.json",title:"field-selector",description:"A Farris Input Component",type:"object",properties:{}},Ca=[{field:"code",title:"绑定字段"},{field:"name",title:"名称"},{field:"fieldType",title:"字段类型"}],Rt=Symbol("Field_Selector Component Repository Service Token");Ie({disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},modelValue:{type:[String,Array],default:null},bindingType:{type:Object,default:{enable:!0,data:[{value:"Form",text:"绑定字段"},{value:"LocaleVariable",text:"绑定组件变量"},{value:"RemoteVariable",text:"绑定表单变量"}],value:"Form",textField:"text",valueField:"value"}},data:{type:Array,default:[]},idField:{type:String,default:"id"},columns:{type:Array,default:Ca},title:{type:String,default:"字段选择器"},modalWidth:{type:Number,default:600},modalHeight:{type:Number,default:500},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},bindingData:{type:Array,default:[]},textField:{type:String,default:"code"},beforeOpenDialog:{type:Function,default:null},editorParams:{type:Object,default:null},onFieldSelected:{type:Function,default:null},repositoryToken:{type:Symbol,default:null}},ba);function wa(e,t,o){return!t||!t.length?{columns:[]}:(t.forEach(i=>{i.title=i.caption?i.caption:i.title,i.field=i.binding?i.binding.path:i.field}),{columns:t})}const Cn=new Map([["appearance",Ge],["column","columnOption"],["fields",wa]]);function Sa(e,t,o){var c;const i=o.parentComponentInstance,a=i.schema.type,r=String(((c=i.schema.appearance)==null?void 0:c.class)||"").split(" "),l=a==="section"||a==="tab-page",s=r.includes("f-page-content-nav"),f=r.includes("f-page-main"),d=e.getSchemaByType("component");d.id=`${t.id}-component`,d.componentType="data-grid";let p="";return p+=l?"f-struct-data-grid-in-card f-struct-is-subgrid":"",p+=s?"f-struct-data-grid-in-nav f-struct-wrapper f-utils-fill-flex-column":"",p+=f?"f-struct-data-grid f-struct-wrapper":"",d.appearance={class:p},d.contents=[t],d}function xa(e,t,o){const i=o.parentComponentInstance,a=String(i.schema.appearance.class||"").split(" "),r=a.includes("f-page-content-nav"),l=a.includes("f-page-main"),s=e.getSchemaByType("section");s.id=`${t.id}-section`;let f="";return f+=r?"f-section-in-nav ":"",f+=l?"f-section-in-managelist ":"",f+="f-section-grid",s.appearance={class:f},s.contents=[t],s}function _a(e,t,o){const i=e.getSchemaByType("content-container");return i.id=`${t.id}-layout`,i.appearance={class:"f-grid-is-sub f-utils-flex-column"},i.contents=[t],i}function wn(e,t,o){const a=o.parentComponentInstance.schema.type,r=a==="section"||a==="tab-page";t.appearance={class:"f-component-grid"};const s=(r?_a:xa)(e,t,o);return Sa(e,s,o)}const Sn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/tree-grid.schema.json",title:"tree-grid",description:"A Farris Data Grid Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"tree-grid"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},fit:{type:"boolean",default:!1},showStripe:{type:"boolean",default:!0},showBorder:{type:"boolean",default:!1},showTreeNodeIcons:{type:"boolean",default:!1},size:{description:"",type:"object",properties:{width:{type:"number"},height:{type:"number"}},default:null},dataSource:{description:"",type:"string",default:""},columns:{description:"",type:"array",default:[]},identifyField:{description:"",type:"string"},editable:{description:"",type:"boolean",default:!1},disable:{description:"",type:"boolean",default:!1},visible:{description:"",type:"boolean",default:!0},cell:{type:"object",properties:{highlightFocusingCell:{description:"",type:"boolean",default:!1},mergeCell:{description:"",type:"boolean",default:!1},showEditableIcon:{description:"",type:"boolean",default:!1}}},column:{type:"object",properties:{fitColumns:{description:"",type:"boolean",default:!1},fitMode:{description:"",type:"string",default:"average"},groups:{description:"",type:"array",default:[]},reorderColumn:{description:"Enable to drag column to reorder",type:"boolean",default:!1},resizeColumn:{type:"boolean",default:!0},resizeColumnOnDoubleClick:{description:"",type:"boolean",default:!0}}},command:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},commands:{type:"array",default:[]},commandColumnWidth:{description:"",type:"number",default:120},onClickDeleteCommand:{description:"",type:"string",default:""},onClickEditCommand:{description:"",type:"string",default:""}}},contextMenu:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1}}},customizaiton:{type:"object",properties:{enableScheme:{description:"",type:"boolean",default:!1},enableSetting:{description:"",type:"boolean",default:!1}}},edit:{type:"obejct",properties:{mode:{description:"",type:"string",default:"cell",enum:["cell","row","card"]},selectOnEditing:{description:"",type:"boolean",default:!1},onAppendRow:{description:"",type:"string",default:""},onBeforeEdit:{description:"",type:"string",default:""}}},filter:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},filterStyle:{description:"",type:"string",default:"filter-column",enum:["filter-column","filter-row"]},mode:{description:"",type:"string",default:"server",enum:["client","server"]},showSummary:{description:"",type:"boolean",default:!0},onFilterChange:{description:"",type:"string",default:""}}},footer:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customFooterStyle:{description:"",type:"object"},footerDataCommand:{description:"",type:"string",default:""},footerDataFrom:{description:"",type:"string",default:"client"},footerHeight:{description:"",type:"number",default:29},footerPosition:{description:"",type:"string",default:"bottom"},footerTemplate:{description:"",type:"string",default:""}}},group:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customGroupRow:{description:"",type:"object"},customGroupRowStyle:{description:"",type:"obejct"},customSummaryStyle:{description:"",type:"obejct"},groupColSpan:{description:"",type:"number",default:1},groupFields:{description:"",type:"array",default:[]},showGroupedColumn:{description:"",type:"boolean",default:!0},showGroupPanel:{description:"",type:"boolean",default:!1},showSummary:{description:"",type:"boolean",default:!1},summaryPosition:{description:"",type:"string",default:"separate",enum:["separate","merge-to-group"]},disableGroupOnEditing:{description:"",type:"boolean",default:!0},expandGroupRows:{description:"",type:"boolean",default:!0}}},header:{type:"object",properties:{wrapHeadings:{description:"",type:"boolean",default:!1}}},pagination:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},disablePagination:{description:"",type:"string",default:""},contentTemplate:{description:"",type:"string",default:""},index:{description:"",type:"number",default:1},mode:{description:"",type:"string",default:"server",enum:["server","client"]},showGoto:{description:"",type:"boolean",default:!1},showIndex:{description:"",type:"boolean",default:!0},showLimits:{description:"",type:"boolean",default:!1},showPageInfo:{description:"",type:"boolean",default:!0},size:{description:"",type:"number",default:20},sizeLimits:{description:"",type:"array",default:[10,20,30,50,100]},onPageChange:{description:"",type:"string",default:""},onPageSizeChange:{description:"",type:"string",default:""}}},row:{type:"object",properties:{customRowStyle:{description:"",type:"object"},disable:{description:"",type:"obejct"},height:{description:"",type:"number",default:30},showHovering:{type:"boolean",default:!0},wrapContent:{type:"boolean",default:!1}}},rowNumber:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},heading:{description:"",type:"string",default:"序号"},width:{description:"",type:"number",default:36},onClickRow:{description:"",type:"string",default:""},onDoubleClickRow:{description:"",type:"string",default:""}}},selection:{type:"object",properties:{enable:{description:"",type:"boolean",default:!0},checkOnSelect:{description:"",type:"boolean",default:!1},clearSelectionOnEmpty:{description:"",type:"boolean",default:!0},customSelectionItem:{description:"",type:"object"},focusSelection:{description:"",type:"string",default:"current",enum:["current","all"]},keepSelectingOnClick:{description:"",type:"boolean",default:!0},keepSelectingOnPaging:{description:"",type:"boolean",default:!0},multiSelect:{description:"",type:"boolean",default:!1},selectionMode:{description:"",type:"string",default:"default"},selectOnCheck:{description:"",type:"boolean",default:!1},selectOnEditing:{description:"",type:"boolean",default:!1},showCheckbox:{description:"",type:"boolean",default:!1},showCheckAll:{description:"",type:"boolean",default:!1},showSelection:{description:"",type:"boolean",default:!1},onBeforeSelect:{description:"",type:"string",default:""},onBeforeUnCheck:{description:"",type:"",default:""},onBeforeUnSelect:{description:"",type:"string",default:""},onCheckAll:{description:"",type:"string",default:""},onChecked:{description:"",type:"string",default:""},onSelectionChange:{description:"",type:"string",default:""},onUnCheckAll:{description:"",type:"string",default:""},onUnChecked:{description:"",type:"string",default:""},onCheckedChange:{description:"",type:"string"}}},sort:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},fields:{description:"",type:"array",default:[]},mode:{description:"",type:"string",default:"client",enum:["client","server"]},multiSort:{description:"",type:"boolean",default:!1}}},summary:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customSummaryStyle:{description:"",type:"object"},groupFields:{description:"",type:"array",default:[]},mode:{description:"",type:"string",default:"client",enum:["client","server"]},position:{description:"",type:"boolean",default:"bottom",enum:["bottom","top","both"]}}},toolbar:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1}}},visualization:{autoHeight:{description:"",type:"boolean",default:!1},emptyDataHeight:{description:"",type:"number",default:36},emptyTemplate:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:300},scrollBarShowMode:{description:"",type:"string",default:"auto"},showBorder:{description:"",type:"boolean",default:!1},showScrollArrow:{description:"",type:"boolean",default:!1},striped:{description:"",type:"boolean",default:!0},useBlankWhenDataIsEmpty:{description:"",type:"boolean",default:!1}}},required:["id","type"]},Et={columns:{type:Array,default:[]},displayField:{type:String,default:"name"},showLines:{type:Boolean,default:!1},columnOption:{type:Object},data:{type:Array,default:[]},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!1},editOption:{type:Object,default:{selectOnEditing:!1,editMode:"cell"}},fit:{type:Boolean,default:!1},header:{type:Object},height:{type:Number,default:-1},id:{type:String,default:""},idField:{type:String,default:"id",require:!0},loading:{type:Boolean,default:!1},minHeight:{type:Number,default:300},minWidth:{type:Number,default:400},pagination:{type:Object,default:{enable:!1,size:-1}},rowNumber:{type:Object,default:{enable:!0,width:32,heading:"序号"}},rowOption:{type:Object,default:{wrapContent:!1}},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!0}},selectionValues:{type:Array,default:[]},showBorder:{type:Boolean,default:!1},showOptions:{type:Boolean,default:!1},showScrollBar:{type:String,default:"auto"},showStripe:{type:Boolean,default:!0},showTreeNodeIcons:{type:Boolean,default:!1},treeNodeIconsData:{type:[Object,String],default:{}},width:{type:Number,default:-1},newDataItem:{type:Function,default:()=>{}},commandOption:{type:Object,default:{enable:!1,commands:[]}},hierarchy:{type:Object,default:{cascadeOption:{autoCheckChildren:!1,autoCheckParent:!1,selectionRange:"All"},parentIdField:"parent"}},autoCheckChildren:{type:Boolean,default:!1},showSetting:{type:Boolean,default:!1}},Fa=Ie(Et,Sn,Cn,wn),Va=Ji(),xn=Object.assign({},Et,{componentId:{type:String,default:""}}),Na=Ie(xn,Sn,Cn,wn);var Me=(e=>(e[e.readonly=0]="readonly",e[e.editable=1]="editable",e[e.editing=2]="editing",e))(Me||{}),We=(e=>(e[e.initial=0]="initial",e[e.editing=1]="editing",e))(We||{}),et=(e=>(e[e.data=0]="data",e[e.group=1]="group",e[e.summary=2]="summary",e))(et||{}),Pe=(e=>(e[e.none=0]="none",e[e.filterable=1]="filterable",e[e.sortable=2]="sortable",e[e.filtered=4]="filtered",e[e.sorted=8]="sorted",e[e.ascending=16]="ascending",e[e.descending=32]="descending",e))(Pe||{}),Lt=(e=>(e.NONE="none",e.NUMBER="number",e.DATE="date",e.TEXT="boolean",e.IMAGE="boolean2",e.ENUM="enum",e.CUSTOM="custom",e))(Lt||{});function ka(){function e(){return n.createVNode("div",{class:"fv-grid-disable"},null)}return{renderDisableMask:e}}function Ta(e,t,o,i,a){const{columnContext:r}=t,{conditions:l,clearCondition:s,removeCondition:f}=i,d=n.ref([]);function p(){const m=[];Array.from(l.value).forEach((y,b)=>{const S={id:y.id,code:y.fieldCode,labelCode:y.fieldCode,name:y.fieldName,editor:{type:y.value.editorType}};m.push(S)}),d.value=m}n.watch(l,()=>p());function c(m){f(`field_filter_${m}`);const y=r.value.primaryHeaderColumns.find(b=>b.field===m);if(y){y.filterValue=null;let b=y.status;b=(b&Pe.filtered)===Pe.filtered?b^Pe.filtered:b,y.status=b}o.refresh(),a.reCalculateVisualDataRows()}function u(){s(),r.value.primaryHeaderColumns.forEach(m=>{m.filterValue=null;let y=m.status;y=(y&Pe.filtered)===Pe.filtered?y^Pe.filtered:y,m.status=y}),o.refresh(),a.reCalculateVisualDataRows()}function _(){return n.createVNode("div",{class:"fv-grid-filter-panel"},[n.createVNode(an.FFilterBar,{data:l.value,fields:d.value,mode:"display-only","show-reset":!0,onRemove:c,onReset:u},null)])}return{renderFilterPanel:_}}function Ia(e,t,o,i,a){const{dropOnGroupPanel:r,groupColumnItems:l}=o,{groupFields:s,shouldGroupingData:f}=i,d=n.ref();function p(_){s.value=_.map(m=>m.value),t.updateDataView(),a.reCalculateVisualDataRows()}function c(_){_.preventDefault()}function u(){return f.value&&n.createVNode("div",{class:"fv-grid-group-panel",onDrop:r,onDragover:c},[l.value&&n.createVNode(n.resolveComponent("f-tags"),{ref:d,style:"margin:0.375rem","tag-type":"default",data:l.value,"tag-style":"capsule","show-close":!0,onChange:p},null)])}return{renderGroupPanel:u}}function At(e,t){var _;const o=String(Date.now()),i=((_=e.rowOption)==null?void 0:_.height)||28,a=n.ref(t.value.primaryColumnsWidth);function r(m){const y={};return m.reduce((b,S,C)=>{const g=C<m.length-1?m[C+1]:null;return C===0&&(b[S.field]={left:0}),S.actualWidth!==void 0&&(b[S.field].width=S.actualWidth),g&&(b[g.field]={left:b[S.field].left+(S.actualWidth||0)}),b},y),y}function l(m,y,b){const S=i*(b+1),g=y[m.field].left-S+(y[m.field].width||0),F=m.parent.height?`${m.parent.height}px`:"";return{left:`${S}px`,width:`${g}px`,height:`${F}`}}function s(m,y,b){return{right:"0px",height:`${m.parent.height?`${m.parent.height}px`:""}`}}function f(m,y){const b=m.parent.height?`${m.parent.height}px`:"";return{left:`${y[m.field].left}px`,height:`${b}`,width:isNaN(Number(y[m.field].width))?"100%":`${y[m.field].width}px`}}function d(m,y,b){const C=(y.spanned||[]).reduce((F,x)=>F+(x.parent.height||0),0)+(m.height||0);return{top:`${m.top}px`,left:`${b[y.field].left}px`,width:`${b[y.field].width}px`,height:`${C}px`,padding:`calc(${C/2}px - 1rem) 0`}}function p(m,y){return`${o}_${m.type}_r_${m.index}_c_${y}_${m.refreshKey||""}`}function c(m){return`${o}_${m.type}_r_${m.index}_${m.refreshKey||""}`}function u(m){const y=m.height?`${m.height}px`:"";return{top:`${m.top}px`,width:isNaN(a.value)?"100%":`${a.value}px`,height:`${y}`}}return n.watch(t,()=>{a.value=t.value.primaryColumnsWidth}),{calculateCellPositionInRow:r,cellKey:p,cellPosition:f,groupCellPosition:l,rowKey:c,rowPosition:u,rowSpanCellPosition:d,summaryCellPosition:s}}function Oa(e,t,o){const{hasChildrenField:i}=o,a=n.ref("#9399a0"),r=n.ref(28);function l(){return[].concat(...t.value.filter(u=>u.raw.__fv_descendant_index__.length!==0).map(u=>[...u.raw.__fv_descendant_index__.slice(-1)]).flat()).sort((u,_)=>Number(u)-Number(_))}function s(p){const c=new Array(t.value.length).fill(0);if(e.showLines){const u=l();t.value.forEach((_,m)=>{const y=u.includes(m),b=_.raw[i.value];c[m]=`repeating-linear-gradient(90deg, ${a.value} 0 1px, transparent 0px 2px) ${b?"-10px":"0px"} ${r.value/2}px/20px 1px no-repeat,repeating-linear-gradient(${a.value} 0 1px, transparent 0px 2px) 0px 0px/1px ${y?"50%":"100%"} no-repeat`}),c[0]=""}return c[p]}function f(p,c,u){return u[p].parents.set(p,!0).forEach(m=>{u[m].childsLength=u[m].childWithLines.filter(y=>c[y].visible).length}),c}function d(p){const _=p.raw.__fv_parent_index__===void 0||p.raw.__fv_parent_index__===-1?0:8,m=0,y=p.raw[i.value],b=p.visible?{left:`${p.layer*10+p.layer*_+m}px`,background:s(p.index),display:"flex",width:"100%",position:"relative",paddingLeft:"0.75rem"}:{display:"none"};return y||(b.paddingLeft="2rem"),b}return{hierarchyCellContentStyle:d,handleCollapsedPaddingBottom:f}}function $a(e,t,o){const i=n.ref(e.iconField);function a(r,l){if(i.value)return r.raw[e.iconField];let s="";return r.raw[o.value]!==!0?s=t.value.leafnodes:s=r.collapse?t.value.fold:t.value.unfold,s}return{treeNodeIconsClass:a}}function Ht(){function e(o,i){const a=o.pre;if(a){const r=o.visible?(a.__fv_data_position__||0)+(a.__fv_data_height__||0):a.__fv_data_position__;o.top=r,i.__fv_data_position__=r}else o.top=0,i.__fv_data_position__=0}function t(o,i,a){if(o){const r=i.parent;i.cellHeight!==o.offsetHeight&&(i.cellHeight=o.offsetHeight),i.cellHeight&&i.cellHeight>(r.height||0)&&(r.height=i.cellHeight,a.__fv_data_height__=r.height),e(r,a)}}return{updateRowPosition:e,updateVisualInfomation:t}}function Ba(e,t,o,i,a,r){const{dataView:l,fold:s,hasRealChildren:f,unFold:d}=i,{collapseField:p,hasChildrenField:c}=a,{updateRowPosition:u}=Ht();function _(b,S){const C=S[b].layer;let g=b+1;for(;g<S.length&&S[g].layer>C;)g++;return g-1}function m(b,S){o.value[b].collapse=!o.value[b].collapse,o.value[b].raw[p.value]=o.value[b].collapse,o.value[b].raw[c.value]=f(o.value[b].raw);const C=o.value[b].collapse;let g=!1,F=b;for(;F<o.value.length;){const h=o.value[F];if((typeof h.raw.__fv_parent_index__=="number"?Number(h.raw.__fv_parent_index__):-1)>S)h.visible=!C,h.raw.__fv_visible__=h.visible,h.collapse&&(F=_(F,o.value)),g=!0;else if(g){F++;break}F++}let x=b;for(;x<o.value.length;){const h=o.value[x];u(h,h.raw),x++}}function y(b){if(b.raw[c.value]){const C=typeof b.raw.__fv_parent_index__=="number"?Number(b.raw.__fv_parent_index__):-1;m(Number(b.raw.__fv_index__),C)}}return{toggleTreeNode:y}}function Ma(e,t,o,i,a,r,l,s,f,d,p){const{onClickCell:c}=r,{gridRowClass:u,onClickRow:_,onMouseoverRow:m,onMouseoutRow:y}=s,{clearSelection:b,enableMultiSelect:S,select:C,unSelect:g,isSelectingHirarchyItem:F,multiSelectOnClickRow:x,multiSelectOnlyOnCheck:h,selectItem:V,toggleSelectItem:v}=f;n.ref(e.cellHeight);const w=n.ref(e.treeNodeIconsData||{}),{hasChildrenField:k,shouldShowCheckBox:I,shouldShowIcon:O}=l,{toggleTreeNode:T}=Ba(e,t,i,a,l),{toggleSelectHierarchyItem:N}=d,{cellKey:$,cellPosition:B,rowKey:j,rowPosition:P}=At(e,o),{hierarchyCellContentStyle:M}=Oa(e,i,l),{treeNodeIconsClass:D}=$a(e,w,k);function H(G,q){const le=G.raw[k.value];return{"fv-tree-node-toggle":le&&G.collapse,"fv-tree-node-toggle-minus":le&&!G.collapse}}function ne(G,q){G.stopPropagation(),T(q)}function re(G,q){return n.createVNode("div",{class:H(G),onClick:le=>ne(le,G)},null)}function be(G,q){return O.value&&n.createVNode("div",{id:"treeNodeIcons",class:D(G,q)},null)}function $e(G){S.value?(G.checked?C(G):g(G),N(G)):V(G)}function _e(G,q){return I.value&&n.createVNode(ft.FCheckBox,{id:"checkbox_for_"+$(G,q.index),indeterminate:G.indeterminate,checked:G.checked,"onUpdate:checked":le=>G.checked=le,onChange:()=>$e(G)},null)}function ve(G,q){return n.createVNode("span",{title:q.data},[q.mode===Me.editing?q.getEditor(q):q.formatter?q.formatter(q,G):q.data!=null?q.data.toString():q.data])}function Se(G,q,le){return n.createVNode("div",{ref:q.setRef,key:$(G,q.index),class:"fv-grid-hierarchy-cell",style:B(q,le)},[n.createVNode("div",{style:M(G)},[re(G),be(G,q),_e(G,q),ve(G,q)])])}function ke(G,q,le){return n.createVNode("div",{ref:q.setRef,key:$(G,q.index),class:"fv-grid-cell",style:B(q,le),onClick:Q=>c(Q,q)},[q.mode===Me.editing?q.getEditor(q):q.formatter?q.formatter(q,G):q.data!=null?q.data.toString():q.data])}function ie(G,q){return q==="left"&&o.value.leftColumns.length>0&&o.value.leftColumns[0].field===G.field||q==="primary"&&o.value.primaryColumns.length>0&&o.value.primaryColumns[0].field===G.field}function fe(G,q,le="primary"){return n.createVNode("div",{ref:G.setRef,key:j(G),class:u(G),style:P(G),onMouseover:Q=>m(Q,G),onMouseout:Q=>y(Q,G),onClick:Q=>_(Q,G)},[Object.values(G.data).filter(Q=>q[Q.field]&&Q.rowSpan===1).map((Q,me)=>ie(Q,le)?Se(G,Q,q):ke(G,Q,q))])}return{renderDataRow:fe}}function _n(e,t,o){const{horizontalScrollThumbStyle:i,onMouseDownScrollThumb:a,shouldShowHorizontalScrollbar:r}=o;function l(){return r.value&&n.createVNode("div",{class:"fv-grid-horizontal-scroll"},[n.createVNode("div",{class:"fv-grid-horizontal-scroll-thumb",style:i.value,onMousedown:s=>a(s,t,"horizontal")},null)])}return{renderHorizontalScrollbar:l}}function ja(e,t,o,i,a){const{currentPage:r,pageSize:l,pageList:s,total:f,showPageIndex:d,showPageList:p,mode:c}=a;function u(y){o.navigatePageTo(y),i.resetScroll(),t.emit("pageIndexChanged",y)}function _(y){o.changePageSizeTo(y),i.resetScroll(),t.emit("pageSizeChanged",y)}n.onMounted(()=>{c.value==="server"&&u(1)});function m(){return n.createVNode("div",{class:"fv-datagrid-pagination"},[n.createVNode(rn,{mode:"default",currentPage:r.value,"onUpdate:currentPage":y=>r.value=y,pageSize:l.value,"onUpdate:pageSize":y=>l.value=y,showPageList:p.value,showPageNumbers:d.value,totalItems:f.value,pageList:s.value,onPageIndexChanged:u,onPageSizeChanged:_},null)])}return{renderDataGridPagination:m}}function Fn(e,t,o,i,a){const{isSelectingHirarchyItem:r,multiSelectOnClickRow:l,multiSelectOnlyOnCheck:s,selectItem:f,toggleSelectItem:d}=o,{onMouseoverRow:p,sidebarRowClass:c}=t,{showRowNumer:u,showSidebarCheckBox:_,sidebarCellPosition:m,rowKey:y,cellKey:b}=i,{gridSideStyle:S}=a;function C(v){v.stopPropagation()}function g(v){return n.createVNode("div",{class:"d-inline-flex "},[n.createVNode("div",{class:"custom-control custom-checkbox f-checkradio-single",style:"margin:0;padding-left:0.5rem"},[n.withDirectives(n.createVNode("input",{id:b(v),title:b(v),type:"checkbox","onUpdate:modelValue":w=>v.checked=w,class:"custom-control-input"},null),[[n.vModelCheckbox,v.checked]]),n.createVNode("label",{class:"custom-control-label",for:b(v),onClick:C},null)])])}function F(v){return n.createVNode("div",{class:"fv-grid-sidebar-row-number justify-content-center",style:"padding:0",onMouseover:w=>p(w,v)},[n.createVNode("div",{title:v.dataIndex,class:{"text-center":!0,"text-truncate":e.rowNumber.showEllipsis,"w-100":e.rowNumber.showEllipsis}},[v.dataIndex])])}function x(v,w,k){r.value?l.value?d(k):f(k):s.value||l.value?d(k):f(k)}function h(v){return(_.value||u.value)&&v.value.map(w=>n.createVNode("div",{key:y(w),class:c(w),style:m(w),onClick:k=>x(k,v,w)},[_.value&&!e.hierarchy&&g(w),u.value&&F(w)]))}function V(v){return n.createVNode("div",{class:"fv-grid-content-side"},[n.createVNode("div",{class:"fv-grid-side",style:S.value},[h(v)])])}return{renderDataGridSidebar:V}}function Pa(e,t,o){const{columnContext:i}=o,a=n.ref(e.summary),r=n.computed(()=>{const s=a.value;return s&&s.enable&&s.groupFields&&s.groupFields.length>0});function l(){return r.value&&n.createVNode("div",{class:"fv-datagrid-summary"},[n.createVNode("div",{class:"fv-datagird-summary-panel"},[n.createVNode("span",{class:"fv-datagrid-summary-title"},[n.createTextVNode("当页合计")]),n.createVNode("div",{class:"fv-datagrid-summary-content"},[i.value.summaryColumns.map(s=>n.createVNode("div",{class:"fv-datagrid-summary-field"},[n.createVNode("span",{class:"fv-datagrid-summary-field-title"},[`${s.title}:`]),n.createVNode("span",{class:"fv-datagrid-summary-field-value"},[t.summaries.get(s.field)])]))])])])}return{renderDataGridSummery:l}}function Vn(e,t,o){const{verticalScrollThumbStyle:i,onMouseDownScrollThumb:a,shouldShowVirticalScrollbar:r}=o;function l(){return r.value&&n.createVNode("div",{class:"fv-grid-vertical-scroll"},[n.createVNode("div",{class:"fv-grid-vertical-scroll-thumb",style:i.value,onMousedown:s=>a(s,t,"vertical")},null)])}return{renderVerticalScrollbar:l}}function Da(){function e(i,a){switch(i.command){case"edit":case"remove":return a.status===We.initial;case"accept":case"cancel":return a.status===We.editing;default:return!i.hidden}}function t(i,a,r){switch(i.onClick(a,r.dataIndex,r),i.command){case"edit":r.status,We.editing;break;case"accept":case"cancel":r.status,We.initial;break}}function o(i,a){return n.createVNode("div",null,[i.commands&&i.commands.map(r=>e(r,a)&&n.createVNode(n.resolveComponent("f-button"),{class:"ml-2",type:r.type,size:r.size||"small",onClick:l=>t(r,l,a)},{default:()=>[n.createTextVNode(" "),r.text,n.createTextVNode(" ")]}))])}return{renderCommandColumn:o}}function Ra(e){function t(){return n.createVNode("div",{class:"d-flex flex-column f-datagrid-norecords"},[n.createVNode("div",{class:"f-datagrid-norecords-content",style:"margin: 0;width: 100%;position: relative; top: 0"},[n.createTextVNode(" "),e.slots.empty&&e.slots.empty()||"暂无数据"])])}return{renderEmpty:t}}function Nn(e){const t=n.ref(e.minHeight),o=n.ref(e.minWidth),i=n.ref(e.height),a=n.ref(e.width),r=n.computed(()=>i.value<=0?0:Math.max(i.value,t.value)),l=n.computed(()=>a.value<=0?0:Math.max(a.value,o.value));return n.watch([()=>e.height,()=>e.width,()=>e.minHeight,()=>e.minWidth],([f,d,p,c])=>{t.value=Number(p),o.value=Number(c),i.value=Number(f),a.value=Number(d)}),{containerStyleObject:n.computed(()=>({height:r.value>0?`${r.value}px`:e.fit?"100%":"",width:l.value>0?`${l.value}px`:e.fit?"100%":""}))}}function kn(e){const o={defaultColumnWidth:120,headerDepth:1,leftColumns:[],leftColumnsMap:new Map,leftColumnsWidth:0,leftHeaderColumns:[],primaryColumns:[],primaryColumnsMap:new Map,primaryColumnsWidth:0,primaryHeaderColumns:[],rightColumns:[],rightColumnsMap:new Map,rightColumnsWidth:0,rightHeaderColumns:[],summaryColumns:[]},i=n.ref(o);function a(){i.value={defaultColumnWidth:120,headerDepth:1,leftColumns:[],leftColumnsMap:new Map,leftColumnsWidth:0,leftHeaderColumns:[],primaryColumns:[],primaryColumnsMap:new Map,primaryColumnsWidth:0,primaryHeaderColumns:[],rightColumns:[],rightColumnsMap:new Map,rightColumnsWidth:0,rightHeaderColumns:[],summaryColumns:[]}}const r=n.ref(e.summary),l=n.computed(()=>{const g=r.value;return(g==null?void 0:g.groupFields)||[]});function s(){i.value.rightColumns.forEach(x=>{x.showSetting=!1}),i.value.primaryColumns.forEach(x=>{x.showSetting=!1});const g=i.value.rightColumns.filter(x=>x.visible),F=i.value.primaryColumns.filter(x=>x.visible);g.length>0?g[g.length-1].showSetting=!0:F.length>0&&(F[F.length-1].showSetting=!0)}function f(g){a();const F=new Map;return l.value&&l.value.reduce((x,h)=>(x.set(h,!0),x),F),g.reduce((x,h)=>(h.visible=h.visible!==!1,h.fixed==="left"?(i.value.leftColumns.push(h),i.value.leftColumnsMap.set(h.field,h),i.value.leftColumnsWidth+=h.actualWidth):h.fixed==="right"?(i.value.rightColumns.push(h),i.value.rightColumnsMap.set(h.field,h),i.value.rightColumnsWidth+=h.actualWidth):(i.value.primaryColumns.push(h),i.value.primaryColumnsMap.set(h.field,h),i.value.primaryColumnsWidth+=h.actualWidth),F.has(h.field)&&i.value.summaryColumns.push(h),x),i),s(),i}f(e.columns);const d=n.computed(()=>i.value.leftColumns.length>0),p=n.computed(()=>i.value.rightColumns.length>0);function c(g,F){return F.sortable&&F.sort&&F.sort!=="none"&&g.push(F),g}function u(g,F){return g.sortOrder=g.sortOrder||0,F.sortOrder=F.sortOrder||0,g.sortOrder===F.sortOrder?0:g.sortOrder<F.sortOrder?-1:1}function _(g,F){return g.sortOrder=g.sortOrder||0,F.sortOrder=F.sortOrder||0,g.sortOrder===F.sortOrder?0:g.sortOrder<F.sortOrder?1:-1}function m(g,F){return F.filterable&&g.push(F),g}function y(){const g=[];return i.value.leftColumns.reduce(m,g),i.value.primaryColumns.reduce(m,g),i.value.rightColumns.reduce(m,g),g}function b(){const g=[];i.value.leftColumns.reduce(c,g),i.value.primaryColumns.reduce(c,g),i.value.rightColumns.reduce(c,g);const F=Math.max(...g.map(x=>x.sortOrder||0));return g.sort(_).map(x=>{const h=x.sortOrder||F+1;return x.sortOrder=h,x}).sort(u).map((x,h)=>{const V=h+1;return x.sortOrder=V,x})}function S(g,F,x){const h=g.map(V=>{const v=x.getSorterByColumn(V),w=V.sort==="asc",k=V.sort==="desc",I=w?v.ascend:k?v.decend:void 0;return{field:V.field,compare:I}});F.setSorters(h)}function C(g,F){const x=b();S(x,g,F)}return{applyColumnSorter:C,collectionFilterableColumns:y,applySortableColumns:S,collectionSortableColumns:b,columnContext:i,hasLeftFixedColumn:d,hasRightFixedColumn:p,updateColumnRenderContext:f,updateColumnSettingIcon:s}}const Ea=[{name:"是",value:!0},{name:"否",value:!1}];function La(e){return e.filter=e.filter||function(t){return String(e.filterValue).split(",").includes(String(t[e.field]))},n.createVNode("div",null,[n.createVNode(n.resolveComponent("f-checkbox-group"),{modelValue:e.filterValue,"onUpdate:modelValue":t=>e.filterValue=t,"enum-data":Ea},null)])}const Aa=n.ref([{name:"七天",selectable:!0},{name:"一个月",selectable:!0},{name:"三个月",selectable:!0},{name:"半年",selectable:!0}]);function Ha(e){const t=n.ref(!1);return e.filter=e.filter||function(o){const i=new Date(new Date(e.filterValue).toLocaleDateString()).valueOf();return new Date(new Date(o[e.field]).toLocaleDateString()).valueOf()===i},n.createVNode("div",{style:"display:flex;flex-direction:column;"},[n.createVNode("div",{style:"display:flex;margin-bottom:6px;"},[n.createVNode("label",{style:"margin-right:8px"},[n.createTextVNode("按区间筛选")]),n.createVNode(n.resolveComponent("f-switch"),{modelValue:t.value,"onUpdate:modelValue":o=>t.value=o,size:"small"},null)]),n.createVNode(n.resolveComponent("f-date-picker"),{modelValue:e.filterValue,"onUpdate:modelValue":o=>e.filterValue=o},null),n.createVNode(n.resolveComponent("f-tags"),{style:"margin-top:10px",data:Aa.value,selectable:!0,"tag-style":"capsule"},null)])}function Ga(e){e.filter=e.filter||function(o){const i=Number.parseFloat(e.filterValue),a=Number.parseFloat(o[e.field]);return isNaN(i)?isNaN(a):i===a};function t(o){e.filterValue=o}return n.createVNode("div",null,[n.createVNode(n.resolveComponent("f-number-spinner"),{"can-null":!0,precision:"2",value:e.filterValue,onValueChange:t},null)])}function Wa(e,t,o,i,a,r){e.filterHistory=e.filterHistory||a.getFilterHistory(e),e.filter=e.filter||function(u){return(u[e.field]||"").startsWith(e.filterValue)};function l(u,_){a.removeFilterHistory(e,u.name),e.filterHistory=a.getFilterHistory(e)}function s(u){e.filterValue=u.name}function f(u){e.filterHistory=u}const d=i.rawView.value.reduce((u,_,m)=>(u.push(_[e.field]),u),[]),c=[...new Set(d)].map((u,_)=>({id:_,name:u}));return n.createVNode("div",{style:"display:flex;flex-direction:column;"},[n.createVNode(n.resolveComponent("f-search-box"),{modelValue:e.filterValue,"onUpdate:modelValue":u=>e.filterValue=u,"popup-host":t.value,"popup-right-boundary":o.value,"popup-offset-x":r.offsetX,"recommended-data":c},null),n.createVNode(n.resolveComponent("f-tags"),{style:"margin-top:10px","tag-type":"default",data:e.filterHistory,"show-close":!0,selectable:!0,onRemove:l,onSelectionChange:s,onChange:f},null)])}function za(e,t,o,i,a,r){e.filter=e.filter||function(_){return String(e.filterValue).split(",").includes(String(_[e.field]))};const l=",",s=i.rawView.value.reduce((_,m,y)=>(_.push(m[e.field]),_),[]),d=[...new Set(s)].map((_,m)=>({id:m,name:_}));function p(_){return(_==null?void 0:_.split(l))||[]}function c(_){return _.map(y=>y.name).join(l)}function u(_){e.filterValue=c(_)}return n.createVNode(n.resolveComponent("f-list-view"),{data:d,"multi-select":!0,"multi-select-mode":"OnCheckAndClick","id-field":"name",view:"SingleView",header:"Search",size:"Small","selection-values":p(e.filterValue),onSelectChange:_=>u(_)},{default:()=>[n.createTextVNode(" ")]})}function qa(e){n.ref("请输入关键词"),n.ref('<i class="f-icon f-icon-search"></i>');const t=[{name:"发票类型",checked:!1},{name:"发票代码",checked:!1},{name:"开票日期",checked:!1},{name:"票价(燃油附加费)",checked:!1},{name:"税收分类编号",checked:!1},{name:"不含税单价",checked:!1},{name:"往来单位",checked:!1},{name:"商品服务描述",checked:!1},{name:"项目负责人",checked:!1},{name:"所属单位",checked:!1}];return n.createVNode(n.resolveComponent("f-list-view"),{data:t,"multi-select":!0,view:"SingleView",size:"Small"},{default:()=>[n.createTextVNode(" ")]})}function Tn(e,t,o,i,a){const r=new Map([["boolean","boolean-filter"],["date","date-filter"],["datetime","date-filter"],["number","numeric-filter"],["string","text-filter"],["text","text-filter"],["enum","enum-filter"],["reference","list-filter"]]),l=new Map([["boolean-filter",La],["date-filter",Ha],["enum-filter",za],["list-filter",qa],["numeric-filter",Ga],["text-filter",Wa]]);function s(f){var u,_;const d=((u=f.column)==null?void 0:u.dataType)||"string",p=((_=f.column)==null?void 0:_.filter)||r.get(d)||"text-editor",c=l.get(p);if(c)return c(f,e,t,o,i,a)}return{getFilterEditor:s}}function In(e){const o=n.ref(e.commandOption.enable||!1),i=n.ref(e.commandOption.commands||[]);function a(r){if(o.value&&!(r.value.findIndex(s=>s.dataType==="commands")>-1)){const s={field:"__commands__",title:"操作",width:120,fixed:"right",dataType:"commands",commands:i.value,visible:!0};r.value.push(s)}}return{applyCommands:a}}function On(e,t,o,i,a,r,l){const{columnContext:s}=o,{getGridHeaderCells:f}=a,{groupFields:d}=r,p=n.ref(-1),c=n.ref(!1),u=n.computed(()=>d.value&&d.value.map(C=>{var g;return{name:((g=s.value.primaryColumnsMap.get(C))==null?void 0:g.title)||C,value:C}}));function _(C,g,F){var x,h,V;if(C.stopPropagation(),g){const v=`${(x=g.column)==null?void 0:x.title}:${(h=g.column)==null?void 0:h.field}`;(V=C.dataTransfer)==null||V.setData("Text",v),setTimeout(()=>{p.value=F,c.value=!0})}}function m(C,g){if(C.preventDefault(),p.value!==g){const{primaryColumns:F}=s.value,x=F[p.value],h=F;h.splice(p.value,1),h.splice(g,0,x),s.value.primaryHeaderColumns=Array.from(f(h).values()),p.value=g}}function y(C,g){C.preventDefault(),C.dataTransfer&&(C.dataTransfer.dropEffect="move")}function b(C,g){c.value=!1,i.updateDataView(),l.reCalculateVisualDataRows()}function S(C){var F;C.preventDefault(),C.stopPropagation();const g=(F=C.dataTransfer)==null?void 0:F.getData("Text");if(g){const x=g.split(":");x[0];const h=x[1];r.groupFields.value.push(h)}i.updateDataView(),l.reCalculateVisualDataRows()}return{dragstart:_,dragenter:m,dragover:y,dragend:b,dropOnGroupPanel:S,isDragging:c,groupColumnItems:u}}function $n(e,t,o,i,a){const{getGridHeaderCells:r}=a,l=120,s=50,f=n.computed(()=>{var v;return((v=e.rowNumber)==null?void 0:v.enable)||!1}),d=n.computed(()=>{var v,w;return((v=e.selection)==null?void 0:v.multiSelect)||((w=e.selection)==null?void 0:w.showCheckbox)||!1}),p=n.computed(()=>{var v;return 0+(f.value?((v=e.rowNumber)==null?void 0:v.width)||32:0)+(d.value?s:0)}),c=n.computed(()=>{var v;return(v=e.columnOption)==null?void 0:v.fitColumns}),u=n.computed(()=>{var v;return c.value&&((v=e.columnOption)==null?void 0:v.fitMode)||"average"});function _(v,w,k){const I=parseInt(v.width,10)/100;return k*I}function m(v,w,k){return typeof v.width=="string"?_(v,w,k):v.width||l}function y(v,w){const k=[],I=[];let O=0;v.value.primaryColumns.filter($=>$.visible).forEach($=>{typeof $.width=="string"?I.push($):($.width=$.width||l,O+=$.width,k.push($))});const T=w*(k.length/v.value.primaryColumns.filter($=>$.visible).length);k.forEach($=>{const B=T*($.width/O);$.actualWidth=B,v.value.primaryColumnsWidth+=$.actualWidth});const N=w-T;I.forEach($=>{const B=_($,v.value,N);$.actualWidth=B,v.value.primaryColumnsWidth+=$.actualWidth})}function b(v,w){const k=w/(v.value.primaryColumns.filter(I=>I.visible).length||1);v.value.primaryColumns.filter(I=>I.visible).forEach(I=>{I.actualWidth=k,v.value.primaryColumnsWidth+=I.actualWidth})}function S(v,w){const k=[],I=[],O=new WeakMap;let T=0,N=0;if(v.value.primaryColumns.filter(B=>B.visible).forEach(B=>{if(typeof B.width=="string"){const j=_(B,v.value,w);O.set(B,j),T+=j,I.push(B)}else B.width=B.width||l,N+=B.width,k.push(B)}),w-T>N){const B=w-T;I.forEach(j=>{j.actualWidth=O.get(j)||l,v.value.primaryColumnsWidth+=j.actualWidth}),k.forEach(j=>{j.actualWidth=B*(j.width/N),v.value.primaryColumnsWidth+=j.actualWidth})}else y(v,w)}function C(v,w){v.value.primaryColumns.filter(k=>k.visible).forEach(k=>{k.actualWidth=m(k,v.value,w),v.value.primaryColumnsWidth+=k.actualWidth})}const g={average:b,expand:S,none:C,percentage:y};function F(v){v.value.leftHeaderColumns=Array.from(r(v.value.leftColumns.filter(w=>w.visible)).values()),v.value.primaryHeaderColumns=Array.from(r(v.value.primaryColumns.filter(w=>w.visible)).values()),v.value.rightHeaderColumns=Array.from(r(v.value.rightColumns.filter(w=>w.visible)).values())}function x(v){v.value.leftColumnsWidth=0,v.value.primaryColumnsWidth=0,v.value.rightColumnsWidth=0,v.value.leftColumns.filter(w=>w.visible).forEach(w=>{v.value.leftColumnsWidth+=w.actualWidth||0}),v.value.primaryColumns.filter(w=>w.visible).forEach(w=>{v.value.primaryColumnsWidth+=w.actualWidth||0}),v.value.rightColumns.filter(w=>w.visible).forEach(w=>{v.value.rightColumnsWidth+=w.actualWidth||0}),v.value=Object.assign({},v.value)}function h(v,w,k){var j;let I=0;const O=v.value.primaryColumns,T=v.value.rightColumns;v.value.rightColumns.filter(P=>P.visible).forEach(P=>{P.actualWidth=m(P,v.value,w),I+=P.actualWidth});const N=k-I,$=g[u.value];if($&&$(v,N),v.value.primaryColumnsWidth+I<=k)return v.value.primaryColumns=[...O,...T],v.value.primaryColumnsWidth+=I,v.value.rightColumns=[],v.value.rightColumnsWidth=0,!0;const B=new Map;return B.set("primary",[]),B.set("right",[]),v.value.primaryColumns.reduce((P,M)=>{var D,H;return M.fixed==="right"?(D=P.get("right"))==null||D.push(M):(H=P.get("primary"))==null||H.push(M),P},B),(j=B.get("right"))!=null&&j.length&&(v.value.primaryColumns=[...B.get("primary")||[]],v.value.rightColumns=[...B.get("right")||[]]),v.value.primaryColumnsWidth=0,v.value.rightColumnsWidth=0,!1}function V(){if(o.value){t.value.leftColumnsWidth=0,t.value.primaryColumnsWidth=0,t.value.rightColumnsWidth=0;const v=o.value.clientWidth-p.value;t.value.leftColumns.filter(k=>k.visible).forEach(k=>{k.actualWidth=m(k,t.value,v),t.value.leftColumnsWidth+=k.actualWidth});const w=v-t.value.leftColumnsWidth;if(h(t,v,w))i.value=w;else{t.value.rightColumns.filter(O=>O.visible).forEach(O=>{O.actualWidth=m(O,t.value,v),t.value.rightColumnsWidth+=O.actualWidth});const k=v-t.value.leftColumnsWidth-t.value.rightColumnsWidth,I=g[u.value];I&&I(t,k),i.value=k}F(t),t.value=Object.assign({},t.value)}}return n.watch(()=>{var v;return(v=e.columnOption)==null?void 0:v.fitColumns},(v,w)=>{v!==w&&v&&V()}),n.watch(u,(v,w)=>{v!==w&&c.value&&V()}),{calculateColumnHeaders:F,calculateColumnsSize:V,calculateColumnsWidth:x}}const Bn={conditions:{type:Array,default:[]},fields:{type:Array,default:[]},key:{type:String,default:""},isControlInline:{type:Boolean,default:!0}};class Ua{constructor(t={value:[]}){z(this,"editorType","check-box");z(this,"value");z(this,"valueType","boolean");this.value=t.value}clear(){this.value=[]}setValue(t){this.value=t}getValue(){return this.value}isEmpty(){return this.value.length===0}}class Ka{constructor(t={textValue:"",value:"",valueField:""}){z(this,"editorType","combo-lookup");z(this,"textValue");z(this,"value");z(this,"valueField");z(this,"valueType","text");this.textValue=t.textValue,this.value=t.value,this.valueField=t.valueField}clear(){this.value="",this.valueField="",this.textValue=""}getPropValue(t,o){if(o.length>1){const i=o.shift();return t[i]?this.getPropValue(t[i],o):null}return t[o[0]]}getTextValue(t){const o=t.split("."),i=this.value.split(",").map(a=>this.getPropValue(a,Re.cloneDeep(o)));return i&&i.length?i.join(","):""}getValue(){const t=this.valueField.split("."),o=this.value.split(",").map(i=>this.getPropValue(i,Re.cloneDeep(t)));return o&&o.length?o.join(","):""}setValue(t){throw new Error("Method not implemented.")}isEmpty(){return!this.valueField}}class Xa{constructor(t={value:""}){z(this,"editorType","date-picker");z(this,"value");z(this,"valueType","datetime");this.value=t.value}setValue(t){this.value=t.formatted}getValue(){return this.value}isEmpty(){return!this.value}clear(){this.value=void 0}}class Mn{constructor(t={begin:"",end:""}){z(this,"editorType","date-range");z(this,"begin","");z(this,"end","");z(this,"valueType","datetime");this.begin=t.begin,this.end=t.end}clear(){this.begin="",this.end=""}getValue(){return!this.begin||!this.end?"":`${this.begin}~${this.end}`}setValue(t){t.dataRange?(this.begin=t.dataRange.split(t.delimiter)[0],this.end=t.dataRange.split(t.delimiter)[1]):this.clear()}isEmpty(){return!this.begin||!this.end}}class Ya{constructor(t={value:""}){z(this,"editorType","datetime-picker");z(this,"value");z(this,"valueType","datetime");this.value=t.value}clear(){this.value=void 0}getValue(){return this.value}setValue(t){this.value=t.formatted}isEmpty(){return!this.value}}class Ja{constructor(t={value:"",dispalyText:""}){z(this,"editorType","combo-list");z(this,"value");z(this,"valueType","enum");z(this,"displayText");this.displayText=t.dispalyText,this.value=t.value}clear(){this.value="",this.displayText=""}getValue(){return this.displayText}setValue(t){this.displayText=t.dispalyText,this.value=t.value}isEmpty(){return!this.displayText}}class Qa{constructor(t={value:[],displayText:"",displayField:"",isInputText:!1}){z(this,"editorType","input-group");z(this,"value");z(this,"valueType","text");z(this,"displayText");z(this,"valueField");z(this,"isInputText");this.value=t.value,this.displayText=t.displayText,this.valueField=t.displayField,this.isInputText=t.isInputText}clear(){this.value=[],this.displayText="",this.valueField=""}getPropValue(t,o){if(o.length>1){const i=o.shift();return t[i]?this.getPropValue(t[i],o):""}return t[o[0]]}getTextValue(t){const o=t.split("."),i=this.value.map(a=>this.getPropValue(a,Re.cloneDeep(o)));return i&&i.length?i.join(","):""}getValue(){const t=this.valueField.split(".")||[],o=this.value.map(i=>this.getPropValue(i,Re.cloneDeep(t)));return o&&o.length?o.join(","):""}setValue(t){throw new Error("Method not implemented.")}isEmpty(){return!this.displayText}}class Za{constructor(t={textValue:"",value:[],valueField:"",isInputText:!1}){z(this,"editorType","lookup");z(this,"textValue");z(this,"value");z(this,"valueField");z(this,"valueType","text");z(this,"isInputText");this.value=t.value,this.valueField=t.valueField,this.textValue=t.textValue,this.isInputText=t.isInputText}clear(){this.value=[],this.valueField="",this.textValue=""}getPropValue(t,o){if(o.length>1){const i=o.shift();return t[i]?this.getPropValue(t[i],o):null}return t[o[0]]}getTextValue(t){const o=t.split("."),i=this.value.map(a=>this.getPropValue(a,o));return i&&i.length?i.join(","):""}getValue(){const t=this.valueField.split("."),o=this.value.map(i=>this.getPropValue(i,t));return o&&o.length?o.join(","):""}setValue(t){throw new Error("Method not implemented.")}isEmpty(){return!this.value.length}}class er{constructor(t={value:""}){z(this,"editorType","month-picker");z(this,"value");z(this,"valueType","datetime");this.value=t.value}setValue(t){this.value=t.formatted}getValue(){return this.value}clear(){this.value=void 0}isEmpty(){return!this.value}}class tr{constructor(t={begin:"",end:""}){z(this,"editorType","month-range");z(this,"begin");z(this,"end");z(this,"valueType","datetime");this.begin=t.begin,this.end=t.end}clear(){this.begin="",this.end=""}getValue(){return!this.begin||!this.end?"":`${this.begin}~${this.end}`}setValue(t){t.dataRange?(this.begin=t.dataRange.split(t.delimiter)[0],this.end=t.dataRange.split(t.delimiter)[1]):this.clear()}isEmpty(){return!this.begin||!this.end}}class nr{constructor(t={begin:null,end:null}){z(this,"editorType","number-range");z(this,"begin");z(this,"end");z(this,"valueType","number");this.begin=t.begin==null?null:parseFloat(t.begin),this.end=t.end==null?null:parseFloat(t.end)}clear(){this.begin=null,this.end=null}getValue(){return{begin:this.begin,end:this.end}}setValue(t){this.begin=t.begin==null?null:parseFloat(t.begin),this.end=t.end==null?null:parseFloat(t.end)}isEmpty(){return this.begin==null&&this.end==null}}class or{constructor(t={value:""}){z(this,"editorType","number-spinner");z(this,"value");z(this,"valueType","number");this.value=t.value==null?null:parseFloat(t.value)}clear(){this.value=void 0}getValue(){return this.value}setValue(t){this.value=isNaN(parseFloat(t))?null:t}isEmpty(){return this.value==null}}class ir{constructor(t={value:null}){z(this,"editorType","radio-group");z(this,"value");z(this,"valueType","enum");this.value=t.value}clear(){this.value=void 0}getValue(){return this.value}setValue(t){this.value=t}isEmpty(){return!this.value}}class jn{constructor(t={value:""}){z(this,"editorType","text");z(this,"value");z(this,"valueType","text");this.value=t.value}clear(){this.value=void 0}getValue(){return this.value}setValue(t){this.value=t}isEmpty(){return!this.value}}function Pn(){function e(t,o){switch(t){case"check-box":return new Ua(o);case"combo-list":return new Ja(o);case"combo-lookup":return new Ka(o);case"input-group":return new Qa(o);case"date-picker":return new Xa(o);case"date-range":return new Mn(o);case"datetime-picker":return new Ya(o);case"datetime-range":return new Mn(o);case"lookup":return new Za(o);case"month-picker":return new er(o);case"month-range":return new tr(o);case"number-range":return new nr(o);case"number-spinner":return new or(o);case"radio-group":return new ir(o);default:return new jn(o)}}return{createConditionValue:e}}function Dn(e,t){const o=n.ref(e.fields),i=n.ref([]),a=new Map,{createConditionValue:r}=Pn();function l(p){switch(p.editor?p.editor.type:"input-group"){case"date-range":p.editor.type="date-picker";break;case"datetime-range":p.editor.type="datetime-picker";break;case"number-range":p.editor.type="number-spinner";break}return p.editor}function s(p){return p.map(u=>Object.assign({},u)).map(u=>(u.editor=l(u),u))}function f(p=!0){o.value.reduce((c,u)=>(p||(u.editor=l(u)),c.set(u.labelCode,u),c),a)}function d(p){return p.forEach(c=>{if(c&&typeof c.valueConfig=="object"){const u=a.get(c.fieldCode);c.value=r(u.editor.type,c.valueConfig.content)}}),p}return{convertToSingleControl:s,fields:o,fieldMap:a,fieldConditions:i,loadFieldConfigs:f,initialConditionValue:d}}function ar(e,t,o){const i=n.ref(null),a=n.ref(o),r=n.ref(0),l=n.computed(()=>d(r.value));function s(){a.value&&(i.value=new ResizeObserver(f(p=>{const c=p[0];r.value=c.contentRect.width})),i.value.observe(a.value))}function f(p,c){let u=null;return function(){const _=arguments;u||(u=setTimeout(()=>{u=null},500),p(..._))}}function d(p){let u="col-12";return p>250*6?u="col-2":p>250*4?u="col-3":p>250*3?u="col-4":p>250*2&&(u="col-6"),u}return n.watch([o],([p])=>{a.value=p,s()}),{conditionClass:l,resizeObserver:i}}const Rn=n.defineComponent({name:"FConditionFields",props:Bn,emits:["valueChange","blur","focus","click","input"],setup(e,t){const o=n.ref(),i=n.ref(e.key),a=n.ref(e.isControlInline),r=n.ref(e.conditions),l=Dn(e),{initialConditionValue:s,fieldMap:f,loadFieldConfigs:d}=l,p=ar(e,t,o),{conditionClass:c,resizeObserver:u}=p;d(!0),s(r.value),n.onBeforeUnmount(()=>{var S;(S=u.value)==null||S.unobserve(o.value)}),n.watch(()=>e.conditions,()=>{r.value=e.conditions});const _=n.computed(()=>({"f-utils-flex-row-wrap":!0,"farris-form":!0,"farris-form-controls-inline":a.value})),m=n.computed(()=>c.value);function y(S,C){t.emit("valueChange",S,C)}function b(){return r.value.map(S=>{var C;return n.createVNode(It.FDynamicFormGroup,{customClass:m.value,label:S.fieldName,editor:(C=f.get(S.fieldCode))==null?void 0:C.editor,modelValue:S.value.value,"onUpdate:modelValue":g=>S.value.value=g,onChange:g=>{y(g,S)}},null)})}return()=>n.createVNode("div",{class:_.value,key:i.value,ref:o},[b()])}}),Gt=new Map([["appearance",Ge]]);var En=(e=>(e.SimpleField="SimpleField",e.ComplexField="ComplexField",e))(En||{}),ht=(e=>(e.String="String",e.DateTime="DateTime",e.Date="Date",e.Enum="Enum",e.Boolean="Boolean",e.Number="Number",e.Text="Text",e.BigNumber="BigNumber",e))(ht||{});const rr="root-viewmodel";class lr{constructor(t,o){z(this,"formSchemaUtils");z(this,"controlCreatorUtils");z(this,"designViewModelUtils");this.resolver=t,this.designerHostService=o,this.formSchemaUtils=this.designerHostService.formSchemaUtils,this.controlCreatorUtils=this.designerHostService.controlCreatorUtils,this.designViewModelUtils=this.designerHostService.designViewModelUtils}createComponent(t){const o=this.createComponentRefNode(t),i=this.createComponentNode(t),a=this.createViewModeNode(t),r=this.formSchemaUtils.getFormSchema();return r.module.viewmodels.push(a),r.module.components.push(i),this.designViewModelUtils.assembleDesignViewModel(),o}createComponentRefNode(t){const o=this.resolver.getSchemaByType("component-ref");return Object.assign(o,{id:`${t.componentId}-component-ref`,component:`${t.componentId}-component`}),o}createComponentNode(t){const o=this.resolver.getSchemaByType("component"),i=this.createFormComponentContents(t);return Object.assign(o,{id:`${t.componentId}-component`,viewModel:`${t.componentId}-component-viewmodel`,componentType:t.componentType,appearance:{class:this.getFormComponentClass()},formColumns:t.formColumns,contents:i}),o}getFormComponentClass(){return this.formSchemaUtils.getFormSchema().module.templateId==="double-list-in-tab-template"?"f-struct-wrapper f-utils-fill-flex-column":"f-struct-wrapper"}createFormComponentContents(t){const o=this.resolver.getSchemaByType("section");Object.assign(o,{id:t.componentId+"-form-section",appearance:{class:"f-section-form f-section-in-mainsubcard"},mainTitle:t.componentName});const i=this.resolver.getSchemaByType("response-form"),a=[];Object.assign(i,{id:t.componentId+"-form",appearance:{class:"f-form-layout farris-form farris-form-controls-inline"},contents:a}),o.contents=[i];const{selectedFields:r}=t;return r==null||r.forEach(s=>{const f=Re.cloneDeep(s),d=this.resolveControlClassByFormColumns(t),p=this.controlCreatorUtils.setFormFieldProperty(f,"",d);p&&a.push(p)}),this.formSchemaUtils.getFormSchema().module.templateId==="double-list-in-tab-template"&&(o.appearance.class="f-section-grid f-section-in-main px-0 pt-0",o.fill=!0),[o]}resolveControlClassByFormColumns(t){let o="";switch(t.formColumns){case 1:{o="col-12 col-md-12 col-xl-12 col-el-12";break}case 2:{o="col-12 col-md-6 col-xl-6 col-el-6";break}case 3:{o="col-12 col-md-6 col-xl-4 col-el-4";break}case 4:{o="col-12 col-md-6 col-xl-3 col-el-2";break}}return o}createViewModeNode(t){return{id:`${t.componentId}-component-viewmodel`,code:`${t.componentId}-component-viewmodel`,name:t.componentName,bindTo:t.bindTo,parent:rr,fields:this.assembleViewModelFields(t),commands:[],states:[],enableValidation:!0,pagination:{enable:!1}}}assembleViewModelFields(t){const o=[],{selectedFields:i}=t;return i==null||i.forEach(a=>{let r="blur";const l=a.type.name;(l===ht.Enum||l===ht.Boolean)&&(r="change"),o.push({type:"Form",id:a.id,fieldName:a.bindingField,groupId:null,groupName:null,updateOn:r,fieldSchema:{}})}),o}}function sr(e,t,o,i){const a=o.parentComponentInstance;if(a){const l={componentId:`form-${Math.random().toString(36).slice(2,6)}`,componentName:"标题",componentType:"form",formColumns:4,parentContainerId:a.schema.id,bindTo:"/"};return new lr(e,i).createComponent(l)}else return t}Ie({customClass:{type:String,default:""}},{$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/response-form.schema.json",title:"response-form",description:"A Farris Data Collection Component",type:"object",properties:{id:{description:"The unique identifier for a form group",type:"string"},type:{description:"The type string of form group component",type:"string",default:"response-form"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},contents:{description:"",type:"array",default:[]}},required:["id","type"]},Gt,sr,{title:"response-form",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}}}});const Ln={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/form-group.schema.json",title:"form-group",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a form group",type:"string"},type:{description:"The type string of form group component",type:"string",default:"form-group"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},enableLinkLabel:{description:"",type:"boolean",default:!1},editor:{description:"",type:"obejct"},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"}},required:["id","type"]},An={id:{type:String,default:""},customClass:{type:String,default:""},editor:{type:Object,default:{}},label:{type:String,default:""},modelValue:{type:[String,Boolean,Array,Number],default:""},visible:{type:Boolean,default:!0},required:{type:Boolean,default:!1},showLabel:{type:Boolean,default:!0},type:{type:String,default:"input-group"}};Ie(An,Ln,Gt,void 0);function cr(){function e(t){var a,r;if(!t)return!1;const o=((a=t.targetContainer)==null?void 0:a.componentInstance)&&t.targetContainer.componentInstance.value;if(!o)return!1;const i=(r=o.schema.appearance)==null?void 0:r.class;if(t.controlCategory==="input"||t.controlType==="form-group"){const l=o.schema.type,s=(l==="response-form"||l==="content-container")&&i&&i.includes("farris-form");if(o.schema.type!=="response-layout-item"&&!s)return!1}return t.controlType!=="field-set"}return{basalDragulaRuleForContainer:e}}const dr={id:{type:String},required:{type:Boolean,default:!1},text:{type:String,default:""},title:{type:String}},ur=n.defineComponent({name:"FDynamicFormLabel",props:dr,emits:[],setup(e,t){const o=n.ref(e.title||e.text),i=n.ref(e.required),a=n.ref(e.text);return n.watch(()=>e.text,()=>{a.value=e.text}),n.watch(()=>e.required,(r,l)=>{r!==l&&(i.value=r)}),()=>n.createVNode("label",{class:"col-form-label",title:o.value},[i.value&&n.createVNode("span",{class:"farris-label-info text-danger"},[n.createTextVNode("*")]),n.createVNode("span",{class:"farris-label-text"},[a.value])])}}),fr=new Map([["appearance",Ge]]);function pr(e,t,o){return t}const mr={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/input-group.schema.json",title:"input-group",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"input-group"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},labelWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},disabled:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabIndex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"enum",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""},addonDisabled:{description:"",type:"boolean",default:!1},addonContent:{description:"",type:"string",default:""},autoHeight:{description:"",type:"boolean",default:!1},enableAddon:{description:"",type:"boolean",default:!1},addonType:{description:"",type:"string",enum:["button","static"],default:"button"},enableClear:{description:"",type:"boolean",default:!0},enableViewPassword:{description:"",type:"boolean",default:!1},inputType:{description:"",type:"string",enum:["input","password","text"],default:"input"},maxHeight:{description:"",type:"number",default:500},popUp:{description:"",type:"object",properties:{footerButtons:{type:"array",default:[]},height:{type:"number",default:600},dataMapping:{type:"object"},contents:{type:"array",default:[]},showMaxButton:{type:"boolean",default:!0},showCloseButton:{type:"boolean",default:!0},showFooter:{type:"boolean",default:!0},title:{type:"string",default:""},width:{type:"number",default:800}}},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},onClear:{description:"",type:"string",default:""}},required:["id","type"]},Hn={autocomplete:{Type:String,default:"off"},customClass:{Type:String,default:""},disabled:{Type:Boolean,default:!1},editable:{Type:Boolean,default:!0},enableClear:{Type:Boolean,default:!0},enableTitle:{Type:Boolean,default:!0},enableViewPassword:{Type:Boolean,default:!0},forcePlaceholder:{Type:Boolean,default:!1},groupText:{Type:String,default:""},type:{Type:String,default:"text"},max:{type:[Number,String]},min:{type:[Number,String]},maxLength:{Type:Number||void 0,default:void 0},minLength:{Type:Number||void 0,default:void 0},modelValue:{Type:String||Boolean,default:""},showBorder:{Type:Boolean,default:!0},step:{Type:Number,default:1},placeholder:{Type:String,default:""},precision:{Type:Number,default:0},readonly:{Type:Boolean,default:!1},showButtonWhenDisabled:{Type:Boolean,default:!1},tabIndex:{Type:Number||void 0,default:void 0},textAlign:{Type:String,default:"left"},useExtendInfo:{Type:Boolean,default:!1},extendInfo:{Type:String,default:""},value:{Type:String,default:""},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},updateOn:{type:String,default:"blur"}};Ie(Hn,mr,fr,pr);function gr(e,t,o,i){const a=n.ref(e.disabled),r=n.ref(!1),l=n.ref("text"),s=n.ref(e.showBorder),f=n.ref(e.textAlign),d=n.ref(e.updateOn),p=n.computed(()=>e.editable||!e.readonly),c=n.computed(()=>e.editable&&!e.disabled&&!e.readonly),u=n.computed(()=>!e.disabled&&r.value),_=n.computed(()=>o.value===""||o.value===null||o.value===void 0),m=n.computed(()=>(e.disabled||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),y=n.computed(()=>e.readonly||!e.editable),b=n.computed(()=>e.enableTitle?o.value:""),S=n.computed(()=>({"form-control":!0,"f-utils-fill":!0,"text-left":f.value==="left","text-center":f.value==="center","text-right":f.value==="right"})),C=n.computed(()=>{const T={"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disable":a.value,"f-state-editable":c.value,"f-state-readonly":y.value,"f-state-focus":u.value};return(e.customClass||"").split(" ").reduce(($,B)=>($[B]=!0,$),T),T}),g=n.computed(()=>s.value?"":"border-width : 0 ");function F(T,N=!0){o.value=T,i.value!==T&&(i.value=T),N&&t.emit("change",T),t.emit("update:modelValue",T),t.emit("update:value",T)}n.watch(()=>e.modelValue,(T,N)=>{T!==N&&(o.value=T,i.value=T)}),n.watch(()=>e.disabled,(T,N)=>{T!==N&&(a.value=T)});function x(T){return r.value=!1,t.emit("blur",T),T.stopPropagation(),!1}function h(T){t.emit("click",T)}function V(T){e.disabled||(s.value&&(r.value=!0),p.value&&t.emit("focus",T))}function v(T){t.emit("input",T.target.value);const N=T.target.value;i.value=N,d.value==="input"&&(t.emit("update:modelValue",N),t.emit("update:value",N))}function w(T){t.emit("keydown",T)}function k(T){t.emit("keyup",T)}function I(T){T.target.tagName!=="INPUT"&&T.preventDefault(),T.stopPropagation()}function O(T){if(d.value==="blur"){const N=T.target.value;T.stopPropagation(),F(N)}}return{changeTextBoxValue:F,disabled:a,displayText:i,editable:c,hasFocused:u,inputGroupClass:C,inputType:l,isEmpty:_,modelValue:o,readonly:y,onBlur:x,onClick:h,onFocus:V,onInput:v,onKeydown:w,onKeyup:k,onMousedown:I,onTextBoxValueChange:O,placeholder:m,textBoxClass:S,textBoxTitle:b,inputGroupStyle:g}}function hr(e,t,o){const i=n.ref(!1),a=n.computed(()=>e.enableClear&&!e.readonly&&!e.disabled),{changeTextBoxValue:r,displayText:l,hasFocused:s,isEmpty:f}=o;function d(y){i.value=y}n.watch(l,()=>{s!=null&&s.value?d(!!(l!=null&&l.value)):d(!1)});const p=n.computed(()=>({"input-group-text":!0,"input-group-clear":!0})),c=n.computed(()=>({width:"24px",display:i.value?"flex":"none"}));function u(y){y.stopPropagation(),a.value&&(r("",!0),d(!i.value),t.emit("clear"))}function _(y){a.value&&!f.value&&d(!0)}function m(y){a.value&&d(!1)}return{clearButtonClass:p,clearButtonStyle:c,hasShownClearButton:i,onClearValue:u,onMouseEnter:_,onMouseLeave:m,shouldShowClearButton:a}}const yr=["moz","ms","webkit"];function vr(){let e=0;return t=>{const o=new Date().getTime(),i=Math.max(0,16-(o-e)),a=setTimeout(()=>{t(o+i)},i);return e=o+i,a}}function br(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const e=yr.filter(t=>`${t}RequestAnimationFrame`in window)[0];return e?window[`${e}RequestAnimationFrame`]:vr()}br();function Cr(e,t){return((t==null?void 0:t.split(" "))||[]).reduce((i,a)=>(a&&(i[a]=!0),i),e),e}function wr(e,t){return((t==null?void 0:t.split(";"))||[]).reduce((i,a)=>{if(a){const r=a.split(":");i[r[0]]=r[1]}return i},e),e}const Gn=e=>{const t=e;return t.install=function(o){o.component(t.name,e)},e},Sr={checked:{type:Boolean,default:!1},mode:{type:String,default:"default"},type:{type:String,default:"secondary"},size:{type:String,default:"middle"}};function xr(e,t){const o=n.ref(e.groupText),i=n.computed(()=>e.showButtonWhenDisabled&&(e.readonly||e.disabled)),a=n.computed(()=>e.enableClear||!!e.groupText);return{appendedButtonClass:n.computed(()=>({"input-group-append":!0,"append-force-show":i.value})),appendedContent:o,shouldShowAppendedButton:a}}function _r(e,t,o,i){const{appendedContent:a}=i,r=n.ref(e.enableViewPassword),l=n.computed(()=>e.type==="password"),s='<span class="f-icon f-icon-eye" style="color: rgb(56, 143, 255);"></span>',f='<span class="f-icon f-icon-eye"></span>',d=n.ref(!1);n.watch(()=>[e.readonly,e.disabled],([u,_])=>{l.value&&(o.value=u||_?"password":o.value,a.value=u||_?f:a.value)});function p(){return d.value=!d.value,o.value=d.value?"text":"password",a.value=d.value?s:f,!1}function c(){o.value=l.value?"password":"text",a.value=l.value?r.value?f:"":a.value}return c(),{isPassword:l,onClickAppendedButton:p}}function Fr(e,t,o){const i=n.ref(),{onBlurTextBox:a,onFocusTextBox:r,onInput:l,onKeyDown:s,textBoxValue:f}=o,d=n.computed(()=>e.disabled||e.readonly||!e.editable?"":e.placeholder),p=n.computed(()=>({"form-control":!0,"f-utils-fill":!0})),c=n.computed(()=>({"text-align":e.textAlign}));function u(y){y.stopPropagation()}function _(){e.selectOnCreated,e.focusOnCreated}async function m(y){r(y),await n.nextTick,_()}return n.onMounted(async()=>{await n.nextTick,_()}),()=>n.createVNode("input",{ref:i,class:p.value,style:c.value,type:"text",value:f.value,disabled:e.disabled,readonly:e.readonly||!e.editable,placeholder:d.value,onBlur:a,onChange:u,onFocus:m,onInput:l,onKeydown:s},null)}function Vr(e,t,o){const{canDownward:i,canUpward:a,onClickDownButton:r,onClickUpButton:l}=o,s=n.computed(()=>({"input-group-append":!0,"btn-group":!0,"btn-group-number":!0})),f=n.computed(()=>({btn:!0,"btn-secondary":!0,"btn-number-flag":!0})),d=n.computed(()=>({cursor:a()?"pointer":"not-allowed","margin-left":0})),p=n.computed(()=>({cursor:i()?"pointer":"not-allowed","margin-left":0}));return()=>n.createVNode("div",{class:s.value},[n.createVNode("button",{title:"upButton",class:f.value,style:d.value,onClick:l,disabled:!a()},[n.createVNode("span",{class:"f-icon f-icon-arrow-chevron-up number-arrow-chevron"},null)]),n.createVNode("button",{title:"downButton",class:f.value,style:p.value,onClick:r,disabled:!i()},[n.createVNode("span",{class:"f-icon f-icon-arrow-chevron-down number-arrow-chevron"},null)])])}function Nr(e,t){const o=pt.useNumber(e,t),i=pt.useFormat(e,t,o),a=pt.useSpinner(e,t,i,o),r=pt.useTextBox(e,t,i,o,a),l=Vr(e,t,a),{displayValue:s,modelValue:f,getRealValue:d}=o,p=Fr(e,t,r),{format:c}=i,{isFocus:u}=r,_=n.computed(()=>!e.disabled&&!e.readonly);return n.onMounted(()=>{const m=d(e.modelValue);s.value=c(m)}),n.watch(()=>[e.value],([m])=>{const y=d(m);f.value=y,s.value=c(y)}),n.watch(()=>[e.modelValue],([m])=>{m!==f.value&&(f.value=m,!u.value&&(s.value=c(d(m))))}),n.watch(()=>[e.precision,e.useThousands,e.prefix,e.suffix,e.showZero],()=>{s.value=c(f.value)}),()=>n.createVNode("div",{class:"input-group f-state-hover flex-row f-cmp-number-spinner"},[p(),_.value&&l()])}function kr(e,t,o,i){const a=n.ref(),r=n.ref(e.autocomplete),l=n.ref(e.enableTitle),{isPassword:s}=o,f=n.ref(e.minLength),d=n.ref(e.maxLength),p=n.ref(e.tabIndex),{disabled:c,displayText:u,inputType:_,onBlur:m,onFocus:y,onInput:b,onClick:S,onKeydown:C,onKeyup:g,onMousedown:F,onTextBoxValueChange:x,readonly:h,placeholder:V,textBoxClass:v,textBoxTitle:w}=i;return n.onMounted(()=>{e.selectOnCreated,e.focusOnCreated}),()=>n.createVNode("input",{ref:a,name:"input-group-value",autocomplete:r.value,class:v.value,disabled:c==null?void 0:c.value,maxlength:d.value,minlength:f.value,placeholder:V.value,readonly:h==null?void 0:h.value,tabindex:p.value,title:l.value&&!s.value?w.value:"",type:_.value,value:u==null?void 0:u.value,onBlur:m,onClick:S,onChange:x,onFocus:y,onInput:b,onKeydown:C,onKeyup:g,onMousedown:F},null)}function Tr(e,t){const o=n.computed(()=>e.useExtendInfo&&!!e.extendInfo),i=n.reactive({content:e.extendInfo});function a(){t.emit("updateExtendInfo")}return()=>o.value&&n.withDirectives(n.createVNode("span",{class:"input-group-before-tips",onMouseenter:a},[n.createVNode("i",{class:"f-icon f-icon-info-circle"},null),n.createVNode("b",{class:"tips-arrow"},null)]),[[n.resolveDirective("tooltip"),i]])}function Ir(e,t,o,i,a){const{appendedButtonClass:r,appendedContent:l}=o,s=n.computed(()=>e.showButtonWhenDisabled&&(!e.editable||!e.readonly)&&!e.disabled),f=n.computed(()=>l.value&&!t.slots.groupTextTemplate),d=n.computed(()=>!!t.slots.groupTextTemplate),{clearButtonClass:p,clearButtonStyle:c,onClearValue:u,shouldShowClearButton:_}=i;function m(){return n.createVNode("span",{id:"clearIcon",class:p.value,style:c.value,onClick:V=>u(V)},[n.createVNode("i",{class:"f-icon modal_close"},null)])}function y(V){t.emit("iconMouseEnter",V)}function b(V){t.emit("iconMouseLeave",V)}function S(V){s.value&&t.emit("clickHandle",{originalEvent:V}),V.stopPropagation()}const C=e.type==="password"?a.onClickAppendedButton:S;function g(){return n.createVNode("span",{class:"input-group-text",onMouseenter:V=>y(V),onMouseleave:V=>b(V),innerHTML:l.value,onClick:V=>C(V)},null)}function F(){return t.slots.groupTextTemplate&&t.slots.groupTextTemplate()}function x(){return f.value?g:d.value?F:""}const h=x();return()=>n.createVNode("div",{class:r.value},[_.value&&m(),h&&h()])}const Or=n.defineComponent({name:"FInputGroup",props:Hn,emits:["clear","change","blur","click","clickHandle","focus","input","keydown","keyup","iconMouseEnter","iconMouseLeave","update:modelValue","update:value","updateExtendInfo","valueChange"],setup(e,t){const o=n.ref(e.modelValue),i=n.ref(e.modelValue),a=gr(e,t,o,i),{inputGroupClass:r,inputType:l,inputGroupStyle:s}=a,f=xr(e),{shouldShowAppendedButton:d}=f,p=hr(e,t,a),{onMouseEnter:c,onMouseLeave:u}=p,_=_r(e,t,l,f),m=Nr(e,t),y=kr(e,t,_,a),b=Ir(e,t,f,p,_),S=Tr(e,t),C=n.computed(()=>e.type==="number");n.watch(()=>[e.value],([F])=>{o.value=F,i.value=F}),n.watch(()=>[e.modelValue],([F])=>{o.value=F,i.value=F}),n.onMounted(()=>{e.value&&(o.value=e.value,i.value=e.value)});const g=()=>n.createVNode(n.Fragment,null,[n.createVNode("div",{id:"inputGroup",class:r.value,style:s.value,onMouseenter:c,onMouseleave:u},[C.value?m():n.createVNode(n.Fragment,null,[S(),y(),d.value&&b()])])]);return()=>g()}}),U={},K={},Y={},J={};let Wn=!1;function $r(){Wn||(Wn=!0,Yo.register(U,K,Y,J),Xo.register(U,K,Y,J),ln.register(U,K,Y,J),Jo.register(U,K,Y,J),Qo.register(U,K,Y,J),Zo.register(U,K,Y,J),ft.register(U,K,Y,J),Ot.register(U,K,Y,J),ei.register(U,K,Y,J),ti.register(U,K,Y,J),oi.register(U,K,Y,J),ni.register(U,K,Y,J),ii.register(U,K,Y,J),ai.register(U,K,Y,J),ri.register(U,K,Y,J),It.register(U,K,Y,J),li.register(U,K,Y,J),an.register(U,K,Y,J),si.register(U,K,Y,J),ci.register(U,K,Y,J),di.register(U,K,Y,J),ui.register(U,K,Y,J),sn.register(U,K,Y,J),fi.register(U,K,Y,J),pi.register(U,K,Y,J),mi.register(U,K,Y,J),gi.register(U,K,Y,J),hi.register(U,K,Y,J),pt.register(U,K,Y,J),Ko.register(U,K,Y,J),yi.register(U,K,Y,J),vi.register(U,K,Y,J),rn.register(U,K,Y,J),bi.register(U,K,Y,J),Ci.register(U,K,Y,J),wi.register(U,K,Y,J),Si.register(U,K,Y,J),_i.register(U,K,Y,J),Fi.register(U,K,Y,J),xi.register(U,K,Y,J),Li.register(U,K,Y),Vi.register(U,K,Y,J),Ni.register(U,K,Y,J),ki.register(U,K,Y,J),Ti.register(U,K,Y,J),Ii.register(U,K,Y,J),Oi.register(U,K,Y,J),Uo.register(U,K,Y,J),on.register(U,K,Y,J),$i.register(U,K,Y,J),Bi.register(U,K,Y,J),qo.register(U,K,Y,J),Mi.register(U,K,Y,J),Pi.register(U,K,Y,J),ji.register(U,K,Y,J),Di.register(U,K,Y,J),Ri.register(U,K,Y,J),Ei.register(U,K,Y,J),Ai.register(U,K,Y,J))}function Br(){$r();function e(a,r){const l=K[a];return l?l(r):{}}function t(a){return U[a]||Or}function o(a){switch(a){case"check-box":return"onChangeValue";case"switch":return"onModelValueChanged";case"check-group":return"onChangeValue";case"combo-list":case"combo-tree":return"onChange";case"combo-lookup":return"";case"date-picker":return"onDatePicked";case"date-range":return"";case"datetime-picker":return"";case"datetime-range":return"";case"month-picker":return"";case"month-range":return"";case"year-picker":return"";case"year-range":return"";case"input-group":return"onChange";case"lookup":return"";case"number-range":return"onValueChange";case"number-spinner":return"onValueChange";case"radio-group":return"onChangeValue";case"text":return"";case"response-layout-editor-setting":return"onChange";case"events-editor":return"onSavedCommandListChanged";case"grid-field-editor":return"onChange";case"field-selector":return"onFieldSelected";case"schema-selector":return"onSchemaSelected";case"mapping-editor":return"onMappingFieldsChanged";case"textarea":return"onValueChange"}}function i(a){switch(a){case"combo-list":case"input-group":case"textarea":return"onClear"}}return{resolveEditorProps:e,resolveEditorType:t,getChangeFunctionName:o,getClearFunctionName:i}}const Mr=n.defineComponent({name:"FDynamicFormGroup",props:An,emits:["change","update:modelValue"],setup(e,t){const o=n.ref(e.id),i=n.ref(e.customClass),a=n.ref(e.editor),r=n.ref(e.label),l=n.ref(e.modelValue),s=n.ref(e.readonly),f=n.ref(e.required),d=n.ref(e.showLabel),p=n.ref(e.visible);n.ref(e.type);const c=n.ref(),{resolveEditorProps:u,resolveEditorType:_,getChangeFunctionName:m,getClearFunctionName:y}=Br(),b=n.computed(()=>({"form-group":!0,"farris-form-group":!0,"common-group":!0,"q-state-readonly":s.value}));function S(F,x){l.value=x!==void 0?x:F,t.emit("update:modelValue",l.value),t.emit("change",l.value)}function C(){t.emit("update:modelValue","")}const g=n.computed(()=>{const F=a.value.type||"input-group",x=_(F),h=u(F,a.value),V=m(F),v=y(a.value.type);return h[V]=S,h[v]=C,()=>n.createVNode(x,n.mergeProps({ref:c},h,{modelValue:l.value,"onUpdate:modelValue":w=>l.value=w}),null)});return n.watch([()=>e.id,()=>e.customClass,()=>e.editor,()=>e.label,()=>e.modelValue,()=>e.readonly,()=>e.required,()=>e.showLabel,()=>e.visible],([F,x,h,V,v,w,k,I,O])=>{o.value=F,i.value=x,a.value=h,r.value=V,l.value=v,s.value=w,f.value=k,d.value=I,p.value=O}),t.expose({editorRef:c}),()=>p.value&&n.createVNode("div",{id:`${o.value}-input-group`,class:i.value},[n.createVNode("div",{class:"farris-group-wrap"},[n.createVNode("div",{class:b.value},[d.value&&n.createVNode(ur,{id:`${o.value}-lable`,required:f.value,text:r.value,title:r.value},null),n.createVNode("div",{class:"farris-input-wrap"},[g.value()])])])])}}),jr={},Pr={};class Dr extends Ae{constructor(t,o){super(t,o)}}Ie({id:{type:String,default:""},editor:{type:Object,default:{}},modelValue:{type:[String,Boolean,Array,Number],default:""},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1}},Ln,Gt,void 0);var zn=(e=>(e[e.Value=0]="Value",e[e.SmartHelp=1]="SmartHelp",e[e.Enum=2]="Enum",e[e.Express=3]="Express",e))(zn||{}),qn=(e=>(e.Equal="0",e.NotEqual="1",e.Greater="2",e.GreaterOrEqual="3",e.Less="4",e.LessOrEqual="5",e.Like="6",e.LikeStartWith="7",e.LikeEndWith="8",e))(qn||{});const Rr=[{value:"0",name:"等于"},{value:"1",name:"不等于"},{value:"2",name:"大于"},{value:"3",name:"大于等于"},{value:"4",name:"小于"},{value:"5",name:"小于等于"},{value:"6",name:"包含"},{value:"7",name:"开始是"},{value:"8",name:"结束是"}],Er={"button-edit":["0","1"," 6","7","8"],"check-box":["0"],"combo-list":["0","1"],"combo-lookup":["0","1"," 6","7","8"],"date-picker":["0","1","2","3","4","5"],"date-range":[],"datetime-picker":["0","1","2","3","4","5"],"datetime-range":[],"month-picker":["0","1","2","3","4","5"],"month-range":[],"year-picker":["0","1","2","3","4","5"],"year-range":[],"input-group":["0","1","6","7","8"],lookup:["0","1"],"number-range":[],"number-spinner":["0"," 1","2","3","4","5"],"radio-group":["0"],text:["0","1"," 6","7","8"]};function Lr(e,t,o){const{fieldMap:i}=o;function a(r){const l=i.get(r.fieldCode);if(!l)return[];const s=l.editor.type,f=new Set(Er[s]);return Rr.filter(p=>f.has(p.value))}return{getCompareOperators:a}}function Un(){const e=n.ref({relation:0,items:[],children:[],path:[],groupId:0,level:0}),t=new Map,o=new Map;let i=0;function a(){return{id:"",fieldCode:"",fieldName:"",compareType:qn.Equal,valueType:zn.Value,value:new jn,relation:0,conditionId:Date.now()}}function r(w,k){return{relation:w,items:[],children:[],path:[],groupId:++i,level:k}}function l(){const w=Object.assign({},e.value);o.forEach((k,I)=>{k.groupId===w.groupId&&o.set(I,w)}),t.forEach((k,I)=>{k.groupId===w.groupId&&t.set(I,w)}),e.value=w}function s(w){const k=new Map;let I=0;return w.forEach((O,T)=>{var N,$;if(I+=((N=O.lBracket)==null?void 0:N.length)||0,k.set(T,I),I-=(($=O.rBracket)==null?void 0:$.length)||0,I<0)throw new Error("The right bracket is out of range.")}),k}function f(w,k,I,O,T){for(let N=0;N<k;N++){const $=w+(N+1),B=r(T,$);I.children.push(B),o.set(B.groupId,I),I=I.children[I.children.length-1],O.push(I)}return I}function d(w,k,I,O,T){for(let j=k;j<=0;j++)O.pop();const N=O[O.length-1];if(!N)throw new Error("The group path is out of range");const $=w+k,B=r(T,$);return N.children.push(B),o.set(B.groupId,N),I=N.children[N.children.length-1],O.push(I),I}function p(w,k,I,O){I.pop();const T=I[I.length-1],N=r(O,w);return T.children.push(N),o.set(N.groupId,T),k=T.children[T.children.length-1],I.push(k),k}function c(w,k,I,O,T,N){let $=w[w.length-1];if(!$)throw new Error("The group path is out of range");const B=k.get(O)||0,j=k.get(I)||0;if(I<0||I===O)return w[w.length-1];const P=B-j,M=T&&T.relation!==void 0?T.relation:1;return $=P>0?f(j,P,$,w,M):$,$=P<0?d(j,P,$,w,M):$,$=P===0&&j>0&&B>0&&T&&N&&!!T.rBracket&&!!N.lBracket?p(j,$,w,M):$,$}function u(w){const I={relation:w.length&&w[0].relation!==void 0?w[0].relation:1,items:[],children:[],path:[],groupId:0,level:0},O=[I],T=s(w);return w.forEach((N,$)=>{const B=$-1,j=w[B],P=c(O,T,B,$,j,N);P.items.push(N),t.set(N.conditionId,P)}),e.value=I,I}function _(){const w=a();t.set(w.conditionId,e.value),e.value.items.push(w)}function m(w){if(!w)return;const k=t.get(w.conditionId);if(k){const I=k.items.findIndex(T=>T.conditionId===w.conditionId)+1,O=a();t.set(O.conditionId,k),k.items.splice(I,0,O),l()}}function y(w){const k=t.get(w.conditionId);k&&(k.items=k.items.filter(I=>I.conditionId!==w.conditionId),t.delete(w.conditionId),v(),l())}function b(w,k,I,O){w.reduce((T,N)=>{const $=N.conditionId!==void 0,B=N.groupId!==void 0;if($){const j=N;I.push(j),T.items.set(j.conditionId,j)}if(B){const j=N;O.push(j),T.groups.set(j.groupId,j)}return T},k)}function S(w,k,I,O,T){w&&(w.items=k.length?w.items.filter(N=>!I.has(N.conditionId)):w.items,w.children=O.length?w.children.filter(N=>!T.has(N.groupId)):w.children)}function C(w,k,I){k.forEach(O=>{w.items.push(O),t.set(O.conditionId,w)}),I.forEach(O=>{w.children.push(O),o.set(O.groupId,w)})}function g(w){const k=w[0],I=k.conditionId!==void 0?t.get(k.conditionId):o.get(k.groupId),O={items:new Map,groups:new Map},T=[],N=[];if(I){b(w,O,T,N),S(I,T,O.items,N,O.groups);const $=r(I.relation,I.level+1);C($,T,N),I.children.push($),o.set($.groupId,I),l()}}function F(w){const k=[...w.items],I=[...w.children],O=o.get(w.groupId);O&&(O.children=O.children.filter(T=>T.groupId!==w.groupId),o.delete(w.groupId),k.forEach(T=>{O.items.push(T),t.set(T.conditionId,O)}),I.forEach(T=>{O.children.push(T),o.set(T.groupId,O)}),l())}function x(w){w.relation=w.relation===1?2:1,l()}let h;function V(w){const{relation:k}=w;return(w.children&&w.children.length?w.children.map((O,T,N)=>{const $=h(O);return $[0].lBracket=($[0].lBracket||"")+"(",$[$.length-1].rBracket=($[$.length-1].rBracket||"")+")",$[$.length-1].relation=T<N.length-1?k:0,$}):[]).flat()}h=(w=e.value)=>{const{relation:k}=w,I=w.items.map((T,N,$)=>(T.lBracket=N===0?"(":"",T.rBracket=N===$.length-1?")":"",T.relation=N<$.length-1?k||1:0,T)),O=V(w);return[...I,...O]};function v(w){const k=w||e.value;if(k.children.length&&k.children.forEach(I=>{v(I)}),k.level===0&&!k.items.length&&k.children.length===1){const I=k.children[0];e.value.relation=I.relation,F(I)}else k.items.length===0&&k.children.length<=1&&F(k)}return{addCondition:_,changeGroupRelation:x,conditionGroupMap:t,getConditions:h,group:g,groupParentMap:o,insertConditionTo:m,loadConditionGroup:u,refresh:l,removeCondition:y,rootGroup:e,unGroup:F}}function Ar(e,t,o){const i=n.ref(new Set),a=n.ref(new Set),{conditionGroupMap:r,groupParentMap:l}=o;let s,f;function d(S){let C=s.level<=S.level?s:S,g=s.level>S.level?s:S;const F=[];for(;g&&C&&g!==C;)g.level>C.level?(F.push(g),g=l.get(g.groupId)):g.level===C.level&&(C=l.get(C.groupId),C&&F.unshift(C));return F}function p(S){a.value.add(S.groupId),S.items.forEach(C=>i.value.add(C.conditionId)),S.children.forEach(C=>p(C))}function c(S){const{conditionId:C}=S;i.value.add(C),s=i.value.size===0?r.get(C):s;const g=r.get(S.conditionId);d(g).forEach(x=>p(x))}const u=n.computed(()=>i.value.size===0&&a.value.size===1),_=function(S){a.value.delete(S.groupId),S.items.forEach(g=>f(g)),S.children.forEach(g=>!u.value&&_(g));const C=l.get(S.groupId);C&&a.value.has(C.groupId)&&_(C)};f=function(S){const{conditionId:C}=S;if(i.value.has(C)&&i.value.delete(C),a.value.size>0){const g=r.get(C);g&&a.value.has(g.groupId)&&_(g)}};function m(S){const{conditionId:C}=S;i.value.size===0&&(s=r.get(C)),i.value.has(C)?f(S):c(S)}function y(){const S=[];return s&&(s.items.filter(C=>i.value.has(C.conditionId)).forEach(C=>S.push(C)),s.children.filter(C=>a.value.has(C.groupId)).forEach(C=>S.push(C))),S}function b(){i.value.clear(),a.value.clear()}return{clear:b,getSelectedGroupItem:y,selectedItems:i,toggleSelect:m}}const Wt=n.defineComponent({name:"FConditionList",props:Bn,emits:["valueChange","labelCodeChange","compareTypeChange"],setup(e,t){const o=n.ref(e.key),i=n.ref(e.conditions),a=Dn(e),{convertToSingleControl:r,fields:l,fieldMap:s,loadFieldConfigs:f}=a,d=Un(),{addCondition:p,changeGroupRelation:c,getConditions:u,group:_,insertConditionTo:m,loadConditionGroup:y,refresh:b,removeCondition:S,rootGroup:C,unGroup:g}=d,{createConditionValue:F}=Pn(),x=Ar(e,t,d),{selectedItems:h,toggleSelect:V}=x,{getCompareOperators:v}=Lr(e,t,a);f(!1),l.value=r(l.value),y(i.value);function w(P){var D;const M=((D=s.get(P.fieldCode))==null?void 0:D.editor)||{type:"text"};P.value=F(M.type,void 0),t.emit("labelCodeChange",P)}function k(P,M){t.emit("compareTypeChange",M)}function I(){}t.expose({getConditions:u});function O(P,M){t.emit("valueChange",P,M)}function T(P){return P.items.map(M=>{var D;return n.createVNode("div",{class:"condition-list-item",key:M.conditionId},[n.createVNode("div",{class:"condition-list-item-type mr-3"},[n.createVNode(Ot,{"value-field":"labelCode","text-field":"name","id-field":"id",data:l.value,modelValue:M.fieldCode,"onUpdate:modelValue":H=>M.fieldCode=H,onChange:H=>w(M)},null)]),n.createVNode("div",{class:"condition-list-item-compare mr-3"},[n.createVNode(Ot,{"value-field":"value","text-field":"name","id-field":"id",data:v(M),modelValue:M.compareType,"onUpdate:modelValue":H=>M.compareType=H,onChange:H=>k(H,M)},null)]),n.createVNode("div",{class:"condition-list-item-control mr-3"},[n.createVNode(Mr,{editor:(D=s.get(M.fieldCode))==null?void 0:D.editor,showLabel:!1,modelValue:M.value.value,"onUpdate:modelValue":H=>M.value.value=H,onChange:H=>{O(H,M)}},null)]),n.createVNode("div",{class:"condition-list-item-extend"},[n.createVNode("span",{class:"f-icon f-icon-plus-sm mr-2",onClick:()=>m(M)},null),n.createVNode("span",{class:"f-icon f-icon-minus-sm",onClick:()=>S(M)},null)]),n.createVNode("div",{class:"custom-control custom-checkbox"},[n.createVNode("input",{title:"selection",class:"custom-control-input",type:"checkbox",checked:h.value.has(M.conditionId)},null),n.createVNode("label",{class:"custom-control-label",onClick:()=>V(M)},null)])])})}function N(P){return n.createVNode("div",{class:"condition-list-relation"},[n.createVNode("span",{class:"condition-list-relation-close f-icon-filter-cancel btn-link",onClick:()=>g(P)},null),n.createVNode("span",{class:"condition-list-relation-text btn-link",onClick:()=>c(P)},[P.relation===1?"与":"或"])])}function $(P){return n.createVNode("div",{class:"condition-list-content"},[n.createVNode("div",{class:"condition-list-content-group"},[T(P),P.children&&P.children.map(M=>$(M))]),N(P)])}function B(){_(x.getSelectedGroupItem()),x.clear()}function j(){return n.createVNode("div",{class:"condition-list-bottom"},[n.createVNode("div",{class:"add-condition-btn mb-1 mr-3",onClick:p},[n.createVNode("span",{class:"f-icon f-icon-filter-add"},null),n.createVNode("span",{class:"ml-1"},[n.createTextVNode("添加条件")])]),n.createVNode("div",{class:"add-condition-btn mb-1",onClick:B},[n.createVNode("span",{class:"f-icon f-icon-filter-grouping"},null),n.createVNode("span",{class:"ml-1"},[n.createTextVNode("生成条件组")])]),n.createVNode("div",{class:"condition-list-reset add-condition-btn",onClick:I},[n.createTextVNode("重置")])])}return()=>n.createVNode("div",{class:"condition-list",key:o.value},[n.createVNode("div",{class:"condition-list-body"},[$(C.value)]),j()])}});Wt.install=e=>{e.component(Rn.name,Rn).component(Wt.name,Wt)};const Hr=["equal","notEqual","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","contain","startWidth","endWidth"],Gr={equal:(e,t,o)=>e&&e[t]===o,notEqual:(e,t,o)=>e&&e[t]!==o,contain:(e,t,o)=>e?(e[t]||"").indexOf(o)>-1:!1,startWidth:(e,t,o)=>e?(e[t]||"").startsWith(o):!1,endWidth:(e,t,o)=>e?(e[t]||"").endsWith(o):!1},Wr={equal:(e,t,o)=>e&&e[t]===o,notEqual:(e,t,o)=>e&&e[t]!==o},zr={equal:(e,t,o)=>{if(e){const i=new Date(new Date(o).toLocaleDateString()).valueOf();return new Date(new Date(e[t]).toLocaleDateString()).valueOf()===i}return!1},notEqual:(e,t,o)=>{if(e){const i=new Date(new Date(o).toLocaleDateString()).valueOf();return new Date(new Date(e[t]).toLocaleDateString()).valueOf()!==i}return!1},greaterThan:(e,t,o)=>{if(e){const i=new Date(new Date(o).toLocaleDateString()).valueOf();return new Date(new Date(e[t]).toLocaleDateString()).valueOf()>i}return!1},greaterThanOrEqual:(e,t,o)=>{if(e){const i=new Date(new Date(o).toLocaleDateString()).valueOf();return new Date(new Date(e[t]).toLocaleDateString()).valueOf()>=i}return!1},lessThan:(e,t,o)=>{if(e){const i=new Date(new Date(o).toLocaleDateString()).valueOf();return new Date(new Date(e[t]).toLocaleDateString()).valueOf()<i}return!1},lessThanOrEqual:(e,t,o)=>{if(e){const i=new Date(new Date(o).toLocaleDateString()).valueOf();return new Date(new Date(e[t]).toLocaleDateString()).valueOf()<=i}return!1}},qr={equal:(e,t,o)=>e?String(o).split(",").includes(String(e[t])):!1,notEqual:(e,t,o)=>e?String(o).split(",").findIndex(a=>a===String(e[t]))===-1:!1},Ur={equal:(e,t,o)=>{if(e){const i=Number.parseFloat(String(o)),a=Number.parseFloat(String(e[t]));return isNaN(i)?isNaN(a):i===a}return!1},notEqual:(e,t,o)=>{if(e){const i=Number.parseFloat(String(o)),a=Number.parseFloat(String(e[t]));return isNaN(i)?!0:i!==a}return!1},greaterThan:(e,t,o)=>{if(e){const i=Number.parseFloat(String(o)),a=Number.parseFloat(String(e[t]));return isNaN(i)?isNaN(a):a>i}return!1},greaterThanOrEqual:(e,t,o)=>{if(e){const i=Number.parseFloat(String(o)),a=Number.parseFloat(String(e[t]));return isNaN(i)?isNaN(a):a>=i}return!1},lessThan:(e,t,o)=>{if(e){const i=Number.parseFloat(String(o)),a=Number.parseFloat(String(e[t]));return isNaN(i)?isNaN(a):a<i}return!1},lessThanOrEqual:(e,t,o)=>{if(e){const i=Number.parseFloat(String(o)),a=Number.parseFloat(String(e[t]));return isNaN(i)?isNaN(a):a<=i}return!1}};function zt(){const e=n.ref([]),t=new Map,{loadConditionGroup:o}=Un(),i=new Map([["boolean",Wr],["datetime",zr],["enum",qr],["number",Ur],["text",Gr]]);function a(c){t.delete(c),e.value=Array.from(t.values())}function r(){t.clear(),e.value=[]}function l(c){const{valueType:u}=c.value,_=c.compareType||"0",m=Hr[Number(_)];return i.get(u)[m]}function s(c){const u=c.relation===2?0:1,_=c.items.map(y=>{const b=l(y);return C=>b(C,y.fieldCode,y.value.getValue())}),m=c.children&&c.children.length?c.children.map(y=>s(y)):[];return{relation:u,filterFunctions:_,children:m}}function f(){const c=o(e.value);return s(c)}function d(c,u){const _=u.filterFunctions.map(y=>y(c)),m=u.children.map(y=>d(c,y));return u.relation===1?_.every(y=>y)&&m.every(y=>y):_.includes(!0)||m.includes(!0)}function p(c){const u=f();return d(c,u)}return{apply:p,clearCondition:r,conditions:e,removeCondition:a}}function qt(e,t){var b,S;const{idField:o}=t,i=n.ref(e.summary),a=n.ref(e.group),r=n.ref(((b=e.group)==null?void 0:b.groupFields)||[]),l=n.ref(((S=e.group)==null?void 0:S.enable)||!1),s=n.computed(()=>{const C=i.value;return(C==null?void 0:C.groupFields)||[]}),f=n.computed(()=>{const C=a.value;return C&&C.showSummary}),d=new Map;let p=[];function c(C,g,F,x,h){const V=x[F];V&&(g.reduce((v,w,k)=>{var T;const I=w[V];let O=v.get(I);if(!O){const N=s.value.reduce(($,B)=>($.set(B,0),$),new Map);O={field:V,title:((T=h.get(V))==null?void 0:T.title)||V,value:I,layer:F,details:[],groupSummaries:N},v.set(I,O)}return s.value&&s.value.forEach(N=>{if(O){const $=O.groupSummaries.get(N)||0;O.groupSummaries.set(N,$+w[N])}}),O.details.push(w),v},C),F<x.length-1&&C.forEach((v,w)=>{v.nestGroup=new Map,c(v.nestGroup,v.details,F+1,x,h),v.details=[]}))}function u(C,g){return e.group&&e.group.formatter?e.group.formatter(C.value,{...C,total:g}):`${C.title}:${C.value} (${g})`}function _(C){const g=[];return C.forEach(F=>{const x={__fv_data_grid_group_collapse__:!1,__fv_data_grid_group_field__:F.field,__fv_data_grid_group_layer__:F.layer,__fv_data_grid_group_row__:!0,__fv_data_grid_group_value__:F.value};let h=0;if(g.push(x),F.nestGroup){const V=_(F.nestGroup);g.push(...V),h+=V.length}if(F.details&&F.details.length&&(g.push(...F.details),h+=F.details.length),f.value){const V={__fv_data_grid_group_field__:F.field,__fv_data_grid_group_layer__:F.layer,__fv_data_grid_group_summary__:!0};V[o.value]=`summary_of_${F.field}_${F.value}`,V[F.field]=Array.from(F.groupSummaries.entries()).reduce((v,[w,k])=>`${v} ${w} total:${k} `,""),g.push(V)}F.groupSummaries&&F.groupSummaries.size&&F.groupSummaries.forEach((V,v)=>{x[v]=V}),x[o.value]=`group_of_${F.field}_${F.value}`,x[F.field]=u(F,h)}),g.forEach((F,x)=>{F.__fv_data_index__=x}),g}function m(C,g,F){return!C||C.length===0||!g.length?g:(C.join(","),d.clear(),p=[],c(d,g,0,C,F),p=_(d),p)}function y(C){return{"f-icon":!0,"f-icon-arrow-chevron-down":!0,"fv-grid-group-row-icon-collapse":C.collapse}}return{collpaseGroupIconClass:y,generateGroupData:m,groupFields:r,shouldGroupingData:l}}function Kr(e,t,o,i){const a=n.ref(!!e.hierarchy),{idField:r}=i,{collapseField:l,hasChildrenField:s,parentIdField:f}=o,d=new Map;function p(O,T){const N=new Map;return O.reduce(($,B)=>{const j=B[f.value]!==void 0?B[f.value]:"";if(j&&T.has(j)){const M=T.get(j);B.__fv_parent_index__=M.__fv_index__,M.__fv_hasChildren__=!0}const P=$.has(j)?$.get(j):[];return P.push(B),$.set(j,P),$},N),N}function c(O){const T=new Map;return O.reduce((N,$)=>{const B=$[r.value];return N.set(B,$),N},T),T}function u(O){O.forEach(T=>{const N=T[r.value];T.__fv_children_index__.map(B=>O[B]).forEach(B=>{B.__fv_parents__=new Map([...T.__fv_parents__.entries(),[N,!0]])})})}function _(O){O.forEach(T=>{const N=new Set(T.__fv_children_index__);T.__fv_children_index__=[...N].sort(($,B)=>$-B)})}function m(O,T){O.forEach(N=>{const $=N.__fv_parents__;Array.from($.keys()).map(B=>T.get(B)).forEach(B=>{B.__fv_children_index__.push(N.__fv_index__)})}),_(O)}function y(O){O.forEach(T=>{T.__fv_child_with_lines__=[],T.__fv_child_length__=T.__fv_descendant_index__.length,T.__fv_descendant_index__.map(N=>O[N]).reduce((N,$)=>(N.__fv_child_length__+=$.__fv_children_index__.length,N.__fv_child_with_lines__.push(...$.__fv_children_index__,$.__fv_index__),N),T)})}function b(O,T){return{id:O,index:T,parentId:"",parentIndex:-1,parents:new Map,children:new Map,descendant:new Map}}function S(O,T){Array.from(T.keys()).forEach(N=>{T.get(N).reduce((B,j)=>{const P=j[r.value],M=O.get(j[r.value]),D=O.get(N);return D&&(D.children.set(P,M),D.children.set(P,M),M.parentId=N,M.parentIndex=D.index,M.parents.set(N,D)),B},O)})}function C(O){O.children.forEach(N=>{N.parents=new Map([...O.parents.entries(),[O.id,O]]),C(N)})}function g(O,T){O.filter(N=>N[f.value]===void 0||N[f.value]==="").forEach(N=>{const $=N[r.value],B=T.get($);C(B)})}function F(O){Array.from(O.values()).forEach(T=>{Array.from(T.parents.values()).forEach(N=>{N.descendant.set(T.id,T)})})}function x(O){d.clear(),O.forEach(($,B)=>{const j=$[r.value];d.set(j,b(j,B))});const T=c(O),N=p(O,T);return S(d,N),g(O,d),F(d),d}function h(O){const T=O[r.value],N=d.get(T);return N&&N.children.size>0}function V(O){return O[s.value]&&!h(O)}function v(O){x(t.value);const T=c(O),N=p(O,T);return O.forEach(($,B)=>{var D;const j=$[r.value],P=N.has(j)?(D=N.get(j))==null?void 0:D.map(H=>H.__fv_index__):[],M=b(j,B);$.__fv_graph_node__=M,$.__fv_children_index__=P,$.__fv_descendant_index__=[...P],$.__fv_parents__=new Map,V($)&&($[l.value]=!0)}),u(O),m(O,T),e.showLines&&y(O),O}function w(O,T,N){const B=N.value[O][r.value],j=d.get(B);if(j){const P=d.get(j.parentId);let M=N.value.length-1;if(P){const D=Array.from(P.children.keys()).indexOf(j.id);if(D===P.children.size-1){const ne=Array.from(P.descendant.values())[P.descendant.size-1];M=N.value.findIndex(be=>be[r.value]===ne.id)+1}else{const ne=Array.from(P.children.values())[D+1];M=N.value.findIndex(be=>be[r.value]===ne.id)}T[s.value]=!1,T[f.value]=P.id,N.value.splice(M,0,T)}}}function k(O,T,N){const $=N.value[O],B=$[r.value];if(d.get(B)){const M=N.value.findIndex(D=>D[r.value]===B)+1;$[s.value]=!0,$[l.value]=!1,T[s.value]=!1,T[f.value]=B,N.value.splice(M,0,T)}}function I(O,T){const N=O[r.value],$=d.get(N),B=Array.from($.descendant.keys());B.unshift(N);const j=d.get($.parentId);if(j&&(j.children.delete(N),j.children.size===0)){const M=T.find(D=>D[r.value]===$.parentId);M[s.value]=!1,M[l.value]=!1}return T.filter(M=>B.indexOf(M.id)===-1)}return{generateHierarchyData:v,hasRealChildren:h,insertSibling:w,insertChild:k,shouldStratifyData:a,trimmedOriginalData:I}}const Xr={showCloseButton:{type:Boolean,default:!0},position:{type:String,default:"top-center"},timeout:{type:Number,default:3e3},theme:{type:String,default:"bootstrap"},left:{type:Number},right:{type:Number},top:{type:Number},bottom:{type:Number},id:{type:String},animate:{type:String,default:"fadeIn"},options:{type:Object}},Yr={showCloseButton:{type:Boolean,default:!0},animate:{type:String,default:"fadeIn"},options:{type:Object}},Ut=n.defineComponent({name:"Toast",props:Yr,emits:["close","click"],setup:(e,t)=>{const o=n.ref(e.animate),i="fadeOut",a=n.computed(()=>e.options),r=n.ref(!1),l=n.computed(()=>{const S={animated:r.value,toast:!0};return S[e.animate]=!1,S[i]=r.value,S[a.value.type]=!0,a.value.theme&&(S[a.value.theme]=!0),S}),s=n.computed(()=>{const g=`f-icon-${a.value&&a.value.type?a.value.type.replace("toasty-type-",""):"default"}`,F={"f-icon":!0};return F[g]=!0,F}),f=n.computed(()=>a.value.title||a.value.message),d=n.computed(()=>a.value.title&&a.value.message),p=n.computed(()=>!a.value.title&&a.value.message),c=n.computed(()=>e.showCloseButton),u=n.computed(()=>!!a.value.buttons||!!t.slots.default);function _(S){S.stopPropagation(),S.preventDefault(),r.value=!1,setTimeout(()=>{t.emit("close",a.value)},200)}function m(S,C){}function y(S){return`f-preten-link ${S.customClass?S.customClass:""}`}n.watch(o,()=>{o.value});const b=()=>{var S;return n.createVNode(n.Fragment,null,[n.createVNode("div",{class:"after-toast-msg text-right"},[!t.slots.default&&((S=a.value.buttons)==null?void 0:S.map(C=>n.createVNode("span",{class:y(C),onClick:g=>void 0},[C.text]))),t.slots.default&&t.slots.default()])])};return()=>n.createVNode("div",{class:l.value},[c.value&&n.createVNode("button",{title:"close",class:"toast-close f-btn-icon f-bare",onClick:_},[n.createVNode("span",{class:"f-icon modal_close"},null)]),f.value&&n.createVNode("section",{class:"modal-tips"},[n.createVNode("div",{class:"float-left modal-tips-iconwrap"},[n.createVNode("span",{class:s.value},null)]),n.createVNode("div",{class:"modal-tips-content"},[d.value&&n.createVNode(n.Fragment,null,[n.createVNode("h5",{class:"toast-title modal-tips-title",innerHTML:a.value.title},null),n.createVNode("p",{class:"toast-msg",innerHTML:a.value.message},null),u.value&&b()]),p.value&&(a.value.buttons?n.createVNode("div",{class:"toast-title-btns-wrapper d-flex"},[n.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",innerHTML:a.value.message},null),n.createVNode("div",{class:"after-toast-title text-right ml-auto"},[b()])]):n.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",innerHTML:a.value.message},null))])])])}}),Vt=n.defineComponent({name:"Notify",props:Xr,emits:["close","empty"],setup(e,t){const o=n.computed(()=>({"farris-notify":!0})),i={left:12,right:12,top:20,bottom:12},a=n.ref(),r=n.ref(e.options),l=n.ref(e.showCloseButton),s=n.computed(()=>e.position||"bottom-right"),f=n.computed(()=>e.timeout!=null?e.timeout:3e3),d=n.computed(()=>{const u=e.bottom?e.bottom:i.bottom,_=e.top?e.top:i.top,m={transition:"all 0.2s ease",left:s.value.indexOf("left")>-1?`${e.left?e.left:i.left}px`:"",right:s.value.indexOf("right")>-1?`${e.right?e.right:i.right}px`:"",top:s.value.indexOf("top")>-1?`${_}px`:"",bottom:s.value.indexOf("bottom")>-1?`${u}px`:""};return s.value.indexOf("center")>-1&&(m.left="50%",m.marginLeft="calc(-24rem / 2)",s.value==="center-center"&&(m.top="50%",m.transform="translate(-50%, -50%)")),m});function p(u){t.emit("close")}f.value&&setTimeout(()=>{p()},f.value),t.expose({closeToast:p,container:a,notifyPosition:s});function c(u,_){p()}return()=>n.createVNode("div",{class:o.value,style:d.value,ref:a},[n.createVNode(Ut,{options:r.value,showCloseButton:l.value,animate:e.animate,onClose:u=>c(u,r.value)},null)])}});class Kn{constructor(){z(this,"notifyRefs",[]);z(this,"globalConfig",n.reactive({}))}createNotifyInstance(t){const o=this,a=Object.assign({timeout:3e3,position:"bottom-right",showCloseButton:!0},this.globalConfig,{...t}),r=document.createElement("div");r.style.display="contents";const l=n.createApp({setup(){const s=n.ref();function f(){s.value.container.style.transform="scale(0)",setTimeout(()=>{o.updateNotifyPositionForClose(a,s),l.unmount()},220)}if(a.position.indexOf("top")>-1){const d=o.getNotifyInstances(a.position),p=d[d.length-1];if(p){const c=p.value.container.getBoundingClientRect();a.top=c.bottom}}return n.onUnmounted(()=>{document.body.removeChild(r)}),n.onMounted(()=>{o.updateNotifyPositionForCreate(a,s)}),()=>n.createVNode(Vt,n.mergeProps({ref:s},a,{onClose:f}),null)}});return l.provide("NotifyService",this),document.body.appendChild(r),l.mount(r),l}getNotifyInstances(t){return this.notifyRefs.filter(o=>o.value.notifyPosition===t)}updateNotifyPositionForCreate(t,o){if(this.notifyRefs&&this.notifyRefs.length){const i=window.innerHeight;t.position.indexOf("bottom")>-1&&this.getNotifyInstances(t.position).forEach(a=>{const r=a.value.container.getBoundingClientRect();a.value.container.style.bottom=r.height+i-r.bottom+"px"})}this.notifyRefs=[...this.notifyRefs,o]}updateNotifyPositionForClose(t,o){const i=this.notifyRefs.indexOf(o);if(t.position.indexOf("top")>-1){const a=this.getNotifyInstances(t.position),r=a.indexOf(o);a.slice(r+1).forEach(l=>{l.value.container.style.top=l.value.container.offsetTop-l.value.container.offsetHeight+"px"})}i>-1&&this.notifyRefs.splice(i,1)}show(t){return this.createNotifyInstance(t)}buildNotifyProps(t,o){let i="",a="",r,l,s;typeof o=="string"?i=o:o&&(i=o.message||"",a=o.title||"",l=o.position||null,s=o.showCloseButton!=null?o.showCloseButton:null,r=o.timeout!=null?o.timeout:null);const d={options:{type:t,message:i,title:a}};return l!=null&&(d.position=l),s!=null&&(d.showCloseButton=s),r!=null&&(d.timeout=r),d}info(t){const o=this.buildNotifyProps("info",t);return this.show(o)}success(t){const o=this.buildNotifyProps("success",t);return this.show(o)}warning(t){const o=this.buildNotifyProps("warning",t);return this.show(o)}error(t){const o=this.buildNotifyProps("error",t);return this.show(o)}close(t){t&&t.unmount()}closeAll(){this.notifyRefs.forEach(t=>{t==null||t.value.closeToast()}),this.notifyRefs.length=0}}const Xn=Symbol("NOTIFY_SERVICE_TOKEN");Vt.install=e=>{e.component(Vt.name,Vt),e.component(Ut.name,Ut);const t=new Kn;e.provide(Xn,t),e.provide("FNotifyService",t)};function Yn(e,t,o,i,a){var Je;const{pageSize:r,total:l,shouldRenderPagination:s,currentPage:f,mode:d}=a,p=new Map,c=new Map,u=new Map,_=new Map,m=new Map,y=n.ref([]),b=n.ref([]),S=zt(),C=qt(e,i),{generateGroupData:g,groupFields:F,shouldGroupingData:x}=C,h=n.ref(e.data),V=Kr(e,h,o,i),{generateHierarchyData:v,hasRealChildren:w,insertSibling:k,insertChild:I,shouldStratifyData:O,trimmedOriginalData:T}=V,{idField:N,reviseIdentifyField:$}=i,B=n.ref(e.newDataItem),j=n.ref(e.data),P=n.ref(e.data),{flatTreeData:M}=fl(e);if(e.data&&((Je=e.data[0])!=null&&Je.children)){const A=Se(e.data);h.value=A,j.value=A,P.value=A}const D=n.ref(e.summary),H=n.computed(()=>{const A=D.value;return(A==null?void 0:A.groupFields)||[]});let ne=new Map;const re=n.computed(()=>{var A;return((A=j.value)==null?void 0:A.length)||0}),be=n.ref(e.pagination),$e=new Kn,_e=n.computed(()=>s.value?d.value==="server"?0:(f.value-1)*r.value:0),ve=n.computed(()=>s.value?d.value==="server"?Math.min(r.value,l.value,re.value):Math.min(_e.value+r.value,l.value,re.value):re.value);function Se(A){return M(A)}function ke(){var oe;j.value=h.value,x.value&&(j.value=g(F.value,h.value,t)),ne=H.value.reduce((Ne,Ee)=>(Ne.set(Ee,0),Ne),ne);const A=_e.value,ee=ve.value;let ae=0;const Ve=[];if((oe=j.value)!=null&&oe.length){$(j.value);const Ne=N.value!==e.idField;for(let Ee=A;Ee<ee;Ee++){const he=j.value[Ee];he.__fv_data_grid_group_row__?(ae=0,he.__fv_data_index__=""):he.__fv_data_grid_group_summary__?he.__fv_data_index__="":(ae++,s.value?he.__fv_data_index__=ae+(f.value-1)*r.value:he.__fv_data_index__=ae),he.__fv_index__=Ee,Ne&&(he[N.value]=Ee),H.value.forEach(De=>{const Le=ne.get(De)||0;ne.set(De,Le+he[De])}),Ve.push(he)}}return O.value&&v(Ve),P.value=[...Ve],Ve}const ie=n.ref(ke());function fe(A,ee,ae=!1){const oe=(ae?ke():[...P.value]).filter(he=>S.apply(he)),Ne=A&&A.length?oe.filter(he=>A.reduce((De,Le)=>De&&Le.filter(he),!0)):oe,Ee=ee&&ee.length?Ne.sort((he,De)=>{const Le=[...ee],Ce=Le.shift();let Qe=Ce.compare(he[Ce.field],De[Ce.field]);for(;Qe===0&&Le.length!==0;){const ut=Le.shift();ut&&(Qe=ut.compare(he[ut.field],De[ut.field]))}return Qe}):Ne;return ie.value=Ee.map((he,De)=>{if(he.__fv_data_grid_group_row__){const Le=`group_of_${he.__fv_data_grid_group_field__}_${he.__fv_data_grid_group_value__}`;he.__fv_data_grid_group_collapse__=!!p.get(Le)}return he.__fv_index__=De,he}),ie.value}function G(A){return m.clear(),b.value=A,b.value.reduce((ee,ae)=>(ee.set(ae.field,ae),ee),m),fe([],b.value)}function q(A,ee){return m.set(A,ee),b.value=Array.from(m.values()),fe([],b.value)}function le(A){return m.delete(A),b.value=Array.from(m.values()),fe([],b.value)}function Q(A,ee){return c.set(A,ee),y.value=Array.from(c.values()),fe([],Array.from(m.values()))}function me(A){return c.delete(A),y.value=Array.from(c.values()),fe([],Array.from(m.values()),!0)}function ge(){return c.clear(),y.value=[],fe([],Array.from(m.values()),!0)}function ce(A,ee){const ae=`group_of_${A}_${ee}`;p.set(ae,!0);const Ve=oe=>oe[A]!==ee;return u.set(`collapse_${A}_${ee}`,{field:A,fieldName:A,fieldType:"string",filterValue:ee,filter:Ve}),fe(Array.from(u.values()),Array.from(m.values()))}function xe(A,ee){const ae=`group_of_${A}_${ee}`;return p.set(ae,!1),u.delete(`collapse_${A}_${ee}`),fe(Array.from(u.values()),Array.from(m.values()),!0)}function L(A){const ee=A.raw[N.value],ae=Ve=>!Ve.__fv_parents__.has(ee);_.set(`fold_${ee}`,{field:"id",fieldName:"id",fieldType:"string",filterValue:String(ee),filter:ae}),fe(Array.from(_.values()),Array.from(m.values())),v(ie.value)}function se(A){const ee=A[N.value];_.delete(`fold_${ee}`)}function ue(A){se(A.raw),fe(Array.from(_.values()),Array.from(m.values()),!0),v(ie.value)}function W(){const A=ke();ie.value=A,e.hierarchy&&(fe(Array.from(_.values()),Array.from(m.values())),v(ie.value))}function pe(A){var ee;if(A&&((ee=A[0])!=null&&ee.children)){const ae=Se(A);h.value=ae,j.value=ae,P.value=ae}else h.value=A,j.value=A,P.value=A;W()}function Be(A,ee,ae){return(A&&A.length?ie.value.filter((oe,Ne)=>A.reduce((Ee,he)=>Ee&&he.filter(oe),!0)):ie.value).slice(ee,ae)}function X(A){(A-1)*r.value<=re.value&&W()}function te(A){h.value.push(Re.cloneDeep(A)),ie.value=ke()}function de(A=0){if(!(A>-1))return!1;const ae=B.value();e.hierarchy?k(A,ae,h):h.value.splice(A,0,ae),W()}function Fe(A=0){if(!(A>-1&&e.hierarchy))return!1;const ae=B.value(),Ve=h.value[A];se(Ve),I(A,ae,h),W()}function Te(A){const ee=A?A-1:0;h.value.splice(ee,1),W()}function je(A){const ee=h.value.findIndex(ae=>ae[N.value]===A);ee!==-1&&(h.value.splice(ee,1),W())}function ze(A){const ee=A>-1?h.value[A]:null;if(!(ee&&ee.deletable!==!1))return!1;h.value=T(ee,h.value),W()}function qe(){const A=u.size>0?Array.from(u.values()):[];return fe(A,Array.from(m.values()))}function ot(A){be.value&&(be.value.size=A,W())}function it(A,ee){const ae=h.value[Number(A)-1];ae.editable!==!1?(ae.name=ee,W()):$e.show({showCloseButton:!1,timeout:3e3,animate:"fadeIn",toasts:[{type:"string",title:"提示",msg:"当前节点禁止编辑"}]})}function at(A){return A.map(ae=>{const Ve=P.value.findIndex(oe=>oe[N.value]===ae);return Ve>-1?P.value[Ve]:null}).filter(ae=>ae!=null)}return{addFilter:Q,addNewDataItem:te,addSorter:q,changePageSizeTo:ot,collapse:ce,dataView:ie,editDataItem:it,expand:xe,filters:y,fold:L,getRange:Be,getSelectionItems:at,hasRealChildren:w,load:pe,navigatePageTo:X,summaries:ne,totalItems:re,insertNewDataItem:de,insertNewChildDataItem:Fe,removeAllFilter:ge,removeDataItem:Te,removeDataItemById:je,removeFilter:me,removeHierarchyDataItem:ze,removeSorter:le,rawView:P,refresh:qe,setSorters:G,sorters:b,updateDataView:W,unFold:ue,startIndex:_e,endIndex:ve,originalData:h}}function Jn(){function t(l){return l.field}function o(l){const s=t(l),f=localStorage.getItem(s);return f?JSON.parse(f):[]}function i(l,s){const f=t(l);localStorage.setItem(f,JSON.stringify(s))}function a(l,s){if(!s)return;const f=o(l),p=[f.find(c=>c.name===s)||{id:Date.now(),name:s,selectable:!0},...f.filter(c=>c.name!==s)];p.length>5&&(p.length=5),i(l,p)}function r(l,s){const d=[...o(l).filter(c=>c.name!==s)],p=t(l);localStorage.setItem(p,JSON.stringify(d))}return{getFilterHistory:o,removeFilterHistory:r,setFilterHistory:i,updateFilterHistory:a}}function Qn(e){n.ref(e.selection.showCheckbox||!1);const t=n.computed(()=>{var l;return((l=e.hierarchy)==null?void 0:l.collapseField)||"__fv_collapse__"}),o=n.computed(()=>{var l;return((l=e.hierarchy)==null?void 0:l.hasChildrenField)||"__fv_hasChildren__"}),i=n.computed(()=>{var l;return((l=e.hierarchy)==null?void 0:l.parentIdField)||"parent"}),a=n.computed(()=>e.hierarchy&&e.selection.showCheckbox),r=n.computed(()=>(e.treeNodeIconsData.fold||e.iconField)&&e.showTreeNodeIcons);return{collapseField:t,hasChildrenField:o,parentIdField:i,shouldShowCheckBox:a,shouldShowIcon:r}}function Jr(e,t,o,i){var y,b,S,C,g,F;const{idField:a}=o,r=n.ref(((b=(y=e.hierarchy)==null?void 0:y.cascadeOption)==null?void 0:b.autoCheckChildren)||!1),l=n.ref(((C=(S=e.hierarchy)==null?void 0:S.cascadeOption)==null?void 0:C.autoCheckParent)||!1),s=n.ref(((F=(g=e.hierarchy)==null?void 0:g.cascadeOption)==null?void 0:F.selectionRange)||"All");n.watch(()=>{var x;return(x=e.hierarchy)==null?void 0:x.cascadeOption},x=>{r.value=x?!!x.autoCheckChildren:!1,l.value=x?!!x.autoCheckParent:!1,s.value=x?x.selectionRange:"All"});function f(x,h){for(let V=0;V<h.length;V++)if(!x.includes(h[V]))return!1;return!0}function d(x,h){return x.filter(v=>h.indexOf(v)===-1)}const p=n.computed(()=>s.value==="OnlyParent"),c=n.computed(()=>s.value==="OnlyChildren");function u(x,h){let V=x;const v=t.value[h],w=v.raw[a.value],k=Array.from(v.raw.__fv_descendant_index__).map(B=>t.value[B]),I=k.map(B=>B.raw[a.value]),O=f(x,I),T=f(x,[w]);return T&&O&&p.value&&(V=d(x,I),k.forEach(B=>{B.disable=!0})),T&&O&&c.value&&(V=d(x,[w]),k.forEach(B=>{B.disable=!0})),V}function _(x,h){let V=x;const v=h[a.value],w=Array.from(h.__fv_children_index__).map($=>t.value[$]),k=w.map($=>$.raw[a.value]),I=f(x,k),O=f(x,[h[a.value]]);return O&&I&&p.value&&(V=d(x,k),w.forEach($=>{$.disable=!0})),O&&I&&c.value&&(V=d(x,[v]),w.forEach($=>{$.disable=!0})),V}function m(x,h){let V=x.map(I=>I[a.value]);return h.__fv_parent_index__>0&&(V=u(V,h.__fv_parent_index__)),h.__fv_children_index__.length>0&&(V=_(V,h)),x.filter(I=>V.includes(I[a.value]))}return{autoCheckChildren:r,autoCheckParent:l,interactAfterCheckHierarchyItem:m}}function Qr(e,t,o,i,a){const{select:r,unSelect:l,indeterminate:s,getSelectedItems:f}=i,{autoCheckChildren:d,autoCheckParent:p,interactAfterCheckHierarchyItem:c}=Jr(e,t,o),{idField:u}=o;function _(){return t.value.filter(h=>!!h.checked).map(h=>h.raw.__fv_index__)}function m(h,V){return h.filter(w=>V.indexOf(w)===-1)}function y(h){const V=_();h.raw.__fv_children_index__.some(w=>V.includes(w))&&!!h.checked!==!0&&s(h)}function b(h){let V=h.raw.__fv_parent_index__;for(;V!==void 0;){const v=_(),w=t.value[V],k=m(w.raw.__fv_children_index__,v);k.length===w.raw.__fv_children_index__.length&&k.length!==0?l(w):k.length===0?p.value&&r(w):k.length<w.raw.__fv_children_index__.length&&w.checked!==!0&&s(w),V=w.raw.__fv_parent_index__}}function S(h){const V=!!h.checked;d.value&&h.raw.__fv_children_index__.map(v=>t.value[v]).forEach(v=>{V?r(v):l(v)})}function C(h){S(h),b(h);const V=h.raw;let v=f();v=c(v,V),y(h),a.emit("selectionChange",v)}function g(h,V){let v=-1;if(h.raw.__fv_parent_index__>-1){const O=t.value[h.raw.__fv_parent_index__].raw.__fv_descendant_index__,T=O.length>1,N=O.findIndex(B=>B===V),$=N===O.length-1;v=T?$?O[N-1]:O[N+1]:-1}return v>-1?t.value[v]:null}function F(h){return h.raw.__fv_parent_index__>-1?t.value[h.raw.__fv_parent_index__]:null}function x(h){const V=t.value[h];if(!V)return null;const v=g(V,h),k=v!==null?v:F(V);return k?k.raw[u.value]:null}return{getNextSelectableHierarchyItemId:x,toggleSelectHierarchyItem:C}}function Zn(e,t,o,i,a,r,l,s){var Be;const{dataView:f}=t,{getVisualData:d,maxVisibleRowIndex:p,minVisibleRowIndex:c}=a,u=n.ref(i.value.primaryColumnsWidth),_=n.ref(i.value.leftColumnsWidth),m=n.ref(i.value.rightColumnsWidth),y=((Be=e.rowOption)==null?void 0:Be.height)||28,b=n.ref(0),S=n.ref(0);let C=0,g=r.value-1;const F=n.ref(0),x=n.ref(0),h=n.ref(0);function V(){if(f.value.length<=0)return 0;const X=p.value<f.value.length?f.value[p.value]:f.value[f.value.length-1];return(X.__fv_data_position__||0)+(X.__fv_data_height__||0)+Math.max(f.value.length-1-p.value,0)*y}const v=n.computed(()=>{const X=V();return f.value.length>r.value+l?Math.floor((r.value+l)/f.value.length*x.value):Math.floor(x.value/Math.max(X,x.value)*x.value)}),w=n.computed(()=>Math.floor(h.value/Math.max(u.value,h.value)*F.value)),k=0,I=0,O=n.computed(()=>F.value-(_.value+u.value+m.value+s.value));function T(X){const te=f.value.find(de=>de.__fv_data_position__>X);return te?te.__fv_index__-1:0}function N(X){var ze,qe;if(!f.value.length){o.value=[];return}const te=(ze=e.pagination)!=null&&ze.enable?0:Math.max(C-l,0),de=f.value[f.value.length-1].__fv_index__,Fe=(qe=e.pagination)!=null&&qe.enable?f.value.length-1:Math.min(g+l-1,de),Te=f.value[te-1],je=d(te,Fe,Te,X);je.length&&(o.value=[...je])}const $=n.computed(()=>V()>x.value),B=n.computed(()=>Math.floor(u.value)>h.value);function j(X){let te=b.value+X;te>k&&(te=k);const de=te>k,Fe=V(),Te=$.value;Te&&te<x.value-Fe&&(te=x.value-Fe),(!Te||de)&&(te=k),b.value!==te&&(b.value=te,C=T(Math.abs(b.value)),g=C+r.value,(C<c.value||g>p.value-l/2)&&N())}function P(X){if(!B.value){S.value=0;return}let te=S.value+X;te>I&&(te=I),te<O.value&&(te=O.value),S.value!==te&&(S.value=te)}function M(){Math.abs(S.value)+h.value>u.value&&(S.value=Math.min(h.value-u.value,0))}function D(){b.value=0,C=0,g=r.value-1,N()}n.watch(h,()=>{P(0)}),n.watch(i,()=>{u.value=i.value.primaryColumnsWidth,_.value=i.value.leftColumnsWidth,m.value=i.value.rightColumnsWidth});function H(X){let{deltaX:te}=X.deltaX,de=-1*X.deltaY;return typeof te>"u"&&(te=-1*X.wheelDeltaX/6),typeof de>"u"&&(de=X.wheelDeltaY/6),X.deltaMode&&X.deltaMode===1&&(te*=10,de*=10),X.shiftKey?{deltaY:-de,deltaX:-te}:{deltaX:te,deltaY:de}}function ne(X){X.preventDefault(),X.stopPropagation();const{deltaX:te,deltaY:de}=H(X);j(de),P(te)}const re=n.computed(()=>({height:`${f.value.length*y}px`,width:`${_.value}px`,transform:`translateY(${b.value}px)`})),be=n.computed(()=>({transform:`translateY(${b.value}px)`})),$e=n.computed(()=>({height:`${f.value.length*y}px`,width:`${u.value}px`,transform:`translate(${S.value}px, ${b.value}px)`})),_e=n.computed(()=>({transform:`translate(${S.value}px, ${b.value}px)`})),ve=n.computed(()=>({height:`${f.value.length*y}px`,width:`${m.value}px`,transform:`translateY(${b.value}px)`})),Se=n.computed(()=>({transform:`translateY(${b.value}px)`})),ke=n.computed(()=>({height:`${f.value.length*y}px`,width:`${s.value}px`,transform:`translateY(${b.value}px)`})),ie=n.computed(()=>({width:`${_.value}px`})),fe=n.computed(()=>({transform:`translateX(${S.value}px)`})),G=n.computed(()=>({width:`${m.value}px`})),q=n.computed(()=>{const X=V();return b.value/(x.value-X)*(x.value-v.value)}),le=n.computed(()=>({height:`${v.value}px`,top:`${q.value}px`})),Q=n.computed(()=>S.value/O.value*(F.value-w.value)),me=n.computed(()=>({width:`${w.value}px`,left:`${Q.value}px`})),ge=n.ref(!1),ce=n.ref(-1),xe=n.ref(-1),L=n.ref();function se(X){if(ge.value&&xe.value!==-1){const te=xe.value-X.pageX,de=F.value-w.value;if(Math.abs(te)<=de){const Fe=te/(h.value-w.value)*(u.value-h.value);P(Fe),xe.value=X.pageX}}}function ue(X){if(ge.value&&ce.value!==-1){const te=ce.value-X.pageY,de=V(),Fe=de-v.value;if(Math.abs(te)<=Fe){const Te=te/(x.value-v.value)*(de-x.value);j(Te),ce.value=X.pageY}}}function W(X){ge.value=!1,ce.value=-1,xe.value=-1,document.removeEventListener("mouseup",W),document.removeEventListener("mousemove",se),document.removeEventListener("mousemove",ue),document.body.style.userSelect="",L.value&&(L.value.style.opacity=null)}function pe(X,te,de){var je;ge.value=!0;const Fe=(je=X.target)==null?void 0:je.parentElement;Fe&&(Fe.style.opacity=1,L.value=Fe);const Te=de==="horizontal"?se:ue;de==="vertical"&&(ce.value=X.pageY),de==="horizontal"&&(xe.value=X.pageX),te.value&&(te.value,document.addEventListener("mousemove",Te),document.addEventListener("mouseup",W),document.body.style.userSelect="none")}return{onMouseDownScrollThumb:pe,onWheel:ne,dataGridWidth:F,gridDataStyle:$e,gridHeaderColumnsStyle:fe,gridMergedDataStyle:_e,gridSideStyle:ke,fitHorizontalScroll:M,viewPortWidth:h,viewPortHeight:x,horizontalScrollThumbStyle:me,leftFixedGridDataStyle:re,leftFixedGridHeaderColumnsStyle:ie,leftFixedGridMergedDataStyle:be,reCalculateVisualDataRows:N,resetScroll:D,rightFixedGridDataStyle:ve,rightFixedGridHeaderColumnsStyle:G,rightFixedGridMergedDataStyle:Se,shouldShowHorizontalScrollbar:B,shouldShowVirticalScrollbar:$,verticalScrollThumbStyle:le,offsetX:S,offsetY:b}}function eo(e,t,o,i,a,r,l,s){const f=n.ref(i.value-1+a),d=n.ref(0),{renderDataRow:p}=r,c=l?l.renderGroupRow:p,u=s?s.renderSummaryRow:p;function _(b){let S=p;return b.__fv_data_grid_group_row__&&(S=c),b.__fv_data_grid_group_summary__&&(S=u),S}function m(b,S,C,g){const{dataView:F}=o,x=[];if(F.value.length>0){const h=g?Date.now().toString():"";for(let V=b,v=0;V<=S;V++,v++){const w=F.value[V],k=F.value[V-1]||C,I=x[v-1],O=k?(k.__fv_data_position__||0)+(k.__fv_data_height__||0):0,N=_(w)(w,k,I,V,O,t.value);N.refreshKey=h,x.push(N)}}return d.value=x.length>0?x[0].index:0,f.value=x.length>0?x[x.length-1].index:0,x}function y(b,S,C){const g=S.groupField||"",{groupValue:F}=S;o[b](g,F);const{dataView:x}=o,h=C[0].index,V=Math.min(h+i.value+a+1,x.value.length-1);return m(h,V)}return{getVisualData:m,maxVisibleRowIndex:f,minVisibleRowIndex:d,toggleGroupRow:y}}function Zr(){function e(t,o){var r,l;const i=o.raw[t.field],a=(r=t.editor)==null?void 0:r.enumData.find(s=>{var f;return s[(f=t.editor)==null?void 0:f.idField]===i});return a==null?void 0:a[((l=t.editor)==null?void 0:l.textField)||"name"]}return{renderEnumColumn:e}}function el(){function e(i,a){return i?n.createVNode("span",{innerHTML:a.formatter.trueText},null):n.createVNode("span",{innerHTML:a.formatter.falseText},null)}function t(i,a){var r,l;return i?(r=a.formatter)==null?void 0:r.trueText:(l=a.formatter)==null?void 0:l.falseText}function o(i,a){const{formatter:r}=i,l=a.raw[i.field];if(r.type===Lt.TEXT)return t(l,i);if(r.type===Lt.IMAGE)return e(l,i)}return{renderBooleanColumn:o}}function tl(){const{formatTo:e}=Xe.useDateFormat();function t(i,a){return e(i,a.formatter.dateFormat)}function o(i,a){const r=a.raw[i.field];return t(r,i)}return{renderDateColumn:o}}function nl(){const{formatTo:e}=Xe.useNumberFormat();function t(i,a){const{formatter:r}=a,l={precision:r.precision,prefix:r.prefix||"",suffix:r.suffix||"",decimalSeparator:r.decimal||".",groupSeparator:r.thousand||""};return e(i,l)}function o(i,a){const r=a.raw[i.field];return t(r,i)}return{renderNumberColumn:o}}function ol(){const{renderBooleanColumn:e}=el(),{renderEnumColumn:t}=Zr(),{renderNumberColumn:o}=nl(),{renderDateColumn:i}=tl();function a(s){return s}function r(s,f){const{formatter:d}=f;return d.customFormat?new Function(`return ${d.customFormat}`)():s}function l(s,f,d){const p=d.data[f.field],{formatter:c}=f;return c.type==="none"?p:c.type==="custom"?r(p,f):c.type==="enum"?t(f,d):c.type==="number"?o(f,d):c.type==="boolean"?e(f,d):c.type==="date"?i(f,d):p}return{renderFormatColumn:l}}function to(e,t,o){var y;const i=n.ref(e.mergeCell),r=((y=n.ref(e.rowOption).value)==null?void 0:y.wrapContent)||!1,{updateVisualInfomation:l}=o,{renderCommandColumn:s}=Da(),{renderFormatColumn:f}=ol();function d(b,S,C,g,F,x=1){const h={colSpan:x,rowSpan:1,index:C,field:b,data:g[b],editingData:g[b],parent:F,mode:S,getEditor:V=>V.data,setRef:V=>l(V,h,g),update:()=>{},accept:()=>{},cancel:()=>{}};return h}function p(b,S,C){return b.getEditor=g=>t.getEditor(g,S,g.parent),b.setRef=g=>r&&l(g,b,C),b.update=g=>{g!==void 0&&(b.editingData=g)},b.accept=()=>{C[S.field]=b.editingData,b.data=C[S.field]},b.cancel=()=>{b.editingData=b.data},b}function c(b,S){S.dataType==="commands"?b.formatter=(C,g)=>s(S,g):S.formatter&&(b.formatter=(C,g)=>typeof S.formatter=="function"?S.formatter(C,g):f(S.dataType,S,g))}function u(b,S,C){const g=S&&S.data[C];if(g&&g.data===b.data){const x=g&&g.spannedBy||g;x.rowSpan++,x.spanned=x.spanned||[],x.spanned.push(b),b.colSpan=0,b.rowSpan=0,b.spannedBy=x}}function _(b,S,C){i.value&&u(b,S,C.field)}function m(b,S,C,g,F){const x=b.readonly?Me.readonly:Me.editable,h=d(b.field,x,S,C,g);return p(h,b,C),c(h,b),_(h,F,b),h}return{createCellByColumn:m,createCellByField:d}}function no(e,t,o,i,a,r){var S,C;const l=n.ref(e.rowOption),s=((S=l.value)==null?void 0:S.height)||28,f=((C=l.value)==null?void 0:C.wrapContent)||!1,{idField:d}=i,{collapseField:p}=o,{updateRowPosition:c}=a,{createCellByColumn:u}=r;function _(g,F,x,h,V,v){var ne,re;const{__fv_data_grid_group_field__:w,__fv_data_grid_group_value__:k,__fv_data_index__:I}=x,O=x.__fv_data_grid_group_layer__||x.__fv_parents__?(ne=x.__fv_parents__)==null?void 0:ne.size:0,T=typeof x.parent=="number"?Number(x.parent):-1,N=x.__fv_data_grid_group_collapse__||x[p.value],$=x.__fv_visible__===void 0?!0:x.__fv_visible__,B=x.__fv_checked__,j=x.__fv_indeterminate__,P=h&&h[d.value]===x.parent,M=h&&h.parent===x.parent,D=P&&V&&(V.collapse||!V.visible)||M&&V&&!V.visible,H={collapse:N,data:{},dataIndex:I,groupField:w,groupValue:k,layer:O,index:F,parentIndex:T,pre:h,top:v,type:g,raw:x,checked:B,disabled:x.disabled,indeterminate:j,setRef:be=>{H.ref=be},visible:$&&!D,status:We.initial};return h||(x.__fv_data_position__=0),f||(H.height=s,x.__fv_data_height__=H.height,c(H,x)),(re=l.value)!=null&&re.customRowStatus&&(l.value.customRowStatus(H),x.__fv_collapse__=H.collapse,x.__fv_visible__=H.visible),H}function m(g,F,x,h,V,v){const w=_(et.data,V,F,x,h,v);return g.forEach((k,I)=>{w.data[k.field]=u(k,V,F,w,h)}),w}function y(g,F,x,h,V){return Object.assign(g,{index:F,dataIndex:x,top:h,pre:V})}function b(g,F,x,h,V,v){const w=g.__fv_data_index__,k=g[d.value],I=t.getEditingSnapshot(k);return I===null?m(v,g,F,x,h,V):y(I,h,w,V,x)}return{createEmptyRow:_,createNewRowFromDataItem:m,renderDataRow:b}}function il(e,t,o,i){const a=n.ref(e.summary),{idField:r}=t,{createCellByField:l}=o,{createEmptyRow:s}=i,f=n.computed(()=>{const u=a.value;return(u==null?void 0:u.groupFields)||[]}),d=n.computed(()=>{const u=a.value;return u&&u.enable&&u.groupFields&&u.groupFields.length>0});function p(u,_,m,y){if(d.value){const b=u.data[_];let S=b.colSpan;const C=f.value.reduce((g,F)=>(g.set(F,!0),g),new Map);y.reduce((g,F,x)=>{if(C.has(F.field)){const h=l(F.field,Me.readonly,x,m,u);u.data[F.field]=h,S-1>x&&(S=x)}return g},u),b.colSpan=S}}function c(u,_,m,y,b,S){const C=u.__fv_data_grid_group_field__,g=s(et.group,y,u,_,m,b);return g.data[r.value]=l(r.value,Me.readonly,-1,u,g,0),g.data[C]=l(C,Me.readonly,1,u,g,S.length),p(g,C,u,S),g}return{renderGroupRow:c}}function al(e,t,o,i){const{idField:a}=t,{createCellByField:r}=o,{createEmptyRow:l}=i;function s(f,d,p,c,u,_){const m=f.__fv_data_grid_group_field__,y=l(et.summary,c,f,d,p,u);return y.data[a.value]=r(a.value,Me.readonly,-1,f,y),y.data[m]=r(m,Me.readonly,1,f,y,_.length),y}return{renderSummaryRow:s}}function oo(e,t,o){var V;const{idField:i}=o,a=n.ref(e.editable),r=n.ref(e.editOption),l=n.ref(((V=e.rowOption)==null?void 0:V.wrapContent)||!1);n.watch(()=>e.editable,()=>{a.value=e.editable}),n.watch(()=>{var v;return(v=e.editOption)==null?void 0:v.editMode},v=>{r.value.editMode=v});const s=new Map([["boolean","check-box"],["datetime","date-picker"],["enum","combo-list"],["number","number-spinner"],["string","input-group"],["text","text"],["commands","commands-editor"]]);let f,d,p,c;function u(v){return d&&d.raw[i.value]===v?d:null}function _(v,w,k){v.mode=Me.editing,f=v,d=w,p=w.raw[v.field],c=k}function m(v){v.accept(),v.mode=Me.editable,t.emit("endEditCell",{cell:v,row:d,newValue:d==null?void 0:d.raw[v.field],oldValue:p,column:c})}function y(v){f&&(m(f),d&&(d=null)),document.body.removeEventListener("click",y)}function b(v,w,k,I){a.value&&r.value.editMode==="cell"&&w.mode===Me.editable&&(f&&m(f),_(w,k,I),document.body.removeEventListener("click",y),document.body.addEventListener("click",y))}function S(v){Object.values(v.data).filter(w=>w.mode===Me.editable&&w.field!=="__commands__").forEach(w=>{w.mode=Me.editing}),v.status=We.editing,d=v}function C(v,w){Object.values(v.data).filter(k=>k.mode===Me.editing).forEach(k=>{w?k.accept():k.cancel(),k.mode=Me.editable}),v.status=We.initial,d===v&&(d=null)}function g(v){a.value&&r.value.editMode==="row"&&d!==v&&(d&&C(d,!1),S(v))}function F(v){C(v,!0),v.status=We.initial}function x(v){C(v,!1),v.status=We.initial}function h(v,w,k){const I=w.dataType,O=w.editor||{type:s.get(I)||"input-group"};return!l.value&&O.type==="text"&&(O.type="input-group"),O?n.createVNode(It.FDynamicFormInput,{focusOnCreated:e.focusOnEditingCell,selectOnCreated:e.selectOnEditingCell,editor:O,modelValue:v.editingData,"onUpdate:modelValue":T=>v.editingData=T},null):v.data}return{onClickCell:b,onEditingRow:g,acceptEditingRow:F,cancelEditingRow:x,getEditingSnapshot:u,getEditor:h}}function io(e){const t=n.ref(e.idField);function o(i){if(i&&i.length){const a=i[0];Object.keys(a).includes(t.value)||(t.value="__fv_indetify__")}}return{idField:t,reviseIdentifyField:o}}function rl(e,t,o,i,a,r){const{addNewDataItemAtLast:l}=o,{columnContext:s}=i,{onClickCell:f}=a;function d(m,y){const b=s.value.primaryColumns.findIndex(V=>V.field===m.field),S=m.parent,C=S.index,g=s.value.primaryColumns.length-1,F=r.value.length-1,x=b===g,h=C===F;if(b>-1&&!x){const V=s.value.primaryColumns[b+1],v=S.data[V.field];f(y,v)}if(x&&!h){const v=r.value[C+1].data[s.value.primaryColumns[0].field];f(y,v)}if(x&&h){if(e.appendOnEnterAtLastCell){l();const v=r.value[C+1].data[s.value.primaryColumns[0].field];f(y,v)}t.emit("enterUpInLastCell")}}function p(m,y){const b=s.value.primaryColumns.findIndex(F=>F.field===m.field),S=m.parent,C=s.value.primaryColumns.length-1;if(b>0&&b<=C){const F=s.value.primaryColumns[b-1],x=S.data[F.field];f(y,x)}}function c(m,y){const b=m.field,C=m.parent.index,g=r.value.length-1;if(C>-1&&C<g){const h=r.value[C+1].data[b];f(y,h)}}function u(m,y){const b=m.field,C=m.parent.index,g=r.value.length-1;if(C>0&&C<=g){const h=r.value[C-1].data[b];f(y,h)}}function _(m,y){const{key:b,shiftKey:S}=m;if(b==="Enter"&&!S){d(y,m);return}if(S&&b==="Enter"){p(y,m);return}if(b==="ArrowDown"){c(y,m);return}b==="ArrowUp"&&u(y,m)}return{navigateOnKeyUp:_}}function ao(e,t,o,i){const{idField:a}=i,{currentSelectedDataId:r,multiSelectOnClickRow:l,multiSelectOnClickRowWithShift:s,selectItem:f,selectedValues:d,toggleSelectItem:p,enableSelectRow:c}=o,u=n.ref(0),_=n.ref(-1);function m(h){return c.value&&(s.value?d.value.includes(h.raw[a.value]):h.raw[a.value]===r.value)}function y(h){var v;const V={"fv-grid-row":h.type===et.data,"fv-grid-group-row":h.type===et.group,"fv-grid-summary-row":h.type===et.summary,"fv-grid-row-hover":h.index===_.value,"fv-grid-row-selected":m(h),"fv-grid-row-odd":h.dataIndex%2>0,"fv-grid-row-even":h.dataIndex%2===0,"fv-grid-disabled":h.disabled};if((v=e.rowOption)!=null&&v.customRowStyle){const w=e.rowOption.customRowStyle(h.raw)||{};return Object.assign({},V,w)}return V}function b(h){var v;const V={"fv-grid-cell":!0};if((v=e.rowOption)!=null&&v.customCellStyle){const w=e.rowOption.customCellStyle(h)||{};return Object.assign({},V,w)}return V}function S(h){u.value+=1,setTimeout(()=>{u.value===1&&t.emit("ClickRow",h.index,h.raw),u.value=0},250),u.value>1&&(t.emit("doubleClickRow",h.index,h.raw),console.log(`on double click row: ${h.index}`),u.value=0)}function C(h,V){if(V.disabled)return;s.value&&h.shiftKey||l.value?p(V):f(V),S(V),h.stopPropagation()}function g(h,V){}function F(h,V){}function x(h){var v;const V={"fv-grid-sidebar-row":!0,"fv-grid-sidebar-row-hover":h.index===_.value,"fv-grid-sidebar-row-selected":m(h),"fv-grid-sidebar-row-odd":h.dataIndex%2>0,"fv-grid-sidebar-row-even":h.dataIndex%2===0};if((v=e.rowOption)!=null&&v.customRowStyle){const w=e.rowOption.customRowStyle(h.raw)||{};return Object.assign({},V,w)}return V}return{gridCellClass:b,gridRowClass:y,onClickRow:C,onMouseoverRow:g,sidebarRowClass:x,onMouseoutRow:F}}function ro(e,t,o,i,a){const{idField:r}=o,l=n.ref(""),s=n.computed(()=>e.selection.enableSelectRow),f=n.ref(e.selection.multiSelect??!1),d=n.ref(e.selection.multiSelectMode),p=n.ref(e.selection.showCheckbox),c=n.ref(e.selection.showSelectAll),u=n.ref(e.selectionValues);n.watch(()=>e.selection.showSelectAll,(M,D)=>{M!==D&&(c.value=M)});function _(){return t.getSelectionItems(u.value)}function m(){const M=i.value.reduce((H,ne)=>(H.set(ne.raw[r.value],ne),H),new Map);return u.value.map(H=>M.get(H)).filter(H=>!!H)}const y=n.computed(()=>s.value&&f.value),b=n.computed(()=>!!e.hierarchy),S=n.computed(()=>{const M=p.value&&d.value==="DependOnCheck";return y.value&&M}),C=n.computed(()=>y.value&&!p.value),g=n.computed(()=>y.value&&p.value&&d.value==="OnCheckAndClick");n.computed(()=>g.value);function F(){const M=t.getSelectionItems(u.value);a.emit("selectionChange",M)}function x(){i.value.forEach(D=>{D.checked=!1,D.indeterminate=!1,D.raw.__fv_checked__=!1,D.raw.__fv_indeterminate__=!1}),m().forEach(D=>{D.checked=!0,D.raw.__fv_checked__=!0})}n.watch(()=>i.value,()=>{x()}),n.watch(()=>e.selectionValues,M=>{u.value=M,x()},{immediate:!0}),n.watch(()=>e.selection,M=>{f.value=!!M.multiSelect,d.value=M.multiSelectMode||"DependOnCheck",p.value=!!M.showCheckbox});const h=n.computed(()=>!f.value);function V(M){return M.raw[r.value]||""}function v(M){return u.value.findIndex(H=>H===V(M))}function w(){m().forEach(H=>{H.checked=!1}),t.getSelectionItems(u.value).forEach(H=>{H.__fv_checked__=!1}),u.value=[],l.value=""}function k(M){const D=M.raw;D.__fv_checked__=!0,D.__fv_indeterminate__=!1;const H=new Set(u.value);H.add(D[r.value]),u.value=Array.from(H.values()),M.checked=!0,M.indeterminate=!1,l.value=M.raw[r.value]}function I(M){const D=M.raw;D.__fv_checked__=!1,D.__fv_indeterminate__=!1,u.value=u.value.filter(H=>H!==D[r.value]),M.checked=!1,M.indeterminate=!1,l.value=""}function O(M){const D=M.raw;D.__fv_checked__=!1,D.__fv_indeterminate__=!0,u.value=u.value.filter(H=>H!==D[r.value]),M.checked=!1,M.indeterminate=!0}function T(M){h.value&&w(),M.checked?I(M):k(M),F()}function N(M){M.raw[r.value]!==l.value&&(w(),k(M),F())}function $(M){const D=i.value.find(H=>H.raw[r.value]===M);D&&N(D)}function B(){i.value.forEach(M=>k(M)),l.value="",F()}function j(){u.value.splice(0,u.value.length),l.value="",i.value.forEach(M=>{const D=M.raw;D.__fv_checked__=!1,D.__fv_indeterminate__=!1,M.checked=!1,M.indeterminate=!1}),F()}function P(){return i.value.find(M=>M.raw[r.value]===l.value)}return{clearSelection:w,currentSelectedDataId:l,enableMultiSelect:f,enableSelectRow:s,findIndexInSelectedItems:v,getSelectedItems:_,getSelectionRow:P,indeterminate:O,isSelectingHirarchyItem:b,multiSelectMode:d,multiSelectOnClickRow:g,multiSelectOnClickRowWithShift:C,multiSelectOnlyOnCheck:S,select:k,selectAll:B,selectedValues:u,selectItem:N,selectItemById:$,showCheckBox:p,showSelectAll:c,toggleSelectItem:T,unSelect:I,unSelectAll:j}}function lo(e,t){var b,S;const o=String(Date.now()),i=50,{showCheckBox:a,showSelectAll:r}=t,l=n.ref(((b=e.rowNumber)==null?void 0:b.enable)??!1),s=n.computed(()=>e.hierarchy&&a.value&&e.selection.enableSelectRow&&e.selection.multiSelect?!1:a.value),f=n.ref(l.value?((S=e.rowNumber)==null?void 0:S.width)??32:0),d=n.ref(s.value?i:0),p=n.computed(()=>{var C;return l.value?((C=e.rowNumber)==null?void 0:C.heading)??"序号":""}),c=n.computed(()=>(s.value&&!e.hierarchy?Number(d.value):0)+(l.value?Number(f.value):0));n.watch(()=>e.rowNumber,C=>{C&&C.enable!==void 0&&(l.value=C.enable),C&&C.width!==void 0&&(f.value=C.width)});function u(C){return{top:`${C.top}px`,width:`${c.value}px`,height:`${C.height||""}px`}}const _=n.computed(()=>({width:`${c.value}px`}));function m(C){return`${o}_${C.type}_r_${C.index}_${C.refreshKey||""}`}function y(C){return`${o}_${C.type}_r_${C.index}_${C.refreshKey||""}`}return{showRowNumer:l,showSidebarCheckBox:s,sidebarCellPosition:u,sidebarCornerCellStyle:_,sidebarTitle:p,sidebarWidth:c,rowKey:y,cellKey:m}}const ll={ascend:(e,t)=>e===t?0:e===!1?-1:1,decend:(e,t)=>e===t?0:e===!0?-1:1},sl={ascend:(e,t)=>{const o=new Date(new Date(e).toLocaleDateString()).valueOf(),i=new Date(new Date(t).toLocaleDateString()).valueOf();return o===i?0:o<i?-1:1},decend:(e,t)=>{const o=new Date(new Date(e).toLocaleDateString()).valueOf(),i=new Date(new Date(t).toLocaleDateString()).valueOf();return o===i?0:o<i?1:-1}},cl={ascend:(e,t)=>e===t?0:e<t?-1:1,decend:(e,t)=>e===t?0:e<t?1:-1},dl={ascend:(e,t)=>e===t?0:e<t?-1:1,decend:(e,t)=>e===t?0:e<t?1:-1};function so(e){const t=new Map([["boolean","boolean-sorter"],["date","datetime-sorter"],["datetime","datetime-sorter"],["number","numeric-sorter"],["string","text-sorter"],["text","text-sorter"],["enum","text-sorter"],["reference","text-sorter"]]),o=new Map([["boolean-sorter",ll],["datetime-sorter",sl],["numeric-sorter",cl],["text-sorter",dl]]);function i(l){const s=(l==null?void 0:l.dataType)||"string",f=t.get(s)||"text-sorter";return o.get(f)||(l==null?void 0:l.sorter)}function a(l){return i(l.column)}function r(l,s){const f=a(l),d=(l.status&Pe.sortable)===Pe.sortable&&(l.status&Pe.sorted)===Pe.sorted,p=(l.status&Pe.ascending)===Pe.ascending,c=(l.status&Pe.descending)===Pe.descending;if(d&&f){const u=p?f.ascend:c?f.decend:void 0;u?s.addSorter(l.field,{field:l.field,compare:u}):s.removeSorter(l.field)}else s.removeSorter(l.field)}return{getSorterByColumn:i,updateSorter:r}}function ul(e){function t(i){return{}}function o(i,a){const r=e.value.primaryColumnsMap.get(i.field)||e.value.leftColumnsMap.get(i.field)||e.value.rightColumnsMap.get(i.field)||{valign:"middle",align:"center"},{valign:l,align:s}=r;return{"d-flex":!0,"h-100":!0,"w-100":a==null?void 0:a.showEllipsis,"justify-content-start":s!=="center"&&s!=="right","justify-content-center":s==="center","justify-content-right":s==="right","align-items-start":l!=="middle"&&l!=="bottom","align-items-center":l==="middle","align-items-end":l==="bottom"}}return{cellContentPosition:t,cellContentClass:o}}function tt(e){return typeof e>"u"}function co(e){var c,u,_,m,y,b,S,C;const t=n.ref((c=e.pagination)==null?void 0:c.enable),o=n.ref(((u=e.pagination)==null?void 0:u.index)||1),i=n.ref((_=e.pagination)==null?void 0:_.size),a=n.ref((m=e.pagination)==null?void 0:m.sizeLimits),r=n.ref((y=e.pagination)==null?void 0:y.mode),l=n.ref((b=e.pagination)==null?void 0:b.showIndex),s=n.ref((S=e.pagination)==null?void 0:S.showLimits),f=n.ref(((C=e.pagination)==null?void 0:C.total)||0),d=n.computed(()=>r.value==="server"?f.value||0:f.value||e.data.length||0);return n.watch(()=>{var g;return(g=e.pagination)==null?void 0:g.sizeLimits},(g,F)=>{a.value=g},{immediate:!0,deep:!0}),n.watch(()=>{var g;return(g=e.pagination)==null?void 0:g.showIndex},(g,F)=>{g!==F&&(l.value=g)}),n.watch(()=>{var g;return(g=e.pagination)==null?void 0:g.showLimits},(g,F)=>{g!==F&&(s.value=g)}),n.watch(()=>{var g;return(g=e.pagination)==null?void 0:g.total},(g,F)=>{g!==F&&(f.value=g)}),n.watch(()=>{var g;return(g=e.pagination)==null?void 0:g.enable},(g,F)=>{g!==F&&(t.value=g)}),{currentPage:o,pageSize:i,pageList:a,total:d,shouldRenderPagination:t,showPageIndex:l,showPageList:s,mode:r,updatePagination:g=>{if(!g)return;const{enable:F,total:x,size:h,index:V,sizeLimits:v,showIndex:w,showLimits:k}=g;tt(F)||(t.value=F),tt(V)||(o.value=V),tt(h)||(i.value=h),tt(v)||(a.value=v),tt(w)||(l.value=w),tt(k)||(s.value=k),tt(x)||(f.value=x)}}}function fl(e){const t="parent",o="layer",i="hasChildren",a=(r,l=1,s=[],f=null)=>(r=r||[],r.reduce((d,p)=>(p.id=p.id||p.data[e.idField],p.data[t]=f,p.data[o]=l,p.data[i]=!1,d.push(p.data),p.children&&p.children.length&&(p.data[i]=!0,a(p.children,l+1,s,p.id)),d),s),s);return{flatTreeData:a}}function uo(e,t,o,i,a,r,l,s,f,d,p,c,u,_,m,y){const{calculateCellPositionInRow:b}=r,{columnContext:S,hasLeftFixedColumn:C,hasRightFixedColumn:g}=l,{gridDataStyle:F,leftFixedGridDataStyle:x,rightFixedGridDataStyle:h}=_,{renderDataRow:V}=Ma(e,t,S,y,s,f,d,p,c,u),v=[V];function w(N,$){const B=b(N);return y.value.filter(j=>j.visible!==!1).map(j=>v[j.type](j,B,$))}function k(){return n.createVNode("div",{ref:i,class:"fv-grid-content-left-fixed"},[n.createVNode("div",{class:"fv-grid-data",style:x.value},[w(S.value.leftColumns.filter(N=>N.visible),"left")])])}function I(){return n.createVNode("div",{ref:o,class:"fv-grid-content-primary"},[n.createVNode("div",{class:"fv-grid-data",style:F.value},[w(S.value.primaryColumns.filter(N=>N.visible),"primary")])])}function O(){return n.createVNode("div",{ref:a,class:"fv-grid-content-right-fixed"},[n.createVNode("div",{class:"fv-grid-data",style:h.value},[w(S.value.rightColumns.filter(N=>N.visible),"right")])])}function T(){const N=[];return C.value&&N.push(k()),N.push(I()),g.value&&N.push(O()),N}return{renderDataArea:T}}const lt=n.defineComponent({name:"FTreeGrid",props:Et,emits:["selectionChange"],setup(e,t){var Ve;const a=n.ref(),r=n.ref(),l=n.ref(),s=n.ref(),f=n.ref(),d=n.ref([]),p=n.ref(!1),c=n.ref(((Ve=e.rowOption)==null?void 0:Ve.wrapContent)||!1),{showLoading:u,renderLoading:_}=R.useLoading(e,a),m=R.useIdentify(e),y=R.useGroupData(e,m),b=R.useFilter(),S=R.useHierarchy(e),C=R.usePagination(e),g=R.useDataView(e,new Map,S,m,C),F=R.useSelection(e,g,m,d,t),x=R.useSelectHierarchyItem(e,d,m,F,t),h=n.computed(()=>e.disable),V=n.computed(()=>Math.min(g.dataView.value.length,100)),{containerStyleObject:v}=R.useDataViewContainerStyle(e),w=R.useCommandColumn(e),k=n.ref(e.columns),{applyCommands:I}=w;I(k);const O=R.useColumn(e),T=R.useSort(e),{applyColumnSorter:N,columnContext:$,updateColumnRenderContext:B}=O;N(g,T);const j=R.useGroupColumn(e,$),P=R.useEdit(e,t,m),M=R.useVisualDataBound(),D=R.useVisualDataCell(e,P,M),H=R.useVisualDataRow(e,P,S,m,M,D),ne=R.useVisualData(e,k,g,V,0,H),{getVisualData:re}=ne,be=R.useCellPosition(e,$),$e=R.useSidebar(e,F),{sidebarWidth:_e}=$e;d.value=re(0,V.value+0-1);const ve=R.useVirtualScroll(e,g,d,$,ne,V,0,_e),{onWheel:Se,dataGridWidth:ke,viewPortHeight:ie,viewPortWidth:fe}=ve,G=R.useFitColumn(e,$,r,fe,j),{calculateColumnsSize:q}=G,le=R.useFilterHistory(),Q=R.useColumnFilter(r,f,g,le,ve),me=R.useRow(e,t,F,m),ge=R.useDragColumn(e,t,O,g,j,y,ve),ce=n.computed(()=>({"fv-grid":!0,"fv-grid-bordered":e.showBorder,"fv-datagrid-strip":e.showStripe})),xe=n.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":p.value,"fv-grid-wrap-content":c.value})),{renderDataArea:L}=uo(e,t,l,s,f,be,O,g,P,S,me,F,x,ve,ne,d),{renderGridHeader:se,renderGridColumnResizeOverlay:ue}=R.getColumnHeader(e,r,s,f,O,g,ge,Q,b,le,G,j,F,$e,T,ve,fe,d),{renderDataGridSidebar:W}=R.getSidebar(e,me,F,$e,ve),{renderDisableMask:pe}=R.getDisableMask(),{renderHorizontalScrollbar:Be}=R.getHorizontalScrollbar(e,r,ve),{renderVerticalScrollbar:X}=R.getVerticalScrollbar(e,r,ve);function te(){var oe,Ne;ie.value=((oe=l.value)==null?void 0:oe.clientHeight)||0,ke.value=((Ne=r.value)==null?void 0:Ne.clientWidth)||0,q()}n.onMounted(()=>{r.value&&(St.useResizeObserver(r.value,te),q(),n.nextTick(()=>{r.value&&(ke.value=r.value.clientWidth),l.value&&(fe.value=l.value.clientWidth,ie.value=l.value.clientHeight)})),u.value&&_()}),n.onUnmounted(()=>{}),n.watch(fe,()=>{r.value&&q()});function de(){const oe=F.getSelectionRow();return oe?oe.dataIndex-1:-1}function Fe(){const oe=de();g.insertNewDataItem(oe),d.value=re(0,V.value+0-1)}function Te(){const oe=de();g.insertNewChildDataItem(oe),d.value=re(0,V.value+0-1)}function je(){const oe=de(),Ne=x.getNextSelectableHierarchyItemId(oe);g.removeHierarchyDataItem(oe),d.value=re(0,V.value+0-1),Ne&&F.selectItemById(Ne)}function ze(oe){P.onEditingRow(oe)}function qe(oe){P.acceptEditingRow(oe)}function ot(oe){P.cancelEditingRow(oe)}function it(oe){oe&&(k.value=oe,I(k),B(k.value),N(g,T),q())}function at(oe){oe&&(g.load(oe),d.value=re(0,V.value+0-1))}function Je(oe){F.selectItemById(oe)}function A(){return F.getSelectedItems()}const ee=n.computed(()=>!d.value||!d.value.length),{renderEmpty:ae}=R.getEmpty(t);return t.expose({addNewDataItem:Fe,addNewChildDataItem:Te,removeDataItem:je,editDataItem:ze,acceptDataItem:qe,cancelDataItem:ot,updateColumns:it,updateDataSource:at,selectItemById:Je,getSelectedItems:A}),()=>n.createVNode("div",{ref:a,class:ce.value,style:v.value,onWheel:Se},[se(),ee.value&&ae(),n.createVNode("div",{ref:r,class:xe.value,onMouseover:()=>{},onMouseleave:()=>{}},[W(d),L(),Be(),X()]),ue(),h.value&&pe()])}}),pl={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/check-box.schema.json",title:"check-box",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a check box",type:"string"},type:{description:"The type string of check box component",type:"string",default:"check-box"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},text:{description:"",type:"string",default:""},value:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"],ignore:["id","appearance","binding"]},ml=new Map([["appearance",Ge]]);function gl(e,t,o){return t}const fo={id:{Type:String,default:""},customClass:{Type:String,default:""},disabled:{Type:Boolean,default:!1},indeterminate:{Type:Boolean,default:!1},modelValue:{Type:Boolean,default:!1},focusOnCreated:{type:Boolean,default:!1},value:{type:String,default:""},name:{type:String,default:""},label:{type:String,default:""},checked:{type:Boolean,default:!1}};Ie(fo,pl,ml,gl);const hl=n.defineComponent({name:"FCheckBox",props:fo,emits:["change","changeValue","update:modelValue","update:checked"],setup(e,t){const o=n.inject(Xe.CHECKBOX_CONTEXT,null),{buttonClass:i,disabled:a,name:r,shouldRenderButton:l,shouldRenderNative:s,shouldRenderTag:f,tagClass:d,checked:p,onClickCheckBox:c}=Xe.useCheck(e,t,o==null?void 0:o.parentProps,o==null?void 0:o.parentContext);n.ref();const u=n.ref(e.id),_=n.ref(e.customClass),m=n.ref(e.modelValue),y=n.ref(e.indeterminate);return n.computed(()=>{const b={"custom-control":!0,"custom-checkbox":!0};return _.value&&_.value.split(" ").reduce((S,C)=>(S[C]=!0,S),b),b}),n.watch(()=>e.modelValue,b=>{m.value=b}),n.watch(()=>e.indeterminate,b=>{y.value=b}),n.onMounted(()=>{}),()=>{var b,S,C,g,F,x;return n.createVNode(n.Fragment,null,[l.value&&n.createVNode("div",{class:i.value,style:"border-radius:0;border: 1px solid #E8EBF2;",onClick:c},[(S=(b=t.slots).default)==null?void 0:S.call(b)]),f.value&&n.createVNode("div",{class:d.value,onClick:c},[n.createVNode("div",{class:"title"},[(g=(C=t.slots).default)==null?void 0:g.call(C)]),n.createVNode("div",{class:"tip"},null),n.createVNode("span",{class:"f-icon f-icon-check f-radio-icon"},null)]),s.value&&n.createVNode("div",{class:"custom-control custom-checkbox",onClick:c},[n.createVNode("input",{type:"checkbox",class:"custom-control-input",name:r.value,id:u,value:e.value,checked:p.value,disabled:a.value},null),n.createVNode("div",{class:"custom-control-label"},[(x=(F=t.slots).default)==null?void 0:x.call(F)])])])}}}),yl={id:{type:String,default:""},componentId:{type:String,default:""},type:{type:String,default:""},canDelete:{type:Boolean,default:!0},canMove:{type:Boolean,default:!0},canSelectParent:{type:Boolean,default:!0},customButtons:{type:Array,default:[]},customClass:{type:String,default:""},customStyle:{type:String,default:""},modelValue:{type:Object},ignore:{type:Boolean,default:!1}},vl={id:{type:String}},bl=n.defineComponent({name:"FDesignerPlaceholder",props:vl,emits:[],setup(e){const t=n.computed(()=>({"drag-and-drop-alert":!0,"no-drag":!0,"w-100":!0})),o=n.computed(()=>({height:"60px",display:"flex","justify-content":"center","align-items":"center",margin:0,padding:".75rem 1.25rem",border:"1px solid transparent","border-radius":"3px",color:"#315585","background-color":"#dfedff","border-color":"#d2e6ff"}));return()=>n.createVNode("div",{class:t.value,style:o.value,role:"alert","data-noattach":"true","data-position":"0"},[n.createTextVNode("拖拽组件到这里")])}});function Cl(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!n.isVNode(e)}const Kt=n.defineComponent({name:"FDesignerItem",props:yl,emits:["selectionChange"],setup(e,t){const o=n.ref(`${e.modelValue.id}-component`),i=n.ref(e.canMove),a=n.ref(e.canDelete),r=n.ref(!1),l=n.ref(e.modelValue),s=n.ref(e.componentId||""),f=n.ref(""),d=n.ref(""),p=n.ref(e.customClass),c=n.ref(),u=n.inject("canvas-dragula"),_=n.ref(),m=n.inject("design-item-context"),y={designerItemElementRef:c,componentInstance:_,schema:l.value,parent:m,setupContext:t};n.provide("design-item-context",y);const b=n.inject("useFormSchema"),S=n.computed(()=>{const N=e.modelValue.appearance&&e.modelValue.appearance.class||"";let $={"farris-component":!0,"flex-fill":l.value.id=="root-component","position-relative":i.value&&a.value,"farris-nested":r.value,"can-move":i.value,"d-none":c.value&&c.value.classList.contains("d-none"),dgComponentSelected:c.value&&c.value.classList.contains("dgComponentSelected"),dgComponentFocused:c.value&&c.value.classList.contains("dgComponentFocused")};return $[`farris-component-${l.value.type}`]=!0,$=Xe.getCustomClass($,N),$=Xe.getCustomClass($,d.value),$=Xe.getCustomClass($,p.value),$}),C=n.computed(()=>{const N={},$=e.modelValue.appearance&&e.modelValue.appearance.style||"";return $&&$.split(";").reduce((B,j)=>{const[P,M]=j.split(":");return B[P]=M,B},N),f.value&&f.value.split(";").reduce((B,j)=>{const[P,M]=j.split(":");return P&&(B[P]=M),B},N),N});function g(N,$){var P,M,D;if(N&&(N.preventDefault(),N.stopPropagation()),_.value.triggerBelongedComponentToDeleteWhenDeleted){const H=_.value.getBelongedComponentInstance(_);if(H&&H.parent){const ne=n.ref(H==null?void 0:H.parent),re=ne.value.contents.findIndex(be=>be.id===H.schema.id);(M=(P=ne.value)==null?void 0:P.contents)==null||M.splice(re,1),(D=ne.value)==null||D.updateDragAndDropRules(),Ft.value++}return}let B=m,j=H=>H.id===$.id;if($.type==="component"&&(B=m==null?void 0:m.parent,j=H=>H.component===$.id),B&&B.schema.contents){const H=B.schema.contents.findIndex(j);B.schema.contents.splice(H,1),B.componentInstance.value.updateDragAndDropRules(),Ft.value++,t.emit("selectionChange")}}function F(N){return a.value&&n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:$=>{g($,N)}},[n.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function x(){return i.value&&n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"移动",ref:"moveComponent"},[n.createVNode("i",{"data-dragging-icon":"true",class:"cmp_move f-icon f-icon-yxs_move"},null)])}function h(){return e.customButtons&&!!e.customButtons.length&&e.customButtons.map(N=>n.createVNode("div",{role:"button",class:`btn component-settings-button ${N.class||""}`,title:N.title,ref:N.id},[n.createVNode("i",{class:N.icon},null)]))}function V(N){return n.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[n.createVNode("div",null,[F(N),x(),h()])])}function v(N,$,B,j){t.emit("selectionChange",N,$,B,j)}function w(N){let $;const B=N.type,j=jr[B],P=Pr[B],M=P?P(N):{};M.customClass=e.ignore?M.customClass:"",M.componentId=s.value;const D=N.contents&&N.contents.length===0;return N.contents&&!!N.contents.length&&j?n.createVNode(j,n.mergeProps({ref:_},M),Cl($=N.contents.map(ne=>n.createVNode(Kt,{key:ne.id,modelValue:ne,"onUpdate:modelValue":re=>ne=re,componentId:s.value,onSelectionChange:v},null)))?$:{default:()=>[$]}):j?D?n.createVNode(j,n.mergeProps({ref:_},M),{default:()=>[n.createVNode(bl,null,null)]}):n.createVNode(j,n.mergeProps({ref:_},M),null):n.createVNode("div",null,null)}function k(N){if(N.type==="component-ref"){let B=b==null?void 0:b.getFormSchema().module.components.find(j=>j.id===N.component);if(B)return n.createVNode(Kt,{key:B.id,modelValue:B,"onUpdate:modelValue":j=>B=j,componentId:B.id,onSelectionChange:v},null)}}n.watch(()=>e.modelValue,N=>{l.value=N,o.value=`${N.id}-component`});function I(N){const $=N.target;fa($)}function O(){var N,$;($=(N=l.value)==null?void 0:N.contents)!=null&&$.length&&c.value&&c.value.addEventListener("scroll",I)}n.onMounted(()=>{if(c.value&&_.value&&_.value.schema){const N=c.value.querySelector(`[data-dragref='${_.value.schema.id}-container']`);u&&N&&u.attachComponents(N,l.value),r.value=_.value.canNested!==void 0?_.value.canNested:r.value,a.value=_.value.canDelete!==void 0?_.value.canDelete:a.value,i.value=_.value.canMove!==void 0?_.value.canMove:i.value,f.value=_.value.styles||"",d.value=_.value.designerClass||"",c.value&&(c.value.componentInstance=_,c.value.designItemContext=y)}O(),Ft.value++}),n.onBeforeUnmount(()=>{c.value&&c.value.removeEventListener("scroll",I)});function T(N){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(B=>B.classList.remove("dgComponentFocused")),N&&(N.preventDefault(),N.stopPropagation());const $=c.value;if($){const B=document.getElementsByClassName("dgComponentSelected");if(!(B&&B.length===1&&B[0]===c.value)&&(Array.from(B).forEach(P=>P.classList.remove("dgComponentSelected")),$.classList.add("dgComponentFocused"),t.emit("selectionChange",l.value.type,l.value,s.value,_.value),_.value.getDraggableDesignItemElement)){const P=_.value.getDraggableDesignItemElement(y);P&&P.value&&P.value.classList.add("dgComponentSelected")}}I(N)}return()=>l.value.type==="component-ref"?k(l.value):n.createVNode("div",{id:`${l.value.id}-design-item`,ref:c,class:S.value,style:C.value,onClick:T},[V(l.value),w(l.value)])}});function po(e,t,o,i,a,r,l,s,f,d,p,c,u,_,m,y,b,S,C,g="data-grid-column"){const{showSelectAll:F,selectAll:x,unSelectAll:h,selectedValues:V}=_,{showRowNumer:v,showSidebarCheckBox:w,sidebarTitle:k,sidebarCornerCellStyle:I}=m,{columnContext:O,hasLeftFixedColumn:T,hasRightFixedColumn:N}=r,{gridHeaderColumnsStyle:$,leftFixedGridHeaderColumnsStyle:B,rightFixedGridHeaderColumnsStyle:j}=b,P=n.computed(()=>F.value||w.value||v.value),M=O.value.defaultColumnWidth,D=32,H=new Map([[0,0]]);function ne(Q,me){const ge=H.get(me)||0,ce={height:`${Q.depth*D}px`,left:`${Q.left}px`,top:`${(Q.layer-1)*D}px`,width:`${Q.actualWidth}px`,padding:0};return O.value.headerDepth>1&&(ce["line-height"]=`${Q.depth*D}px`),H.set(me+1,ge+(Q.actualWidth||M)),ce}const re=n.computed(()=>({"fv-grid-header":!0,"fv-grid-header-group-columns":O.value.headerDepth>1})),be=n.computed(()=>({height:`${O.value.headerDepth*D}px`}));function $e(Q,me,ge,ce){var xe;(xe=e==null?void 0:e.setupContext)==null||xe.emit("selectionChange",Q,me,ge,ce)}function _e(Q,me,ge){let ce=Q.column;return n.createVNode("div",{class:"fv-grid-header-cell",style:ne(Q,ge)},[n.createVNode(Kt,{modelValue:ce,"onUpdate:modelValue":xe=>ce=xe,customClass:"w-100 d-flex align-items-center justify-content-center",canAdd:!1,canDelete:!1,canMove:!1,key:ce==null?void 0:ce.id,type:g,componentId:t.componentId,onSelectionChange:$e},null)])}function ve(Q){return Q.map((me,ge)=>{const ce=[];if(ce.push(_e(me,Q,ge)),me.children&&me.children.length){const xe=ve(me.children);ce.push(...xe)}return ce})}function Se(){return n.createVNode("div",{class:"fv-grid-header-left-fixed"},[n.createVNode("div",{class:"fv-grid-header-columns",style:B.value},[ve(O.value.leftHeaderColumns)])])}function ke(){return n.createVNode("div",{class:"fv-grid-header-right-fixed"},[n.createVNode("div",{class:"fv-grid-header-columns",style:j.value},[ve(O.value.rightHeaderColumns)])])}const ie=n.ref(C.value.length===V.value.length);function fe(Q){ie.value?x():h()}const G=n.computed(()=>V.value.length>0&&C.value.length!==V.value.length);function q(){return n.createVNode("div",{class:"fv-grid-header-corner d-flex",style:I.value},[F.value&&n.createVNode(hl,{id:"checkbox_for_select_all",indeterminate:G.value,modelValue:ie.value,"onUpdate:modelValue":Q=>ie.value=Q,onChange:fe,style:"margin-left:8px"},null),v.value&&n.createVNode("div",{style:"line-height:18px"},[k.value])])}function le(){return n.createVNode("div",{class:re.value,style:be.value},[P.value&&q(),T.value&&Se(),n.createVNode("div",{class:"fv-grid-header-primary"},[n.createVNode("div",{class:"fv-grid-header-columns",style:$.value},[ve(O.value.primaryHeaderColumns)])]),N.value&&ke()])}return{renderGridHeader:le}}function mo(e,t){var d;const o=n.ref((d=e.columnOption)==null?void 0:d.groups);function i(p,c,u,_,m){const y={actualWidth:0,children:[],depth:1,field:p.field,layer:1,left:0,parent:u,resizable:!1,title:p.title||"",status:R.HeaderCellStatus.none,popoverRef:n.ref(),showPopover:!1,column:null,filterValue:null,sortType:"none"},b=_||y;if(p.group){let S=1;p.group.reduce((C,g)=>{if(typeof g=="string"){const F=c.get(g);F&&(m.fieldToRootMap.set(g,b),C.actualWidth+=F.actualWidth,C.children.push(F))}else{const F=i(g,c,C,b,m);S=Math.max(S,F.depth),C.actualWidth+=F.actualWidth,C.children.push(F)}return C},y),y.depth+=S}return t.value.headerDepth=Math.max(t.value.headerDepth,y.depth),y}function a(p){const c={groupedCells:new Map,fieldToRootMap:new Map};return o.value&&o.value.reduce((u,_)=>{const m=i(_,p,null,null,c);return u.groupedCells.set(_.field,m),u},c),c}function r(p){if(!p||p.length===0)return 0;const c=p[0];return c.children&&c.children.length>0&&(c.left=r(c.children)),c.left}function l(p,c){const u=t.value.headerDepth;p.forEach(_=>{_.layer=c?c.layer+1:1;const m=_.children&&_.children.length===0;_.depth=m?u-(_.layer-1):1,_.left=m?_.left:r(_.children),_.children&&l(_.children,_)})}function s(p,c){const u=new Map;return p.forEach(_=>{const m=c.fieldToRootMap.get(_.field),y=m!=null;y&&!u.has(m.field)&&u.set(m.field,m),y||u.set(_.field,_)}),l(Array.from(u.values())),u}function f(p){let c=new Map,u=0;if(p.reduce((_,m)=>{let y=R.HeaderCellStatus.none;y=m.sortable?y|R.HeaderCellStatus.sortable:y,y=m.filterable?y|R.HeaderCellStatus.filterable:y,y=m.sort&&m.sort!=="none"?y|R.HeaderCellStatus.sorted|(m.sort==="asc"?R.HeaderCellStatus.ascending:R.HeaderCellStatus.descending):y;let b=m.binding&&m.binding.field?m.binding.field:m.field;return _.set(b,{actualWidth:m.actualWidth||0,children:[],depth:1,layer:1,left:u,field:b,parent:null,resizable:m.resizable||!1,title:m.title,status:y,popoverRef:n.ref(),showPopover:!1,column:m,filterValue:null,sortType:m.sort||"none",showSetting:m.showSetting}),u+=m.actualWidth||0,_},c),o.value){const _=a(c);c=s(c,_)}return c}return{getGridHeaderCells:f}}class wl extends _t{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.getBasicPropConfig(t),this.getAppearanceProperties(t),this.getEventPropConfig(t),this.propertyConfig}getBasicPropConfig(t){this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"tree-grid",value:Z["tree-grid"].name}]}}}}}getAppearanceProperties(t){var o,i,a;this.propertyConfig.categories.appearance={title:"外观",properties:{fields:{title:"列设置",description:"列设置",type:"",$converter:"/converter/items-count.converter",editor:{type:"grid-field-editor",viewModelId:this.viewModelId,gridData:t,gridType:"tree-grid-column"},refreshPanelAfterChanged:!0},fit:{title:"适配父组件尺寸",type:"boolean",description:"是否适配父组件尺寸"},showStripe:{title:"显示条纹",type:"boolean",description:"是否显示条纹"},showBorder:{title:"显示边框",type:"boolean",description:"是否显示边框"},showTreeNodeIcons:{title:"显示图标",type:"boolean",description:"是否显示图标"}},setPropertyRelates(r,l){switch(r&&r.propertyID){case"useBlankWhenDataIsEmpty":t.emptyDataHeight=t.useBlankWhenDataIsEmpty?36:240;break;case"fields":t.fields=r.propertyValue||[];break}}},this.propertyConfig.categories.pagination={title:"分页",$converter:"/converter/pagination.converter",properties:{enable:{title:"启用分页",type:"boolean",refreshPanelAfterChanged:!0},mode:{visible:((o=t.pagination)==null?void 0:o.enable)||!1,title:"分页交互模式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"client",name:"客户端"},{value:"server",name:"服务器端"}]}},showIndex:{visible:((i=t.pagination)==null?void 0:i.enable)||!1,title:"显示页码",type:"boolean"},showLimits:{visible:((a=t.pagination)==null?void 0:a.enable)||!1,title:"显示每页记录数",type:"boolean"}}}}getEventPropConfig(t){const o=[{label:"selectionChange",name:"行切换事件"}];var i=this;const a=i.eventsEditorUtils.formProperties(t,i.viewModelId,o),r={};r[i.viewModelId]={type:"events-editor",editor:{initialData:a}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:r,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(l,s){const f=l.propertyValue;delete t[i.viewModelId],f&&(f.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(t,i.viewModelId,f.events,f)),t.remoteSort=!!t.columnSorted}}}}function Sl(e,t){const o=e.schema,i=n.ref(!0),a=n.ref(!0);function r(u){return u&&u.sourceType==="control"?u.controlCategory==="input":!1}function l(){return!1}function s(){return!1}function f(){return!0}function d(u){}function p(){}function c(u){return new wl(u,t).getPropertyConfig(o)}return{canAccepts:r,checkCanDeleteComponent:l,checkCanMoveComponent:s,hideNestedPaddingInDesginerView:f,onAcceptMovedChildElement:d,resolveComponentContext:p,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:a,getPropsConfig:c}}const xl=n.defineComponent({name:"FTreeGridDesign",props:xn,emits:[],setup(e,t){var Fe;const o=n.ref(),i=0,a=100,r=n.ref(),l=n.ref(),s=n.ref(),f=n.ref(),d=n.ref([]),p=n.ref(!1),c=n.ref(((Fe=e.rowOption)==null?void 0:Fe.wrapContent)||!1),u=n.inject("designer-host-service"),_=n.inject("design-item-context"),m=Sl(_,u),y=rt(o,_,m);y.value.designerClass="f-utils-fill-flex-column";const b=io(e),S=qt(e,b),C=zt(),g=Qn(e),F=co(e),x=Yn(e,new Map,g,b,F),h=ro(e,x,b,d,t),V=Qr(e,d,b,h,t),v=n.computed(()=>Math.min(x.dataView.value.length,a)),{containerStyleObject:w}=Nn(e),k=In(e),I=n.ref(e.columns),{applyCommands:O}=k;O(I);const T=kn(e),N=so(),{applyColumnSorter:$,columnContext:B,updateColumnRenderContext:j}=T;$(x,N);const P=mo(e,B),M=oo(e,t,b),D=Ht(),H=to(e,M,D),ne=no(e,M,g,b,D,H),re=eo(e,I,x,v,i,ne),{getVisualData:be}=re,$e=At(e,B),_e=lo(e,h),{sidebarWidth:ve}=_e;d.value=be(0,v.value+i-1);const Se=Zn(e,x,d,B,re,v,i,ve),{onWheel:ke,dataGridWidth:ie,viewPortHeight:fe,viewPortWidth:G}=Se,q=$n(e,B,r,G,P),{calculateColumnsSize:le}=q,Q=Jn(),me=Tn(r,f,x,Q,Se),ge=ao(e,t,h,b),ce=On(e,t,T,x,P,S,Se),xe=n.computed(()=>({"drag-container":!0,"fv-grid":!0,"fv-grid-bordered":e.showBorder,"fv-datagrid-strip":e.showStripe})),L=n.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":p.value,"fv-grid-wrap-content":c.value})),{renderDataArea:se}=uo(e,t,l,s,f,$e,T,x,M,g,ge,h,V,Se,re,d),{renderGridHeader:ue}=po(_,e,r,s,f,T,x,ce,me,C,Q,q,P,h,_e,N,Se,G,d,"tree-grid-column"),{renderDataGridSidebar:W}=Fn(e,ge,h,_e,Se),{renderHorizontalScrollbar:pe}=_n(e,r,Se),{renderVerticalScrollbar:Be}=Vn(e,r,Se);function X(){var Te,je;fe.value=((Te=l.value)==null?void 0:Te.clientHeight)||0,ie.value=((je=r.value)==null?void 0:je.clientWidth)||0,le()}n.onMounted(()=>{o.value.componentInstance=y,r.value&&(St.useResizeObserver(r.value,X),le(),n.nextTick(()=>{r.value&&(ie.value=r.value.clientWidth),l.value&&(G.value=l.value.clientWidth,fe.value=l.value.clientHeight)}))}),n.onUnmounted(()=>{}),n.watch(G,()=>{r.value&&le()});const te=n.computed(()=>!d.value||!d.value.length),{renderEmpty:de}=Ra(t);return t.expose(y.value),()=>n.createVNode("div",{ref:o,dragref:`${_.schema.id}-container`,class:xe.value,style:w.value,onWheel:ke},[ue(),te.value&&de(),n.createVNode("div",{ref:r,class:L.value,onMouseover:()=>{p.value=!0},onMouseleave:()=>{p.value=!1}},[W(d),se(),pe(),Be()])])}}),go=new Map([["appearance",Ge],["column","columnOption"]]),ho=new Map([]),_l="root-viewmodel";class Fl{constructor(t,o){z(this,"formSchemaUtils");z(this,"controlCreatorUtils");this.resolver=t,this.designerHostService=o,this.formSchemaUtils=this.designerHostService.formSchemaUtils,this.controlCreatorUtils=this.designerHostService.controlCreatorUtils}createComponent(t){const o=this.createComponentRefNode(t),i=this.createComponentNode(t),a=this.createViewModeNode(t),r=this.formSchemaUtils.getFormSchema();return r.module.viewmodels.push(a),r.module.components.push(i),this.wrapContainerSectionForComponent(o,t)}wrapContainerSectionForComponent(t,o){var r,l;const i=[Z["content-container"].type,Z["response-layout-item"].type,Z["splitter-pane"].type],a=(l=(r=o==null?void 0:o.parentComponentInstance)==null?void 0:r.schema)==null?void 0:l.type;if(a&&i.includes(a)){const s=this.resolver.getSchemaByType("section",{parentComponentInstance:o.parentComponentInstance},this.designerHostService);if(s&&s.contents&&s.contents.length){const f=s.contents[0];return f.contents=[t],s}}return t}createComponentRefNode(t){const o=this.resolver.getSchemaByType("component-ref");return Object.assign(o,{id:`${t.componentId}-component-ref`,component:`${t.componentId}-component`}),o}createComponentNode(t){const o=this.resolver.getSchemaByType("component"),i=this.createDateGridComponentContents(t);return Object.assign(o,{id:`${t.componentId}-component`,viewModel:`${t.componentId}-component-viewmodel`,componentType:t.componentType,appearance:{class:this.getDataGridComponentClass()},contents:i}),o}createViewModeNode(t){return{id:`${t.componentId}-component-viewmodel`,code:`${t.componentId}-component-viewmodel`,name:t.componentName,bindTo:t.bindTo,parent:_l,fields:this.assembleViewModelFields(t),commands:[],states:[],enableValidation:!0,pagination:{enable:!1}}}getDataGridComponentClass(){return this.formSchemaUtils.getFormSchema().module.templateId==="double-list-in-tab-template"?"f-struct-wrapper f-utils-fill-flex-column":"f-struct-is-subgrid"}createDateGridComponentContents(t){const o=this.formSchemaUtils.getFormSchema().module.templateId;let i;if(o==="double-list-in-tab-template"){const s=this.resolver.getSchemaByType("section");Object.assign(s,{id:t.componentId+"-section",appearance:{class:"f-section-grid f-section-in-main px-0 pt-0"},fill:!0,showHeader:!1}),i=s}else{const s=this.resolver.getSchemaByType("content-container");Object.assign(s,{id:t.componentId+"-container",appearance:{class:"f-grid-is-sub f-utils-flex-column"}}),i=s}const a=this.resolver.getSchemaByType("data-grid"),r=[];Object.assign(a,{id:t.componentId+"-dataGrid",appearance:{class:"f-component-grid f-utils-fill"},fields:r,fieldEditable:t.editable,dataSource:t.dataSource||""}),i.contents=[a];const{selectedFields:l}=t;return l==null||l.forEach(s=>{if(s.$type===En.ComplexField)return;const f=Re.cloneDeep(s),d=this.controlCreatorUtils.setGridFieldProperty("data-grid-column",f,"",t.editable);d&&r.push(d)}),[i]}assembleViewModelFields(t){const o=[],{selectedFields:i}=t;return i==null||i.forEach(a=>{let r="blur";const l=a.type.name;(l===ht.Enum||l===ht.Boolean)&&(r="change"),o.push({type:"Form",id:a.id,fieldName:a.bindingField,groupId:null,groupName:null,updateOn:r,fieldSchema:{}})}),o}}function yo(e,t,o,i){const a=o.parentComponentInstance;if(a){const r=Math.random().toString(36).slice(2,6),l={componentId:`data-grid-${r}`,componentName:`表格-${r}`,componentType:"data-grid",parentContainerId:a.schema.id,parentComponentInstance:a,editable:!0,bindTo:"",dataSource:""};return new Fl(e,i).createComponent(l)}else return t}function vo(e,t,o){return t}const Vl={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid.schema.json",title:"data-grid",description:"A Farris Data Grid Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"data-grid"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},fit:{type:"boolean",default:!1},showStripe:{type:"boolean",default:!0},showBorder:{type:"boolean",default:!1},size:{description:"",type:"object",properties:{width:{type:"number"},height:{type:"number"}},default:null},dataSource:{description:"",type:"string",default:""},columns:{description:"",type:"array",default:[]},identifyField:{description:"",type:"string"},editable:{description:"",type:"boolean",default:!1},disable:{description:"",type:"boolean",default:!1},visible:{description:"",type:"boolean",default:!0},fieldEditable:{description:"是否可编辑",type:"boolean",default:!1},cell:{type:"object",properties:{highlightFocusingCell:{description:"",type:"boolean",default:!1},mergeCell:{description:"",type:"boolean",default:!1},showEditableIcon:{description:"",type:"boolean",default:!1}}},column:{type:"object",properties:{fitColumns:{description:"",type:"boolean",default:!1},fitMode:{description:"",type:"string",default:"average"},groups:{description:"",type:"array",default:[]},reorderColumn:{description:"Enable to drag column to reorder",type:"boolean",default:!1},resizeColumn:{type:"boolean",default:!0},resizeColumnOnDoubleClick:{description:"",type:"boolean",default:!0}}},command:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},commands:{type:"array",default:[]},commandColumnWidth:{description:"",type:"number",default:120},onClickDeleteCommand:{description:"",type:"string",default:""},onClickEditCommand:{description:"",type:"string",default:""}}},contextMenu:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1}}},customizaiton:{type:"object",properties:{enableScheme:{description:"",type:"boolean",default:!1},enableSetting:{description:"",type:"boolean",default:!1}}},edit:{type:"obejct",properties:{mode:{description:"",type:"string",default:"cell",enum:["cell","row","card"]},selectOnEditing:{description:"",type:"boolean",default:!1},onAppendRow:{description:"",type:"string",default:""},onBeforeEdit:{description:"",type:"string",default:""}}},filter:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},filterStyle:{description:"",type:"string",default:"filter-column",enum:["filter-column","filter-row"]},mode:{description:"",type:"string",default:"server",enum:["client","server"]},showSummary:{description:"",type:"boolean",default:!0},onFilterChange:{description:"",type:"string",default:""}}},footer:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customFooterStyle:{description:"",type:"object"},footerDataCommand:{description:"",type:"string",default:""},footerDataFrom:{description:"",type:"string",default:"client"},footerHeight:{description:"",type:"number",default:29},footerPosition:{description:"",type:"string",default:"bottom"},footerTemplate:{description:"",type:"string",default:""}}},group:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customGroupRow:{description:"",type:"object"},customGroupRowStyle:{description:"",type:"obejct"},customSummaryStyle:{description:"",type:"obejct"},groupColSpan:{description:"",type:"number",default:1},groupFields:{description:"",type:"array",default:[]},showGroupedColumn:{description:"",type:"boolean",default:!0},showGroupPanel:{description:"",type:"boolean",default:!1},showSummary:{description:"",type:"boolean",default:!1},summaryPosition:{description:"",type:"string",default:"separate",enum:["separate","merge-to-group"]},disableGroupOnEditing:{description:"",type:"boolean",default:!0},expandGroupRows:{description:"",type:"boolean",default:!0}}},header:{type:"object",properties:{wrapHeadings:{description:"",type:"boolean",default:!1}}},pagination:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},disablePagination:{description:"",type:"string",default:""},contentTemplate:{description:"",type:"string",default:""},index:{description:"",type:"number",default:1},mode:{description:"",type:"enum",default:"client",enum:["server","client"]},showGoto:{description:"",type:"boolean",default:!1},showIndex:{description:"",type:"boolean",default:!0},showLimits:{description:"",type:"boolean",default:!1},showPageInfo:{description:"",type:"boolean",default:!0},size:{description:"",type:"number",default:20},sizeLimits:{description:"",type:"array",default:[10,20,30,50,100]},onPageChange:{description:"",type:"string",default:""},onPageSizeChange:{description:"",type:"string",default:""}}},row:{type:"object",properties:{customRowStyle:{description:"",type:"object"},disable:{description:"",type:"obejct"},height:{description:"",type:"number",default:30},showHovering:{type:"boolean",default:!0},wrapContent:{type:"boolean",default:!1}}},rowNumber:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},heading:{description:"",type:"string",default:"序号"},width:{description:"",type:"number",default:36},onClickRow:{description:"",type:"string",default:""},onDoubleClickRow:{description:"",type:"string",default:""}}},clickRow:{description:"行点击事件",type:"string",default:""},selectionChange:{description:"行切换事件",type:"string",default:""},pageIndexChanged:{description:"切换页码事件",type:"string",default:""},pageSizeChanged:{description:"分页条数变化事件",type:"string",default:""},selection:{type:"object",properties:{enable:{description:"",type:"boolean",default:!0},checkOnSelect:{description:"",type:"boolean",default:!1},clearSelectionOnEmpty:{description:"",type:"boolean",default:!0},customSelectionItem:{description:"",type:"object"},focusSelection:{description:"",type:"string",default:"current",enum:["current","all"]},keepSelectingOnClick:{description:"",type:"boolean",default:!0},keepSelectingOnPaging:{description:"",type:"boolean",default:!0},multiSelect:{description:"",type:"boolean",default:!1},selectionMode:{description:"",type:"string",default:"default"},selectOnCheck:{description:"",type:"boolean",default:!1},selectOnEditing:{description:"",type:"boolean",default:!1},showCheckbox:{description:"",type:"boolean",default:!1},showCheckAll:{description:"",type:"boolean",default:!1},showSelection:{description:"",type:"boolean",default:!1},onBeforeSelect:{description:"",type:"string",default:""},onBeforeUnCheck:{description:"",type:"",default:""},onBeforeUnSelect:{description:"",type:"string",default:""},onCheckAll:{description:"",type:"string",default:""},onChecked:{description:"",type:"string",default:""},onSelectionChange:{description:"",type:"string",default:""},onUnCheckAll:{description:"",type:"string",default:""},onUnChecked:{description:"",type:"string",default:""},onCheckedChange:{description:"",type:"string"}}},sort:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},fields:{description:"",type:"array",default:[]},mode:{description:"",type:"string",default:"client",enum:["client","server"]},multiSort:{description:"",type:"boolean",default:!1}}},summary:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customSummaryStyle:{description:"",type:"object"},groupFields:{description:"",type:"array",default:[]},mode:{description:"",type:"string",default:"client",enum:["client","server"]},position:{description:"",type:"boolean",default:"bottom",enum:["bottom","top","both"]}}},toolbar:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1}}},visualization:{autoHeight:{description:"",type:"boolean",default:!1},emptyDataHeight:{description:"",type:"number",default:36},emptyTemplate:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:300},scrollBarShowMode:{description:"",type:"string",default:"auto"},showBorder:{description:"",type:"boolean",default:!1},showScrollArrow:{description:"",type:"boolean",default:!1},striped:{description:"",type:"boolean",default:!0},useBlankWhenDataIsEmpty:{description:"",type:"boolean",default:!1}}},required:["id","type"]},Xt={changePolicy:{type:String,default:"push"},columns:{type:Array,default:[]},columnOption:{type:Object},data:{type:Array,default:[]},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!1},editOption:{type:Object,default:{selectOnEditing:!1,editMode:"cell"}},filter:{type:Object},fit:{type:Boolean,default:!1},focusOnEditingCell:{type:Boolean,default:!0},selectOnEditingCell:{type:Boolean,default:!1},group:{type:Object},header:{type:Object},height:{type:Number,default:-1},id:{type:String,default:""},idField:{type:String,default:"id",require:!0},minHeight:{type:Number,default:300},minWidth:{type:Number,default:400},mergeCell:{type:Boolean,default:!1},pagination:{type:Object,default:{enable:!1,size:20}},rowNumber:{type:Object,default:{enable:!0,width:32,heading:"序号"}},rowOption:{type:Object,default:{wrapContent:!1}},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!0}},selectionValues:{type:Array,default:[]},showBorder:{type:Boolean,default:!1},showFooter:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},showScrollBar:{type:String,default:"auto"},showSetting:{type:Boolean,default:!1},showStripe:{type:Boolean,default:!0},sort:{type:Object},summary:{type:Object,default:{enable:!1,groupFields:["numericField1","numericField2"]}},virtualized:{type:Boolean,default:!1},width:{type:Number,default:-1},newDataItem:{type:Function,default:()=>{}},enableCommands:{type:Boolean,default:!1},commandOption:{type:Object,default:{enable:!1,commands:[]}},appendOnEnterAtLastCell:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},Nl=Object.assign({},Xt,{componentId:{type:String,default:""}}),bo=Ie(Xt,Vl,go,yo),Co=Xi(),kl=Yi();function wo(e,t,o,i,a,r,l,s,f,d,p,c,u,_,m){const{calculateCellPositionInRow:y,cellKey:b,cellPosition:S,rowKey:C,rowPosition:g,rowSpanCellPosition:F,groupCellPosition:x,summaryCellPosition:h}=l,{cellContentClass:V,cellContentPosition:v}=r,{collpaseGroupIconClass:w}=d,{gridCellClass:k,gridRowClass:I,onClickRow:O,onMouseoverRow:T,onMouseoutRow:N}=c,{onClickCell:$}=f,{toggleGroupRow:B}=u,{columnContext:j,hasLeftFixedColumn:P,hasRightFixedColumn:M}=s,{navigateOnKeyUp:D}=p,{gridDataStyle:H,gridMergedDataStyle:ne,leftFixedGridDataStyle:re,leftFixedGridMergedDataStyle:be,rightFixedGridDataStyle:$e,rightFixedGridMergedDataStyle:_e}=_;function ve(L,se){se.collapse=!se.collapse,m.value=B(se.collapse?"collapse":"expand",se,m.value)}function Se(L,se){const ue=[];if(L.groupField&&se[L.groupField]){for(let pe=0;pe<=L.layer;pe++)ue.push(n.createVNode("div",{class:"fv-grid-group-row-icon",onClick:Be=>ve(Be,L)},[n.createVNode("span",{class:w(L)},null)]));const W=L.data[L.groupField];ue.push(n.createVNode("div",{ref:W.setRef,key:b(L,L.layer+1),class:"fv-grid-cell",style:x(W,se,L.layer)},[W.data])),Object.values(L.data).filter(pe=>pe.field!==L.groupField&&pe.colSpan!==0).forEach(pe=>{ue.push(n.createVNode("div",{ref:pe.setRef,key:b(L,pe.index),class:"fv-grid-cell",style:S(pe,se)},[pe.data]))})}return ue}function ke(L,se,ue){return L.layer>-1&&n.createVNode("div",{ref:L.setRef,key:C(L),class:I(L),style:g(L),onClick:W=>O(W,L),onMouseover:W=>T(W,L)},[Se(L,se)])}function ie(L,se){const ue=[];if(L.groupField&&se[L.groupField]){const W=L.data[L.groupField];ue.push(n.createVNode("div",{ref:W.setRef,key:b(L,L.layer+1),class:"fv-grid-cell",style:h(W,se,L.layer)},[W.data]))}return ue}function fe(L,se,ue){return L.layer>-1&&n.createVNode("div",{ref:L.setRef,key:C(L),class:I(L),style:g(L),onClick:W=>O(W,L),onMouseover:W=>T(W,L)},[ie(L,se)])}function G(L,se,ue){return n.createVNode("div",{ref:L.setRef,key:C(L),class:I(L),style:g(L),onClick:W=>O(W,L),onMouseover:W=>T(W,L),onMouseout:W=>N(W,L)},[Object.values(L.data).filter(W=>se[W.field]&&W.rowSpan===1).map(W=>{const pe=ue==null?void 0:ue.find(Be=>Be.field===W.field);return n.createVNode("div",{ref:W.setRef,key:b(L,W.index),class:k(W),style:S(W,se),onClick:Be=>$(Be,W,L,pe),onKeyup:Be=>D(Be,W)},[n.createVNode("div",{class:V(W,pe),style:v(W)},[n.createVNode("div",{class:{"text-truncate":pe==null?void 0:pe.showEllipsis,"w-100":pe==null?void 0:pe.showEllipsis,"text-center":!0}},[W.data!=null&&t.slots.cellTemplate?t.slots.cellTemplate({cell:W,row:L}):W.mode===Me.editing?W.getEditor(W):W.formatter?W.formatter(W,L):W.data!=null?W.data.toString():W.data])])])})])}const q=[G,ke,fe];function le(L,se){const ue=y(L);return m.value.map(W=>q[W.type](W,ue,L))}function Q(L){const se=y(L);return m.value.map(ue=>Object.values(ue.data).filter(W=>se[W.field]&&W.rowSpan>1).map(W=>n.createVNode("div",{key:b(ue,W.index),class:"fv-grid-cell fv-grid-merged-cell",style:F(ue,W,se)},[W.data])))}function me(){return n.createVNode("div",{ref:i,class:"fv-grid-content-left-fixed"},[n.createVNode("div",{class:"fv-grid-data",style:re.value},[le(j.value.leftColumns.filter(L=>L.visible))]),n.createVNode("div",{class:"fv-grid-merge-date",style:be.value},[Q(j.value.leftColumns.filter(L=>L.visible))])])}function ge(){return n.createVNode("div",{ref:o,class:"fv-grid-content-primary"},[n.createVNode("div",{class:"fv-grid-data",style:H.value},[le(j.value.primaryColumns.filter(L=>L.visible))]),n.createVNode("div",{class:"fv-grid-merge-date",style:ne.value},[Q(j.value.primaryColumns.filter(L=>L.visible))])])}function ce(){return n.createVNode("div",{ref:a,class:"fv-grid-content-right-fixed"},[n.createVNode("div",{class:"fv-grid-data",style:$e.value},[le(j.value.rightColumns.filter(L=>L.visible))]),n.createVNode("div",{class:"fv-grid-merge-date",style:_e.value},[Q(j.value.rightColumns.filter(L=>L.visible))])])}function xe(){const L=[];return P.value&&L.push(me()),L.push(ge()),M.value&&L.push(ce()),L}return{renderDataArea:xe}}const Ye=n.defineComponent({name:"FDataGrid",props:Xt,emits:["ClickRow","doubleClickRow","selectionChange","enterUpInLastCell","pageIndexChanged","pageSizeChanged","endEditCell"],setup(e,t){var Ho;const a=n.ref(e.columns),r=R.useIdentify(e),l=n.ref(),s=n.ref(),f=n.ref(),d=n.ref(),p=n.ref(),c=n.ref([]),u=n.ref(!1),_=n.ref(((Ho=e.rowOption)==null?void 0:Ho.wrapContent)||!1),m=R.useGroupData(e,r),y=R.useFilter(),b=R.useHierarchy(e),{showLoading:S,renderLoading:C}=R.useLoading(e,l),g=R.usePagination(e),{shouldRenderPagination:F}=g,x=R.useDataView(e,new Map,b,r,g),h=R.useSelection(e,x,r,c,t),V=n.computed(()=>e.disable),v=n.computed(()=>F.value?x.dataView.value.length:Math.min(x.totalItems.value,100));n.computed(()=>e.loadingConfig.message);const{containerStyleObject:w}=R.useDataViewContainerStyle(e),k=R.useCommandColumn(e),{applyCommands:I}=k;I(a);const O=R.useColumn(e),T=R.useSort(e),{applyColumnSorter:N,columnContext:$,updateColumnRenderContext:B}=O;N(x,T);const j=R.useGroupColumn(e,$),P=R.useEdit(e,t,r),M=R.useVisualDataBound(),D=R.useVisualDataCell(e,P,M),H=R.useVisualDataRow(e,P,b,r,M,D),ne=R.useVisualGroupRow(e,r,D,H),re=R.useVisualSummaryRow(e,r,D,H),be=R.useVisualData(e,a,x,v,0,H,ne,re),{getVisualData:$e}=be,_e=R.useCellContentStyle($),ve=R.useCellPosition(e,$),Se=R.useSidebar(e,h),{sidebarWidth:ke}=Se;c.value=$e(0,v.value+0-1);const ie=R.useVirtualScroll(e,x,c,$,be,v,0,ke),{onWheel:fe,dataGridWidth:G,viewPortHeight:q,viewPortWidth:le,resetScroll:Q}=ie,me=R.useFitColumn(e,$,s,le,j),{calculateColumnsSize:ge}=me,ce=R.useFilterHistory(),xe=R.useColumnFilter(s,p,x,ce,ie),L=R.useRow(e,t,h,r),se=R.useDragColumn(e,t,O,x,j,m,ie),ue=n.computed(()=>({"fv-grid":!0,"fv-datagrid-strip":e.showStripe})),W=n.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":u.value,"fv-grid-wrap-content":_.value})),{renderGridHeader:pe,renderGridColumnResizeOverlay:Be}=R.getColumnHeader(e,s,d,p,O,x,se,xe,y,ce,me,j,h,Se,T,ie,le,c),{renderDataGridPagination:X}=R.getPagination(e,t,x,ie,g),{renderDataGridSidebar:te}=R.getSidebar(e,L,h,Se,ie),{renderDisableMask:de}=R.getDisableMask(),{renderDataGridSummery:Fe}=R.getSummary(e,x,O),{renderHorizontalScrollbar:Te}=R.getHorizontalScrollbar(e,s,ie),{renderVerticalScrollbar:je}=R.getVerticalScrollbar(e,s,ie),{renderFilterPanel:ze}=R.getFilterPanel(e,O,x,y,ie),{renderGroupPanel:qe}=R.getGroupPanel(e,x,se,m,ie);function ot(){var we,kt;q.value=((we=f.value)==null?void 0:we.clientHeight)||0,G.value=((kt=s.value)==null?void 0:kt.clientWidth)||0,ge()}n.onMounted(()=>{s.value&&(St.useResizeObserver(s.value,ot),ge(),n.nextTick(()=>{s.value&&(G.value=s.value.clientWidth),f.value&&(le.value=f.value.clientWidth,q.value=f.value.clientHeight)})),S.value&&C()}),n.onUnmounted(()=>{}),n.watch(le,()=>{});function it(){x.insertNewDataItem(),Q()}function at(){x.insertNewDataItem(c.value.length),Q()}function Je(we){P.onEditingRow(we)}function A(we){x.removeDataItem(we),Q()}function ee(we){x.removeDataItemById(we),Q()}function ae(we){P.acceptEditingRow(we)}function Ve(we){P.cancelEditingRow(we)}function oe(we){we&&(a.value=we,I(a),B(a.value),N(x,T),ge())}function Ne(we){we&&(x.load(we),c.value=$e(0,v.value+0-1))}function Ee(we){g.updatePagination(we)}n.watch([x.startIndex,x.endIndex],([we,kt],[ec,tc])=>{var Go,Wo;we!==ec&&Ne((Go=x.originalData)==null?void 0:Go.value),kt!==tc&&Ne((Wo=x.originalData)==null?void 0:Wo.value)}),n.watch(()=>e.data,we=>{e.changePolicy==="default"&&Ne(we)},{deep:!0});function he(we){h.selectItemById(we)}const De={addNewDataItem:it,addNewDataItemAtLast:at,removeDataItem:A,removeDataItemById:ee,editDataItem:Je,acceptDataItem:ae,cancelDataItem:Ve,selectItemById:he,updateColumns:oe,updateDataSource:Ne,updatePagination:Ee};t.expose(De);const Le=R.useNavigation(e,t,De,O,P,c),{renderDataArea:Ce}=wo(e,t,f,d,p,_e,ve,O,P,m,Le,L,be,ie,c),Qe=n.computed(()=>!c.value||!c.value.length),{renderEmpty:ut}=R.getEmpty(t);return()=>n.createVNode("div",{ref:l,class:ue.value,style:w.value,onWheel:fe},[ze(),qe(),pe(),Qe.value&&ut(),n.createVNode("div",{ref:s,class:W.value,onMouseover:()=>{u.value=!0},onMouseleave:()=>{u.value=!1}},[te(c),Ce(),Te(),je()]),Fe(),F.value&&X(),Be(),V.value&&de()])}});class Tl extends _t{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.getBasicPropConfig(t),this.getAppearanceProperties(t),this.getEventPropConfig(t),this.propertyConfig}getBasicPropConfig(t){var r,l,s;const o=(s=(l=(r=this.formSchemaUtils.getFormSchema())==null?void 0:r.module)==null?void 0:l.entity[0])==null?void 0:s.entities[0],i=this.assembleSchemaEntityToTree(o,0),a=this;this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"data-grid",value:Z["data-grid"].name}]}},dataSource:{description:"绑定数据源",title:"绑定数据源",editor:{type:"combo-tree",textField:"name",valueField:"label",data:i,readonly:t.columns&&t.columns.length>0,editable:!1}}},setPropertyRelates(f,d){switch(f&&f.propertyID){case"dataSource":{const p=a.formSchemaUtils.getViewModelById(a.viewModelId);if(p){const c=i.find(u=>u.label===f.propertyValue);p.bindTo=c.bindTo}a.designViewModelUtils.assembleDesignViewModel();break}}}}}assembleSchemaEntityToTree(t,o,i,a="",r=[]){const l=a?`${a}/${t.label}`:"/";return r.push({id:t.id,name:t.name,label:t.label,layer:o,parent:i&&i.id,bindTo:l.replace("//","/")}),t.type.entities&&t.type.entities.length&&t.type.entities.map(s=>this.assembleSchemaEntityToTree(s,o+1,t,l,r)),r}getAppearanceProperties(t){var o,i,a;this.propertyConfig.categories.appearance={title:"外观",properties:{columns:{title:"列设置",description:"列设置",type:"",$converter:"/converter/items-count.converter",editor:{type:"grid-field-editor",viewModelId:this.viewModelId,gridData:t,getLatestGridData:r=>t},refreshPanelAfterChanged:!0},fit:{title:"适配父组件尺寸",type:"boolean",description:"是否适配父组件尺寸"},showStripe:{title:"显示条纹",type:"boolean",description:"是否显示条纹"},showBorder:{title:"显示边框",type:"boolean",description:"是否显示边框"}},setPropertyRelates(r,l){switch(r&&r.propertyID){case"useBlankWhenDataIsEmpty":t.emptyDataHeight=t.useBlankWhenDataIsEmpty?36:240;break;case"columns":t.columns=r.propertyValue||[];break}}},this.propertyConfig.categories.pagination={title:"分页",$converter:"/converter/pagination.converter",properties:{enable:{title:"启用分页",type:"boolean",refreshPanelAfterChanged:!0},mode:{visible:((o=t.pagination)==null?void 0:o.enable)||!1,title:"分页交互模式",type:"enum",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"client",value:"客户端"},{key:"server",value:"服务器端"}]}},showIndex:{visible:((i=t.pagination)==null?void 0:i.enable)||!1,title:"显示页码",type:"boolean"},showLimits:{visible:((a=t.pagination)==null?void 0:a.enable)||!1,title:"显示每页记录数",type:"boolean"}}}}getEventPropConfig(t){const o=[{label:"clickRow",name:"行点击事件"},{label:"selectionChange",name:"行切换事件"},{label:"pageIndexChanged",name:"切换页码事件"},{label:"pageSizeChanged",name:"分页条数变化事件"}];var i=this;const a=i.eventsEditorUtils.formProperties(t,i.viewModelId,o),r={};r[i.viewModelId]={type:"events-editor",editor:{initialData:a}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:r,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(l,s){const f=l.propertyValue;delete t[i.viewModelId],f&&(f.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(t,i.viewModelId,f.events,f)),t.remoteSort=!!t.columnSorted}}}}function Il(e,t){const o=e.schema,i=n.ref(!0),a=n.ref(!0);function r(u){return u&&u.sourceType==="control"?u.controlCategory==="input":!1}function l(){return!1}function s(){return!1}function f(){return!0}function d(u){}function p(){}function c(u){return new Tl(u,t).getPropertyConfig(o)}return{canAccepts:r,checkCanDeleteComponent:l,checkCanMoveComponent:s,hideNestedPaddingInDesginerView:f,onAcceptMovedChildElement:d,resolveComponentContext:p,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:a,getPropsConfig:c}}const Yt=n.defineComponent({name:"FDataGridDesign",props:Nl,emits:["ClickRow","DoubleClickRow","selectionChange","enterUpInLastCell","pageIndexChanged","pageSizeChanged"],setup(e,t){var Le;const o=n.ref(),i=n.inject("designer-host-service"),a=n.inject("design-item-context"),r=Il(a,i),l=rt(o,a,r);l.value.styles="display:flex;flex:1;",n.onMounted(()=>{o.value.componentInstance=l}),t.expose(l.value);const s=n.ref(e.columns),f=20,d=io(e),p=0,c=n.ref(),u=n.ref(),_=n.ref(),m=n.ref(),y=n.ref(e.showStripe),b=n.ref([]),S=n.ref(!1),C=n.ref(((Le=e.rowOption)==null?void 0:Le.wrapContent)||!1),g=qt(e,d),F=zt(),x=Qn(e),h=co(e),V=Yn(e,new Map,x,d,h),v=ro(e,V,d,b,t),w=n.computed(()=>e.disable),k=n.computed(()=>V.totalItems.value<f?V.totalItems.value:f),{containerStyleObject:I}=Nn(e),O=In(e),{applyCommands:T}=O;T(s);const N=kn(e),$=so(),{applyColumnSorter:B,columnContext:j,updateColumnRenderContext:P}=N;B(V,$);const M=mo(e,j),D=oo(e,d),H=Ht(),ne=to(e,D,H),re=no(e,D,x,d,H,ne),be=il(e,d,ne,re),$e=al(e,d,ne,re),_e=eo(e,s,V,k,p,re,be,$e),{getVisualData:ve}=_e,Se=ul(j),ke=At(e,j),ie=lo(e,v),{sidebarWidth:fe}=ie;b.value=ve(0,k.value+p-1);const G=Zn(e,V,b,j,_e,k,p,fe),{onWheel:q,dataGridWidth:le,viewPortHeight:Q,viewPortWidth:me,resetScroll:ge}=G,ce=$n(e,j,c,me,M),{calculateColumnsSize:xe}=ce,L=Jn(),se=Tn(c,m,V,L,G),ue=ao(e,t,v,d),W=On(e,t,N,V,M,g,G),pe=n.computed(()=>({"fv-grid":!0,"fv-datagrid-strip":y.value})),Be=n.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":S.value,"fv-grid-wrap-content":C.value})),{renderGridHeader:X}=po(a,e,c,_,m,N,V,W,se,F,L,ce,M,v,ie,$,G,me,b);ja(e,t,V,G,h);const{renderDataGridSidebar:te}=Fn(e,ue,v,ie,G),{renderDisableMask:de}=ka(),{renderDataGridSummery:Fe}=Pa(e,V,N),{renderHorizontalScrollbar:Te}=_n(e,c,G),{renderVerticalScrollbar:je}=Vn(e,c,G),{renderFilterPanel:ze}=Ta(e,N,V,F,G),{renderGroupPanel:qe}=Ia(e,V,W,g,G);function ot(){var Ce,Qe;Q.value=((Ce=u.value)==null?void 0:Ce.clientHeight)||0,le.value=((Qe=c.value)==null?void 0:Qe.clientWidth)||0,xe()}n.onMounted(()=>{c.value&&(St.useResizeObserver(c.value,ot),xe(),n.nextTick(()=>{c.value&&(le.value=c.value.clientWidth),u.value&&(me.value=u.value.clientWidth,Q.value=u.value.clientHeight)}))}),n.onUnmounted(()=>{}),n.watch(me,()=>{c.value&&xe()}),n.watch(()=>e.columns,Ce=>{oe(Ce)});function it(){V.insertNewDataItem(),ge()}function at(){V.insertNewDataItem(b.value.length),ge()}function Je(Ce){D.onEditingRow(Ce)}function A(Ce){V.removeDataItem(Ce),ge()}function ee(Ce){V.removeDataItemById(Ce),ge()}function ae(Ce){D.acceptEditingRow(Ce)}function Ve(Ce){D.cancelEditingRow(Ce)}function oe(Ce){Ce&&(s.value=Ce,T(s),P(s.value),B(V,$),xe())}function Ne(Ce){Ce&&(V.load(Ce),b.value=ve(0,k.value+p-1))}const he=rl(e,t,{addNewDataItem:it,addNewDataItemAtLast:at,removeDataItem:A,removeDataItemById:ee,editDataItem:Je,acceptDataItem:ae,cancelDataItem:Ve,updateColumns:oe,updateDataSource:Ne},N,D,b),{renderDataArea:De}=wo(e,t,u,_,m,Se,ke,N,D,g,he,ue,_e,G,b);return()=>n.createVNode("div",{ref:o,class:pe.value,style:I.value,onWheel:q},[ze(),qe(),X(),n.createVNode("div",{ref:c,class:Be.value,onMouseover:()=>{S.value=!0},onMouseleave:()=>{S.value=!1}},[te(b),De(),Te(),je()]),Fe(),w.value&&de()])}}),Ol={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/grid-field-editor.schema.json",title:"grid-field-editor",description:"A Farris Data Grid Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"grid-field-editor"},viewModelId:{description:"",type:"string",default:""},gridData:{description:"",type:"Object",default:null}},required:["id","type"]},So={modelValue:{type:String,default:""},viewModelId:{Type:String,default:""},gridData:{Type:Object,default:null},gridType:{Type:String,default:"data-grid-column"},getLatestGridData:{Type:Function}},$l=Ie(So,Ol,go,yo),Bl=new Map([["appearance",Ge]]);function Ml(e,t,o){return t}const jl={title:"transfer",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}}}},Pl={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/transfer.schema.json",title:"transfer",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for transfer",type:"string"},type:{description:"The type string of transfer",type:"string",default:"transfer"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},xo={dataSource:{type:Array,default:[]},displayType:{type:String,default:"List"},enableSearch:{type:Boolean,default:!0},identifyField:{type:String,default:"id"},textField:{type:String,default:"name"},placeholder:{type:String,default:""},selections:{type:Array,default:[]},selectionValues:{type:Array,default:[]}};Ie(xo,Pl,Bl,Ml,jl);const Dl=new Map([["appearance",Ge]]);function Rl(e,t,o){return t}const El={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/list-view.schema.json",title:"list-view",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for list-view",type:"string"},type:{description:"The type string of list-view",type:"string",default:"list-view"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},Ll={title:"list-view",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}}}},_o={columns:{type:Array,default:[{field:"name",title:"",dataType:"string"}]},data:{type:Array,default:[]},draggable:{type:Boolean,default:!1},multiSelect:{Type:Boolean,default:!1},multiSelectMode:{Type:String,default:"OnCheck"},idField:{Type:String,default:"id"},valueField:{Type:String,default:"id"},textField:{Type:String,default:"name"},titleField:{Type:String,default:"name"},view:{Type:String,default:"ContentView"},size:{Type:String,default:"default"},placeholder:{type:String,default:""},header:{Type:String,default:"ContentHeader"},headerClass:{Type:String,default:""},itemClass:{Type:String,default:""},selectionValues:{type:Array,default:[]},group:{type:Object},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!0}},keepOrder:{type:Boolean,default:!1},disableField:{type:String,default:"disabled"},enableHighlightSearch:{type:Boolean,default:!0}};Ie(_o,El,Dl,Rl,Ll);function Al(e,t){function o(r){const l=[];let s=r.nextNode();for(;s;)l.push(s),s=r.nextNode();return l}function i(r,l){const s=document.createTreeWalker(r,NodeFilter.SHOW_TEXT);return o(s).map(c=>({textNode:c,text:(c.textContent||"").toLocaleLowerCase()})).map(({textNode:c,text:u})=>{const _=[];let m=0;for(;m<u.length;){const y=u.indexOf(l,m);if(y===-1)break;_.push(y),m=y+l.length}return _.map(y=>{const b=new Range;return b.setStart(c,y),b.setEnd(c,y+l.length),b})}).flat()}function a(r){if(!CSS.highlights||(CSS.highlights.clear(),!r||!t))return;const l=i(t.value,r.toLocaleLowerCase()),s=new Highlight(...l);CSS.highlights.set("search-result",s)}return{search:a}}function Fo(e,t,o,i,a,r,l,s,f,d){const p=n.ref(e.size),c=n.ref(e.textField),u=n.ref(e.titleField),_=n.ref(e.disableField),m=n.computed(()=>{var v,w;return((v=e.selection)==null?void 0:v.multiSelect)&&((w=e.selection)==null?void 0:w.showCheckbox)}),{onMouseenterItem:y,onMouseoverItem:b,onMouseoutItem:S}=r,{getKey:C,listViewItemClass:g,onCheckItem:F,onClickItem:x}=l,h=n.computed(()=>({margin:p.value==="small"?"0.25rem 0":"10px 0"}));function V(v,w,k){return v.checked=s.findIndexInSelectedItems(v)>-1,n.createVNode("li",{class:g(v,w),id:C(v,w),key:C(v,w),onClick:I=>x(I,v,w),onMouseenter:I=>y(I,v,w),onMouseover:I=>b(I,v,w),onMouseout:I=>S(I,v,w)},[m.value&&n.createVNode("div",{class:"f-list-select",onClick:I=>I.stopPropagation()},[n.createVNode(ft.FCheckBox,{id:"list-"+C(v,w),customClass:"listview-checkbox",disabled:v[_.value],checked:v.checked,"onUpdate:checked":I=>v.checked=I,onChange:I=>{F(v,w,!I.checked)}},null)]),n.createVNode("div",{class:"f-list-content"},[n.createVNode("div",{style:h.value,title:v.raw[u.value]||v.raw[c.value]},[v.raw[c.value]])])])}return{renderItem:V}}function Hl(e,t,o,i,a,r,l,s,f,d){const p=n.ref(e.multiSelect),c=n.ref(e.disableField),{onMouseenterItem:u,onMouseoverItem:_,onMouseoutItem:m}=r,{getKey:y,listViewItemClass:b,onCheckItem:S,onClickItem:C}=l;function g(x,h,V){return t.slots.content?n.createVNode(n.Fragment,null,[t.slots.content&&t.slots.content({item:x.raw,index:h,selectedItem:V})]):n.createVNode("div",{style:"margin: 10px 0;"},[x.raw.name])}function F(x,h,V){return n.createVNode("li",{class:b(x,h),id:y(x,h),key:y(x,h),onClick:v=>C(v,x,h),onMouseenter:v=>u(v,x,h),onMouseover:v=>_(v,x,h),onMouseout:v=>m(v,x,h)},[p.value&&n.createVNode("div",{class:"f-list-select",onClick:v=>v.stopPropagation()},[n.createVNode(ft.FCheckBox,{id:"list-"+y(x,h),customClass:"listview-checkbox",disabled:x[c.value]||!x.checked,checked:x.checked,"onUpdate:checked":v=>x.checked=v,onChange:v=>S(x,h,!v.checked)},null)]),n.createVNode("div",{class:"f-list-content"},[g(x,h,V)])])}return{renderItem:F}}function Gl(e,t,o,i,a,r,l,s,f,d){const p=n.ref(e.multiSelect),c=n.ref(e.disableField),{onMouseenterItem:u,onMouseoverItem:_,onMouseoutItem:m}=r,{getKey:y,listViewItemClass:b,onCheckItem:S,onClickItem:C}=l,{dragstart:g,dragenter:F,dragover:x,dragend:h}=i,{removeItem:V}=f,v=n.computed(()=>({margin:p.value?"10px 0":"10px 0px 10px 14px"}));function w(T){return n.createVNode("div",{style:v.value},[T.raw.name])}function k(){return t.slots.itemContent?t.slots.itemContent:w}const I=k();function O(T,N,$){return n.createVNode("li",{class:b(T,N),id:y(T,N),key:y(T,N),onClick:B=>C(B,T,N),onMouseenter:B=>u(B,T,N),onMouseover:B=>_(B,T,N),onMouseout:B=>m(B,T,N),draggable:"true",onDragstart:B=>g(B,T,N),onDragenter:B=>F(B,N),onDragend:B=>h(B,T),onDragover:B=>x(B,N)},[p.value&&n.createVNode("div",{class:"f-list-select",onClick:B=>B.stopPropagation()},[n.createVNode(ft.FCheckBox,{id:"list-"+y(T,N),customClass:"listview-checkbox",disabled:T[c.value]||!T.checked,checked:T.checked,"onUpdate:checked":B=>T.checked=B,onChange:B=>S(T,N,!B.checked)},null)]),n.createVNode("div",{class:"f-list-content"},[I(T)]),n.createVNode("div",{class:"f-list-remove",onClick:B=>V(N)},[n.createVNode("div",{class:"f-list-remove-icon"},[n.createVNode("i",{class:"f-icon f-icon-remove_face"},null)])]),n.createVNode("div",{class:"f-list-handle"},[n.createVNode("div",null,[n.createVNode("i",{class:"f-icon f-icon-drag-vertical"},null)])])])}return{renderItem:O}}function Wl(e,t,o,i,a,r,l,s,f,d){var y;const p=n.ref(((y=e.group)==null?void 0:y.groupFields)||[]),{collpaseGroupIconClass:c}=a,{toggleGroupRow:u}=d;function _(b,S){S.collapse=!S.collapse,o.value=u(S.collapse?"collapse":"expand",S,o.value)}function m(b,S,C){return b.layer>-1&&n.createVNode("div",{class:"f-navlookup-recentHeader",onClick:g=>_(g,b)},[n.createVNode("div",{class:"fv-grid-group-row-icon"},[n.createVNode("span",{class:c(b)},null)]),n.createVNode("div",{class:"f-navlookup-recommandLabel"},[b.raw[p.value[b.layer]]])])}return{renderItem:m}}function zl(){const e=n.ref(-1),t=n.ref(""),o=n.ref(-1),i=n.ref(!1);function a(d,p,c){o.value=c}function r(d,p,c){i.value||(o.value=c)}function l(d,p,c){o.value=-1}function s(){i.value=!0}function f(){i.value=!1}return{activeIndex:e,focusedItemId:t,hoverIndex:o,onMouseenterItem:a,onMouseoverItem:r,onMouseoutItem:l,resumeHover:f,suspendHover:s}}function ql(e,t,o,i){const a=n.ref(e.idField),{dataView:r}=o,l=n.ref(-1),s=n.ref(!1),{activeIndex:f,focusedItemId:d,hoverIndex:p,resumeHover:c,suspendHover:u}=i;function _(S,C,g){S.stopPropagation(),u(),C&&setTimeout(()=>{l.value=g,s.value=!0,C.moving=!0})}function m(S,C){if(S.preventDefault(),l.value!==C){const g=r.value[l.value],F=r.value;F.splice(l.value,1),F.splice(C,0,g),l.value=C}}function y(S,C){S.preventDefault(),S.dataTransfer&&(S.dataTransfer.dropEffect="move")}function b(S,C){C&&(C.moving=!1),r.value.forEach((g,F)=>{g.__fv_index__=F}),s.value=!1,c(),p.value=C.raw.__fv_index__,f.value=C.raw.__fv_index__,d.value=C.raw[a.value],t.emit("change",r.value),t.emit("activeChange",C)}return{dragstart:_,dragenter:m,dragover:y,dragend:b,isDragging:s}}function Ul(e,t,o){const{dataView:i}=o;function a(r){if(r>-1&&r<i.value.length){const l=i.value.splice(r,1);t.emit("removeItem",l[0])}}return{removeItem:a}}function Kl(e,t,o,i,a,r){const l=n.ref(e.idField),s=n.ref(e.disableField),f=n.ref(e.draggable),d=n.ref(e.itemClass),p=n.ref(e.selection.multiSelect??!1),c=n.ref(e.selection.multiSelectMode),{isDragging:u}=i,{activeIndex:_,focusedItemId:m,hoverIndex:y}=a,{clearSelection:b,getSelectedItems:S,toggleSelectItem:C}=r,g=n.ref(S());function F(I,O){const T={"f-listview-item":!0,"f-list-view-group-item":!0,"f-list-view-draggable-item":f.value,"f-un-click":!I.checked,"f-un-select":!!I.raw[s.value],"f-listview-active":g.value.findIndex($=>$[l.value]===I.raw[l.value])>-1,"f-listview-item-active":g.value.findIndex($=>$[l.value]===I.raw[l.value])>-1,"f-listview-hover":!u.value&&O===y.value,moving:!!I.moving};return d.value.split(" ").reduce(($,B)=>($[B]=!0,$),T),T}function x(I,O){return I.raw[l.value]||""}const h=n.computed(()=>!p.value);function V(I,O,T){I.checked=T,!I.raw[s.value]&&(h.value&&(m.value=I.raw[l.value]),C(I))}const v=n.computed(()=>p.value&&c.value==="OnCheckClearByClick"),w=n.computed(()=>!p.value||p.value&&(c.value==="OnCheckAndClick"||c.value==="OnClick"));function k(I,O,T){if(O.raw[s.value]){I.preventDefault(),I.stopPropagation();return}m.value=O.raw[l.value],_.value=T,v.value&&b(o.value),w.value&&(C(O),g.value=S()),t.emit("clickItem",{data:g.value,index:T}),t.emit("activeChange",g.value)}return{getKey:x,listViewItemClass:F,onCheckItem:V,onClickItem:k}}function Xl(e,t,o,i,a,r,l){const s=n.ref(e.view),f=n.ref(e.view==="CardView"),d=n.ref({}),p=n.ref("暂无数据"),c=zl(),u=ql(e,t,i,c),_=Ul(e,t,i),m=Kl(e,t,o,u,c,r),y=n.computed(()=>({"f-list-view-group":!0,"d-flex":f.value,"flex-wrap":f.value})),b=n.computed(()=>!!o.value&&o.value.length>0),S=n.computed(()=>o.value.length===0),C=n.computed(()=>S.value&&!t.slots.empty);function g(){return s.value==="SingleView"?Fo:s.value==="DraggableView"?Gl:(s.value==="ContentView"||s.value==="CardView")&&t.slots.content?Hl:Fo}const F=g(),{renderItem:x}=F(e,t,o,u,a,c,m,r,_,l),{renderItem:h}=Wl(e,t,o,u,a,c,m,r,_,l),V=[x,h];function v(){return o.value.filter(I=>I.visible!==!1).map((I,O)=>V[I.type](I,O,d))}function w(){return n.createVNode("div",{class:"f-list-view-emptydata"},[n.createVNode("p",{class:"f-empty-title"},[p.value])])}function k(){return n.createVNode("ul",{class:y.value,style:"list-style: none;"},[b.value&&v(),C.value&&w(),t.slots.empty&&t.slots.empty()])}return{renderListArea:k}}function Yl(e,t,o){function i(){return t.slots.header&&n.createVNode("div",{class:"f-list-view-header"},[t.slots.header()])}return{renderHeader:i}}function Vo(e,t,o){const i=n.ref(e.headerClass),a=n.ref(e.placeholder),r=n.ref(""),l=n.computed(()=>!r.value),s=n.computed(()=>!!r.value);function f(u){r.value=""}n.watch(r,u=>{e.enableHighlightSearch&&o.search(u),t.emit("afterSearch",u)});const d=n.computed(()=>{const u={"form-group":!0,"farris-form-group":!0};return i.value&&i.value.split(" ").reduce((m,y)=>(m[y]=!0,m),u),u});function p(u){}function c(){return n.createVNode("div",{class:"f-list-view-header",onClick:n.withModifiers(()=>p,["prevent","stop"])},[n.createVNode("div",{class:d.value},[n.createVNode("div",{class:"farris-input-wrap"},[n.createVNode("div",{class:"f-cmp-inputgroup"},[n.createVNode("div",{class:"input-group f-state-editable"},[n.withDirectives(n.createVNode("input",{class:"form-control f-utils-fill text-left","onUpdate:modelValue":u=>r.value=u,name:"input-group-value",type:"text",placeholder:a.value,autocomplete:"off"},null),[[n.vModelText,r.value]]),n.createVNode("div",{class:"input-group-append"},[s.value&&n.createVNode("span",{class:"input-group-text input-group-clear",onClick:u=>f()},[n.createVNode("i",{class:"f-icon f-icon-close-circle"},null)]),l.value&&n.createVNode("span",{class:"input-group-text"},[n.createVNode("span",{class:"f-icon f-icon-search"},null)])])])])])])])}return{renderHeader:c}}const No=n.defineComponent({name:"FListView",props:_o,emits:["afterSearch","checkValuesChange","clickItem","selectionChange","removeItem","change","activeChange"],setup(e,t){const o=n.ref(),i=n.ref(!0),a=n.ref(!1),r=n.ref([]),l=0,s=n.ref(e.columns),f=R.useIdentify(e),d=R.useHierarchy(e),p=R.useGroupData(e,f),c=R.usePagination(e),u=R.useDataView(e,new Map,d,f,c),_=R.useSelection(e,u,f,r,t),m=Al(e,o),y=n.computed(()=>u.dataView.value.length),b=R.useEdit(e,t,f),S=R.useVisualDataBound(),C=R.useVisualDataCell(e,{},S),g=R.useVisualDataRow(e,b,d,f,S,C),F=R.useVisualGroupRow(e,f,C,g),x=R.useVisualSummaryRow(e,f,C,g),h=R.useVisualData(e,s,u,y,l,g,F,x),{getVisualData:V}=h;r.value=V(0,y.value+l-1);const v=n.computed(()=>{const j={"f-list-view":!0,"f-list-view-multiple":e.multiSelect};return e.size!=="default"&&(j[`${e.size}-item`]=!0),j}),w=n.computed(()=>!!t.slots.footer||i.value);function k(){return e.header==="SearchBar"?Vo:e.header==="ContentHeader"?Yl:Vo}const I=k(),{renderHeader:O}=I(e,t,m),{renderListArea:T}=Xl(e,t,r,u,p,_,h);function N(j){m.search(j)}function $(j){j&&(u.load(j),r.value=V(0,y.value+l-1))}t.expose({search:N,updateDataSource:$});function B(j){e.multiSelect&&(j.preventDefault(),j.stopPropagation())}return()=>n.createVNode("div",{class:v.value,onClick:B},[O(),n.createVNode("div",{ref:o,class:"f-list-view-content",onMouseover:()=>{a.value=!0},onMouseleave:()=>{a.value=!1}},[T()]),w.value&&n.createVNode("div",{class:"f-list-view-footer"},[t.slots.footer&&t.slots.footer()])])}}),Jl=n.defineComponent({name:"FTransfer",props:xo,emits:["change","activeChange"],setup(e,t){const o=n.ref(e.identifyField),i=n.ref("已选:"),a=n.ref("项数据"),r=n.ref(e.displayType),l=n.ref(!1),s=n.ref(e.dataSource),f=n.ref(e.selections||[]),d=n.computed(()=>f.value.map(w=>w[o.value])),p=new Map,c=n.ref();function u(){const w=new Map,k=e.selectionValues||[];k.length&&k.reduce((O,T)=>(O.set(T,!0),O),w);const I=e.selections||[];I.length&&(w.clear(),I.reduce((O,T)=>(O.set(T[o.value],!0),O),w)),f.value.length||(f.value=s.value.filter(O=>w.has(O[o.value])).map(O=>Object.assign({},O))),s.value.forEach(O=>{const T=O[o.value],N=w.has(T);O.checked=N,N&&p.set(T,O)})}u();const _=n.computed(()=>r.value==="List"),m=n.computed(()=>r.value==="Tree");function y(w){f.value=w.map(k=>Object.assign({},k)),t.emit("change",f.value)}function b(){return n.createVNode(No,{class:"f-utils-fill",data:s.value,multiSelect:!0,selection:{enableSelectRow:!0,multiSelect:!0,multiSelectMode:"OnCheckAndClick",showCheckbox:!0,showSelectAll:!1,showSelection:!0},draggable:!1,header:"Search",headerClass:"transfer-search-box","selection-values":d.value,onSelectionChange:y},{default:()=>[n.createTextVNode(" ")]})}function S(){return n.createVNode(n.Fragment,null,null)}function C(){return n.createVNode("div",{class:"f-utils-fill option-pane d-flex flex-column"},[n.createVNode("div",{class:"f-utils-flex-column option-pane-content f-utils-fill"},[n.createVNode("div",{class:"container columns-box d-flex f-utils-fill"},[_.value&&b(),m.value&&S()])])])}function g(w){const k=w[o.value];if(k!==null||k!==void 0){f.value=f.value.filter(O=>O[o.value]!==k);const I=p.get(k);I&&(I.checked=!1,p.delete(k)),t.emit("change",f.value)}}n.watch(f,w=>{c.value.updateDataSource(w)});function F(w){const k=new Map;f.value.reduce((I,O)=>(I.set(O[o.value],O),I),k),f.value=w.map(I=>k.get(I[o.value])),t.emit("change",f.value)}function x(w){t.emit("activeChange",w)}function h(){return n.createVNode(No,{ref:c,style:"flex:1",data:f.value,draggable:!0,view:"DraggableView","keep-order":!0,onChange:F,onRemoveItem:g,onActiveChange:x},null)}function V(){return n.createVNode("div",{class:"f-utils-fill selection-pane d-flex flex-column"},[n.createVNode("div",{class:"f-utils-flex-column selection-pane-content f-utils-fill"},[n.createVNode("div",{class:"selection-pane-title"},[n.createVNode("span",{class:"selection-title"},[i.value]),n.createVNode("span",{class:"selection-count"},[f.value&&f.value.length]),n.createVNode("span",{class:"selection-item-title"},[a.value])]),n.createVNode("div",{class:"container columns-box f-utils-fill d-flex"},[h()])])])}const v=n.computed(()=>({transfer:!0,row:!0,"f-utils-fill":l.value}));return()=>n.createVNode("div",{class:v.value,style:"height:480px"},[C(),V()])}}),Ql=n.defineComponent({name:"FGridFieldEditor",props:So,emits:["change"],setup(e,t){const o=n.ref(e.viewModelId),i=n.inject("designViewModelUtils"),a=n.inject("useFormSchema"),r=n.inject("controlCreatorUtils"),l=n.ref(e.modelValue);let s=e.gridData.columns;const f=n.ref([]),d=n.ref([]);let p=[];n.onMounted(()=>{c()});function c(){d.value=i.getAllFields2TreeByVMId(o.value),p=_(d.value)}function u(){if(f.value=[],!s||s.length===0)return[];s.forEach(C=>{if(C.binding&&C.binding.field){const g=p.find(F=>F.data.id===C.binding.field);g?f.value.push(Object.assign({},g.data)):f.value.push({id:C.binding.field,name:C.caption,bindingField:null,isInValidBinding:!0,inValidTip:"绑定字段不存在,请手动移除列"})}})}function _(C,g=[]){return C&&C.forEach(F=>{g.push(F),F.children&&_(F.children,g)}),g}function m(){const C=i.getDgViewModel(o.value),g=[],F=[];f.value.forEach(h=>{delete h.inValidTip,delete h.isInValidBinding;let V=s==null?void 0:s.find(v=>{if(v.binding&&v.binding.field)return v.binding.field===h.id});if(V)g.push(V);else{const v=d.value.find(k=>k.id==h.id),w=r.setGridFieldProperty(e.gridType,v.data,null,!0);C.addField(h),g.push(w)}F.push(h.id)});const x=C.fields.filter(h=>!F.includes(h.id));if(x&&x.length>0){const h=x.map(V=>V.id);C.removeField(h),a.expressions&&a.expressions.length&&h.length&&(a.expressions=a.expressions.filter(V=>!h.includes(V.fieldId)))}l.value=`共 ${g.length} 项`,t.emit("change",g)}const y={fitContent:!1,width:900,height:600,title:"列编辑器",acceptCallback:()=>{m()},rejectCallback:()=>{}};function b(C){f.value=C?[...C]:[]}function S(){return e.getLatestGridData&&(e.gridData=e.getLatestGridData(),c()),s=e.gridData.columns,u(),Promise.resolve(!0)}return()=>n.createVNode(Ze,{"button-behavior":"Modal","modal-options":y,modelValue:l.value,"onUpdate:modelValue":C=>l.value=C,editable:!1,beforeOpen:S},{default:()=>[n.createVNode("div",{class:"f-utils-absolute-all"},[n.createVNode(Jl,{selections:f.value,"data-source":d.value,class:"mx-2",onChange:C=>b(C)},null)])]})}}),Zl={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid-column.schema.json",title:"data-grid-column",description:"A Farris data-grid-column Component",type:"object",properties:{id:{description:"The unique identifier for a data-grid-column",type:"string",default:"col"},type:{description:"The type string of data-grid-column component",type:"string",default:"data-grid-column"},allowGrouping:{description:"",type:"boolean",default:!0},colspan:{description:"",type:"number"},dataType:{type:"string"},editor:{description:"",type:"obejct",default:{}},field:{description:"",type:"string"},filterable:{description:"",type:"boolean",default:!0},fixed:{description:"",type:"string",enum:["left","right"]},halign:{description:"",type:"enum",default:"left",enum:["left","center","right"]},title:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!0},resizable:{description:"",type:"boolean",default:!0},rowspan:{description:"",type:"number"},showTips:{description:"",type:"boolean",default:!0},sort:{description:"",type:"string",default:"none",enum:["asc","desc","none"]},sortable:{description:"",type:"boolean",default:!0},sortOrder:{description:"",type:"number"},tipMode:{description:"",type:"string",enum:["allways","auto"]},valign:{description:"",type:"enum",default:"middle",enum:["top","middle","bottom"]},visible:{description:"",type:"boolean",default:!0},width:{description:"",type:"number",default:120}}},es={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid-column.schema.json",title:"tree-grid-column",description:"A Farris data-grid-column Component",type:"object",properties:{id:{description:"The unique identifier for a data-grid-column",type:"string"},type:{description:"The type string of data-grid-column component",type:"string",default:"tree-grid-column"},allowGrouping:{description:"",type:"boolean",default:!0},colspan:{description:"",type:"number"},dataType:{type:"string"},editor:{description:"",type:"obejct"},field:{description:"",type:"string"},filterable:{description:"",type:"boolean",default:!0},fixed:{description:"",type:"string",enum:["left","right"]},halign:{description:"",type:"enum",default:"left",enum:["left","center","right"]},title:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!0},resizable:{description:"",type:"boolean",default:!0},rowspan:{description:"",type:"number"},showTips:{description:"",type:"boolean",default:!0},sort:{description:"",type:"string",enum:["asc","desc","none"]},sortable:{description:"",type:"boolean",default:!0},sortOrder:{description:"",type:"number"},tipMode:{description:"",type:"string",enum:["allways","auto"]},valign:{description:"",type:"enum",default:"middle",enum:["top","middle","bottom"]},visible:{description:"",type:"boolean",default:!0},width:{description:"",type:"number"}}},Jt={id:{type:String,default:""},type:{type:String,default:""},allowGrouping:{type:Boolean,default:!0},colspan:{type:Number,default:1},dataType:{type:String,default:""},parentId:{type:String,default:""},editor:{type:Object},field:{type:String,default:""},filterable:{type:Boolean,default:!0},fixed:{type:String,default:""},halign:{type:String,default:"left"},title:{type:String,default:""},readonly:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},rowspan:{type:Boolean,default:!0},showTips:{type:Boolean,default:!0},sort:{type:String,default:"none"},sortable:{type:Boolean,default:!0},sortOrder:{type:Number},tipMode:{type:String,default:"auto"},valign:{type:String,default:"middle"},visible:{type:Boolean,default:!0},width:{type:Number},actualWidth:{type:Number},align:{type:String,default:""},left:{type:Number},sorter:{type:Function,default:()=>{}},origianlColSpan:{type:Number},index:{type:Number},isMultilingualField:{type:Boolean,default:!1},commands:{type:Array,default:[]},filter:{type:String,default:""},showSetting:{type:Boolean,default:!0},formatter:{type:Function,default:()=>{}},componentId:{type:String,default:""}},ts=Ie(Jt,Zl,ho,vo),ns=Ie(Jt,es,ho,vo);class os extends Ae{constructor(t,o){super(t,o)}getEditorProperties(t){return{description:"编辑器",title:"编辑器",type:"avatar",$converter:"/converter/property-editor.converter",properties:{readonly:{description:"",title:"只读",type:"boolean"},avatarWidth:{description:"",title:"头像宽度",type:"number"},avatarHeight:{description:"",title:"头像高度",type:"number"},cover:{description:"",title:"封面",type:"string"}}}}}class is extends Ae{constructor(t,o){super(t,o)}getEditorProperties(t){return this.getComponentConfig(t,{type:"check-group"},{placeholder:{visible:!1},textField:{description:"",title:"文本字段",type:"string"},valueField:{description:"",title:"值字段",type:"string"},enumData:{visible:!1,description:"",type:"array"}})}}class as extends Ae{constructor(t,o){super(t,o)}getEditorProperties(t){return this.getComponentConfig(t,{type:"check-group"},{placeholder:{visible:!1},text:{description:"",title:"显示文本",type:"string"},value:{description:"",title:"选中值",type:"string"}})}}class ko extends Ae{constructor(t,o){super(t,o)}getEditorProperties(t){return this.getComponentConfig(t,{type:"combo-list"},{editable:{description:"",title:"允许编辑",type:"boolean"},textField:{description:"",title:"数据源显示字段",type:"string"},idField:{description:"",title:"数据源值字段",type:"string"}})}}class rs extends Ae{constructor(t,o){super(t,o)}}class ls extends Ae{constructor(t,o){super(t,o)}getEditorProperties(t){return this.getComponentConfig(t,{type:"date-picker"},{displayFormat:{description:"",title:"展示格式",type:"enum",editor:{data:[{name:"yyyy-MM-dd",id:"yyyy-MM-dd"},{name:"yyyy/MM/dd",id:"yyyy/MM/dd"},{name:"yyyyMMdd",id:"yyyyMMdd"},{name:"MM/dd/yyyy",id:"MM/dd/yyyy"},{name:"yyyy年MM月dd日",id:"yyyy年MM月dd日"}]}},valueFormat:{description:"",title:"存储格式",type:"enum",editor:{data:[{name:"yyyy-MM-dd",id:"yyyy-MM-dd"},{name:"yyyy/MM/dd",id:"yyyy/MM/dd"},{name:"yyyyMMdd",id:"yyyyMMdd"},{name:"MM/dd/yyyy",id:"MM/dd/yyyy"},{name:"yyyy年MM月dd日",id:"yyyy年MM月dd日"}]}},maxYear:{description:"",title:"最大年限",type:"number"},minYear:{description:"",title:"最小年限",type:"number"}})}}class ss extends Ae{constructor(t,o){super(t,o)}getEditorProperties(t){return this.getComponentConfig(t,{type:"number-range"},{editable:{description:"",title:"允许编辑",type:"boolean"}})}}class cs extends Ae{constructor(t,o){super(t,o)}getEditorProperties(t){return this.getComponentConfig(t,{type:"number-spinner"},{textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中对齐"},{value:"right",name:"右对齐"}]}}})}}class ds extends Ae{constructor(t,o){super(t,o)}getEditorProperties(t){return this.getComponentConfig(t,{type:"number-spinner"},{readonly:{visible:!1},placeholder:{visible:!1},horizontal:{description:"",title:"是否横向",type:"boolean"},textField:{description:"",title:"显示文本字段",type:"string"},valueField:{description:"",title:"值字段",type:"string"},enumData:{visible:!1,description:"",title:"数据",type:"array"}})}}class us extends Ae{constructor(t,o){super(t,o)}getEditorProperties(t){return this.getComponentConfig(t,{type:"switch"},{readonly:{visible:!1},placeholder:{visible:!1},onLabel:{description:"",title:"打开时标签",type:"string"},offLabel:{description:"",title:"关闭时标签",type:"string"},onBackground:{description:"",title:"打开时背景色",type:"string"},offBackground:{description:"",title:"关闭时背景色",type:"string"},size:{description:"",title:"尺寸",type:"enum",editor:{data:[{value:"small",name:"小号"},{value:"middle",name:"中号"},{value:"large",name:"大号"}]}}})}}class fs extends Ae{constructor(t,o){super(t,o)}getEditorProperties(t){return this.getComponentConfig(t,{type:"time-picker"},{editable:{description:"",title:"允许编辑",type:"boolean"},format:{description:"",title:"格式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"HH:mm:ss",name:"HH:mm:ss"}]}},showHeader:{description:"",title:"是否显示头部区域",type:"boolean"},use12Hours:{description:"",title:"是否使用12小时制",type:"boolean"}})}}class ps extends _t{constructor(t,o){super(t,o)}getPropertyConfig(t,o){return this.getBasicPropConfig(t),this.getAppearanceProperties(t),this.getFieldEditorProperties(t,o),this.propertyConfig}getBasicPropConfig(t){this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},title:{description:"标题",title:"标题",type:"string"}}}}getAppearanceProperties(t){this.propertyConfig.categories.appearance={description:"",title:"外观",properties:{halign:{description:"数据水平对齐方式选择",title:"数据水平对齐方式",type:"enum",editor:{data:[{id:"left",name:"靠左"},{id:"right",name:"靠右"},{id:"center",name:"居中"}]}},valign:{description:"数据垂直对齐方式选择",title:"数据垂直对齐方式",type:"enum",editor:{data:[{id:"top",name:"靠上"},{id:"middle",name:"居中"},{id:"bottom",name:"靠下"}]}}}}}getFieldEditorProperties(t,o){o.fieldEditable&&t.editor&&this.getFieldEditorProp(t)}getFieldEditorProp(t,o="gridFieldEditor",i=!1){const a=this.formMetadataConverter.getRealEditorType(t.editor.type);let r;switch(a){case"avatar":r=new os(this.componentId,this.designerHostService);break;case"check-group":r=new is(this.componentId,this.designerHostService);break;case"check-box":r=new as(this.componentId,this.designerHostService);break;case"combo-list":r=new ko(this.componentId,this.designerHostService);break;case"date-picker":r=new ls(this.componentId,this.designerHostService);break;case"lookup":r=new Oo(this.componentId,this.designerHostService);break;case"number-range":r=new ss(this.componentId,this.designerHostService);break;case"number-spinner":r=new cs(this.componentId,this.designerHostService);break;case"radio-group":r=new ds(this.componentId,this.designerHostService);break;case"switch":r=new us(this.componentId,this.designerHostService);break;case"textarea":r=new rs(this.componentId,this.designerHostService);break;case"time-picker":r=new fs(this.componentId,this.designerHostService);break;default:r=new Dr(this.componentId,this.designerHostService)}this.setDesignViewModelField(t);var l=this;this.propertyConfig.categories[`${o}_editorType`]={description:"",title:"编辑器类型",propertyData:t.editor,tabId:"gridFieldEditor",parentPropertyID:"editor",tabName:"编辑器",properties:{type:{description:"",title:"编辑器类型",type:"enum",$converter:"/converter/change-editor.converter",refreshPanelAfterChanged:!0,editor:{type:"combo-list",textField:"value",valueField:"key",data:gt.getEditorTypesByMDataType(l.designViewModelField.type.name)}}},setPropertyRelates(d,p){if(d)switch(d&&d.propertyID){case"type":{l.changeFieldEditorType(t,d.propertyValue);break}}}};const s=["id","type","class","style","binding","label","responseLayout"],f=r.getPropertyConfig(t).categories;Object.keys(f).map(d=>{const p=f[d];let c={};if(Object.keys(p.properties).map(u=>{s.findIndex(_=>_==u)==-1&&p.properties[u]!==!1&&(c[u]=p.properties[u])}),Object.keys(c).length!=0){const u=p==null?void 0:p.title,_="gridFieldEditor",m="编辑器",y=p==null?void 0:p.description,b=(p==null?void 0:p.$converter)||"";l.propertyConfig.categories[o+"_"+d]={title:u,tabId:_,tabName:m,description:y,$converter:b,propertyData:t,properties:c}}})}changeFieldEditorType(t,o){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);i.changeField(this.designViewModelField.id,{editor:{$type:o},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1);const a=this.formSchemaUtils.getComponentByViewModelId(this.viewModelId),r=this.formSchemaUtils.selectNode(a,p=>p.type===Z["data-grid"].type||p.type===Z["tree-grid"].type);if(!r)return;const l=i.fields.find(p=>p.id==this.designViewModelField.id),s=this.controlCreatorUtils.setGridFieldProperty(o,l,null,!0),f=r.hasOwnProperty("columns")?r.columns:r.fields,d=f.findIndex(p=>p.id===t.id);d>-1&&f[d].editor&&(f[d].editor=Object.assign(s.editor,{required:f[d].editor.required}))}}function ms(e,t){const o=e.schema,i=n.ref(!0),a=n.ref(!0);function r(u){return!1}function l(){return!1}function s(){return!1}function f(){return!0}function d(u){}function p(){}function c(u){var m;return new ps(u,t).getPropertyConfig(o,(m=e==null?void 0:e.parent)==null?void 0:m.schema)}return{canAccepts:r,checkCanDeleteComponent:l,checkCanMoveComponent:s,hideNestedPaddingInDesginerView:f,onAcceptMovedChildElement:d,resolveComponentContext:p,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:a,getPropsConfig:c}}const To=n.defineComponent({name:"FDataGridColumnDesign",props:Jt,emits:[],setup(e,t){const o=n.ref(),i=n.inject("designer-host-service"),a=n.inject("design-item-context"),r=ms(a,i),l=rt(o,a,r);n.onMounted(()=>{o.value.componentInstance=l}),t.expose(l.value);function s(f){var d;(d=a==null?void 0:a.setupContext)==null||d.emit("selectionChange",l.value.schema,a.schema,e.componentId,l.value)}return()=>n.createVNode("span",{class:"fv-column-title",ref:o,onClick:f=>s()},[e.title])}});Ye.install=e=>{e.component(Ye.name,Ye),e.component(Yt.name,Yt)},Ye.register=(e,t,o,i)=>{e["data-grid"]=Ye,t["data-grid"]=bo,e["grid-field-editor"]=Ql,t["grid-field-editor"]=$l,i["data-grid"]={bindingResolver:Co,selectionItemResolver:kl}},Ye.registerDesigner=(e,t,o)=>{e["data-grid"]=Yt,t["data-grid"]=bo,t["data-grid-column"]=ts,e["data-grid-column"]=To,t["tree-grid-column"]=ns,e["tree-grid-column"]=To},lt.register=(e,t,o,i)=>{e["tree-grid"]=lt,t["tree-grid"]=Fa,i["tree-grid"]={bindingResolver:Co,selectionItemResolver:Va}},lt.registerDesigner=(e,t,o)=>{e["tree-grid"]=xl,t["tree-grid"]=Na},Gn(lt);function gs(e,t,o){return t}const hs=new Map([["appearance",Ge]]),ys={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/radio-group.schema.json",title:"radio-group",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a radio-group",type:"string"},type:{description:"The type string of radio-group component",type:"string",default:"radio-group"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0},horizontal:{description:"",type:"boolean",default:!1},textField:{description:"",type:"string",default:"name"},valueField:{description:"",type:"string",default:"value"},enumData:{description:"",type:"array"}},required:["id","type"],ignore:["id","appearance","binding"]},vs={...Sr,id:String,disabled:{type:Boolean,default:!1},enumData:{type:Array,default:[{value:"example",name:"example1"}]},horizontal:{type:Boolean,default:!1},direction:{type:String,default:"horizontal"},modelValue:{type:String,default:""},name:{type:String,default:""},tabIndex:Number,textField:{type:String,default:"name"},valueField:{type:String,default:"value"}};Ie(vs,ys,hs,gs);const st={convertFrom:(e,t)=>t==="multiSelect"?!!e.editor[t]:t==="separator"?e.editor[t]||",":e.editor[t],convertTo:(e,t,o)=>{e.editor[t]=o}},bs={convertFrom:(e,t)=>e[t]==null?!0:e[t],convertTo:(e,t,o)=>{e[t]=o}};function Cs(e){let t="form_group_"+Date.now();return e&&(t=e.replaceAll("-","_").replaceAll(".","_")),"lookup."+t}const ws={convertFrom:(e,t)=>{var o;return(o=e.editor[t])==null?void 0:o.displayName},convertTo:(e,t,o)=>{if(o&&o.length>0){const i=o[0],{name:a,id:r,metadataContent:l}=i;e.editor.dataSource||(e.editor.dataSource={}),e.editor.dataSource.displayName=a,e.editor.helpId=r;const{displayType:s,idField:f,textField:d}=l;e.editor.displayType=s,e.editor.dataSource.idField=f,e.editor.textField=d,e.editor.dataSource.type="ViewObject",e.editor.dataSource.uri||(e.editor.dataSource.uri=Cs(e.id))}}},Ss={convertFrom:(e,t)=>{var o;return(o=e.editor.dataSource)==null?void 0:o.idField},convertTo:(e,t,o)=>{if(o&&o.length>0){const i=o[0];e.editor.dataSource.idField=i==null?void 0:i.bindingPath}}},xs={convertFrom:(e,t)=>{var o;return(o=e.editor)==null?void 0:o.textField},convertTo:(e,t,o)=>{if(o&&o.length>0){const i=o[0];e.editor.textField=i==null?void 0:i.bindingPath}}},_s={convertFrom:(e,t)=>e.editor.displayType?e.editor.displayType.toUpperCase():"LIST",convertTo:(e,t,o)=>{e.editor.displayType=o}},Io=Symbol("schema_repository_token");class Oo extends Ae{getPropertyConfig(t,o){const i=this.getBasicProperties(t,o),a=this.getAppearanceConfig(),r=this.getBehaviorConfig(t),l=this.getLookupConfig(t.editor);return{type:"object",categories:{basic:i,appearance:a,behavior:r,lookup:l}}}getBehaviorConfig(t){return{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean",$converter:st},readonly:{description:"",title:"只读",type:"boolean",$converter:st},required:{visible:!1,description:"",title:"必填",type:"boolean",$converter:st},visible:{description:"",title:"可见",type:"boolean",$converter:bs},placeHolder:{visible:!1,description:"",title:"提示文本",type:"string"},tabindex:{visible:!1,description:"",title:"tab索引",type:"number"}}}}getLookupConfig(t){return{description:"Basic Infomation",title:"编辑器",properties:{dataSource:{description:"数据源",title:"数据源",type:"string",refreshPanelAfterChanged:!0,editor:{type:"schema-selector",title:"选择数据源",editorParams:{propertyData:t,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},viewOptions:[{id:"recommend",title:"推荐",type:"List",dataSource:"Recommand",enableGroup:!0,groupField:"category",groupFormatter:(o,i)=>`${o==="local"?"本地元数据":"最近使用"}`},{id:"total",title:"全部",type:"List",dataSource:"Total"}],repositoryToken:Io,onSubmitModal:o=>{if(o){const i=this.formSchemaUtils.getFormMetadataBasicInfo();return this.metadataService.getPickMetadata(i.relativePath,o[0].data).then(a=>JSON.parse(a==null?void 0:a.metadata.content))}}},$converter:ws},displayType:{description:"类型: 树列表、列表、双列表、左树右列表",title:"展示类型",type:"string",$converter:_s,editor:{type:"combo-list",data:[{text:"列表",value:"LIST"},{text:"树列表",value:"TREELIST"},{text:"双列表",value:"NAVLIST"},{text:"左树右列表",value:"NAVTREELIST"}],textField:"text",idField:"value",valueField:"value"}},idField:{description:"数据源标识字段",title:"标识字段",type:"string",editor:{type:"field-selector",bindingType:{enable:!1},textField:"bindingPath",editorParams:{propertyData:t,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:Rt},$converter:Ss},textField:{description:"显示文本字段",title:"文本字段",type:"string",$converter:xs,editor:{type:"field-selector",bindingType:{enable:!1},textField:"bindingPath",editorParams:{propertyData:t,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:Rt}},mappingFields:{description:"字段映射",title:"字段映射",type:"string",$converter:st,editor:{type:"mapping-editor",modalWidth:800,modalHeight:600,editable:!1,fromData:{editable:!1,editorParams:{propertyData:t,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},formatter:(o,i)=>`${i.raw[o.field]} [${i.raw.bindingPath}]`,idField:"id",textField:"name",valueField:"bindingPath",repositoryToken:Rt},toData:{idField:"id",textField:"name",valueField:"bindingPath",dataSource:this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId),formatter:(o,i)=>`${i.raw[o.field]} [${i.raw.bindingPath}]`}}},multiSelect:{description:"启用多选",$converter:st,title:"启用多选",type:"boolean"},separator:{description:"多选分隔符",$converter:st,title:"多选分隔符",type:"string"}}}}}function Fs(e,t){const{canAccepts:o,checkCanDeleteComponent:i,checkCanMoveComponent:a,hideNestedPaddingInDesginerView:r,onAcceptMovedChildElement:l,resolveComponentContext:s,triggerBelongedComponentToMoveWhenMoved:f,triggerBelongedComponentToDeleteWhenDeleted:d}=bn(e);function p(c,u){const _=e.schema;return new Oo(c,t).getPropertyConfig(_,u)}return{canAccepts:o,checkCanDeleteComponent:i,checkCanMoveComponent:a,hideNestedPaddingInDesginerView:r,onAcceptMovedChildElement:l,resolveComponentContext:s,triggerBelongedComponentToMoveWhenMoved:f,triggerBelongedComponentToDeleteWhenDeleted:d,getPropsConfig:p}}const Vs=n.defineComponent({name:"FLookupDesign",props:mt,emits:[],setup(e,t){const o=n.ref(),i=n.inject("design-item-context"),a=n.inject("designer-host-service"),r=Fs(i,a),l=rt(o,i,r);return n.onMounted(()=>{o.value.componentInstance=l}),t.expose(l.value),()=>n.createVNode("div",{class:"f-lookup-design",ref:o},[n.createVNode(hn,{ref:o,readonly:!0,editable:!1,placeholder:e.placeholder},null)])}});Ze.register=(e,t,o,i)=>{e["button-edit"]=Ze,t["button-edit"]=un},Ze.registerDesigner=(e,t,o)=>{e["button-edit"]=hn,t["button-edit"]=un},Xe.withInstall(Ze);const $o=new Map([["appearance",Ge]]);function Bo(e,t,o){return t}const Ns={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/layout.schema.json",title:"layout",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for layout component",type:"string"},type:{description:"The type string of layout component",type:"string",default:"layout"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},contents:{description:"",type:"array",default:[]},collapsable:{description:"",type:"boolean",default:!1},resizable:{description:"",type:"boolean",default:!0},visible:{description:"",type:"boolean",default:!0}},required:["id","type","contents"]},ks={title:"layout",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"类型",title:"类型",type:"string",readonly:!0}}},behavior:{description:"Basic Infomation",title:"行为",properties:{collapsable:{description:"",title:"可收折",type:"boolean"},resizable:{description:"",title:"可调整尺寸",type:"boolean"}}}}},Qt={customStyle:{type:String,defaut:""},customClass:{type:String,defaut:""}},Mo=Ie(Qt,Ns,$o,Bo,ks);function jo(e){const t=n.ref(-1),o=n.ref(-1),i=n.ref(0),a=n.ref(0),r=n.ref(!1),l=n.ref(!1),s=n.computed(()=>({display:r.value?"block":"none",left:`${i.value}px`,cursor:"e-resize"})),f=n.computed(()=>({display:l.value?"block":"none",top:`${a.value}px`,cursor:"n-resize"})),d=n.computed(()=>({display:l.value||r.value?"block":"none"}));function p(b,S,C,g){const F=e.value;if(F){const{left:x,right:h,width:V}=F.getBoundingClientRect();let v=b.clientX-x;g==="right"&&(v=h-b.clientX),v>S&&(v=S),v<C&&(v=C),g==="right"&&(v=V-v),i.value=v}}function c(b,S,C,g){const F=e.value;if(F){const{top:x,bottom:h,height:V}=F.getBoundingClientRect();let v=b.clientY-x;g==="bottom"&&(v=h-b.clientY),v>S&&(v=S),v<C&&(v=C),g==="bottom"&&(v=V-v),a.value=v}}function u(){const b=e.value;if(b){const{width:S,height:C}=b.getBoundingClientRect();return{width:S,height:C}}return null}function _(){const b=e.value;return b?Array.from(b.querySelectorAll("[data-position]")).reduce((S,C)=>{const g=C.getAttribute("data-position");return S=Object.assign(S,{[g]:C}),S},{}):null}function m(b,S){const C=u(),g=_();if(C&&g){const F=g==null?void 0:g.right,x=g==null?void 0:g.left;if(b==="left"&&x)return F?C.width-F.clientWidth-S:C.width-S;if(b==="right"&&F)return x?C.width-x.clientWidth-S:C.width-S}}function y(b,S){const C=u(),g=_();if(C&&g){const F=g==null?void 0:g.bottom,x=g==null?void 0:g.top;if(b==="top"&&x)return F?C.height-F.clientHeight-S:C.height-S;if(b==="bottom"&&F)return x?C.height-x.clientHeight-S:C.height-S}}return{horizontalResizeHandleStyle:s,verticalResizeHandleStyle:f,resizeOverlayStyle:d,showHorizontalResizeHandle:r,showVerticalResizeHandle:l,horizontalResizeBarPosition:t,verticalResizeBarPosition:o,verticalResizeHandleOffset:a,horizontalResizeHandleOffset:i,draggingHorizontalResizeHandle:p,draggingVerticalResizeHandle:c,getPanelMaxHeight:y,getPanelMaxWidth:m}}const nt=n.defineComponent({name:"FLayout",props:Qt,emits:[],setup(e,t){const o=n.ref(),i=jo(o),{horizontalResizeHandleStyle:a,verticalResizeHandleStyle:r,resizeOverlayStyle:l}=i;n.provide("layout",{useResizeHandleComposition:i});const s=n.computed(()=>Cr({"f-layout":!0},e==null?void 0:e.customClass)),f=n.computed(()=>wr({},e==null?void 0:e.customStyle));return()=>n.createVNode("div",{class:s.value,style:f.value,ref:o},[t.slots.default&&t.slots.default(),n.createVNode("div",{class:"f-layout-resize-overlay",style:l.value},null),n.createVNode("div",{class:"f-layout-horizontal-resize-proxy",style:a.value},null),n.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:r.value},null)])}}),Ts={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/layout-pane.schema.json",title:"layout-pane",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a layout pane",type:"string"},type:{description:"The type string of layout paney",type:"string",default:"layout-pane"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},collapsable:{description:"",type:"boolean",default:!1},contents:{description:"",type:"array",default:[]},height:{description:"",type:"number"},position:{description:"",type:"string",default:"left",enum:["left","center","right","top","bottom"]},resizeable:{description:"",type:"boolean",default:!0},width:{description:"",type:"number"},visible:{description:"",type:"number",default:!0}}},Is={title:"layout-pane",description:"A Farris Container Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"enum"},width:{description:"",type:"number",title:"宽度"},height:{description:"",type:"number",title:"高度"}}},appearance:{title:"样式",description:"Appearance",properties:{class:{title:"class",type:"string",description:""},style:{title:"style",type:"string",description:""}}},behavior:{description:"",title:"行为",properties:{collapsable:{description:"",type:"boolean",title:"允许收折"},position:{description:"",type:"enum",title:"位置",editor:{type:"combo-list",data:[{id:"left",name:"左侧"},{id:"center",name:"居中"},{id:"right",name:"右侧"},{id:"top",name:"顶部"},{id:"bottom",name:"底部"}]}},resizeable:{description:"",type:"boolean",title:"允许调整尺寸"},visible:{description:"运行时组件是否可见",type:"boolean",title:"是否可见"}}}}},Zt={customClass:{type:String,defaut:""},customStyle:{type:String,defaut:""},width:{type:Number,default:-1},height:{type:Number,default:-1},position:{type:String,default:"left"},visible:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},collapsable:{type:Boolean,default:!1},minWidth:{type:Number,default:100},minHeight:{type:Number,default:100}},Po=Ie(Zt,Ts,$o,Bo,Is);function Do(e,t,o,i,a){const{horizontalResizeBarPosition:r,horizontalResizeHandleOffset:l,showHorizontalResizeHandle:s,showVerticalResizeHandle:f,verticalResizeBarPosition:d,verticalResizeHandleOffset:p,draggingHorizontalResizeHandle:c,draggingVerticalResizeHandle:u,getPanelMaxHeight:_,getPanelMaxWidth:m}=a;let y="",b,S,C;function g(h){if((y==="left"||y==="right")&&S){const{left:V}=S.getBoundingClientRect(),{width:v}=b.getBoundingClientRect(),w=h.clientX-V;let k=y==="left"?(v||0)+(w-r.value):(v||0)-(w-r.value);k=o.value>0?Math.max(o.value,k):k;const I=m(y,o.value);I!=null&&(k=I>k?k:I),e.value=k}if((y==="top"||y==="bottom")&&S){const{top:V}=S.getBoundingClientRect(),{height:v}=b.getBoundingClientRect(),w=h.clientY-V;let k=y==="top"?(v||0)+(w-d.value):(v||0)-(w-d.value);k=i.value>0?Math.max(i.value,k):k;const I=_(y,i.value);I!=null&&(k=I>k?k:I),t.value=k}l.value=0,p.value=0,r.value=-1,d.value=-1,s.value=!1,f.value=!1,document.removeEventListener("mousemove",C),document.removeEventListener("mouseup",g),document.body.style.userSelect="",y="",b=null,S=null}function F(h,V,v){if(y=V,b=v,s.value=!0,S=h.composedPath().find(k=>(k.className||"").split(" ")[0]==="f-layout"),S){const{left:k}=S.getBoundingClientRect(),I=h.clientX-k;l.value=I,r.value=I;const O=m(y,o.value)||0;C=T=>c(T,O,o.value,y),document.addEventListener("mousemove",C),document.addEventListener("mouseup",g),document.body.style.userSelect="none"}}function x(h,V,v){if(y=V,b=v,f.value=!0,S=h.composedPath().find(k=>(k.className||"").split(" ")[0]==="f-layout"),S){const{top:k}=S.getBoundingClientRect();p.value=h.clientY-k,d.value=h.clientY-k;const I=_(y,i.value)||0;C=O=>u(O,I,i.value,y),document.addEventListener("mousemove",C),document.addEventListener("mouseup",g),document.body.style.userSelect="none"}}return{onClickHorizontalResizeBar:F,onClickVerticalResizeBar:x}}const yt=n.defineComponent({name:"FLayoutPane",props:Zt,emits:[],setup(e,t){const o=n.ref(e.minHeight<=0?100:e.minHeight),i=n.ref(e.minWidth<=0?100:e.minWidth),a=n.ref(e.width<=0?100:e.width),r=n.ref(e.height<=100?100:e.height),l=n.ref(Math.max(o.value,r.value)),s=n.ref(Math.max(i.value,a.value)),f=n.ref(),d=n.ref(e.position),p=n.ref(e.resizable);n.watch(()=>e.resizable,x=>{p.value=x});const c=n.inject("layout"),{useResizeHandleComposition:u}=c,_=Do(s,l,i,o,u),{onClickHorizontalResizeBar:m,onClickVerticalResizeBar:y}=_,b=n.computed(()=>({"f-layout-resize-bar":!0,"f-layout-resize-bar-e":d.value==="left","f-layout-resize-bar-n":d.value==="bottom","f-layout-resize-bar-s":d.value==="top","f-layout-resize-bar-w":d.value==="right"})),S=n.computed(()=>d.value!=="center"&&p.value);function C(x,h){(h==="left"||h==="right")&&m(x,h,f.value),(h==="top"||h==="bottom")&&y(x,h,f.value)}const g=n.computed(()=>{const x={"f-layout-pane":!0,"f-page-content-nav":d.value==="left"||d.value==="right","f-page-content-main":d.value==="center"};return e.customClass&&String(e.customClass).split(" ").reduce((h,V)=>(h[V]=!0,h),x),x}),F=n.computed(()=>{const x={};return(s.value&&d.value==="left"||d.value==="right")&&(x.width=`${s.value}px`),(l.value&&d.value==="bottom"||d.value==="top")&&(x.height=`${l.value}px`),e.visible||(x.display="none"),x});return()=>n.createVNode("div",{ref:f,class:g.value,style:F.value,"data-position":d.value},[t.slots.default&&t.slots.default(),S.value&&n.createVNode("span",{class:b.value,onMousedown:x=>C(x,d.value)},null)])}});function Os(e,t){function o(){return!1}return{canAccepts:o}}const $s=n.defineComponent({name:"FLayoutDesign",props:Qt,emits:[],setup(e,t){var p;const o=n.ref(),i=n.inject("design-item-context"),a=Os(i.schema,(p=i.parent)==null?void 0:p.schema),r=rt(o,i,a);r.value.canNested=!1;const l=jo(o),{horizontalResizeHandleStyle:s,verticalResizeHandleStyle:f,resizeOverlayStyle:d}=l;return n.provide("layout",{useResizeHandleComposition:l}),n.onMounted(()=>{o.value.componentInstance=r}),t.expose(r.value),()=>n.createVNode("div",{class:"f-layout f-page-content",ref:o},[t.slots.default&&t.slots.default(),n.createVNode("div",{class:"f-layout-resize-overlay",style:d.value},null),n.createVNode("div",{class:"f-layout-horizontal-resize-proxy",style:s.value},null),n.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:f.value},null)])}});function Bs(e,t){function o(r){return!!cr().basalDragulaRuleForContainer(r)}function i(r,l,s){return s}function a(){const r=["f-layout-pane"];return(e.position==="left"||e.position==="right")&&r.push("f-page-content-nav"),e.position==="center"&&r.push("f-page-content-main"),r.join(" ")}return{canAccepts:o,getDesignerClass:a,onAcceptNewChildElement:i}}const Ms=n.defineComponent({name:"FLayoutPaneDesign",props:Zt,emits:[],setup(e,t){var x;const o=n.ref(),i=n.ref(),a=n.inject("design-item-context"),r=Bs(a.schema,(x=a.parent)==null?void 0:x.schema),l=rt(i,a,r);l.value.canNested=!1,l.value.canMove=!1,l.value.canDelete=!1,n.onMounted(()=>{i.value.componentInstance=l}),t.expose(l.value);const s=n.ref(Math.max(e.minHeight,e.height)),f=n.ref(Math.max(e.minWidth,e.width)),d=n.ref(e.minHeight),p=n.ref(e.minWidth),c=n.ref(e.position),u=n.inject("layout"),{useResizeHandleComposition:_}=u,m=Do(f,s,p,d,_),{onClickHorizontalResizeBar:y,onClickVerticalResizeBar:b}=m,S=n.computed(()=>({"f-layout-resize-bar":!0,"f-layout-resize-bar-e":c.value==="left","f-layout-resize-bar-n":c.value==="bottom","f-layout-resize-bar-s":c.value==="top","f-layout-resize-bar-w":c.value==="right"}));function C(h,V){(V==="left"||V==="right")&&y(h,V,o.value),(V==="top"||V==="bottom")&&b(h,V,o.value)}const g=n.computed(()=>{const h={"f-layout-pane":!0,"f-page-content-nav":c.value==="left"||c.value==="right","f-page-content-main":c.value==="center"};return e.customClass&&String(e.customClass).split(" ").reduce((V,v)=>(V[v]=!0,V),h),h}),F=n.computed(()=>{const h={flex:"1"};return(f.value&&c.value==="left"||c.value==="right")&&(h.width=`${f.value}px`),(s.value&&c.value==="bottom"||c.value==="top")&&(h.height=`${s.value}px`),h});return()=>n.createVNode("div",{ref:o,class:g.value,style:F.value},[n.createVNode("div",{ref:i,class:"drag-container","data-dragref":`${a.schema.id}-container`},[t.slots.default&&t.slots.default()]),n.createVNode("span",{class:S.value,onMousedown:h=>C(h,c.value)},null)])}});nt.install=e=>{e.component(nt.name,nt),e.component(yt.name,yt)},nt.register=(e,t,o,i)=>{e.layout=nt,t.layout=Mo,e["layout-pane"]=yt,t["layout-pane"]=Po},nt.registerDesigner=(e,t,o)=>{e.layout=$s,t.layout=Mo,e["layout-pane"]=Ms,t["layout-pane"]=Po};function vt(e){function t(d){const p={enable:!0,sizeLimits:[10,20,30,50,100],size:20,index:1,total:0,mode:"server"},c=Object.assign({},p,d||e.pagination);return e.pagination?c:p}function o(){return{enableSelectRow:!0,multiSelect:e.multiSelect,showCheckbox:e.multiSelect,multiSelectMode:"DependOnCheck"}}function i(){return{fitColumns:e.fitColumns,fitMode:"percentage",resizeColumn:!0}}function a(){return typeof e.displayType=="string"&&e.displayType in Ue?!1:e.displayType.toLowerCase().indexOf("nav")===0}function r(){return e.displayType.toLowerCase()===Ue.Tree.toLowerCase()||e.displayType.toLowerCase()===Ue.ListTree.toLowerCase()}function l(){return e.displayType.toLowerCase()===Ue.TreeList.toLowerCase()}function s(){const d=e.displayType.toLowerCase();return d===Ue.ListList.toLowerCase()||d===Ue.ListTree.toLowerCase()}function f(){return e.navigation?{width:e.navigation.width||320,minWidth:e.navigation.minWidth||200}:null}return{checkPaination:t,checkMultiSelect:o,checkColumnOptions:i,isDoubleList:a,getNavigationSize:f,isTreeList:r,navIsTreeList:l,navIsList:s}}const He=n.reactive({}),ye=n.reactive({}),Oe=n.reactive({}),ct=n.reactive({}),Ke=n.reactive({}),bt=n.ref([]);function Ro(e){var i;const t=n.ref(e.searchFields||[]),o=n.ref(((i=e.navigation)==null?void 0:i.searchFields)||[]);return n.watch(()=>ye==null?void 0:ye.searchFields,a=>{t.value=a}),n.watch(()=>Oe==null?void 0:Oe.searchFields,a=>{o.value=a}),{searchFieldItems:t,navSearchFieldItems:o}}const en=n.ref();function Ct(e,t){const o=n.inject("FLoadingService",null),i=n.inject(yn,null),{searchFieldItems:a}=Ro(e),r=n.ref(e.uri);function l(m,y,b=!1){if(!y.trim())return[];const S=Array.from(new Set(y.trim().split(" ").filter(F=>F.trim())));if(!m||!S.length)return[];const C=(m||[]).map((F,x)=>{const h=S.map((V,v)=>({filterField:F.value,value:V,lbracket:"",rbracket:"",relation:xt.And,compare:Pt.Like}));return h.length&&(h.length>1&&(h[0].lbracket="(",h[h.length-1].rbracket=")"),h[h.length-1].relation=xt.Or),h}).filter(F=>F.length);let g=[];return C&&C.length&&(g=Re.flatten(C),g.length>1&&(g[0].lbracket+="(",g[g.length-1].rbracket+=")"),g[g.length-1].relation=0),g}function s(m,y){const b={};b.category=y;let S=null,C=null;if(m!=null&&m.search){const{field:g,value:F,isNavigation:x,type:h}=m.search,V=h||"like";if(F&&(b.searchValue=F.trim()),b.searchField=g?g.trim():"*",b.searchType=V,x&&(b.category="navsearch"),!e.enableMultiFieldSearch&&b.searchField==="*"){const v=l(a.value,F,x);v&&v.length&&(x?S=v:C=v),F===""&&b.category==="search"&&!C&&!S&&(b.category="all")}}return{searchParam:b,navSearchConditions:S,searchConditions:C}}function f(m){var F,x;const y={},b=(m==null?void 0:m.action)||"all",{searchParam:S,navSearchConditions:C,searchConditions:g}=s(m,b);return g&&(y.searchConditions=g),C&&(y.navSearchConditions=C),y.searchValue=JSON.stringify(S),y.pageIndex=((F=He.default)==null?void 0:F.index)||1,y.pageSize=((x=He.default)==null?void 0:x.size)||20,y.treeToList=e.treeToList,y.navTreeToList=e.navTreeToList,y.loadTreeDataType=e.loadTreeDataType,m!=null&&m.relationFilter&&(y.relationFilter=[...m.relationFilter]),m.selectedInfo&&(y.selectedInfo=m.selectedInfo),y.customData=n.toRaw(en.value),y}function d(m){return m==null?void 0:m.map(y=>(y.resizable=!0,y))}function p(m,y){return m.map(b=>{const S=y==null?void 0:y.find(C=>C.field.toLowerCase()===b.value.toLowerCase());return S&&(b.label=S.title),b})}function c(m){m.columns&&(m.columns=d(m.columns),m.searchFields&&(m.searchFields=p(m.searchFields,m.columns))),m.navigation&&m.navigation.columns&&(m.navigation.columns=d(m.navigation.columns),m.navigation.searchFields&&(m.navigation.searchFields=p(m.navigation.searchFields,m.navigation.columns)))}function u(m){return r.value&&i?i.getData(r.value,m).then(y=>(c(y),y)):new Promise((y,b)=>{y({columns:[...e.columns],items:[...e.data],searchFields:[...e.searchFields],navigation:{...e.navigation}})})}function _(m,y){const b=f(m);o==null||o.show(),u(b).then(S=>{o==null||o.clearAll(),y(S)})}return{getData:u,loadData:_}}function Eo(e){n.watch(()=>e.pagination,o=>{He.default=o}),n.watch(()=>{var o;return(o=e.navigation)==null?void 0:o.pagination},o=>{He.navigation=o});function t(o,i=!1){o&&(i?He.navigation={...He.navigation,...o}:He.default={...He.default,...o})}return{updatePageInfo:t}}function js(e,t,o){const{checkPaination:i,checkMultiSelect:a,checkColumnOptions:r}=vt(e),{updatePageInfo:l}=Eo(e),s=i(),f=a(),d=r(),p=n.ref(),c=n.ref([]),u=n.ref([]),{navSelectedItems:_,getNavigationIdField:m,getRelationFilter:y}=o;l(s);const b=n.ref(He.default),{loadData:S}=Ct(e);n.watch(()=>He.default,w=>{b.value=w});function C(w){var k;(k=p.value)==null||k.updateDataSource(w||[])}function g(w){var k;(k=p.value)==null||k.updateColumns(w)}n.watch(()=>_.value,w=>{if(e.uri){const I=y(w);l({index:1}),S({relationFilter:I,action:"list"},O=>{C(O.items)});return}const k=w.map(I=>I[m()]);t.emit("navSelectionsChanged",{items:w,ids:k})}),n.watch([()=>ye==null?void 0:ye.columns,()=>ye==null?void 0:ye.items,()=>ye==null?void 0:ye.pageInfo,()=>ye==null?void 0:ye.total],([w,k,I,O])=>{const T={total:O};if(I){const{pageIndex:N,pageSize:$,enablePager:B,pageList:j}=I;Object.assign(T,{index:N,size:$,enable:B,sizeLimits:j})}l(T),w&&g(w),C(k)}),n.watch(()=>e.idValue,w=>{c.value=w.split(e.separator)}),n.watch(()=>u.value,w=>{bt.value=w});function F(w){u.value=w}function x(){S({search:Ke.default,action:"list"},w=>{C(w.items)})}n.watch(()=>Ke.default,w=>{if(e.uri){l({index:1}),x();return}t.emit("search",w)});function h(w){var I;const k={index:w,isNavigation:!1};if(l(k),w!==((I=b.value)==null?void 0:I.index)){if(e.uri){x();return}t.emit("pageIndexChanged",k)}}function V(w){const k={size:w,index:1,isNavigation:!1};if(l(k),e.uri){x();return}t.emit("pageSizeChanged",k)}function v(){return n.createVNode(Ye,{ref:p,pagination:b.value,summary:{enable:!1},columnOption:d,idField:e.idField,rowNumber:{enable:!1},showBorder:!0,fit:!0,selection:f,selectionValues:c.value,onSelectionChange:F,onPageIndexChanged:h,onPageSizeChanged:V},null)}return{datagridRef:p,selectedItems:u,selectionValues:c,renderDataGrid:v}}function Ps(e,t){const{checkMultiSelect:o,checkColumnOptions:i}=vt(e),a=o(),r=i(),l=n.ref(),s=n.ref([]),f=n.ref([]),{loadData:d}=Ct(e);function p(y){var b;(b=l.value)==null||b.updateDataSource(y||[])}function c(y){var b;(b=l.value)==null||b.updateColumns(y)}n.watch([()=>ye==null?void 0:ye.columns,()=>ye==null?void 0:ye.items,()=>ye==null?void 0:ye.pageInfo,()=>ye==null?void 0:ye.total],([y,b,S,C])=>{y&&c(y),p(b)}),n.watch(()=>f.value,y=>{bt.value=y});function u(y){f.value=y}function _(){d({search:Ke.default,action:"list"},y=>{p(y.items)})}n.watch(()=>Ke.default,y=>{if(e.uri){_();return}t.emit("search",y)});function m(){return n.createVNode(lt,{ref:l,fit:!0,data:e.data,idField:e.idField,columns:e.columns,rowNumber:{enable:!1},columnOption:r,selection:a,showBorder:!0,displayField:"code",onSelectionChange:u},null)}return{treegridRef:l,selectedTreeNodes:f,selectionTreeValues:s,renderTreeGrid:m}}const Ds=new Map([["appearance",Ge]]),Rs={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},data:{description:"",type:"array"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"],ignore:["id","appearance","binding"]};function Es(e,t,o){return t}const tn={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-60-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!1},enableTitle:{default:!0,type:Boolean},fitEditor:{default:!1,type:Boolean},forcePlaceholder:{default:!1,type:Boolean},hidePanelOnClear:{default:!0,type:Boolean},idField:{default:"id",type:String},mapFields:{type:Object},maxHeight:{default:350,type:Number},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{},placeholder:{type:String},placement:{type:String,default:"auto"},readonly:{default:!1,type:Boolean},remote:{default:null,type:Object},remoteSearch:{default:!1,type:Boolean},separator:{default:",",type:String},tabIndex:{type:Number,default:-1},textField:{default:"name",type:String},titleField:{default:"name",type:String},valueField:{default:"id",type:String},viewType:{default:"tag",type:String},change:{type:Function,default:()=>{}},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!0},beforeOpen:{type:Function,default:null},searchOption:{type:Object,default:!1},enableHighlightSearch:{type:Boolean,default:!0}},Lo=Ie(tn,Rs,Ds,Es),Ls={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:Object,default:!1},enableHighlightSearch:{type:Boolean,default:!0},showCheckbox:{type:Boolean,default:!1}},As=n.defineComponent({name:"FComboListContainer",props:Ls,emits:["selectionChange"],setup(e,t){const o=n.ref(),i=n.ref(e.dataSource),a=n.ref([]),r=n.ref(e.separator),l=n.ref(e.width),s=n.ref(e.maxHeight),f=n.ref(String(e.selectedValues).split(r.value)),d=n.computed(()=>e.multiSelect),p=n.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:d.value,showSelectAll:!1,showSelection:!0}));n.watch(e.dataSource,()=>{i.value=e.dataSource});const c=n.computed(()=>e.enableSearch?"SearchBar":"ContentHeader"),u=n.computed(()=>{const y={};return l.value!==void 0&&(y.width=`${l.value}px`),s.value!==void 0&&s.value>0&&(y.maxHeight=`${s.value}px`),y});function _(y){a.value=y.map(b=>Object.assign({},b)),f.value=y.map(b=>b[e.idField]),t.emit("selectionChange",a.value)}function m(y){if(e.enableHighlightSearch)return;let b=[];typeof e.searchOption=="function"?b=i.value.filter(S=>e.searchOption(y,S)):b=i.value.filter(S=>S[e.valueField].indexOf(y)>-1||S[e.textField].indexOf(y)>-1),o.value.updateDataSource(b)}return n.watch([()=>e.selectedValues],([y])=>{f.value=y.split(r.value)}),()=>n.createVNode("div",{class:"f-combo-list-container pl-1",style:u.value},[n.createVNode(sn,{ref:o,size:"small",itemClass:"f-combo-list-item",header:c.value,headerClass:"f-combo-list-search-box",data:i.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:p.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:f.value,onSelectionChange:_,onAfterSearch:m},null)])}});function Hs(e){const t=n.ref(""),o=n.ref(e.modelValue),i=n.ref(e.data||[]),a=n.ref(e.editable);function r(c){const u=String(c).split(e.separator),_=u.map(b=>[b,!0]),m=new Map(_);return i.value.filter(b=>m.has(String(b[e.valueField]))).sort((b,S)=>{const C=u.indexOf(b[e.valueField]),g=u.indexOf(S[e.valueField]);return C-g})}function l(c){const u=r(c).map(_=>_[e.textField]).join(e.separator);t.value=a.value?u||c:u}function s(c){const u=c.split(e.separator).map(m=>[m,!0]),_=new Map(u);return i.value.filter(m=>_.has(m[e.textField]))}function f(c){const u={};return u[e.idField]=c,u[e.textField]=c,[u]}function d(c){let u=s(c);const _=u&&u.length>0;return a.value&&!_&&(u=f(c)),u}function p(){const{url:c,method:u="GET",headers:_={},body:m=null}=e.remote,y=u.toLowerCase()=="get"?{method:u,headers:_}:{method:u,headers:_,body:m};let b=!1;fetch(c,y).then(S=>{var g,F;if(S.status===200)return b=!!((F=(g=S.headers)==null?void 0:g.get("content-type"))!=null&&F.includes("application/json")),b?S.text():S.json();throw new Error(S.statusText)}).then(S=>{i.value=b?JSON.parse(S):S}).catch(S=>{console.error(S)})}return e.remote&&p(),n.watch(()=>e.data,()=>{i.value=e.data}),n.watch([i],([c])=>{if(e.modelValue){const u=c.find(_=>_[e.valueField]===e.modelValue);u&&(t.value=u[e.textField])}}),n.watch(()=>e.modelValue,c=>{o.value=c,l(c)}),l(e.modelValue),{dataSource:i,displayText:t,editable:a,modelValue:o,getItemsByDisplayText:s,getItemsByValue:r,getSelectedItemsByDisplayText:d}}const wt=n.defineComponent({name:"FComboList",props:tn,emits:["clear","update:modelValue","change","input"],setup(e,t){const o=n.ref(),i=n.ref(e.disabled),a=n.ref(e.enableClear),r=n.ref(e.enableSearch),l=n.ref(e.readonly),{dataSource:s,displayText:f,editable:d,modelValue:p,getSelectedItemsByDisplayText:c}=Hs(e),u=n.computed(()=>e.multiSelect),_=n.computed(()=>o.value?o.value.elementRef.getBoundingClientRect().width:0);function m(){!u.value&&o.value&&o.value.hidePopup()}function y(x){f.value=x.map(h=>h[e.textField]).join(e.separator),x.length===1?p.value=x[0][e.valueField]:p.value=x.map(h=>h[e.valueField]).join(e.separator),t.emit("update:modelValue",p.value),t.emit("change",x,p.value),m()}function b(){l.value||o.value.togglePopup()}function S(x){p.value="",t.emit("update:modelValue",""),t.emit("clear")}function C(x){const h=c(x);y(h)}function g(){return f.value}function F(x){t.emit("input",x)}return t.expose({getDisplayText:g}),n.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([x,h,V,v,w])=>{i.value=x,d.value=h,a.value=V,r.value=v,l.value=w}),()=>n.createVNode(ln,{ref:o,id:e.id,disable:i.value,readonly:l.value,forcePlaceholder:e.forcePlaceholder,editable:d.value,buttonContent:e.dropDownIcon,placeholder:e.placeholder,enableClear:a.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:f.value,"onUpdate:modelValue":x=>f.value=x,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:S,onClick:b,onChange:C,onInput:F,beforeOpen:e.beforeOpen},{default:()=>[n.createVNode(As,{idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:s.value,selectedValues:p.value,multiSelect:e.multiSelect,enableSearch:r.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?_.value:void 0,onSelectionChange:y},null)]})}});function Gs(e,t){const{canAccepts:o,checkCanDeleteComponent:i,checkCanMoveComponent:a,hideNestedPaddingInDesginerView:r,onAcceptMovedChildElement:l,resolveComponentContext:s,triggerBelongedComponentToMoveWhenMoved:f,triggerBelongedComponentToDeleteWhenDeleted:d}=bn(e),p=e.schema;function c(u,_){return new ko(u,t).getPropertyConfig(p,_)}return{canAccepts:o,checkCanDeleteComponent:i,checkCanMoveComponent:a,hideNestedPaddingInDesginerView:r,onAcceptMovedChildElement:l,resolveComponentContext:s,triggerBelongedComponentToMoveWhenMoved:f,triggerBelongedComponentToDeleteWhenDeleted:d,getPropsConfig:c}}const Ws=n.defineComponent({name:"FComboListDesign",props:tn,emits:["clear","update:modelValue","change"],setup(e,t){const o=n.ref(),i=n.inject("designer-host-service"),a=n.inject("design-item-context"),r=Gs(a,i),l=nn.useDesignerComponent(o,a,r);return n.onMounted(()=>{o.value.componentInstance=l}),t.expose(l.value),()=>n.createVNode(Hi,{ref:o,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}});wt.register=(e,t,o,i)=>{e["combo-list"]=wt,t["combo-list"]=Lo},wt.registerDesigner=(e,t,o)=>{e["combo-list"]=Ws,t["combo-list"]=Lo},Gn(wt);const zs={fields:{type:Array,default:()=>[]},showAllColumns:{type:Boolean,default:!0}},qs=n.defineComponent({name:"FLookupSearchBar",props:zs,emits:["search"],setup(e,t){const o=n.ref(e.fields||[]),i=n.ref(""),a=n.ref(ct.value),r=n.computed(()=>({field:i.value,value:a.value}));function l(){if(!o.value.length)return;let p="";e.showAllColumns&&(p="*"),p=o.value[0].value;const c=o.value.find(u=>!!u.isDefault);c&&(p=c.value),i.value=p}n.watch(()=>e.fields,p=>{o.value=p,l()});function s(){t.emit("search",r.value)}function f(){a.value="",s()}function d(p){p.key==="Enter"&&s()}return n.onMounted(()=>{l()}),()=>n.createVNode("div",{class:"fv-lookup-search-bar d-flex flex-row"},[n.createVNode("div",{style:"width: 160px;"},[n.createVNode(wt,{data:o.value,textField:"label",valueField:"value",idField:"value",modelValue:i.value,"onUpdate:modelValue":p=>i.value=p,enableClear:!1},null)]),n.createVNode("div",{class:"f-utils-fill ml-2"},[n.createVNode(Ze,{buttonContent:'<i class="f-icon f-icon-search"></i>',modelValue:a.value,"onUpdate:modelValue":p=>a.value=p,onClickButton:s,enableClear:!0,onClear:f,onKeyup:d},null)])])}});function Ao(e,t){const{searchFieldItems:o,navSearchFieldItems:i}=Ro(e),a=n.ref([]),r=n.ref([]);function l(d,p=!1){e.showAllSearchColumns,p?r.value=d:a.value=d}l(o.value),l(i.value,!0),n.watch(()=>o.value,d=>{l(d)}),n.watch(()=>i.value,d=>{l(d,!0)});function s(d){const p={...d};if(t){Ke.navigation=p;return}Ke.default=p}function f(){const d=t?r.value||[]:a.value||[];if(e.enableSearchBar&&d.length>0)return n.createVNode("div",{class:"p-2"},[n.createVNode(qs,{fields:d,showAllColumns:e.showSearchAllColumns,onSearch:s},null)])}return{renderSearchBar:f}}function Us(e,t){const{renderSearchBar:o}=Ao(e,!0),{checkPaination:i,navIsList:a,navIsTreeList:r}=vt(e),{updatePageInfo:l}=Eo(e),{loadData:s}=Ct(e),f=n.ref([]),d=e.navigation;if(a()){const I=i(d.pagination);l(I,!0)}const p={enableSelectRow:!0,multiSelect:!1,showCheckbox:!1},c={fitColumns:!0,fitMode:"percentage",resizeColumn:!0},u=n.ref(),_=n.ref();function m(I){var O;(O=_.value)==null||O.updateDataSource(I)}function y(I){var O;(O=_.value)==null||O.updateColumns(I)}n.watch([()=>Oe==null?void 0:Oe.columns,()=>Oe==null?void 0:Oe.items,()=>Oe==null?void 0:Oe.pageInfo,()=>Oe==null?void 0:Oe.total],([I,O,T,N])=>{I&&y(I),m(O);const $={total:N};if(T){const{pageIndex:B,pageSize:j,enablePager:P,pageList:M}=T;Object.assign($,{index:B,size:j,enable:P,sizeLimits:M})}l($,!0)});function b(I){f.value=I}function S(I){f.value=I}function C(){s({search:Ke.navigation,action:"navsearch"},I=>{m(I.items)})}n.watch(()=>Ke.navigation,I=>{if(e.uri){l({index:1}),C();return}t.emit("search",I)});function g(I){const O={index:I,isNavigation:!0};if(l(O),e.uri){C();return}t.emit("pageIndexChanged",O)}function F(I){const O={size:I,index:1,isNavigation:!0};if(l(O),e.uri){C();return}t.emit("pageSizeChanged",O)}function x(){return n.createVNode(lt,{ref:u,fit:!0,data:d.data,idField:d.idField,columns:d.columns,rowNumber:{enable:!1},columnOption:c,selection:p,showBorder:!0,onSelectionChange:b},null)}function h(){return n.createVNode(Ye,{ref:_,pagination:He.navigation,summary:{enable:!1},columnOption:c,idField:d.idField,rowNumber:{enable:!1},showBorder:!0,fit:!0,columns:d.columns,data:d.data,selection:p,onSelectionChange:S,onPageIndexChanged:g,onPageSizeChanged:F},null)}function V(){if(r())return x();if(a())return h()}function v(){return n.createVNode("div",{class:"d-flex h-100 w-100 flex-column"},[o(),n.createVNode("div",{class:"f-utils-fill px-2",style:"position: relative;"},[V()])])}function w(){return d.idField}function k(I){return Oe.relations&&Oe.relations.length?Oe.relations.map(T=>{const{groupField:N,helpField:$}=T,B={fieldName:$,fieldValue:""},j=I.map(P=>N.split(".").reduce((M,D)=>M[D],P));return B.fieldValue=j.join(","),B}):""}return{renderNavigation:v,selectedItems:f,getNavigationIdField:w,getRelationFilter:k}}function Ks(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!n.isVNode(e)}const Xs=n.defineComponent({name:"LookupContainer",props:mt,emits:["update:modelValue","search","navSelectionsChanged","pageIndexChanged","pageSizeChanged","changeDialogOptions","clearSearch"],setup(e,t){const{renderSearchBar:o}=Ao(e,!1),{isDoubleList:i,getNavigationSize:a,isTreeList:r}=vt(e),{renderNavigation:l,selectedItems:s,getNavigationIdField:f,getRelationFilter:d}=Us(e,t),{renderTreeGrid:p}=Ps(e,t),{renderDataGrid:c}=js(e,t,{navSelectedItems:s,getNavigationIdField:f,getRelationFilter:d}),{loadData:u}=Ct(e);function _(){return r()?p():c()}const m=a();function y(){const b={};if(e.enableToSelect){let S=e.idValue||[];Array.isArray(S)||(S=(""+S).split(e.separator)),b.selectedInfo={selectedIds:S,selected:!0},ct.value!=null&&(b.search={field:"*",value:ct.value,type:"like"})}u(b,S=>{S.navigation&&(Object.keys(S.navigation).forEach(C=>{var g;Oe[C]=(g=S.navigation)==null?void 0:g[C]}),delete S.navigation),Object.keys(S).forEach(C=>{ye[C]=S[C]}),t.emit("changeDialogOptions",{title:S.title})})}return n.onMounted(()=>{y()}),()=>{let b;return n.createVNode("div",{class:"h-100 d-flex flex-column mx-2"},[n.createVNode(nt,null,{default:()=>[n.createVNode(yt,{position:"left",width:m==null?void 0:m.width,minWidth:m==null?void 0:m.minWidth,visible:i()},Ks(b=l())?b:{default:()=>[b]}),n.createVNode(yt,{position:"center"},{default:()=>[n.createVNode("div",{class:"d-flex h-100 w-100 flex-column"},[o(),n.createVNode("div",{class:"f-utils-fill px-2",style:"position: relative;"},[_()])])]})]})])}}});function Ys(e,t,o,{dictPicked:i,modelValue:a}){var v,w,k,I,O;const r=n.inject(Xn,null),l=n.ref(e.dialog),s=n.ref(),f=n.ref("accept"),d=n.ref(),{isDoubleList:p}=vt(e);async function c(){const T=o.value.map($=>$[e.textField]).join(e.separator),N=o.value.map($=>$[e.idField]).join(e.separator);return a.value=T,t.emit("update:modelValue",T),t.emit("update:idValue",N),t.emit("update:dataMapping",{items:o.value,mappingFields:e.mappingFields}),await i({items:o.value}),!0}function u(){return f.value="cancel",!0}const _=T=>{Object.keys(T).forEach(N=>{delete T[N]})},m=T=>{T.forEach(N=>{_(N)})};function y(){m([ye,Oe,He,Ke,ct]),d.value=null}async function b(){let T=!0,N="";if(o.value.length===0)return r==null||r.warning({message:"请选择数据!",position:"top-center"}),!1;if(e.beforeSelectData&&typeof e.beforeSelectData=="function"){const $=await e.beforeSelectData({items:o.value});typeof $=="boolean"&&(T=$),typeof $=="object"&&(T=$.canSelect,N=$.message||"")}return T?(c(),f.value="accept",!0):(N&&(r==null||r.warning({message:N,position:"top-center"})),!1)}async function S(T){let N=!0;if(e.dictPicking&&typeof e.dictPicking=="function"){const $=await e.dictPicking({context:{customData:d}});typeof $=="boolean"&&!$&&(N=!1),typeof $=="object"&&($.showDialog?$.data&&(d.value=$.data):(N=!1,$.message&&(r==null||r.error({message:$.message,position:"top-center"}))))}return N}function C(){var P,M,D,H,ne;const T=((P=l.value)==null?void 0:P.height)||620,N=((M=l.value)==null?void 0:M.width)||590,$=((D=l.value)==null?void 0:D.minWidth)||300,B=((H=l.value)==null?void 0:H.minHeight)||200,j={height:T,width:N,minWidth:$,minHeight:B};return p()&&(j.width=((ne=l.value)==null?void 0:ne.width)||960),j}const{width:g,height:F,minHeight:x,minWidth:h}=C();return{modalOptions:{title:(v=l.value)==null?void 0:v.title,fitContent:!1,height:F,width:g,minWidth:h,minHeight:x,showMaxButton:((w=l.value)==null?void 0:w.showMaxButton)==null?!0:(k=l.value)==null?void 0:k.showMaxButton,showCloseButton:((I=l.value)==null?void 0:I.showCloseButton)==null?!0:(O=l.value)==null?void 0:O.showCloseButton,reiszeable:!0,draggable:!0,closedCallback:(T,N)=>{const $={type:f.value,button:T==null?void 0:T.target};(N==="esc"||N==="icon")&&($.type="esc"),$.type==="accept"&&($.items=o.value),($.type==="cancel"||$.type==="esc")&&(a.value=e.modelValue),y(),t.emit("dialogClosed",$)},buttons:[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:T=>u()},{name:"accept",text:"确定",class:"btn btn-primary",handle:T=>b()}],resizeHandle:T=>{s.value=T}},beforeOpenDialog:S,dialogSize:s,customData:d,updateModelValue:c}}function Js(e){const{mapFields:t,separator:o}=e,i={mapFields:t,separator:o};return{dictPicked:async r=>{e.dictPicked&&typeof e.dictPicked=="function"&&await e.dictPicked(r,i)}}}function Qs(e,t,o){const i=n.computed(()=>e.textChangeType==="blur"||e.textChangeType==="any"),a=n.computed(()=>e.textChangeType==="enter"||e.textChangeType==="any"),{loadData:r}=Ct(e),l=n.ref(e.modelValue);function s(u){const _=l.value!==u;return _?ct.value=u:ct.value="",_}async function f(u){const _={search:{field:"*",value:u,type:"equal"}},{beforeOpenDialog:m,updateModelValue:y,selectedItems:b,openDialog:S}=o;if(m){if(await m(_)===!1)return;r(_,g=>{if(g.items&&g.items.length===1&&(!g.items[0].children||!g.items[0].children.length)){b.value=g.items||[],y();return}S()})}}function d(u,_){var y;const m=(y=u.target)==null?void 0:y.value;s(m)&&(e.uri?f(m):t.emit("textChanged",{value:m,type:_?"blur":"enter"}))}function p(u){i.value&&d(u,!0)}function c(u){u.key==="Enter"&&a.value&&d(u,!1)}return{changeOnBlur:i,changeOnEnter:a,onInputBlur:p,onEnterKeyDown:c}}const Nt=n.defineComponent({name:"FLookup",props:mt,emits:["update:modelValue","update:idValue","search","navSelectionsChanged","pageIndexChanged","pageSizeChanged","resize","dialogClosed","textChanged","clear","update:dataMapping"],setup(e,t){const o='<i class="f-icon f-icon-lookup"></i>',i=n.ref(),a=n.ref(e.modelValue);en.value=n.ref(e.customData);function r(){i.value&&!i.value.getModal()&&i.value.openDialog()}const{dictPicked:l}=Js(e),{modalOptions:s,beforeOpenDialog:f,dialogSize:d,customData:p,updateModelValue:c}=Ys(e,t,bt,{dictPicked:l,modelValue:a}),{onInputBlur:u,onEnterKeyDown:_}=Qs(e,t,{beforeOpenDialog:f,updateModelValue:c,selectedItems:bt,openDialog:r}),m=n.reactive(s),y=n.inject(fn,null);n.watch(()=>p.value,h=>{en.value=h}),n.watch(()=>e.modelValue,h=>{a.value=h}),n.onMounted(()=>{}),n.watch(()=>d.value,h=>{t.emit("resize",h)});async function b(){bt.value=[],t.emit("update:modelValue",""),t.emit("update:idValue",""),t.emit("clear")}function S(h){t.emit("search",h)}function C(h){t.emit("navSelectionsChanged",h)}function g(h){t.emit("pageIndexChanged",h)}function F(h){t.emit("pageSizeChanged",h)}async function x(h){const V=y==null?void 0:y.getCurrentModal();V&&V.updateModalOptions(h)}return t.expose({openDialog:r}),()=>n.createVNode(Ze,{ref:i,id:e.id,modelValue:a.value,"onUpdate:modelValue":h=>a.value=h,disable:e.disable,readonly:e.readonly,editable:e.editable,inputType:"text",enableClear:e.enableClear,buttonContent:o,buttonBehavior:"Modal",modalOptions:m,onClear:b,beforeOpen:f,onBlur:u,onKeydown:_},{default:()=>[n.createVNode(Xs,n.mergeProps(e,{onSearch:S,onNavSelectionsChanged:C,onPageIndexChanged:g,onPageSizeChanged:F,onChangeDialogOptions:x}),null)]})}}),Zs={install(e){e.component(Nt.name,Nt)},register(e,t,o,i){e.lookup=Nt,t.lookup=Dt},registerDesigner(e,t,o){e.lookup=Vs,t.lookup=Dt}};E.Compare=Pt,E.ExpressValueType=vn,E.FLookup=Nt,E.F_LOOKUP_HTTP_SERVICE_TOKEN=yn,E.FilterRelation=xt,E.LoadTreeDataType=jt,E.LookupDisplayType=Ue,E.LookupSchemaRepositoryToken=Io,E.default=Zs,E.lookupProps=mt,E.propsResolver=Dt,Object.defineProperties(E,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});