@ctzy-web-client/plugin-component-vue 1.0.7 → 1.0.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 (378) hide show
  1. package/package.json +3 -3
  2. package/src/advance-select/advance-operation.vue +2 -1
  3. package/src/advance-select/advance-option.vue +2 -1
  4. package/src/advance-select/advance-select.vue +2 -1
  5. package/src/advance-select/events-helpers.js +2 -1
  6. package/src/advance-select/index.js +1 -0
  7. package/src/advance-select/use-advance-option.js +2 -1
  8. package/src/advance-select/use-advance-select.js +1 -0
  9. package/src/application-slot/application-slot.js +2 -1
  10. package/src/application-slot/breadcrumb-item.vue +1 -0
  11. package/src/application-slot/header-tools-item.vue +1 -0
  12. package/src/application-slot/index.js +1 -0
  13. package/src/breadcrumb-select/breadcrumb-select.vue +2 -1
  14. package/src/breadcrumb-select/index.js +1 -0
  15. package/src/components.js +1 -0
  16. package/src/contextmenu/contextmenu-item.vue +2 -1
  17. package/src/contextmenu/contextmenu.vue +2 -1
  18. package/src/contextmenu/index.js +1 -0
  19. package/src/contextmenu/use-contextmenu.js +2 -1
  20. package/src/data-form/data-form-item.vue +2 -1
  21. package/src/data-form/data-form.vue +2 -1
  22. package/src/data-form/dynamic-component.js +1 -0
  23. package/src/data-form/form-components/Blots/AtBlot.js +1 -0
  24. package/src/data-form/form-components/bwa-date-picker.vue +1 -0
  25. package/src/data-form/form-components/bwa-date-time-picker.vue +1 -0
  26. package/src/data-form/form-components/bwa-input-float.vue +1 -0
  27. package/src/data-form/form-components/bwa-input-integer.vue +1 -0
  28. package/src/data-form/form-components/bwa-input.vue +1 -0
  29. package/src/data-form/form-components/bwa-multi-select.vue +1 -0
  30. package/src/data-form/form-components/bwa-rich-text-tinymce.vue +3 -2
  31. package/src/data-form/form-components/bwa-rich-text.vue +2 -1
  32. package/src/data-form/form-components/bwa-select.vue +1 -0
  33. package/src/data-form/form-components/bwa-textarea.vue +1 -0
  34. package/src/data-form/form-components/bwa-upload.vue +2 -1
  35. package/src/data-form/form-components/bwa-user-multi-select.vue +1 -0
  36. package/src/data-form/form-components/bwa-user-select.vue +2 -1
  37. package/src/data-form/index.js +1 -0
  38. package/src/data-table/data-column-view.vue +2 -1
  39. package/src/data-table/data-table-card.vue +2 -1
  40. package/src/data-table/data-table-column.vue +2 -1
  41. package/src/data-table/data-table.vue +2 -1
  42. package/src/data-table/dynamic-component.js +1 -0
  43. package/src/data-table/index.js +1 -0
  44. package/src/data-table/use-datatable-drag.js +1 -0
  45. package/src/datatable-settings/datatable-settings.vue +2 -1
  46. package/src/datatable-settings/index.js +1 -0
  47. package/src/date-range/date-picker.vue +2 -1
  48. package/src/date-range/date-range.vue +4 -3
  49. package/src/date-range/index.js +1 -0
  50. package/src/drag-list/constants.js +1 -0
  51. package/src/drag-list/drag-item.vue +2 -1
  52. package/src/drag-list/drag-list.vue +2 -1
  53. package/src/drag-list/index.js +1 -0
  54. package/src/drag-list/use-drag-list.js +1 -0
  55. package/src/dragable/constants.js +1 -0
  56. package/src/dragable/dragable-item.vue +2 -1
  57. package/src/dragable/dragable-operation.vue +2 -1
  58. package/src/dragable/dragable.vue +2 -1
  59. package/src/dragable/index.js +1 -0
  60. package/src/dragable/use-dragable.js +1 -0
  61. package/src/filter-panel/conditions/condition.js +1 -0
  62. package/src/filter-panel/conditions/date-range-condition.vue +1 -0
  63. package/src/filter-panel/conditions/department-condition/department-condition.vue +2 -1
  64. package/src/filter-panel/conditions/department-condition/department-node.vue +2 -1
  65. package/src/filter-panel/conditions/index.js +1 -0
  66. package/src/filter-panel/conditions/input-condition.vue +2 -1
  67. package/src/filter-panel/conditions/multi-user-condition.vue +2 -1
  68. package/src/filter-panel/conditions/multiple-menu-condition.vue +1 -0
  69. package/src/filter-panel/conditions/single-menu-condition.vue +2 -1
  70. package/src/filter-panel/conditions/single-user-condition.vue +2 -1
  71. package/src/filter-panel/filter-panel-item.vue +2 -1
  72. package/src/filter-panel/filter-panel.vue +2 -1
  73. package/src/filter-panel/index.js +1 -0
  74. package/src/filter-panel/use-filter-panel-item.js +2 -1
  75. package/src/filter-panel/use-filter-panel.js +2 -1
  76. package/src/hooks/use-data/index.js +3 -2
  77. package/src/index.js +1 -0
  78. package/src/layout/index.js +1 -0
  79. package/src/layout/layout.vue +2 -1
  80. package/src/make-installer.js +2 -1
  81. package/src/math/Rectangle.js +1 -0
  82. package/src/menu/index.js +1 -0
  83. package/src/menu/menu-item.vue +2 -1
  84. package/src/menu/menu.vue +2 -1
  85. package/src/panel/index.js +1 -0
  86. package/src/panel/panel.vue +2 -1
  87. package/src/panel-tabs/index.js +1 -0
  88. package/src/panel-tabs/panel-tabs.js +2 -1
  89. package/src/pct-filter-panel/index.js +1 -0
  90. package/src/pct-filter-panel/pct-compents/index.js +1 -0
  91. package/src/pct-filter-panel/pct-compents/pct-Input-condition.vue +2 -1
  92. package/src/pct-filter-panel/pct-compents/pct-date-range-condition.vue +2 -1
  93. package/src/pct-filter-panel/pct-compents/pct-multiple-menu-condition.vue +3 -2
  94. package/src/pct-filter-panel/pct-compents/pct-multiple-menu-condition2.vue +3 -2
  95. package/src/pct-filter-panel/pct-filter-panel-item.vue +2 -1
  96. package/src/pct-filter-panel/pct-filter-panel.vue +2 -1
  97. package/src/pct-filter-panel/use-filter-panel-item.js +2 -1
  98. package/src/pct-filter-panel/use-filter-panel.js +3 -2
  99. package/src/plugins.js +1 -0
  100. package/src/progress/index.js +1 -0
  101. package/src/progress/progress-item.vue +2 -1
  102. package/src/progress/progress.vue +2 -1
  103. package/src/progress/use-progress.js +1 -0
  104. package/src/utils/db.js +1 -0
  105. package/src/utils.js +1 -0
  106. package/src/where-filter-panel/use-where-filter-panel.js +2 -1
  107. package/src/where-filter-panel/where-filter-panel.vue +1 -0
  108. package/es/_virtual/_plugin-vue_export-helper.mjs +0 -9
  109. package/es/advance-select/advance-operation.mjs +0 -43
  110. package/es/advance-select/advance-option.mjs +0 -125
  111. package/es/advance-select/advance-select.mjs +0 -359
  112. package/es/advance-select/events-helpers.mjs +0 -29
  113. package/es/advance-select/index.mjs +0 -13
  114. package/es/advance-select/use-advance-option.mjs +0 -43
  115. package/es/advance-select/use-advance-select.mjs +0 -117
  116. package/es/application-slot/application-slot.mjs +0 -51
  117. package/es/application-slot/breadcrumb-item.mjs +0 -23
  118. package/es/application-slot/header-tools-item.mjs +0 -23
  119. package/es/application-slot/index.mjs +0 -16
  120. package/es/breadcrumb-select/breadcrumb-select.mjs +0 -155
  121. package/es/breadcrumb-select/index.mjs +0 -6
  122. package/es/components.mjs +0 -22
  123. package/es/contextmenu/contextmenu-item.mjs +0 -21
  124. package/es/contextmenu/contextmenu.mjs +0 -64
  125. package/es/contextmenu/index.mjs +0 -10
  126. package/es/contextmenu/use-contextmenu.mjs +0 -85
  127. package/es/data-form/data-form-item.mjs +0 -53
  128. package/es/data-form/data-form.mjs +0 -175
  129. package/es/data-form/dynamic-component.mjs +0 -23
  130. package/es/data-form/form-components/Blots/AtBlot.mjs +0 -25
  131. package/es/data-form/form-components/bwa-date-picker.mjs +0 -45
  132. package/es/data-form/form-components/bwa-date-time-picker.mjs +0 -50
  133. package/es/data-form/form-components/bwa-input-float.mjs +0 -43
  134. package/es/data-form/form-components/bwa-input-integer.mjs +0 -56
  135. package/es/data-form/form-components/bwa-input.mjs +0 -38
  136. package/es/data-form/form-components/bwa-multi-select.mjs +0 -35
  137. package/es/data-form/form-components/bwa-rich-text-tinymce.mjs +0 -234
  138. package/es/data-form/form-components/bwa-rich-text.mjs +0 -325
  139. package/es/data-form/form-components/bwa-select.mjs +0 -76
  140. package/es/data-form/form-components/bwa-textarea.mjs +0 -33
  141. package/es/data-form/form-components/bwa-upload.mjs +0 -159
  142. package/es/data-form/form-components/bwa-user-multi-select.mjs +0 -30
  143. package/es/data-form/form-components/bwa-user-select.mjs +0 -69
  144. package/es/data-form/index.mjs +0 -34
  145. package/es/data-table/data-column-view.mjs +0 -131
  146. package/es/data-table/data-table-card.mjs +0 -118
  147. package/es/data-table/data-table-column.mjs +0 -56
  148. package/es/data-table/data-table.mjs +0 -369
  149. package/es/data-table/dynamic-component.mjs +0 -48
  150. package/es/data-table/index.mjs +0 -13
  151. package/es/data-table/use-datatable-drag.mjs +0 -110
  152. package/es/datatable-settings/datatable-settings.mjs +0 -309
  153. package/es/datatable-settings/index.mjs +0 -6
  154. package/es/date-range/date-picker.mjs +0 -128
  155. package/es/date-range/date-range.mjs +0 -176
  156. package/es/date-range/index.mjs +0 -6
  157. package/es/drag-list/constants.mjs +0 -3
  158. package/es/drag-list/drag-item.mjs +0 -49
  159. package/es/drag-list/drag-list.mjs +0 -56
  160. package/es/drag-list/index.mjs +0 -6
  161. package/es/drag-list/use-drag-list.mjs +0 -154
  162. package/es/dragable/constants.mjs +0 -4
  163. package/es/dragable/dragable-item.mjs +0 -25
  164. package/es/dragable/dragable-operation.mjs +0 -32
  165. package/es/dragable/dragable.mjs +0 -31
  166. package/es/dragable/index.mjs +0 -15
  167. package/es/dragable/use-dragable.mjs +0 -134
  168. package/es/filter-panel/conditions/condition.mjs +0 -30
  169. package/es/filter-panel/conditions/date-range-condition.mjs +0 -46
  170. package/es/filter-panel/conditions/department-condition/department-condition.mjs +0 -81
  171. package/es/filter-panel/conditions/department-condition/department-node.mjs +0 -74
  172. package/es/filter-panel/conditions/index.mjs +0 -21
  173. package/es/filter-panel/conditions/input-condition.mjs +0 -83
  174. package/es/filter-panel/conditions/multi-user-condition.mjs +0 -64
  175. package/es/filter-panel/conditions/multiple-menu-condition.mjs +0 -41
  176. package/es/filter-panel/conditions/single-menu-condition.mjs +0 -68
  177. package/es/filter-panel/conditions/single-user-condition.mjs +0 -64
  178. package/es/filter-panel/filter-panel-item.mjs +0 -47
  179. package/es/filter-panel/filter-panel.mjs +0 -180
  180. package/es/filter-panel/index.mjs +0 -15
  181. package/es/filter-panel/use-filter-panel-item.mjs +0 -52
  182. package/es/filter-panel/use-filter-panel.mjs +0 -135
  183. package/es/hooks/use-data/index.mjs +0 -152
  184. package/es/index.mjs +0 -27
  185. package/es/layout/index.mjs +0 -6
  186. package/es/layout/layout.mjs +0 -86
  187. package/es/make-installer.mjs +0 -34
  188. package/es/math/Rectangle.mjs +0 -25
  189. package/es/menu/index.mjs +0 -6
  190. package/es/menu/menu-item.mjs +0 -75
  191. package/es/menu/menu.mjs +0 -60
  192. package/es/node_modules/.pnpm/@vueuse_core@9.6.0_vue@3.2.41/node_modules/@vueuse/core/index.mjs +0 -6372
  193. package/es/node_modules/.pnpm/@vueuse_shared@9.6.0_vue@3.2.41/node_modules/@vueuse/shared/index.mjs +0 -1517
  194. package/es/panel/index.mjs +0 -6
  195. package/es/panel/panel.mjs +0 -55
  196. package/es/panel-tabs/index.mjs +0 -6
  197. package/es/panel-tabs/panel-tabs.mjs +0 -66
  198. package/es/pct-filter-panel/index.mjs +0 -10
  199. package/es/pct-filter-panel/pct-compents/index.mjs +0 -10
  200. package/es/pct-filter-panel/pct-compents/pct-Input-condition.mjs +0 -71
  201. package/es/pct-filter-panel/pct-compents/pct-date-range-condition.mjs +0 -74
  202. package/es/pct-filter-panel/pct-compents/pct-multiple-menu-condition.mjs +0 -186
  203. package/es/pct-filter-panel/pct-compents/pct-multiple-menu-condition2.mjs +0 -147
  204. package/es/pct-filter-panel/pct-filter-panel-item.mjs +0 -48
  205. package/es/pct-filter-panel/pct-filter-panel.mjs +0 -251
  206. package/es/pct-filter-panel/use-filter-panel-item.mjs +0 -56
  207. package/es/pct-filter-panel/use-filter-panel.mjs +0 -127
  208. package/es/plugins.mjs +0 -5
  209. package/es/progress/index.mjs +0 -10
  210. package/es/progress/progress-item.mjs +0 -68
  211. package/es/progress/progress.mjs +0 -74
  212. package/es/progress/use-progress.mjs +0 -46
  213. package/es/utils/db.mjs +0 -9
  214. package/es/utils.mjs +0 -99
  215. package/es/where-filter-panel/index.mjs +0 -1
  216. package/es/where-filter-panel/use-where-filter-panel.mjs +0 -18
  217. package/es/where-filter-panel/where-filter-panel.mjs +0 -17
  218. package/lib/_virtual/_plugin-vue_export-helper.js +0 -13
  219. package/lib/advance-select/advance-operation.js +0 -47
  220. package/lib/advance-select/advance-option.js +0 -129
  221. package/lib/advance-select/advance-select.js +0 -363
  222. package/lib/advance-select/events-helpers.js +0 -33
  223. package/lib/advance-select/index.js +0 -20
  224. package/lib/advance-select/use-advance-option.js +0 -47
  225. package/lib/advance-select/use-advance-select.js +0 -122
  226. package/lib/application-slot/application-slot.js +0 -55
  227. package/lib/application-slot/breadcrumb-item.js +0 -27
  228. package/lib/application-slot/header-tools-item.js +0 -27
  229. package/lib/application-slot/index.js +0 -23
  230. package/lib/breadcrumb-select/breadcrumb-select.js +0 -159
  231. package/lib/breadcrumb-select/index.js +0 -11
  232. package/lib/components.js +0 -26
  233. package/lib/contextmenu/contextmenu-item.js +0 -25
  234. package/lib/contextmenu/contextmenu.js +0 -68
  235. package/lib/contextmenu/index.js +0 -16
  236. package/lib/contextmenu/use-contextmenu.js +0 -89
  237. package/lib/data-form/data-form-item.js +0 -57
  238. package/lib/data-form/data-form.js +0 -179
  239. package/lib/data-form/dynamic-component.js +0 -27
  240. package/lib/data-form/form-components/Blots/AtBlot.js +0 -31
  241. package/lib/data-form/form-components/bwa-date-picker.js +0 -49
  242. package/lib/data-form/form-components/bwa-date-time-picker.js +0 -54
  243. package/lib/data-form/form-components/bwa-input-float.js +0 -47
  244. package/lib/data-form/form-components/bwa-input-integer.js +0 -60
  245. package/lib/data-form/form-components/bwa-input.js +0 -42
  246. package/lib/data-form/form-components/bwa-multi-select.js +0 -39
  247. package/lib/data-form/form-components/bwa-rich-text-tinymce.js +0 -242
  248. package/lib/data-form/form-components/bwa-rich-text.js +0 -333
  249. package/lib/data-form/form-components/bwa-select.js +0 -80
  250. package/lib/data-form/form-components/bwa-textarea.js +0 -37
  251. package/lib/data-form/form-components/bwa-upload.js +0 -163
  252. package/lib/data-form/form-components/bwa-user-multi-select.js +0 -34
  253. package/lib/data-form/form-components/bwa-user-select.js +0 -73
  254. package/lib/data-form/index.js +0 -40
  255. package/lib/data-table/data-column-view.js +0 -135
  256. package/lib/data-table/data-table-card.js +0 -122
  257. package/lib/data-table/data-table-column.js +0 -60
  258. package/lib/data-table/data-table.js +0 -373
  259. package/lib/data-table/dynamic-component.js +0 -56
  260. package/lib/data-table/index.js +0 -20
  261. package/lib/data-table/use-datatable-drag.js +0 -114
  262. package/lib/datatable-settings/datatable-settings.js +0 -313
  263. package/lib/datatable-settings/index.js +0 -11
  264. package/lib/date-range/date-picker.js +0 -136
  265. package/lib/date-range/date-range.js +0 -180
  266. package/lib/date-range/index.js +0 -11
  267. package/lib/drag-list/constants.js +0 -7
  268. package/lib/drag-list/drag-item.js +0 -53
  269. package/lib/drag-list/drag-list.js +0 -60
  270. package/lib/drag-list/index.js +0 -11
  271. package/lib/drag-list/use-drag-list.js +0 -158
  272. package/lib/dragable/constants.js +0 -9
  273. package/lib/dragable/dragable-item.js +0 -29
  274. package/lib/dragable/dragable-operation.js +0 -36
  275. package/lib/dragable/dragable.js +0 -35
  276. package/lib/dragable/index.js +0 -22
  277. package/lib/dragable/use-dragable.js +0 -138
  278. package/lib/filter-panel/conditions/condition.js +0 -34
  279. package/lib/filter-panel/conditions/date-range-condition.js +0 -50
  280. package/lib/filter-panel/conditions/department-condition/department-condition.js +0 -85
  281. package/lib/filter-panel/conditions/department-condition/department-node.js +0 -78
  282. package/lib/filter-panel/conditions/index.js +0 -26
  283. package/lib/filter-panel/conditions/input-condition.js +0 -87
  284. package/lib/filter-panel/conditions/multi-user-condition.js +0 -68
  285. package/lib/filter-panel/conditions/multiple-menu-condition.js +0 -45
  286. package/lib/filter-panel/conditions/single-menu-condition.js +0 -72
  287. package/lib/filter-panel/conditions/single-user-condition.js +0 -68
  288. package/lib/filter-panel/filter-panel-item.js +0 -51
  289. package/lib/filter-panel/filter-panel.js +0 -184
  290. package/lib/filter-panel/index.js +0 -20
  291. package/lib/filter-panel/use-filter-panel-item.js +0 -56
  292. package/lib/filter-panel/use-filter-panel.js +0 -139
  293. package/lib/hooks/use-data/index.js +0 -157
  294. package/lib/index.js +0 -60
  295. package/lib/layout/index.js +0 -11
  296. package/lib/layout/layout.js +0 -90
  297. package/lib/make-installer.js +0 -62
  298. package/lib/math/Rectangle.js +0 -29
  299. package/lib/menu/index.js +0 -11
  300. package/lib/menu/menu-item.js +0 -79
  301. package/lib/menu/menu.js +0 -64
  302. package/lib/node_modules/.pnpm/@vueuse_core@9.6.0_vue@3.2.41/node_modules/@vueuse/core/index.js +0 -6635
  303. package/lib/node_modules/.pnpm/@vueuse_shared@9.6.0_vue@3.2.41/node_modules/@vueuse/shared/index.js +0 -1628
  304. package/lib/panel/index.js +0 -11
  305. package/lib/panel/panel.js +0 -59
  306. package/lib/panel-tabs/index.js +0 -11
  307. package/lib/panel-tabs/panel-tabs.js +0 -70
  308. package/lib/pct-filter-panel/index.js +0 -14
  309. package/lib/pct-filter-panel/pct-compents/index.js +0 -16
  310. package/lib/pct-filter-panel/pct-compents/pct-Input-condition.js +0 -75
  311. package/lib/pct-filter-panel/pct-compents/pct-date-range-condition.js +0 -78
  312. package/lib/pct-filter-panel/pct-compents/pct-multiple-menu-condition.js +0 -190
  313. package/lib/pct-filter-panel/pct-compents/pct-multiple-menu-condition2.js +0 -151
  314. package/lib/pct-filter-panel/pct-filter-panel-item.js +0 -52
  315. package/lib/pct-filter-panel/pct-filter-panel.js +0 -255
  316. package/lib/pct-filter-panel/use-filter-panel-item.js +0 -60
  317. package/lib/pct-filter-panel/use-filter-panel.js +0 -131
  318. package/lib/plugins.js +0 -9
  319. package/lib/progress/index.js +0 -16
  320. package/lib/progress/progress-item.js +0 -72
  321. package/lib/progress/progress.js +0 -78
  322. package/lib/progress/use-progress.js +0 -51
  323. package/lib/utils/db.js +0 -17
  324. package/lib/utils.js +0 -110
  325. package/lib/where-filter-panel/index.js +0 -2
  326. package/lib/where-filter-panel/use-where-filter-panel.js +0 -22
  327. package/lib/where-filter-panel/where-filter-panel.js +0 -21
  328. package/style/advance-select.css +0 -1
  329. package/style/breadcrumb-select.css +0 -1
  330. package/style/common.css +0 -1
  331. package/style/contextmenu.css +0 -1
  332. package/style/data-form.css +0 -1
  333. package/style/data-table.css +0 -1
  334. package/style/datatable-settings.css +0 -1
  335. package/style/date-range.css +0 -1
  336. package/style/department-condition.css +0 -1
  337. package/style/drag-list.css +0 -1
  338. package/style/dragable.css +0 -1
  339. package/style/filter-panel.css +0 -1
  340. package/style/index.css +0 -1
  341. package/style/input-condition.css +0 -1
  342. package/style/layout.css +0 -1
  343. package/style/menu.css +0 -1
  344. package/style/panel-tabs.css +0 -1
  345. package/style/panel.css +0 -1
  346. package/style/pct-filter-panel.css +0 -1
  347. package/style/progress.css +0 -1
  348. package/style/rich-text.css +0 -1
  349. package/style/var.css +0 -1
  350. /package/style/{src/advance-select.scss → advance-select.scss} +0 -0
  351. /package/style/{src/breadcrumb-select.scss → breadcrumb-select.scss} +0 -0
  352. /package/style/{src/common → common}/var.scss +0 -0
  353. /package/style/{src/common.scss → common.scss} +0 -0
  354. /package/style/{src/contextmenu.scss → contextmenu.scss} +0 -0
  355. /package/style/{src/data-form.scss → data-form.scss} +0 -0
  356. /package/style/{src/data-table.scss → data-table.scss} +0 -0
  357. /package/style/{src/datatable-settings.scss → datatable-settings.scss} +0 -0
  358. /package/style/{src/date-range.scss → date-range.scss} +0 -0
  359. /package/style/{src/department-condition.scss → department-condition.scss} +0 -0
  360. /package/style/{src/drag-list.scss → drag-list.scss} +0 -0
  361. /package/style/{src/dragable.scss → dragable.scss} +0 -0
  362. /package/style/{src/filter-panel.scss → filter-panel.scss} +0 -0
  363. /package/style/{src/index.scss → index.scss} +0 -0
  364. /package/style/{src/input-condition.scss → input-condition.scss} +0 -0
  365. /package/style/{src/layout.scss → layout.scss} +0 -0
  366. /package/style/{src/menu.scss → menu.scss} +0 -0
  367. /package/style/{src/mixins → mixins}/_var.scss +0 -0
  368. /package/style/{src/mixins → mixins}/config.scss +0 -0
  369. /package/style/{src/mixins → mixins}/function.scss +0 -0
  370. /package/style/{src/mixins → mixins}/mixins.scss +0 -0
  371. /package/style/{src/panel-tabs.scss → panel-tabs.scss} +0 -0
  372. /package/style/{src/panel.scss → panel.scss} +0 -0
  373. /package/style/{src/pct-filter-panel.scss → pct-filter-panel.scss} +0 -0
  374. /package/style/{src/progress.scss → progress.scss} +0 -0
  375. /package/style/{src/rich-text.scss → rich-text.scss} +0 -0
  376. /package/style/{src/theme → theme}/theme.scss +0 -0
  377. /package/style/{src/theme → theme}/var.scss +0 -0
  378. /package/style/{src/var.scss → var.scss} +0 -0
@@ -1,125 +0,0 @@
1
- import 'element-plus';
2
- import { getCurrentInstance, ref, resolveComponent, openBlock, createElementBlock, normalizeClass, withModifiers, createCommentVNode, createElementVNode, renderSlot, createVNode, withCtx, createTextVNode, toDisplayString, createBlock } from 'vue';
3
- import { useNamespace } from 'web-base-client-vue';
4
- import { useEvent } from './events-helpers.mjs';
5
- import { useAdvanceOption } from './use-advance-option.mjs';
6
- import _export_sfc from '../_virtual/_plugin-vue_export-helper.mjs';
7
-
8
- const _sfc_main = {
9
- name: "BwaAdvanceOption",
10
- props: {
11
- label: {
12
- type: [String, Number, Boolean]
13
- },
14
- value: {
15
- type: null
16
- }
17
- },
18
- expose: ["currentLabel"],
19
- setup(props, { expose }) {
20
- const instance = getCurrentInstance();
21
- const ns = useNamespace("advance");
22
- const { handleOptionMouseEnter } = useEvent(ns);
23
- const { advanceSelect, currentLabel, itemSelected, showSelectIcon, source } = useAdvanceOption(props);
24
- const show = ref(true);
25
- const clickFlag = ref(true);
26
- const contentText = ref();
27
- expose({ currentLabel });
28
- const filterOptionClick = () => {
29
- advanceSelect.handleOptionSelect(instance.proxy);
30
- };
31
- const isShow = async () => {
32
- const dom = document.querySelector(`.content-label-${props.value} .bwa-advance-option__content-label`);
33
- if (dom) {
34
- const scrollWidth = document.querySelector(`.content-label-${props.value} .bwa-advance-option__content-label`).scrollWidth;
35
- const offsetWidth = document.querySelector(`.content-label-${props.value} .bwa-advance-option__content-label`).offsetWidth;
36
- if (scrollWidth > offsetWidth) {
37
- show.value = false;
38
- } else {
39
- show.value = true;
40
- }
41
- }
42
- };
43
- const listenerClickFunction = () => {
44
- setTimeout(() => {
45
- isShow();
46
- }, 100);
47
- };
48
- return {
49
- show,
50
- ns,
51
- currentLabel,
52
- itemSelected,
53
- showSelectIcon,
54
- filterOptionClick,
55
- handleOptionMouseEnter,
56
- source
57
- };
58
- }
59
- };
60
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
61
- const _component_ElCheckbox = resolveComponent("ElCheckbox");
62
- const _component_ElTooltip = resolveComponent("ElTooltip");
63
- const _component_Select = resolveComponent("Select");
64
- const _component_ElIcon = resolveComponent("ElIcon");
65
- return openBlock(), createElementBlock("div", {
66
- class: normalizeClass($setup.ns.b("option")),
67
- onClick: _cache[1] || (_cache[1] = withModifiers((...args) => $setup.filterOptionClick && $setup.filterOptionClick(...args), ["stop"]))
68
- }, [
69
- createCommentVNode(' @mouseenter="handleOptionMouseEnter" '),
70
- createElementVNode("div", {
71
- class: normalizeClass(`${$setup.ns.be("option", "content")} content-label-${$props.value}`)
72
- }, [
73
- renderSlot(_ctx.$slots, "default", {}, () => [
74
- createVNode(_component_ElTooltip, {
75
- placement: "top",
76
- "append-to": ".bwa-application",
77
- disabled: $setup.currentLabel.length < 16
78
- }, {
79
- content: withCtx(() => [
80
- createTextVNode(toDisplayString($setup.currentLabel), 1)
81
- ]),
82
- default: withCtx(() => [
83
- createElementVNode("div", {
84
- class: normalizeClass($setup.ns.be("option", "content-label")),
85
- ref: "contentText"
86
- }, [
87
- $setup.source === "pct" && !$setup.showSelectIcon ? (openBlock(), createBlock(_component_ElCheckbox, {
88
- key: 0,
89
- onClick: _cache[0] || (_cache[0] = withModifiers(() => {
90
- }, ["prevent"])),
91
- class: normalizeClass($setup.ns.be("filter", "checkbox")),
92
- modelValue: $setup.itemSelected,
93
- style: { "height": "26px" }
94
- }, {
95
- default: withCtx(() => [
96
- createElementVNode("div", {
97
- class: normalizeClass($setup.ns.be("option", "content-label")),
98
- style: { "width": "178px" }
99
- }, toDisplayString($setup.currentLabel), 3)
100
- ]),
101
- _: 1
102
- }, 8, ["class", "modelValue"])) : (openBlock(), createElementBlock("div", {
103
- key: 1,
104
- class: normalizeClass([$setup.ns.be("option", "content-label"), $setup.ns.is("selected", $setup.source === "pct" && $setup.itemSelected && $setup.showSelectIcon)])
105
- }, toDisplayString($setup.currentLabel), 3))
106
- ], 2)
107
- ]),
108
- _: 1
109
- }, 8, ["disabled"])
110
- ])
111
- ], 2),
112
- $setup.itemSelected && $setup.showSelectIcon ? (openBlock(), createBlock(_component_ElIcon, {
113
- key: 0,
114
- class: normalizeClass($setup.ns.be("option", "selected"))
115
- }, {
116
- default: withCtx(() => [
117
- createVNode(_component_Select)
118
- ]),
119
- _: 1
120
- }, 8, ["class"])) : createCommentVNode("v-if", true)
121
- ], 2);
122
- }
123
- var AdvanceOption = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "advance-option.vue"]]);
124
-
125
- export { AdvanceOption as default };
@@ -1,359 +0,0 @@
1
- import { defineComponent, inject, toRefs, useSlots, computed, unref, watch, onBeforeUnmount, provide, reactive, getCurrentInstance, resolveComponent, resolveDirective, openBlock, createElementBlock, normalizeClass, createVNode, isRef, withCtx, renderSlot, toDisplayString, createCommentVNode, createBlock, createElementVNode, Fragment, createTextVNode, withDirectives, renderList, normalizeStyle } from 'vue';
2
- import { Observable, debounceTime } from 'rxjs';
3
- import { useGlobalConfig, filterPanelItemKey, useNamespace, advanceSelectKey } from 'web-base-client-vue';
4
- import { dataProps, useData } from '../hooks/use-data/index.mjs';
5
- import AdvanceOperation from './advance-operation.mjs';
6
- import AdvanceOption from './advance-option.mjs';
7
- import { useAdvanceSelectStates, useAdvanceSelect } from './use-advance-select.mjs';
8
- import _export_sfc from '../_virtual/_plugin-vue_export-helper.mjs';
9
-
10
- const __default__ = defineComponent({
11
- name: "BwaAdvanceSelect"
12
- });
13
- const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
14
- props: {
15
- ...dataProps,
16
- options: {
17
- type: Array
18
- },
19
- modelValue: {
20
- type: [Array, String, Number, Boolean]
21
- },
22
- listHeight: {
23
- type: String,
24
- default: "300px"
25
- },
26
- width: {
27
- type: String,
28
- default: "240px"
29
- },
30
- multiple: {
31
- type: Boolean,
32
- default: true
33
- },
34
- multipleLimit: {
35
- type: Number,
36
- default: 0
37
- },
38
- required: {
39
- type: Boolean,
40
- default: false
41
- },
42
- showSearch: {
43
- type: Boolean,
44
- default: true
45
- },
46
- searchPlaceholder: {
47
- type: String,
48
- default: ""
49
- },
50
- showSelection: {
51
- type: Boolean,
52
- default: true
53
- },
54
- showSelectIcon: {
55
- type: Boolean,
56
- default: true
57
- },
58
- closeAfterSelection: {
59
- typoe: Boolean,
60
- default: false
61
- },
62
- loading: {
63
- type: Boolean,
64
- default: false
65
- },
66
- virtualRef: null,
67
- virtualTriggering: {
68
- type: Boolean,
69
- default: false
70
- },
71
- source: "",
72
- borderRadius: {
73
- type: String,
74
- default: "0px"
75
- }
76
- },
77
- emits: ["update:modelValue", "search", "visible-change"],
78
- setup(__props, { expose, emit }) {
79
- const props = __props;
80
- const debounceDelay = useGlobalConfig("debounceDelay", 500);
81
- const filterPanelItem = inject(filterPanelItemKey, null);
82
- const { listHeight, width, showSearch, showSelection, multiple, modelValue, borderRadius } = toRefs(props);
83
- const slots = useSlots();
84
- const ns = useNamespace("advance");
85
- const states = useAdvanceSelectStates(props);
86
- const {
87
- options: optionInstances,
88
- optionsCount,
89
- search,
90
- isShowPopper,
91
- selected
92
- } = toRefs(states);
93
- const column = computed(() => {
94
- var _a;
95
- return (_a = filterPanelItem == null ? void 0 : filterPanelItem.column) != null ? _a : null;
96
- });
97
- const {
98
- selectedLabel,
99
- onOptionCreate,
100
- onOptionDestroy,
101
- handleClearClick,
102
- handleOptionSelect,
103
- hidePoppper
104
- } = useAdvanceSelect(props, states, {
105
- emit
106
- });
107
- const disabled = computed(() => !unref(isShowPopper));
108
- const { data: itfData, loading: dataLoading } = useData(disabled, search);
109
- const loading = computed(() => props.loading || unref(dataLoading));
110
- const data = computed(() => props.options || unref(itfData));
111
- if (multiple.value && !Array.isArray(modelValue.value)) {
112
- emit("update:modelValue", []);
113
- }
114
- if (!multiple.value && Array.isArray(modelValue.value)) {
115
- emit("update:modelValue", "");
116
- }
117
- watch(isShowPopper, (isShowPopper2) => {
118
- emit("visible-change", isShowPopper2);
119
- });
120
- const subscription = new Observable(
121
- (observer) => watch(search, observer.next.bind(observer))
122
- ).pipe(debounceTime(unref(debounceDelay))).subscribe(emit.bind(null, "search"));
123
- onBeforeUnmount(subscription.unsubscribe.bind(subscription));
124
- provide(
125
- advanceSelectKey,
126
- reactive({
127
- props,
128
- options: optionInstances,
129
- selected,
130
- onOptionCreate,
131
- onOptionDestroy,
132
- handleOptionSelect,
133
- hidePoppper,
134
- select: getCurrentInstance()
135
- })
136
- );
137
- const popperStyle = reactive({
138
- padding: "0",
139
- borderRadius,
140
- width,
141
- border: "none",
142
- boxShadow: `0 3px 12px 0 rgb(0 0 0 / 12%), 0 0.5px 1.5px 0 rgb(0 0 0 / 8%)`
143
- });
144
- expose({
145
- handleClearClick
146
- });
147
- return (_ctx, _cache) => {
148
- const _component_CaretBottom = resolveComponent("CaretBottom");
149
- const _component_ElIcon = resolveComponent("ElIcon");
150
- const _component_ElInput = resolveComponent("ElInput");
151
- const _component_ElButton = resolveComponent("ElButton");
152
- const _component_ElScrollbar = resolveComponent("ElScrollbar");
153
- const _component_ElTooltip = resolveComponent("ElTooltip");
154
- const _directive_loading = resolveDirective("loading");
155
- return openBlock(), createElementBlock("div", {
156
- class: normalizeClass(unref(ns).b("select")),
157
- "data-prefix": "el",
158
- ref: "selectWrapper"
159
- }, [
160
- createVNode(_component_ElTooltip, {
161
- class: normalizeClass(unref(ns).be("select", "tooltip")),
162
- effect: "light",
163
- trigger: "click",
164
- placement: "bottom-start",
165
- "show-arrow": false,
166
- "append-to": ".bwa-application",
167
- "popper-style": popperStyle,
168
- "popper-class": unref(ns).be("select", "popper"),
169
- persistent: true,
170
- visible: unref(isShowPopper),
171
- "onUpdate:visible": _cache[1] || (_cache[1] = ($event) => isRef(isShowPopper) ? isShowPopper.value = $event : null),
172
- "virtual-ref": __props.virtualRef,
173
- "virtual-triggering": __props.virtualTriggering
174
- }, {
175
- default: withCtx(() => [
176
- renderSlot(_ctx.$slots, "reference", {
177
- label: unref(selectedLabel),
178
- column: unref(column)
179
- }, () => [
180
- __props.source ? (openBlock(), createElementBlock("div", {
181
- key: 0,
182
- class: normalizeClass([
183
- unref(ns).be("select", "pct-reference"),
184
- unref(ns).is("active", unref(isShowPopper))
185
- ])
186
- }, [
187
- renderSlot(_ctx.$slots, "reference-content", {
188
- label: unref(selectedLabel),
189
- column: unref(column),
190
- selected: unref(selected)
191
- }, () => [
192
- renderSlot(_ctx.$slots, "label", {}, () => [
193
- unref(column) ? (openBlock(), createElementBlock("span", {
194
- key: 0,
195
- class: normalizeClass(unref(ns).be("select", "label"))
196
- }, toDisplayString(unref(column).title), 3)) : createCommentVNode("v-if", true)
197
- ]),
198
- renderSlot(_ctx.$slots, "value", { selected: unref(selected) }, () => [
199
- unref(multiple) ? (openBlock(), createElementBlock("span", {
200
- key: 0,
201
- class: normalizeClass(unref(ns).be("select", "content"))
202
- }, toDisplayString(unref(selectedLabel).length ? unref(selectedLabel).join(",") : "\u5168\u90E8"), 3)) : (openBlock(), createElementBlock("span", {
203
- key: 1,
204
- class: normalizeClass(unref(ns).be("select", "content"))
205
- }, toDisplayString(unref(selectedLabel) ? unref(selectedLabel) : "\u5168\u90E8"), 3))
206
- ]),
207
- __props.showSelectIcon ? (openBlock(), createBlock(_component_ElIcon, {
208
- key: 0,
209
- class: normalizeClass(unref(ns).be("select", "caret"))
210
- }, {
211
- default: withCtx(() => [
212
- renderSlot(_ctx.$slots, "icon", {}, () => [
213
- createVNode(_component_CaretBottom)
214
- ])
215
- ]),
216
- _: 3
217
- }, 8, ["class"])) : createCommentVNode("v-if", true)
218
- ])
219
- ], 2)) : (openBlock(), createElementBlock("div", {
220
- key: 1,
221
- class: normalizeClass([
222
- unref(ns).be("select", "reference"),
223
- unref(ns).is("active", unref(isShowPopper))
224
- ])
225
- }, [
226
- renderSlot(_ctx.$slots, "reference-content", {
227
- label: unref(selectedLabel),
228
- column: unref(column),
229
- selected: unref(selected)
230
- }, () => [
231
- renderSlot(_ctx.$slots, "label", {}, () => [
232
- unref(column) ? (openBlock(), createElementBlock("span", {
233
- key: 0,
234
- class: normalizeClass(unref(ns).be("select", "label"))
235
- }, toDisplayString(unref(column).title), 3)) : createCommentVNode("v-if", true)
236
- ]),
237
- renderSlot(_ctx.$slots, "value", { selected: unref(selected) }, () => [
238
- unref(multiple) ? (openBlock(), createElementBlock("span", {
239
- key: 0,
240
- class: normalizeClass(unref(ns).be("select", "content"))
241
- }, toDisplayString(unref(selectedLabel).length ? unref(selectedLabel).join(",") : "\u5168\u90E8"), 3)) : (openBlock(), createElementBlock("span", {
242
- key: 1,
243
- class: normalizeClass(unref(ns).be("select", "content"))
244
- }, toDisplayString(unref(selectedLabel) ? unref(selectedLabel) : "\u5168\u90E8"), 3))
245
- ])
246
- ]),
247
- __props.showSelectIcon ? (openBlock(), createBlock(_component_ElIcon, {
248
- key: 0,
249
- class: normalizeClass(unref(ns).be("select", "caret"))
250
- }, {
251
- default: withCtx(() => [
252
- renderSlot(_ctx.$slots, "icon", {}, () => [
253
- createVNode(_component_CaretBottom)
254
- ])
255
- ]),
256
- _: 3
257
- }, 8, ["class"])) : createCommentVNode("v-if", true)
258
- ], 2))
259
- ])
260
- ]),
261
- content: withCtx(() => [
262
- createElementVNode("div", {
263
- class: normalizeClass([unref(ns).be("select", "content"), unref(ns).is("single", !unref(multiple))]),
264
- style: { "margin": "6px" }
265
- }, [
266
- renderSlot(_ctx.$slots, "contentTop"),
267
- unref(showSearch) ? (openBlock(), createElementBlock("div", {
268
- key: 0,
269
- class: normalizeClass(unref(ns).be("select", "input-wrapper"))
270
- }, [
271
- createVNode(_component_ElInput, {
272
- modelValue: unref(search),
273
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(search) ? search.value = $event : null),
274
- class: normalizeClass(unref(ns).be("select", "input")),
275
- placeholder: __props.searchPlaceholder,
276
- type: "text",
277
- "prefix-icon": "Search",
278
- clearable: ""
279
- }, null, 8, ["modelValue", "class", "placeholder"])
280
- ], 2)) : createCommentVNode("v-if", true),
281
- createElementVNode("div", {
282
- class: normalizeClass(unref(ns).be("select", "operation-wrapper"))
283
- }, [
284
- unref(multiple) || !__props.required ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
285
- unref(showSelection) ? (openBlock(), createBlock(AdvanceOperation, {
286
- key: 0,
287
- class: normalizeClass(unref(ns).be("select", "selection-wrapper")),
288
- type: "selection",
289
- border: true
290
- }, {
291
- default: withCtx(() => [
292
- unref(multiple) ? (openBlock(), createElementBlock("span", {
293
- key: 0,
294
- class: normalizeClass([
295
- unref(ns).be("select", "selection"),
296
- unref(ns).is("has-selected", !!unref(selected).length)
297
- ])
298
- }, " \u5DF2\u9009" + toDisplayString(unref(selected).length) + "\u9879 ", 3)) : createCommentVNode("v-if", true),
299
- !__props.required ? (openBlock(), createBlock(_component_ElButton, {
300
- key: 1,
301
- link: "",
302
- type: "primary",
303
- class: normalizeClass(unref(ns).be("select", "clear")),
304
- onClick: unref(handleClearClick)
305
- }, {
306
- default: withCtx(() => [
307
- createTextVNode(" \u6E05\u9664\u9009\u9879 ")
308
- ]),
309
- _: 1
310
- }, 8, ["class", "onClick"])) : createCommentVNode("v-if", true)
311
- ]),
312
- _: 1
313
- }, 8, ["class"])) : createCommentVNode("v-if", true)
314
- ], 64)) : createCommentVNode("v-if", true),
315
- renderSlot(_ctx.$slots, "operation")
316
- ], 2),
317
- withDirectives((openBlock(), createElementBlock("div", {
318
- class: normalizeClass(unref(ns).be("select", "list"))
319
- }, [
320
- createVNode(_component_ElScrollbar, { "max-height": unref(listHeight) }, {
321
- default: withCtx(() => [
322
- renderSlot(_ctx.$slots, "default", {}, () => [
323
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(data), (item) => {
324
- return openBlock(), createBlock(AdvanceOption, {
325
- key: item.value,
326
- value: item.value,
327
- label: item.label
328
- }, null, 8, ["value", "label"]);
329
- }), 128))
330
- ])
331
- ]),
332
- _: 3
333
- }, 8, ["max-height"]),
334
- !unref(optionsCount) ? renderSlot(_ctx.$slots, "empy", { key: 0 }, () => [
335
- createElementVNode("div", {
336
- class: normalizeClass(unref(ns).be("select", "empty"))
337
- }, "\u672A\u5339\u914D\u5230\u76F8\u5173\u6761\u76EE", 2)
338
- ]) : createCommentVNode("v-if", true)
339
- ], 2)), [
340
- [_directive_loading, unref(loading)]
341
- ]),
342
- unref(slots).contentBottom ? (openBlock(), createElementBlock("div", {
343
- key: 1,
344
- class: normalizeClass(unref(ns).be("select", "bottom")),
345
- style: normalizeStyle({ "boxShadow": __props.source ? "none" : "", "padding": __props.source ? "0" : "4px 0px" })
346
- }, [
347
- renderSlot(_ctx.$slots, "contentBottom")
348
- ], 6)) : createCommentVNode("v-if", true)
349
- ], 2)
350
- ]),
351
- _: 3
352
- }, 8, ["class", "popper-style", "popper-class", "visible", "virtual-ref", "virtual-triggering"])
353
- ], 2);
354
- };
355
- }
356
- });
357
- var AdvanceSelect = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "advance-select.vue"]]);
358
-
359
- export { AdvanceSelect as default };
@@ -1,29 +0,0 @@
1
- import { inject } from 'vue';
2
- import { advanceSelectKey } from 'web-base-client-vue';
3
- import { getStyle } from 'element-plus/es/utils/index';
4
- import { createTablePopper } from 'element-plus/es/components/table/src/util';
5
-
6
- function useEvent(ns) {
7
- const {
8
- select: advanceSelect
9
- } = inject(advanceSelectKey, {});
10
- const handleOptionMouseEnter = (event, tooltipEffect) => {
11
- const content = event.target.querySelector("." + ns.be("option", "content"));
12
- const range = document.createRange();
13
- range.setStart(content, 0);
14
- range.setEnd(content, content.childNodes.length);
15
- const rangeWidth = range.getBoundingClientRect().width;
16
- const padding = (Number.parseInt(getStyle(content, "paddingLeft"), 10) || 0) + Number.parseInt(getStyle(content, "paddingRight"), 10) || 0;
17
- if (rangeWidth + padding > content.offsetWidth || content.scrollWidth > content.offsetWidth) {
18
- createTablePopper(advanceSelect == null ? void 0 : advanceSelect.refs.selectWrapper, content, content.innerText || content.textContent, {
19
- placement: "top",
20
- strategy: "fixed"
21
- }, "dark");
22
- }
23
- };
24
- return {
25
- handleOptionMouseEnter
26
- };
27
- }
28
-
29
- export { useEvent };
@@ -1,13 +0,0 @@
1
- import { withInstall } from 'element-plus/es/utils/vue/install';
2
- import AdvanceSelect from './advance-select.mjs';
3
- import AdvanceOption from './advance-option.mjs';
4
- import AdvanceOperation from './advance-operation.mjs';
5
-
6
- const BwaAdvanceSelect = withInstall(AdvanceSelect, {
7
- AdvanceOption,
8
- AdvanceOperation
9
- });
10
- const BwaAdvanceOption = withInstall(AdvanceOption);
11
- const BwaAdvanceOperation = withInstall(AdvanceOperation);
12
-
13
- export { BwaAdvanceOperation, BwaAdvanceOption, BwaAdvanceSelect, BwaAdvanceSelect as default };
@@ -1,43 +0,0 @@
1
- import { inject, getCurrentInstance, computed, watch, onMounted, onUnmounted } from 'vue';
2
- import { advanceSelectKey } from 'web-base-client-vue';
3
-
4
- const useAdvanceOption = (props) => {
5
- const advanceSelect = inject(advanceSelectKey);
6
- const instance = getCurrentInstance();
7
- const currentLabel = computed(() => props.label || props.value);
8
- const showSelectIcon = computed(() => {
9
- var _a, _b;
10
- return (_b = (_a = advanceSelect == null ? void 0 : advanceSelect.props) == null ? void 0 : _a.showSelectIcon) != null ? _b : true;
11
- });
12
- const itemSelected = computed(() => {
13
- if (!advanceSelect.props.multiple) {
14
- return advanceSelect.props.modelValue === props.value || advanceSelect.props.modelValue === props.value + "";
15
- } else {
16
- return (advanceSelect.props.modelValue || []).includes(props.value);
17
- }
18
- });
19
- const source = computed(() => {
20
- return advanceSelect.props.source;
21
- });
22
- watch(() => props.value, (val, oldVal) => {
23
- if (!Object.is(val, oldVal)) {
24
- advanceSelect.onOptionDestroy(oldVal, instance.proxy);
25
- advanceSelect.onOptionCreate(instance.proxy);
26
- }
27
- });
28
- onMounted(() => {
29
- advanceSelect.onOptionCreate(instance.proxy);
30
- });
31
- onUnmounted(() => {
32
- advanceSelect.onOptionDestroy(props.value, instance.proxy);
33
- });
34
- return {
35
- advanceSelect,
36
- itemSelected,
37
- currentLabel,
38
- showSelectIcon,
39
- source
40
- };
41
- };
42
-
43
- export { useAdvanceOption };
@@ -1,117 +0,0 @@
1
- import { reactive, computed, watch } from 'vue';
2
- import 'lodash';
3
-
4
- const useAdvanceSelectStates = (props) => {
5
- return reactive({
6
- options: /* @__PURE__ */ new Map(),
7
- cachedOptions: /* @__PURE__ */ new Map(),
8
- optionsCount: 0,
9
- selected: props.multiple ? [] : {},
10
- search: "",
11
- isShowPopper: false
12
- });
13
- };
14
- const useAdvanceSelect = (props, states, ctx) => {
15
- const cachedOptions = computed(() => Array.from(states.cachedOptions.values()));
16
- watch(computed(() => states.isShowPopper), (isShowPopper) => {
17
- if (!isShowPopper) {
18
- states.search = "";
19
- }
20
- });
21
- watch(() => props.modelValue, () => {
22
- setSelected();
23
- }, {
24
- flush: "post",
25
- deep: true
26
- });
27
- const selectedLabel = computed(() => {
28
- return props.multiple ? states.selected.map((selected) => selected.label) : states.selected.label || props.modelValue;
29
- });
30
- const getOption = (value) => {
31
- let option = null;
32
- for (const item of cachedOptions.value) {
33
- if (item.value === value) {
34
- option = {
35
- value,
36
- label: item.currentLabel
37
- };
38
- break;
39
- }
40
- }
41
- if (option) {
42
- return option;
43
- }
44
- return {
45
- value,
46
- label: value
47
- };
48
- };
49
- const setSelected = () => {
50
- if (!props.multiple) {
51
- const option = getOption(props.modelValue);
52
- states.selected = option;
53
- return;
54
- }
55
- const result = [];
56
- if (Array.isArray(props.modelValue)) {
57
- props.modelValue.forEach((value) => {
58
- result.push(getOption(value));
59
- });
60
- }
61
- states.selected = result;
62
- };
63
- const onOptionCreate = (option) => {
64
- states.optionsCount++;
65
- states.options.set(option.value, option);
66
- states.cachedOptions.set(option.value, option);
67
- };
68
- const onOptionDestroy = (key, option) => {
69
- if (states.options.get(key) === option) {
70
- states.optionsCount--;
71
- states.options.delete(key);
72
- }
73
- };
74
- const handleClearClick = () => {
75
- ctx.emit("update:modelValue", props.multiple ? [] : "");
76
- if (props.closeAfterSelection) {
77
- states.isShowPopper = false;
78
- }
79
- };
80
- const handleOptionSelect = (option) => {
81
- if (props.multiple) {
82
- const value = (props.modelValue || []).slice();
83
- const optionIndex = value.indexOf(option.value);
84
- if (optionIndex > -1) {
85
- if (props.required && value.length === 1) {
86
- return;
87
- }
88
- value.splice(optionIndex, 1);
89
- } else if (props.multipleLimit <= 0 || value.length < props.multipleLimit) {
90
- value.push(option.value);
91
- }
92
- ctx.emit("update:modelValue", value);
93
- if (props.closeAfterSelection) {
94
- states.isShowPopper = false;
95
- }
96
- } else {
97
- ctx.emit("update:modelValue", option.value);
98
- states.isShowPopper = false;
99
- }
100
- };
101
- const hidePoppper = () => {
102
- states.isShowPopper = false;
103
- };
104
- watch(computed(() => states.options.entries()), () => {
105
- setSelected();
106
- });
107
- return {
108
- selectedLabel,
109
- onOptionCreate,
110
- onOptionDestroy,
111
- handleClearClick,
112
- handleOptionSelect,
113
- hidePoppper
114
- };
115
- };
116
-
117
- export { useAdvanceSelect, useAdvanceSelectStates };