@farris/ui-vue 1.3.0 → 1.3.3

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 (305) hide show
  1. package/components/accordion/index.esm.js +103 -99
  2. package/components/accordion/index.umd.cjs +1 -1
  3. package/components/avatar/index.esm.js +454 -398
  4. package/components/avatar/index.umd.cjs +1 -1
  5. package/components/binding-selector/index.esm.js +444 -0
  6. package/components/binding-selector/index.umd.cjs +1 -0
  7. package/components/binding-selector/package.json +8 -0
  8. package/components/border-editor/index.esm.js +5 -3
  9. package/components/border-editor/index.umd.cjs +1 -1
  10. package/components/button-edit/index.esm.js +143 -139
  11. package/components/button-edit/index.umd.cjs +1 -1
  12. package/components/calendar/index.esm.js +479 -476
  13. package/components/calendar/index.umd.cjs +1 -1
  14. package/components/capsule/index.esm.js +255 -252
  15. package/components/capsule/index.umd.cjs +1 -1
  16. package/components/checkbox/index.esm.js +652 -567
  17. package/components/checkbox/index.umd.cjs +1 -1
  18. package/components/color-picker/index.esm.js +518 -521
  19. package/components/color-picker/index.umd.cjs +2 -2
  20. package/components/combo-list/index.esm.js +659 -553
  21. package/components/combo-list/index.umd.cjs +1 -1
  22. package/components/combo-tree/index.esm.js +162 -155
  23. package/components/combo-tree/index.umd.cjs +1 -1
  24. package/components/common/index.esm.js +866 -747
  25. package/components/common/index.umd.cjs +1 -1
  26. package/components/component/index.esm.js +371 -998
  27. package/components/component/index.umd.cjs +1 -1
  28. package/components/condition/index.esm.js +1174 -1280
  29. package/components/condition/index.umd.cjs +1 -1
  30. package/components/content-container/index.esm.js +340 -991
  31. package/components/content-container/index.umd.cjs +1 -1
  32. package/components/data-grid/index.esm.js +6066 -5847
  33. package/components/data-grid/index.umd.cjs +1 -1
  34. package/components/data-view/index.esm.js +3400 -3486
  35. package/components/data-view/index.umd.cjs +1 -1
  36. package/components/date-picker/index.esm.js +2328 -2446
  37. package/components/date-picker/index.umd.cjs +1 -1
  38. package/components/designer-canvas/index.css +1 -1
  39. package/components/designer-canvas/index.esm.js +9551 -1200
  40. package/components/designer-canvas/index.umd.cjs +1 -1
  41. package/components/designer-outline/index.esm.js +2 -1
  42. package/components/designer-outline/index.umd.cjs +1 -1
  43. package/components/drawer/index.esm.js +34 -38
  44. package/components/drawer/index.umd.cjs +1 -1
  45. package/components/dropdown/index.esm.js +234 -231
  46. package/components/dropdown/index.umd.cjs +2 -2
  47. package/components/dynamic-form/index.esm.js +1996 -2630
  48. package/components/dynamic-form/index.umd.cjs +1 -1
  49. package/components/dynamic-resolver/index.esm.js +138 -123
  50. package/components/dynamic-resolver/index.umd.cjs +1 -1
  51. package/components/dynamic-view/index.esm.js +218 -218
  52. package/components/dynamic-view/index.umd.cjs +1 -1
  53. package/components/event-parameter/index.esm.js +311 -0
  54. package/components/event-parameter/index.umd.cjs +1 -0
  55. package/components/event-parameter/package.json +8 -0
  56. package/components/events-editor/index.css +1 -1
  57. package/components/events-editor/index.esm.js +548 -586
  58. package/components/events-editor/index.umd.cjs +1 -1
  59. package/components/expression-editor/index.esm.js +95 -91
  60. package/components/expression-editor/index.umd.cjs +1 -1
  61. package/components/external-container/index.esm.js +2871 -3736
  62. package/components/external-container/index.umd.cjs +1 -1
  63. package/components/field-selector/index.esm.js +3380 -3645
  64. package/components/field-selector/index.umd.cjs +1 -1
  65. package/components/filter-bar/index.css +1 -1
  66. package/components/filter-bar/index.esm.js +10543 -3207
  67. package/components/filter-bar/index.umd.cjs +1 -1
  68. package/components/flow-canvas/index.css +1 -1
  69. package/components/flow-canvas/index.esm.js +9775 -1312
  70. package/components/flow-canvas/index.umd.cjs +1 -1
  71. package/components/image-cropper/index.esm.js +442 -438
  72. package/components/image-cropper/index.umd.cjs +1 -1
  73. package/components/input-group/index.esm.js +587 -807
  74. package/components/input-group/index.umd.cjs +1 -1
  75. package/components/layout/index.esm.js +415 -381
  76. package/components/layout/index.umd.cjs +1 -1
  77. package/components/list-nav/index.esm.js +361 -1024
  78. package/components/list-nav/index.umd.cjs +1 -1
  79. package/components/list-view/index.esm.js +2265 -2371
  80. package/components/list-view/index.umd.cjs +1 -1
  81. package/components/lookup/index.esm.js +6425 -6257
  82. package/components/lookup/index.umd.cjs +1 -1
  83. package/components/mapping-editor/index.esm.js +6164 -5946
  84. package/components/mapping-editor/index.umd.cjs +1 -1
  85. package/components/message-box/index.esm.js +252 -252
  86. package/components/message-box/index.umd.cjs +1 -1
  87. package/components/modal/index.esm.js +70 -70
  88. package/components/modal/index.umd.cjs +1 -1
  89. package/components/nav/index.esm.js +524 -1474
  90. package/components/nav/index.umd.cjs +3 -3
  91. package/components/number-range/index.esm.js +547 -502
  92. package/components/number-range/index.umd.cjs +1 -1
  93. package/components/number-spinner/index.esm.js +646 -574
  94. package/components/number-spinner/index.umd.cjs +1 -1
  95. package/components/order/index.esm.js +1181 -2028
  96. package/components/order/index.umd.cjs +1 -1
  97. package/components/page-footer/index.esm.js +134 -131
  98. package/components/page-footer/index.umd.cjs +1 -1
  99. package/components/page-header/index.esm.js +1185 -2027
  100. package/components/page-header/index.umd.cjs +1 -1
  101. package/components/pagination/index.esm.js +442 -1368
  102. package/components/pagination/index.umd.cjs +1 -1
  103. package/components/progress/index.esm.js +238 -235
  104. package/components/progress/index.umd.cjs +3 -3
  105. package/components/property-editor/index.esm.js +1635 -1713
  106. package/components/property-editor/index.umd.cjs +2 -2
  107. package/components/property-panel/index.esm.js +791 -716
  108. package/components/property-panel/index.umd.cjs +1 -1
  109. package/components/query-solution/index.css +1 -1
  110. package/components/query-solution/index.esm.js +12203 -5274
  111. package/components/query-solution/index.umd.cjs +6 -1
  112. package/components/radio-button/index.esm.js +97 -97
  113. package/components/radio-button/index.umd.cjs +1 -1
  114. package/components/radio-group/index.css +1 -1
  115. package/components/radio-group/index.esm.js +1873 -520
  116. package/components/radio-group/index.umd.cjs +1 -1
  117. package/components/rate/index.esm.js +299 -300
  118. package/components/rate/index.umd.cjs +1 -1
  119. package/components/response-layout/index.esm.js +176 -173
  120. package/components/response-layout/index.umd.cjs +1 -1
  121. package/components/response-layout-editor/index.esm.js +715 -659
  122. package/components/response-layout-editor/index.umd.cjs +1 -1
  123. package/components/response-toolbar/index.esm.js +1032 -1883
  124. package/components/response-toolbar/index.umd.cjs +1 -1
  125. package/components/schema-selector/index.esm.js +4767 -5693
  126. package/components/schema-selector/index.umd.cjs +2 -2
  127. package/components/search-box/index.esm.js +169 -161
  128. package/components/search-box/index.umd.cjs +1 -1
  129. package/components/section/index.esm.js +490 -1167
  130. package/components/section/index.umd.cjs +1 -1
  131. package/components/smoke-detector/index.esm.js +154 -151
  132. package/components/smoke-detector/index.umd.cjs +1 -1
  133. package/components/splitter/index.esm.js +575 -1204
  134. package/components/splitter/index.umd.cjs +1 -1
  135. package/components/splitter/style.js +2 -0
  136. package/components/step/index.esm.js +279 -276
  137. package/components/step/index.umd.cjs +1 -1
  138. package/components/switch/index.esm.js +478 -428
  139. package/components/switch/index.umd.cjs +1 -1
  140. package/components/tabs/index.esm.js +2591 -3326
  141. package/components/tabs/index.umd.cjs +1 -1
  142. package/components/tags/index.esm.js +442 -439
  143. package/components/tags/index.umd.cjs +1 -1
  144. package/components/text/index.esm.js +309 -307
  145. package/components/text/index.umd.cjs +1 -1
  146. package/components/textarea/index.esm.js +500 -430
  147. package/components/textarea/index.umd.cjs +1 -1
  148. package/components/time-picker/index.esm.js +1391 -1341
  149. package/components/time-picker/index.umd.cjs +1 -1
  150. package/components/transfer/index.esm.js +574 -575
  151. package/components/transfer/index.umd.cjs +1 -1
  152. package/components/tree-grid/index.esm.js +3422 -3536
  153. package/components/tree-grid/index.umd.cjs +1 -1
  154. package/components/tree-view/index.esm.js +2661 -2764
  155. package/components/tree-view/index.umd.cjs +1 -1
  156. package/components/uploader/index.esm.js +675 -674
  157. package/components/uploader/index.umd.cjs +2 -2
  158. package/components/verify-detail/index.esm.js +300 -297
  159. package/components/verify-detail/index.umd.cjs +1 -1
  160. package/components/video/index.esm.js +454 -1089
  161. package/components/video/index.umd.cjs +1 -1
  162. package/components/weather/index.esm.js +709 -706
  163. package/components/weather/index.umd.cjs +5 -5
  164. package/farris.all.esm.js +54780 -52757
  165. package/farris.all.umd.cjs +14 -9
  166. package/index.css +1 -1
  167. package/package.json +1 -1
  168. package/types/binding-selector/index.d.ts +55 -0
  169. package/types/binding-selector/src/binding-selector.component.d.ts +11 -0
  170. package/types/binding-selector/src/binding-selector.props.d.ts +52 -0
  171. package/types/binding-selector/src/components/binding-selector-container.component.d.ts +13 -0
  172. package/types/binding-selector/src/composition/use-field-selection.d.ts +9 -0
  173. package/types/combo-list/src/components/list-container.component.d.ts +6 -6
  174. package/types/combo-list/src/components/list-container.props.d.ts +1 -1
  175. package/types/combo-tree/src/components/tree-container.component.d.ts +5 -5
  176. package/types/common/directive/area-response.d.ts +10 -0
  177. package/types/common/entity/entity-schema.d.ts +26 -11
  178. package/types/common/index.d.ts +9 -0
  179. package/types/common/radio-checkbox/radio-checkbox.props.d.ts +1 -0
  180. package/types/common/types.d.ts +2 -2
  181. package/types/common/utils/resolve-field.d.ts +2 -0
  182. package/types/common/utils/use-class.d.ts +7 -0
  183. package/types/component/src/designer/use-designer-rules.d.ts +2 -2
  184. package/types/condition/src/condition-fields.design.component.d.ts +18 -0
  185. package/types/condition/src/types.d.ts +5 -4
  186. package/types/content-container/src/designer/use-designer-rules.d.ts +3 -3
  187. package/types/data-grid/index.d.ts +8 -5
  188. package/types/data-grid/src/composition/data-grid-component-creator.service.d.ts +20 -0
  189. package/types/data-grid/src/{designer/data-grid-column.props.d.ts → data-grid-column.props.d.ts} +1 -1
  190. package/types/data-grid/src/data-grid.component.d.ts +3 -2
  191. package/types/data-grid/src/data-grid.props.d.ts +2 -2
  192. package/types/data-grid/src/designer/data-grid.design.component.d.ts +2 -2
  193. package/types/data-grid/src/designer/grid-field-editor.component.d.ts +14 -14
  194. package/types/data-grid/src/designer/use-designer-rules.d.ts +2 -2
  195. package/types/data-grid/src/schema/schema-resolver.d.ts +1 -1
  196. package/types/data-view/components/row/hierarchy-row.component.d.ts +2 -2
  197. package/types/data-view/composition/data/use-tree-data.d.ts +1 -1
  198. package/types/data-view/composition/types.d.ts +9 -11
  199. package/types/date-picker/src/components/calendar/calendar.component.d.ts +3 -3
  200. package/types/date-picker/src/components/month/month.component.d.ts +3 -3
  201. package/types/date-picker/src/components/year/year.component.d.ts +3 -3
  202. package/types/designer-canvas/index.d.ts +3 -1
  203. package/types/designer-canvas/src/composition/dg-control.d.ts +5 -0
  204. package/types/designer-canvas/src/composition/function/drag-resolve.d.ts +5 -0
  205. package/types/designer-canvas/src/composition/rule/use-dragula-common-rule.d.ts +4 -0
  206. package/types/designer-canvas/src/composition/rule/use-template-rule.d.ts +30 -0
  207. package/types/designer-canvas/src/composition/types.d.ts +49 -41
  208. package/types/designer-canvas/src/types.d.ts +10 -21
  209. package/types/dynamic-form/index.d.ts +1 -1
  210. package/types/dynamic-form/src/designer/form-group-use-designer-rules.d.ts +3 -0
  211. package/types/dynamic-form/src/designer/response-form-use-designer-rules.d.ts +3 -0
  212. package/types/dynamic-form/src/designer/response-form.design.component.d.ts +7 -1
  213. package/types/dynamic-form/src/property-config/{form.property-config.d.ts → response-form.property-config.d.ts} +1 -1
  214. package/types/dynamic-form/src/schema/{schema-resolver.d.ts → response-form-schema-resolver.d.ts} +1 -1
  215. package/types/dynamic-form/src/types.d.ts +1 -1
  216. package/types/dynamic-resolver/src/common/toolbar-resolver.d.ts +6 -1
  217. package/types/dynamic-resolver/src/converter/row-number.converter.d.ts +3 -0
  218. package/types/entity-binding-selector/composition/use-entity-tree.d.ts +7 -0
  219. package/types/entity-binding-selector/entity-binding-selector.component.d.ts +11 -0
  220. package/types/entity-binding-selector/entity-binding-selector.props.d.ts +3 -0
  221. package/types/enum-editor/src/components/enum-editor-container.component.d.ts +3 -3
  222. package/types/enum-editor/src/enum-editor.component.d.ts +3 -3
  223. package/types/event-parameter/index.d.ts +31 -0
  224. package/types/event-parameter/src/composition/type.d.ts +77 -0
  225. package/types/event-parameter/src/composition/use-editor-combotree.d.ts +3 -0
  226. package/types/event-parameter/src/composition/use-editor-input.d.ts +3 -0
  227. package/types/event-parameter/src/composition/use-editor-select.d.ts +3 -0
  228. package/types/event-parameter/src/composition/use-editor-switch.d.ts +3 -0
  229. package/types/event-parameter/src/composition/use-editor.d.ts +3 -0
  230. package/types/event-parameter/src/event-parameter.component.d.ts +8 -0
  231. package/types/event-parameter/src/event-parameter.props.d.ts +34 -0
  232. package/types/external-container/src/designer/import-external-schema.component.d.ts +1 -1
  233. package/types/external-container/src/designer/use-designer-rules.d.ts +3 -3
  234. package/types/field-selector/src/field-selector.component.d.ts +1 -2
  235. package/types/field-selector/src/field-selector.props.d.ts +0 -9
  236. package/types/input-group/src/designer/use-input-group-rules.d.ts +1 -2
  237. package/types/layout/src/designer/layout-pane-use-designer-rules.d.ts +3 -3
  238. package/types/list-nav/src/designer/use-designer-rules.d.ts +3 -0
  239. package/types/list-view/src/designer/list-view-table.design.component.d.ts +15 -0
  240. package/types/list-view/src/list-view-table.component.d.ts +15 -0
  241. package/types/lookup/src/composition/use-user-data.d.ts +2 -2
  242. package/types/lookup/src/property-config/lookup.property-config.d.ts +2 -6
  243. package/types/modal/src/composition/modal.service.d.ts +2 -1
  244. package/types/page-header/src/designer/page-header.design.component.d.ts +1 -1
  245. package/types/page-header/src/page-header.component.d.ts +1 -1
  246. package/types/pagination/src/components/buttons/goto-buttons.component.d.ts +2 -2
  247. package/types/pagination/src/components/buttons/next-buttons.component.d.ts +2 -2
  248. package/types/pagination/src/components/buttons/previous-buttons.component.d.ts +2 -2
  249. package/types/pagination/src/components/pages/page-list.component.d.ts +2 -2
  250. package/types/pagination/src/components/pages/page-number.component.d.ts +2 -2
  251. package/types/property-panel/index.d.ts +3 -1
  252. package/types/property-panel/src/composition/entity/input-base-property.d.ts +1 -1
  253. package/types/property-panel/src/composition/entity/property-entity.d.ts +1 -1
  254. package/types/property-panel/src/composition/type.d.ts +0 -13
  255. package/types/query-solution/src/composition/types.d.ts +35 -4
  256. package/types/query-solution/src/composition/use-header.d.ts +21 -0
  257. package/types/query-solution/src/composition/{use-filter.d.ts → use-http.d.ts} +2 -2
  258. package/types/query-solution/src/composition/use-solution.d.ts +20 -0
  259. package/types/query-solution/src/designer/query-solution-config/composition/types.d.ts +43 -35
  260. package/types/query-solution/src/designer/query-solution-config/composition/use-panel.d.ts +2 -16
  261. package/types/query-solution/src/designer/query-solution-config/composition/use-property.d.ts +19 -0
  262. package/types/query-solution/src/designer/query-solution-config/composition/use-querysolution-rules.d.ts +3 -0
  263. package/types/query-solution/src/designer/query-solution-config/composition/use-transfer.d.ts +1 -1
  264. package/types/query-solution/src/designer/query-solution-config/query-solution-config.props.d.ts +14 -14
  265. package/types/query-solution/src/property-config/query-solution.property-config.d.ts +12 -0
  266. package/types/query-solution/src/query-solution.d.ts +10 -2
  267. package/types/query-solution/src/solutions.d.ts +108 -509
  268. package/types/radio-group/src/designer/item-collection-editor-inner.component.d.ts +29 -0
  269. package/types/radio-group/src/designer/item-collection-editor.component.d.ts +29 -0
  270. package/types/radio-group/src/designer/item-collection-editor.props.d.ts +21 -0
  271. package/types/radio-group/src/schema/schema-mapper.d.ts +1 -0
  272. package/types/radio-group/src/schema/schema-resolver.d.ts +1 -0
  273. package/types/response-layout-editor/index.d.ts +3 -1
  274. package/types/response-toolbar/src/designer/use-designer-rules.d.ts +3 -3
  275. package/types/response-toolbar/src/property-config/response-toolbar-item.property-config.d.ts +1 -0
  276. package/types/response-toolbar/src/property-config/response-toolbar.property-config.d.ts +1 -0
  277. package/types/section/src/designer/use-designer-rules.d.ts +3 -3
  278. package/types/section/src/property-config/section.property-config.d.ts +17 -17
  279. package/types/section/src/schema/schema-resolver.d.ts +1 -2
  280. package/types/section/src/schema/toolbar-resolver.d.ts +1 -1
  281. package/types/splitter/src/components/splitter-pane.component.d.ts +1 -1
  282. package/types/splitter/src/designer/splitter-pane-use-designer-rules.d.ts +3 -3
  283. package/types/splitter/src/designer/splitter-use-designer-rules.d.ts +3 -3
  284. package/types/tabs/src/composition/types.d.ts +4 -1
  285. package/types/tabs/src/designer/tab-page-use-designer-rules.d.ts +3 -3
  286. package/types/tabs/src/designer/tab-use-designer-rules.d.ts +3 -3
  287. package/types/tabs/src/property-config/tab-page.property-config.d.ts +9 -59
  288. package/types/tabs/src/property-config/tabs.property-config.d.ts +8 -71
  289. package/types/tabs/src/schema/schema-resolver.d.ts +1 -2
  290. package/types/text/src/composition/types.d.ts +4 -4
  291. package/types/textarea/src/property-config/textarea.property-config.d.ts +23 -0
  292. package/types/tree-grid/index.d.ts +3 -3
  293. package/types/tree-grid/src/tree-grid.component.d.ts +1 -1
  294. package/types/weather/src/composition/use-weather-charts.d.ts +15 -0
  295. package/types/weather/src/composition/use-weather-color.d.ts +15 -0
  296. package/types/weather/src/composition/use-weather-data.d.ts +15 -0
  297. package/types/weather/src/composition/use-weather-format-number.d.ts +15 -0
  298. package/types/designer-canvas/src/composition/rule/use-drag-drop-rules.d.ts +0 -19
  299. package/types/designer-canvas/src/composition/use-dragula-common-rule.d.ts +0 -4
  300. package/types/dynamic-form/src/designer/use-designer-rules.d.ts +0 -3
  301. package/types/list-nav/src/composition/use-designer-rules.d.ts +0 -3
  302. package/types/property-panel/src/composition/entity/use-input-rules.d.ts +0 -3
  303. package/types/query-solution/src/designer/query-solution-config/composition/mock-data.d.ts +0 -6
  304. package/types/tree-grid/src/schema/column-resolver.d.ts +0 -3
  305. package/types/weather/src/composition/types.d.ts +0 -2
@@ -1,104 +1,108 @@
1
- import { defineComponent as B, ref as y, inject as M, computed as v, onMounted as I, createVNode as S, watch as h } from "vue";
2
- import k from "../button-edit/index.esm.js";
3
- import { isPlainObject as O, cloneDeep as N } from "lodash-es";
4
- import D from "../tree-view/index.esm.js";
5
- import { withInstall as E } from "../common/index.esm.js";
6
- const H = {}, R = {};
1
+ import { defineComponent as B, ref as g, inject as M, computed as S, onMounted as I, createVNode as x, watch as v } from "vue";
2
+ import N from "../button-edit/index.esm.js";
3
+ import { isPlainObject as O, cloneDeep as k } from "lodash-es";
4
+ import E from "../tree-view/index.esm.js";
5
+ import { withInstall as D } from "../common/index.esm.js";
6
+ const H = {}, L = {};
7
7
  function V(e) {
8
- const { properties: l, title: d, ignore: i } = e, u = i && Array.isArray(i), f = Object.keys(l).reduce((s, c) => ((!u || !i.find((p) => p == c)) && (s[c] = l[c].type === "object" && l[c].properties ? V(l[c]) : N(l[c].default)), s), {});
9
- return (!u || !i.find((s) => s == "id")) && (f.id = `${d}-${Date.now()}`), f;
8
+ const { properties: r, title: s, ignore: l } = e, o = l && Array.isArray(l), m = Object.keys(r).reduce((c, f) => ((!o || !l.find((y) => y === f)) && (c[f] = r[f].type === "object" && r[f].properties ? V(r[f]) : k(r[f].default)), c), {});
9
+ if (s && (!o || !l.find((c) => c === "id"))) {
10
+ const c = s.toLowerCase().replace(/-/g, "_");
11
+ m.id = `${c}_${Math.random().toString().slice(2, 6)}`;
12
+ }
13
+ return m;
10
14
  }
11
- function $(e, l) {
12
- const d = V(l);
13
- return Object.keys(e).reduce((i, u) => (i[u] && O(i[u]) && O(e[u]) ? Object.assign(i[u], e[u]) : i[u] = e[u], i), d), d;
15
+ function R(e, r) {
16
+ const s = V(r);
17
+ return Object.keys(s).reduce((l, o) => (l[o] && O(l[o]) && O(e[o] || !e[o]) ? Object.assign(l[o], e[o] || {}) : l[o] = e[o], l), s), s;
14
18
  }
15
- function A(e, l) {
16
- return Object.keys(e).filter((i) => e[i] != null).reduce((i, u) => {
17
- if (l.has(u)) {
18
- const f = l.get(u);
19
- if (typeof f == "string")
20
- i[f] = e[u];
19
+ function $(e, r) {
20
+ return Object.keys(e).filter((l) => e[l] != null).reduce((l, o) => {
21
+ if (r.has(o)) {
22
+ const m = r.get(o);
23
+ if (typeof m == "string")
24
+ l[m] = e[o];
21
25
  else {
22
- const s = f(u, e[u], e);
23
- Object.assign(i, s);
26
+ const c = m(o, e[o], e);
27
+ Object.assign(l, c);
24
28
  }
25
29
  } else
26
- i[u] = e[u];
27
- return i;
30
+ l[o] = e[o];
31
+ return l;
28
32
  }, {});
29
33
  }
30
- function L(e, l, d = /* @__PURE__ */ new Map()) {
31
- const i = $(e, l);
32
- return A(i, d);
34
+ function A(e, r, s = /* @__PURE__ */ new Map()) {
35
+ const l = R(e, r);
36
+ return $(l, s);
33
37
  }
34
38
  function q(e = {}) {
35
- function l(n, t, a, o) {
36
- if (typeof a == "number")
37
- return o[n].length === a;
38
- if (typeof a == "object") {
39
- const r = Object.keys(a)[0], m = a[r];
40
- if (r === "not")
41
- return Number(o[n].length) !== Number(m);
42
- if (r === "moreThan")
43
- return Number(o[n].length) >= Number(m);
44
- if (r === "lessThan")
45
- return Number(o[n].length) <= Number(m);
39
+ function r(n, u, t, a) {
40
+ if (typeof t == "number")
41
+ return a[n].length === t;
42
+ if (typeof t == "object") {
43
+ const i = Object.keys(t)[0], d = t[i];
44
+ if (i === "not")
45
+ return Number(a[n].length) !== Number(d);
46
+ if (i === "moreThan")
47
+ return Number(a[n].length) >= Number(d);
48
+ if (i === "lessThan")
49
+ return Number(a[n].length) <= Number(d);
46
50
  }
47
51
  return !1;
48
52
  }
49
- function d(n, t, a, o) {
50
- return o[n] && o[n].propertyValue && String(o[n].propertyValue.value) === String(a);
53
+ function s(n, u, t, a) {
54
+ return a[n] && a[n].propertyValue && String(a[n].propertyValue.value) === String(t);
51
55
  }
52
- const i = /* @__PURE__ */ new Map([
53
- ["length", l],
54
- ["getProperty", d]
56
+ const l = /* @__PURE__ */ new Map([
57
+ ["length", r],
58
+ ["getProperty", s]
55
59
  ]);
56
- Object.keys(e).reduce((n, t) => (n.set(t, e[t]), n), i);
57
- function u(n, t) {
58
- const a = n;
59
- return typeof t == "number" ? [{ target: a, operator: "length", param: null, value: Number(t) }] : typeof t == "boolean" ? [{ target: a, operator: "getProperty", param: n, value: !!t }] : typeof t == "object" ? Object.keys(t).map((o) => {
60
- if (o === "length")
61
- return { target: a, operator: "length", param: null, value: t[o] };
62
- const r = o, m = t[o];
63
- return { target: a, operator: "getProperty", param: r, value: m };
60
+ Object.keys(e).reduce((n, u) => (n.set(u, e[u]), n), l);
61
+ function o(n, u) {
62
+ const t = n;
63
+ return typeof u == "number" ? [{ target: t, operator: "length", param: null, value: Number(u) }] : typeof u == "boolean" ? [{ target: t, operator: "getProperty", param: n, value: !!u }] : typeof u == "object" ? Object.keys(u).map((a) => {
64
+ if (a === "length")
65
+ return { target: t, operator: "length", param: null, value: u[a] };
66
+ const i = a, d = u[a];
67
+ return { target: t, operator: "getProperty", param: i, value: d };
64
68
  }) : [];
65
69
  }
66
- function f(n) {
67
- return Object.keys(n).reduce((a, o) => {
68
- const r = u(o, n[o]);
69
- return a.push(...r), a;
70
+ function m(n) {
71
+ return Object.keys(n).reduce((t, a) => {
72
+ const i = o(a, n[a]);
73
+ return t.push(...i), t;
70
74
  }, []);
71
75
  }
72
- function s(n, t) {
73
- if (i.has(n.operator)) {
74
- const a = i.get(n.operator);
75
- return a && a(n.target, n.param, n.value, t) || !1;
76
+ function c(n, u) {
77
+ if (l.has(n.operator)) {
78
+ const t = l.get(n.operator);
79
+ return t && t(n.target, n.param, n.value, u) || !1;
76
80
  }
77
81
  return !1;
78
82
  }
79
- function c(n, t) {
80
- return f(n).reduce((r, m) => r && s(m, t), !0);
83
+ function f(n, u) {
84
+ return m(n).reduce((i, d) => i && c(d, u), !0);
81
85
  }
82
- function p(n, t) {
83
- const a = Object.keys(n), o = a.includes("allOf"), r = a.includes("anyOf"), m = o || r, g = (m ? n[m ? o ? "allOf" : "anyOf" : "allOf"] : [n]).map((F) => c(F, t));
84
- return o ? !g.includes(!1) : g.includes(!0);
86
+ function y(n, u) {
87
+ const t = Object.keys(n), a = t.includes("allOf"), i = t.includes("anyOf"), d = a || i, p = (d ? n[d ? a ? "allOf" : "anyOf" : "allOf"] : [n]).map((F) => f(F, u));
88
+ return a ? !p.includes(!1) : p.includes(!0);
85
89
  }
86
- return { parseValueSchema: p };
90
+ return { parseValueSchema: y };
87
91
  }
88
- const U = {}, W = {};
92
+ const _ = {}, U = {};
89
93
  q();
90
- function z(e, l, d = /* @__PURE__ */ new Map(), i = (s, c, p) => c, u = {}, f = (s) => s) {
91
- return H[l.title] = l, R[l.title] = i, U[l.title] = u, W[l.title] = f, (s = {}) => {
92
- const c = L(s, l, d), p = Object.keys(e).reduce((n, t) => (n[t] = e[t].default, n), {});
93
- return Object.assign(p, c);
94
+ function W(e, r, s = /* @__PURE__ */ new Map(), l = (c, f, y, n) => f, o = {}, m = (c) => c) {
95
+ return H[r.title] = r, L[r.title] = l, _[r.title] = o, U[r.title] = m, (c = {}) => {
96
+ const f = A(c, r, s), y = Object.keys(e).reduce((n, u) => (n[u] = e[u].default, n), {});
97
+ return Object.assign(y, f);
94
98
  };
95
99
  }
96
- function G(e, l) {
97
- return { customClass: l.class, customStyle: l.style };
100
+ function z(e, r) {
101
+ return { customClass: r.class, customStyle: r.style };
98
102
  }
99
- const J = /* @__PURE__ */ new Map([
100
- ["appearance", G]
101
- ]), Q = "https://json-schema.org/draft/2020-12/schema", X = "https://farris-design.gitee.io/combo-list.schema.json", Y = "combo-list", Z = "A Farris Input Component", _ = "object", K = {
103
+ const G = /* @__PURE__ */ new Map([
104
+ ["appearance", z]
105
+ ]), J = "https://json-schema.org/draft/2020-12/schema", Q = "https://farris-design.gitee.io/combo-list.schema.json", X = "combo-tree", Y = "A Farris Input Component", Z = "object", K = {
102
106
  id: {
103
107
  description: "The unique identifier for a combo list",
104
108
  type: "string"
@@ -106,7 +110,7 @@ const J = /* @__PURE__ */ new Map([
106
110
  type: {
107
111
  description: "The type string of number combo list component",
108
112
  type: "string",
109
- default: "combo-list"
113
+ default: "combo-tree"
110
114
  },
111
115
  appearance: {
112
116
  description: "",
@@ -213,16 +217,16 @@ const J = /* @__PURE__ */ new Map([
213
217
  "id",
214
218
  "type"
215
219
  ], te = {
216
- $schema: Q,
217
- $id: X,
218
- title: Y,
219
- description: Z,
220
- type: _,
220
+ $schema: J,
221
+ $id: Q,
222
+ title: X,
223
+ description: Y,
224
+ type: Z,
221
225
  properties: K,
222
226
  required: ee
223
227
  };
224
- function ae(e, l, d) {
225
- return l;
228
+ function ae(e, r, s) {
229
+ return r;
226
230
  }
227
231
  var ne = /* @__PURE__ */ ((e) => (e.Text = "text", e.Tag = "tag", e))(ne || {}), le = /* @__PURE__ */ ((e) => (e.top = "top", e.bottom = "bottom", e.auto = "auto", e))(le || {});
228
232
  const j = {
@@ -377,7 +381,7 @@ const j = {
377
381
  formatter: { type: Function, default: null },
378
382
  editorParams: { type: Object },
379
383
  repositoryToken: { type: Symbol, default: null }
380
- }, ie = z(j, te, J, ae), re = {
384
+ }, ie = W(j, te, G, ae), re = {
381
385
  data: { type: Array, default: [] },
382
386
  enableSearch: { type: Boolean, default: !1 },
383
387
  idField: { type: String, default: "id" },
@@ -397,132 +401,135 @@ const j = {
397
401
  name: "FComboTreeContainer",
398
402
  props: re,
399
403
  emits: ["selectionChange"],
400
- setup(e, l) {
401
- const d = y(e.data), i = y([]), u = y(e.separator), f = y(e.width), s = y(e.height), c = y(e.maxHeight), p = y(String(e.selectedValues).split(u.value));
404
+ setup(e, r) {
405
+ const s = g(e.data), l = g([]), o = g(e.separator), m = g(e.width), c = g(e.height), f = g(e.maxHeight), y = g(String(e.selectedValues).split(o.value));
402
406
  let n = null;
403
407
  e.repositoryToken && (n = M(e.repositoryToken));
404
- const t = v(() => [{
408
+ const u = S(() => [{
405
409
  field: e.textField,
406
410
  title: "",
407
411
  dataType: "string",
408
412
  formatter: e.formatter
409
- }]), a = v(() => {
410
- const r = {};
411
- return f.value !== void 0 && (r.width = `${f.value}px`), s.value !== void 0 && (r.height = `${s.value}px`), c.value !== void 0 && c.value > 0 && (r.maxHeight = `${c.value}px`, r.overflow = "auto"), r;
413
+ }]), t = S(() => {
414
+ const i = {};
415
+ return m.value !== void 0 && (i.width = `${m.value}px`), c.value !== void 0 && (i.height = `${c.value}px`), f.value !== void 0 && f.value > 0 && (i.maxHeight = `${f.value}px`, i.overflow = "auto"), i;
412
416
  });
413
- function o(r) {
414
- i.value = r.map((m) => Object.assign({}, m)), p.value = r.map((m) => m[e.idField]), l.emit("selectionChange", i.value);
417
+ function a(i) {
418
+ l.value = i.map((d) => Object.assign({}, d)), y.value = i.map((d) => d[e.idField]), r.emit("selectionChange", l.value);
415
419
  }
416
420
  return I(() => {
417
- n && n.getData(e.editorParams).then((r) => {
418
- d.value = r;
421
+ n && n.getData(e.editorParams).then((i) => {
422
+ s.value = i;
419
423
  });
420
- }), () => S("div", {
424
+ }), () => x("div", {
421
425
  class: "f-combo-tree-container",
422
- style: a.value
423
- }, [S(D, {
424
- data: d.value,
426
+ style: t.value
427
+ }, [x(E, {
428
+ data: s.value,
425
429
  idField: e.idField,
426
- columns: t.value,
427
- "selection-values": p.value,
428
- onSelectionChange: o
430
+ columns: u.value,
431
+ "selection-values": y.value,
432
+ onSelectionChange: a
429
433
  }, null)]);
430
434
  }
431
435
  });
432
436
  function ue(e) {
433
- const l = y(""), d = y(e.modelValue), i = y(e.data || []), u = y(e.editable);
434
- function f(t) {
435
- const a = String(t).split(e.separator).map((r) => [r, !0]), o = new Map(a);
436
- return i.value.filter((r) => r.data ? o.has(String(r.data[e.valueField])) : !0).map((r) => r.data);
437
- }
438
- function s(t) {
439
- const a = f(t).map((o) => o[e.textField]).join(e.separator);
440
- l.value = u.value ? a || t : a;
437
+ const r = g(""), s = g(e.modelValue), l = g(e.data || []), o = g(e.editable);
438
+ function m(t, a = []) {
439
+ return t = t || [], t.reduce((i, d) => (i.push(d), d.children && d.children.length && m(d.children, i), i), a);
441
440
  }
442
441
  function c(t) {
443
- const a = t.split(e.separator).map((r) => [r, !0]), o = new Map(a);
444
- return i.value.filter((r) => o.has(r[e.textField]));
442
+ const a = String(t).split(e.separator).map((b) => [b, !0]), i = new Map(a), d = [];
443
+ return m(l.value, d), d.filter((b) => b.data ? i.has(String(b.data[e.valueField])) : i.has(String(b[e.valueField]))).map((b) => b.data ? b.data : b);
444
+ }
445
+ function f(t) {
446
+ const a = c(t).map((i) => i[e.textField]).join(e.separator);
447
+ r.value = o.value ? a || t : a;
448
+ }
449
+ function y(t) {
450
+ const a = t.split(e.separator).map((d) => [d, !0]), i = new Map(a);
451
+ return l.value[0].children && m(l.value, []), l.value.filter((d) => i.has(d[e.textField]));
445
452
  }
446
- function p(t) {
453
+ function n(t) {
447
454
  const a = {};
448
455
  return a[e.idField] = t, a[e.textField] = t, [a];
449
456
  }
450
- function n(t) {
451
- let a = c(t);
452
- const o = a && a.length > 0;
453
- return u.value && !o && (a = p(t)), a;
457
+ function u(t) {
458
+ let a = y(t);
459
+ const i = a && a.length > 0;
460
+ return o.value && !i && (a = n(t)), a;
454
461
  }
455
- return h(() => e.data, () => {
456
- i.value = e.data;
457
- }), h([i], ([t]) => {
462
+ return v(() => e.data, () => {
463
+ l.value = e.data;
464
+ }), v([l], ([t]) => {
458
465
  if (e.modelValue) {
459
- const a = t.find((o) => o[e.valueField] === e.modelValue);
460
- a && (l.value = a[e.textField]);
466
+ const a = t.find((i) => i[e.valueField] === e.modelValue);
467
+ a && (r.value = a[e.textField]);
461
468
  }
462
- }), h(() => e.modelValue, (t) => {
463
- d.value = t, s(t);
464
- }), s(e.modelValue), { dataSource: i, displayText: l, editable: u, modelValue: d, getItemsByDisplayText: c, getItemsByValue: f, getSelectedItemsByDisplayText: n };
469
+ }), v(() => e.modelValue, (t, a) => {
470
+ t !== a && (s.value = t, f(t));
471
+ }), f(e.modelValue), { dataSource: l, displayText: r, editable: o, modelValue: s, getItemsByDisplayText: y, getItemsByValue: c, getSelectedItemsByDisplayText: u };
465
472
  }
466
473
  const C = /* @__PURE__ */ B({
467
474
  name: "FComboTree",
468
475
  props: j,
469
476
  emits: ["clear", "update:modelValue", "change"],
470
- setup(e, l) {
477
+ setup(e, r) {
471
478
  return () => {
472
- const d = y(), i = y(e.disabled), u = y(e.enableClear), f = y(e.enableSearch), s = y(e.readonly), {
473
- dataSource: c,
474
- displayText: p,
479
+ const s = g(), l = g(e.disabled), o = g(e.enableClear), m = g(e.enableSearch), c = g(e.readonly), {
480
+ dataSource: f,
481
+ displayText: y,
475
482
  editable: n,
476
- modelValue: t,
477
- getSelectedItemsByDisplayText: a
478
- } = ue(e), o = v(() => e.multiSelect);
479
- v(() => d.value ? d.value.elementRef.getBoundingClientRect().width : 0);
480
- function r() {
481
- !o.value && d.value && d.value.hidePopup();
483
+ modelValue: u,
484
+ getSelectedItemsByDisplayText: t
485
+ } = ue(e), a = S(() => e.multiSelect);
486
+ S(() => s.value ? s.value.elementRef.getBoundingClientRect().width : 0);
487
+ function i() {
488
+ !a.value && s.value && s.value.hidePopup();
482
489
  }
483
- function m(g) {
484
- p.value = g.map((b) => b[e.textField]).join(e.separator), t.value = g.map((b) => b[e.valueField]).join(e.separator), l.emit("update:modelValue", t.value), l.emit("change", g, t.value), r();
490
+ function d(p) {
491
+ y.value = p.map((h) => h[e.textField]).join(e.separator), u.value = p.map((h) => h[e.valueField]).join(e.separator), r.emit("update:modelValue", u.value), r.emit("change", p, u.value), i();
485
492
  }
486
- function x(g) {
487
- t.value = "", l.emit("update:modelValue", ""), l.emit("clear");
493
+ function b(p) {
494
+ u.value = "", r.emit("update:modelValue", ""), r.emit("clear");
488
495
  }
489
- function T(g) {
490
- const b = a(g);
491
- m(b);
496
+ function T(p) {
497
+ const h = t(p);
498
+ d(h);
492
499
  }
493
- return h([() => e.disabled, () => e.editable, () => e.enableClear, () => e.enableSearch, () => e.readonly], ([g, b, F, P, w]) => {
494
- i.value = g, n.value = b, u.value = F, f.value = P, s.value = w;
495
- }), S(k, {
496
- ref: d,
500
+ return v([() => e.disabled, () => e.editable, () => e.enableClear, () => e.enableSearch, () => e.readonly], ([p, h, F, P, w]) => {
501
+ l.value = p, n.value = h, o.value = F, m.value = P, c.value = w;
502
+ }), x(N, {
503
+ ref: s,
497
504
  id: e.id,
498
- disable: i.value,
499
- readonly: s.value,
505
+ disable: l.value,
506
+ readonly: c.value,
500
507
  forcePlaceholder: e.forcePlaceholder,
501
508
  editable: n.value,
502
509
  buttonContent: e.dropDownIcon,
503
510
  placeholder: e.placeholder,
504
- enableClear: u.value,
511
+ enableClear: o.value,
505
512
  maxLength: e.maxLength,
506
513
  tabIndex: e.tabIndex,
507
514
  enableTitle: e.enableTitle,
508
515
  multiSelect: e.multiSelect,
509
516
  inputType: e.multiSelect ? "tag" : "text",
510
- modelValue: p.value,
511
- "onUpdate:modelValue": (g) => p.value = g,
512
- onClear: x,
517
+ modelValue: y.value,
518
+ "onUpdate:modelValue": (p) => y.value = p,
519
+ onClear: b,
513
520
  onChange: T,
514
521
  focusOnCreated: e.focusOnCreated,
515
522
  selectOnCreated: e.selectOnCreated
516
523
  }, {
517
- default: () => [S(oe, {
524
+ default: () => [x(oe, {
518
525
  maxHeight: e.maxHeight,
519
526
  idField: e.idField,
520
527
  valueField: e.valueField,
521
528
  textField: e.textField,
522
529
  titleField: e.titleField,
523
- data: c.value,
524
- selectedValues: t.value,
525
- onSelectionChange: m,
530
+ data: f.value,
531
+ selectedValues: u.value,
532
+ onSelectionChange: d,
526
533
  formatter: e.formatter,
527
534
  editorParams: e.editorParams,
528
535
  repositoryToken: e.repositoryToken
@@ -531,10 +538,10 @@ const C = /* @__PURE__ */ B({
531
538
  };
532
539
  }
533
540
  });
534
- C.register = (e, l, d, i) => {
535
- e["combo-tree"] = C, l["combo-tree"] = ie;
541
+ C.register = (e, r, s, l) => {
542
+ e["combo-tree"] = C, r["combo-tree"] = ie;
536
543
  };
537
- const ye = E(C);
544
+ const ye = D(C);
538
545
  export {
539
546
  C as FComboTree,
540
547
  le as Placement,
@@ -1 +1 @@
1
- (function(p,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("vue"),require("../button-edit/index.umd.js"),require("lodash-es"),require("../tree-view/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../button-edit/index.umd.js","lodash-es","../tree-view/index.umd.js","../common/index.umd.js"],r):(p=typeof globalThis<"u"?globalThis:p||self,r(p["combo-tree"]={},p.Vue,p.FButtonEdit,p.LodashES,p.FTreeView,p.common))})(this,function(p,r,w,x,P,M){"use strict";const N={},I={};function v(e){const{properties:l,title:s,ignore:i}=e,d=i&&Array.isArray(i),m=Object.keys(l).reduce((c,f)=>((!d||!i.find(g=>g==f))&&(c[f]=l[f].type==="object"&&l[f].properties?v(l[f]):x.cloneDeep(l[f].default)),c),{});return(!d||!i.find(c=>c=="id"))&&(m.id=`${s}-${Date.now()}`),m}function k(e,l){const s=v(l);return Object.keys(e).reduce((i,d)=>(i[d]&&x.isPlainObject(i[d])&&x.isPlainObject(e[d])?Object.assign(i[d],e[d]):i[d]=e[d],i),s),s}function D(e,l){return Object.keys(e).filter(i=>e[i]!=null).reduce((i,d)=>{if(l.has(d)){const m=l.get(d);if(typeof m=="string")i[m]=e[d];else{const c=m(d,e[d],e);Object.assign(i,c)}}else i[d]=e[d];return i},{})}function E(e,l,s=new Map){const i=k(e,l);return D(i,s)}function $(e={}){function l(a,t,n,u){if(typeof n=="number")return u[a].length===n;if(typeof n=="object"){const o=Object.keys(n)[0],y=n[o];if(o==="not")return Number(u[a].length)!==Number(y);if(o==="moreThan")return Number(u[a].length)>=Number(y);if(o==="lessThan")return Number(u[a].length)<=Number(y)}return!1}function s(a,t,n,u){return u[a]&&u[a].propertyValue&&String(u[a].propertyValue.value)===String(n)}const i=new Map([["length",l],["getProperty",s]]);Object.keys(e).reduce((a,t)=>(a.set(t,e[t]),a),i);function d(a,t){const n=a;return typeof t=="number"?[{target:n,operator:"length",param:null,value:Number(t)}]:typeof t=="boolean"?[{target:n,operator:"getProperty",param:a,value:!!t}]:typeof t=="object"?Object.keys(t).map(u=>{if(u==="length")return{target:n,operator:"length",param:null,value:t[u]};const o=u,y=t[u];return{target:n,operator:"getProperty",param:o,value:y}}):[]}function m(a){return Object.keys(a).reduce((n,u)=>{const o=d(u,a[u]);return n.push(...o),n},[])}function c(a,t){if(i.has(a.operator)){const n=i.get(a.operator);return n&&n(a.target,a.param,a.value,t)||!1}return!1}function f(a,t){return m(a).reduce((o,y)=>o&&c(y,t),!0)}function g(a,t){const n=Object.keys(a),u=n.includes("allOf"),o=n.includes("anyOf"),y=u||o,b=(y?a[y?u?"allOf":"anyOf":"allOf"]:[a]).map(T=>f(T,t));return u?!b.includes(!1):b.includes(!0)}return{parseValueSchema:g}}const R={},q={};$();function H(e,l,s=new Map,i=(c,f,g)=>f,d={},m=c=>c){return N[l.title]=l,I[l.title]=i,R[l.title]=d,q[l.title]=m,(c={})=>{const f=E(c,l,s),g=Object.keys(e).reduce((a,t)=>(a[t]=e[t].default,a),{});return Object.assign(g,f)}}function L(e,l){return{customClass:l.class,customStyle:l.style}}const A=new Map([["appearance",L]]),_={$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:{}},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"]};function U(e,l,s){return l}var j=(e=>(e.Text="text",e.Tag="tag",e))(j||{}),O=(e=>(e.top="top",e.bottom="bottom",e.auto="auto",e))(O||{});const C={id:{type:String},data:{type:Array,default:[]},displayText:{type:String,default:""},disabled:{type:Boolean,default:!1},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-60-down"></span>'},editable:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!0},enableSearch:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!0},fitEditor:{type:Boolean,default:!1},forcePlaceholder:{type:Boolean,default:!1},hidePanelOnClear:{type:Boolean,default:!0},idField:{type:String,default:"id"},mapFields:{type:Object},maxHeight:{type:Number,default:350},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{type:String,default:""},placeholder:{type:String},placement:{type:String,default:"auto"},readonly:{type:Boolean,default:!1},remoteSearch:{type:Boolean,default:!1},separator:{type:String,default:","},tabIndex:{type:Number,default:-1},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},valueField:{type:String,default:"id"},viewType:{type:String,default:"text"},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},formatter:{type:Function,default:null},editorParams:{type:Object},repositoryToken:{type:Symbol,default:null}},V=H(C,_,A,U),W={data:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{default:!1,type:Boolean},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},height:{type:Number},valueField:{type:String,default:"id"},formatter:{type:Function},maxHeight:{type:Number,default:350},repositoryToken:{type:Symbol,default:null},editorParams:{type:Object}},z=r.defineComponent({name:"FComboTreeContainer",props:W,emits:["selectionChange"],setup(e,l){const s=r.ref(e.data),i=r.ref([]),d=r.ref(e.separator),m=r.ref(e.width),c=r.ref(e.height),f=r.ref(e.maxHeight),g=r.ref(String(e.selectedValues).split(d.value));let a=null;e.repositoryToken&&(a=r.inject(e.repositoryToken));const t=r.computed(()=>[{field:e.textField,title:"",dataType:"string",formatter:e.formatter}]),n=r.computed(()=>{const o={};return m.value!==void 0&&(o.width=`${m.value}px`),c.value!==void 0&&(o.height=`${c.value}px`),f.value!==void 0&&f.value>0&&(o.maxHeight=`${f.value}px`,o.overflow="auto"),o});function u(o){i.value=o.map(y=>Object.assign({},y)),g.value=o.map(y=>y[e.idField]),l.emit("selectionChange",i.value)}return r.onMounted(()=>{a&&a.getData(e.editorParams).then(o=>{s.value=o})}),()=>r.createVNode("div",{class:"f-combo-tree-container",style:n.value},[r.createVNode(P,{data:s.value,idField:e.idField,columns:t.value,"selection-values":g.value,onSelectionChange:u},null)])}});function G(e){const l=r.ref(""),s=r.ref(e.modelValue),i=r.ref(e.data||[]),d=r.ref(e.editable);function m(t){const n=String(t).split(e.separator).map(o=>[o,!0]),u=new Map(n);return i.value.filter(o=>o.data?u.has(String(o.data[e.valueField])):!0).map(o=>o.data)}function c(t){const n=m(t).map(u=>u[e.textField]).join(e.separator);l.value=d.value?n||t:n}function f(t){const n=t.split(e.separator).map(o=>[o,!0]),u=new Map(n);return i.value.filter(o=>u.has(o[e.textField]))}function g(t){const n={};return n[e.idField]=t,n[e.textField]=t,[n]}function a(t){let n=f(t);const u=n&&n.length>0;return d.value&&!u&&(n=g(t)),n}return r.watch(()=>e.data,()=>{i.value=e.data}),r.watch([i],([t])=>{if(e.modelValue){const n=t.find(u=>u[e.valueField]===e.modelValue);n&&(l.value=n[e.textField])}}),r.watch(()=>e.modelValue,t=>{s.value=t,c(t)}),c(e.modelValue),{dataSource:i,displayText:l,editable:d,modelValue:s,getItemsByDisplayText:f,getItemsByValue:m,getSelectedItemsByDisplayText:a}}const S=r.defineComponent({name:"FComboTree",props:C,emits:["clear","update:modelValue","change"],setup(e,l){return()=>{const s=r.ref(),i=r.ref(e.disabled),d=r.ref(e.enableClear),m=r.ref(e.enableSearch),c=r.ref(e.readonly),{dataSource:f,displayText:g,editable:a,modelValue:t,getSelectedItemsByDisplayText:n}=G(e),u=r.computed(()=>e.multiSelect);r.computed(()=>s.value?s.value.elementRef.getBoundingClientRect().width:0);function o(){!u.value&&s.value&&s.value.hidePopup()}function y(b){g.value=b.map(h=>h[e.textField]).join(e.separator),t.value=b.map(h=>h[e.valueField]).join(e.separator),l.emit("update:modelValue",t.value),l.emit("change",b,t.value),o()}function F(b){t.value="",l.emit("update:modelValue",""),l.emit("clear")}function B(b){const h=n(b);y(h)}return r.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([b,h,T,Q,X])=>{i.value=b,a.value=h,d.value=T,m.value=Q,c.value=X}),r.createVNode(w,{ref:s,id:e.id,disable:i.value,readonly:c.value,forcePlaceholder:e.forcePlaceholder,editable:a.value,buttonContent:e.dropDownIcon,placeholder:e.placeholder,enableClear:d.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?"tag":"text",modelValue:g.value,"onUpdate:modelValue":b=>g.value=b,onClear:F,onChange:B,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated},{default:()=>[r.createVNode(z,{maxHeight:e.maxHeight,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,data:f.value,selectedValues:t.value,onSelectionChange:y,formatter:e.formatter,editorParams:e.editorParams,repositoryToken:e.repositoryToken},null)]})}}});S.register=(e,l,s,i)=>{e["combo-tree"]=S,l["combo-tree"]=V};const J=M.withInstall(S);p.FComboTree=S,p.Placement=O,p.ViewType=j,p.comboTreeProps=C,p.default=J,p.propsResolver=V,Object.defineProperties(p,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(p,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("vue"),require("../button-edit/index.umd.js"),require("lodash-es"),require("../tree-view/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../button-edit/index.umd.js","lodash-es","../tree-view/index.umd.js","../common/index.umd.js"],o):(p=typeof globalThis<"u"?globalThis:p||self,o(p["combo-tree"]={},p.Vue,p.FButtonEdit,p.LodashES,p.FTreeView,p.common))})(this,function(p,o,P,C,w,M){"use strict";const N={},I={};function v(e){const{properties:r,title:c,ignore:l}=e,u=l&&Array.isArray(l),y=Object.keys(r).reduce((f,m)=>((!u||!l.find(g=>g===m))&&(f[m]=r[m].type==="object"&&r[m].properties?v(r[m]):C.cloneDeep(r[m].default)),f),{});if(c&&(!u||!l.find(f=>f==="id"))){const f=c.toLowerCase().replace(/-/g,"_");y.id=`${f}_${Math.random().toString().slice(2,6)}`}return y}function k(e,r){const c=v(r);return Object.keys(c).reduce((l,u)=>(l[u]&&C.isPlainObject(l[u])&&C.isPlainObject(e[u]||!e[u])?Object.assign(l[u],e[u]||{}):l[u]=e[u],l),c),c}function D(e,r){return Object.keys(e).filter(l=>e[l]!=null).reduce((l,u)=>{if(r.has(u)){const y=r.get(u);if(typeof y=="string")l[y]=e[u];else{const f=y(u,e[u],e);Object.assign(l,f)}}else l[u]=e[u];return l},{})}function E(e,r,c=new Map){const l=k(e,r);return D(l,c)}function $(e={}){function r(a,d,t,n){if(typeof t=="number")return n[a].length===t;if(typeof t=="object"){const i=Object.keys(t)[0],s=t[i];if(i==="not")return Number(n[a].length)!==Number(s);if(i==="moreThan")return Number(n[a].length)>=Number(s);if(i==="lessThan")return Number(n[a].length)<=Number(s)}return!1}function c(a,d,t,n){return n[a]&&n[a].propertyValue&&String(n[a].propertyValue.value)===String(t)}const l=new Map([["length",r],["getProperty",c]]);Object.keys(e).reduce((a,d)=>(a.set(d,e[d]),a),l);function u(a,d){const t=a;return typeof d=="number"?[{target:t,operator:"length",param:null,value:Number(d)}]:typeof d=="boolean"?[{target:t,operator:"getProperty",param:a,value:!!d}]:typeof d=="object"?Object.keys(d).map(n=>{if(n==="length")return{target:t,operator:"length",param:null,value:d[n]};const i=n,s=d[n];return{target:t,operator:"getProperty",param:i,value:s}}):[]}function y(a){return Object.keys(a).reduce((t,n)=>{const i=u(n,a[n]);return t.push(...i),t},[])}function f(a,d){if(l.has(a.operator)){const t=l.get(a.operator);return t&&t(a.target,a.param,a.value,d)||!1}return!1}function m(a,d){return y(a).reduce((i,s)=>i&&f(s,d),!0)}function g(a,d){const t=Object.keys(a),n=t.includes("allOf"),i=t.includes("anyOf"),s=n||i,b=(s?a[s?n?"allOf":"anyOf":"allOf"]:[a]).map(T=>m(T,d));return n?!b.includes(!1):b.includes(!0)}return{parseValueSchema:g}}const H={},L={};$();function R(e,r,c=new Map,l=(f,m,g,a)=>m,u={},y=f=>f){return N[r.title]=r,I[r.title]=l,H[r.title]=u,L[r.title]=y,(f={})=>{const m=E(f,r,c),g=Object.keys(e).reduce((a,d)=>(a[d]=e[d].default,a),{});return Object.assign(g,m)}}function q(e,r){return{customClass:r.class,customStyle:r.style}}const A=new Map([["appearance",q]]),_={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-tree",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-tree"},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:""},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"]};function U(e,r,c){return r}var j=(e=>(e.Text="text",e.Tag="tag",e))(j||{}),O=(e=>(e.top="top",e.bottom="bottom",e.auto="auto",e))(O||{});const F={id:{type:String},data:{type:Array,default:[]},displayText:{type:String,default:""},disabled:{type:Boolean,default:!1},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-60-down"></span>'},editable:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!0},enableSearch:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!0},fitEditor:{type:Boolean,default:!1},forcePlaceholder:{type:Boolean,default:!1},hidePanelOnClear:{type:Boolean,default:!0},idField:{type:String,default:"id"},mapFields:{type:Object},maxHeight:{type:Number,default:350},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{type:String,default:""},placeholder:{type:String},placement:{type:String,default:"auto"},readonly:{type:Boolean,default:!1},remoteSearch:{type:Boolean,default:!1},separator:{type:String,default:","},tabIndex:{type:Number,default:-1},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},valueField:{type:String,default:"id"},viewType:{type:String,default:"text"},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},formatter:{type:Function,default:null},editorParams:{type:Object},repositoryToken:{type:Symbol,default:null}},V=R(F,_,A,U),W={data:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{default:!1,type:Boolean},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},height:{type:Number},valueField:{type:String,default:"id"},formatter:{type:Function},maxHeight:{type:Number,default:350},repositoryToken:{type:Symbol,default:null},editorParams:{type:Object}},z=o.defineComponent({name:"FComboTreeContainer",props:W,emits:["selectionChange"],setup(e,r){const c=o.ref(e.data),l=o.ref([]),u=o.ref(e.separator),y=o.ref(e.width),f=o.ref(e.height),m=o.ref(e.maxHeight),g=o.ref(String(e.selectedValues).split(u.value));let a=null;e.repositoryToken&&(a=o.inject(e.repositoryToken));const d=o.computed(()=>[{field:e.textField,title:"",dataType:"string",formatter:e.formatter}]),t=o.computed(()=>{const i={};return y.value!==void 0&&(i.width=`${y.value}px`),f.value!==void 0&&(i.height=`${f.value}px`),m.value!==void 0&&m.value>0&&(i.maxHeight=`${m.value}px`,i.overflow="auto"),i});function n(i){l.value=i.map(s=>Object.assign({},s)),g.value=i.map(s=>s[e.idField]),r.emit("selectionChange",l.value)}return o.onMounted(()=>{a&&a.getData(e.editorParams).then(i=>{c.value=i})}),()=>o.createVNode("div",{class:"f-combo-tree-container",style:t.value},[o.createVNode(w,{data:c.value,idField:e.idField,columns:d.value,"selection-values":g.value,onSelectionChange:n},null)])}});function G(e){const r=o.ref(""),c=o.ref(e.modelValue),l=o.ref(e.data||[]),u=o.ref(e.editable);function y(t,n=[]){return t=t||[],t.reduce((i,s)=>(i.push(s),s.children&&s.children.length&&y(s.children,i),i),n)}function f(t){const n=String(t).split(e.separator).map(h=>[h,!0]),i=new Map(n),s=[];return y(l.value,s),s.filter(h=>h.data?i.has(String(h.data[e.valueField])):i.has(String(h[e.valueField]))).map(h=>h.data?h.data:h)}function m(t){const n=f(t).map(i=>i[e.textField]).join(e.separator);r.value=u.value?n||t:n}function g(t){const n=t.split(e.separator).map(s=>[s,!0]),i=new Map(n);return l.value[0].children&&y(l.value,[]),l.value.filter(s=>i.has(s[e.textField]))}function a(t){const n={};return n[e.idField]=t,n[e.textField]=t,[n]}function d(t){let n=g(t);const i=n&&n.length>0;return u.value&&!i&&(n=a(t)),n}return o.watch(()=>e.data,()=>{l.value=e.data}),o.watch([l],([t])=>{if(e.modelValue){const n=t.find(i=>i[e.valueField]===e.modelValue);n&&(r.value=n[e.textField])}}),o.watch(()=>e.modelValue,(t,n)=>{t!==n&&(c.value=t,m(t))}),m(e.modelValue),{dataSource:l,displayText:r,editable:u,modelValue:c,getItemsByDisplayText:g,getItemsByValue:f,getSelectedItemsByDisplayText:d}}const x=o.defineComponent({name:"FComboTree",props:F,emits:["clear","update:modelValue","change"],setup(e,r){return()=>{const c=o.ref(),l=o.ref(e.disabled),u=o.ref(e.enableClear),y=o.ref(e.enableSearch),f=o.ref(e.readonly),{dataSource:m,displayText:g,editable:a,modelValue:d,getSelectedItemsByDisplayText:t}=G(e),n=o.computed(()=>e.multiSelect);o.computed(()=>c.value?c.value.elementRef.getBoundingClientRect().width:0);function i(){!n.value&&c.value&&c.value.hidePopup()}function s(b){g.value=b.map(S=>S[e.textField]).join(e.separator),d.value=b.map(S=>S[e.valueField]).join(e.separator),r.emit("update:modelValue",d.value),r.emit("change",b,d.value),i()}function h(b){d.value="",r.emit("update:modelValue",""),r.emit("clear")}function B(b){const S=t(b);s(S)}return o.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([b,S,T,Q,X])=>{l.value=b,a.value=S,u.value=T,y.value=Q,f.value=X}),o.createVNode(P,{ref:c,id:e.id,disable:l.value,readonly:f.value,forcePlaceholder:e.forcePlaceholder,editable:a.value,buttonContent:e.dropDownIcon,placeholder:e.placeholder,enableClear:u.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?"tag":"text",modelValue:g.value,"onUpdate:modelValue":b=>g.value=b,onClear:h,onChange:B,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated},{default:()=>[o.createVNode(z,{maxHeight:e.maxHeight,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,data:m.value,selectedValues:d.value,onSelectionChange:s,formatter:e.formatter,editorParams:e.editorParams,repositoryToken:e.repositoryToken},null)]})}}});x.register=(e,r,c,l)=>{e["combo-tree"]=x,r["combo-tree"]=V};const J=M.withInstall(x);p.FComboTree=x,p.Placement=O,p.ViewType=j,p.comboTreeProps=F,p.default=J,p.propsResolver=V,Object.defineProperties(p,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});