@cloudbase/weda-ui 3.4.7 → 3.4.9-alpha.1024

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 (376) hide show
  1. package/dist/configs/components/carousel.json +12 -2
  2. package/dist/configs/components/chart/bar.json +1 -1
  3. package/dist/configs/components/chart/line.js +1 -1
  4. package/dist/configs/components/chart/pie.json +1 -1
  5. package/dist/configs/components/chart/statisticsCard.json +1 -1
  6. package/dist/configs/components/common/form-input-required.js +176 -0
  7. package/dist/configs/components/container.js +1 -1
  8. package/dist/configs/components/customer-service.js +264 -0
  9. package/dist/configs/components/dataView.js +10 -66
  10. package/dist/configs/components/form/departTreeSelect.json +10 -0
  11. package/dist/configs/components/form-checkbox.js +260 -0
  12. package/dist/configs/components/form-date.js +267 -0
  13. package/dist/configs/components/form-depart-tree-select.js +239 -0
  14. package/dist/configs/components/form-email.js +257 -0
  15. package/dist/configs/components/form-image-uploader.js +325 -0
  16. package/dist/configs/components/form-input.js +478 -0
  17. package/dist/configs/components/form-location.js +328 -0
  18. package/dist/configs/components/form-multi-region.js +201 -0
  19. package/dist/configs/components/form-phone.js +249 -0
  20. package/dist/configs/components/form-radio.js +260 -0
  21. package/dist/configs/components/form-region.js +197 -0
  22. package/dist/configs/components/form-rich-text.js +211 -0
  23. package/dist/configs/components/form-select.js +367 -0
  24. package/dist/configs/components/form-switch.js +152 -0
  25. package/dist/configs/components/form-text-area.js +240 -0
  26. package/dist/configs/components/form-time.js +220 -0
  27. package/dist/configs/components/form-upload-file.js +268 -0
  28. package/dist/configs/components/form-url.js +258 -0
  29. package/dist/configs/components/form-user-tree-select.js +316 -0
  30. package/dist/configs/components/formdetail.json +8 -0
  31. package/dist/configs/components/grid/col.js +6 -0
  32. package/dist/configs/components/listView.js +34 -92
  33. package/dist/configs/components/modal.js +2 -1
  34. package/dist/configs/components/navigationBar.json +1 -1
  35. package/dist/configs/components/pagelayout.json +1 -1
  36. package/dist/configs/components/qr_code.js +117 -0
  37. package/dist/configs/components/repeater.js +3 -2
  38. package/dist/configs/components/scrollVeiw.json +3 -1
  39. package/dist/configs/components/table.json +14 -4
  40. package/dist/configs/components/tabs.js +1 -1
  41. package/dist/configs/components/wd-bubble.js +2 -2
  42. package/dist/configs/components/wd-button.js +3 -3
  43. package/dist/configs/components/wd-divider.js +3 -3
  44. package/dist/configs/components/wd-form-detail.js +229 -0
  45. package/dist/configs/components/wd-form.js +394 -0
  46. package/dist/configs/components/wd-icon.js +2 -2
  47. package/dist/configs/components/wd-image.js +5 -0
  48. package/dist/configs/components/wd-link.js +3 -3
  49. package/dist/configs/components/wd-table.js +1110 -24
  50. package/dist/configs/components/wd-text.js +4 -3
  51. package/dist/configs/components/web-view.js +152 -0
  52. package/dist/configs/components/wedaVideo.json +4 -2
  53. package/dist/configs/components/wxOpenApi/share.js +1 -0
  54. package/dist/configs/index.js +48 -0
  55. package/dist/configs/type-utils/index.js +0 -1
  56. package/dist/docs/common/componentList.js +8 -37
  57. package/dist/docs/common/components/classes-view.js +2 -32
  58. package/dist/docs/common/components/event-view.js +2 -43
  59. package/dist/docs/common/components/json-schema-view.js +4 -8
  60. package/dist/docs/common/components/methods-view.js +2 -30
  61. package/dist/docs/common/components/properties-view.js +7 -43
  62. package/dist/docs/common/tableView.js +18 -94
  63. package/dist/enum/index.js +53 -0
  64. package/dist/setupTests.js +4 -0
  65. package/dist/style/index.scss +1 -1
  66. package/dist/web/actions/showModal/index.js +15 -21
  67. package/dist/web/components/button/index.css +1 -0
  68. package/dist/web/components/button/index.js +3 -6
  69. package/dist/web/components/calendar/index.js +19 -45
  70. package/dist/web/components/carousel/index.js +35 -45
  71. package/dist/web/components/chart/bar/index.js +6 -7
  72. package/dist/web/components/chart/bar/index.old.js +3 -2
  73. package/dist/web/components/chart/common/Chart.js +3 -2
  74. package/dist/web/components/chart/common/chart-custom-connector.js +3 -7
  75. package/dist/web/components/chart/line/index.js +6 -7
  76. package/dist/web/components/chart/line/index.old.js +3 -2
  77. package/dist/web/components/chart/pie/index.js +6 -7
  78. package/dist/web/components/chart/pie/index.old.js +3 -2
  79. package/dist/web/components/chart/statisticsCard/index.js +3 -9
  80. package/dist/web/components/common/error-boundary.js +13 -15
  81. package/dist/web/components/common/form-item-wrapper.js +4 -0
  82. package/dist/web/components/common/use-loop-render-detect.js +2 -2
  83. package/dist/web/components/container/index.js +2 -2
  84. package/dist/web/components/customer-service/convert-legacy-props.js +14 -0
  85. package/dist/web/components/customer-service/customer-service.js +13 -0
  86. package/dist/web/components/customer-service/index.js +3 -0
  87. package/dist/web/components/dataView/index.js +5 -1
  88. package/dist/web/components/drawer/index.js +2 -3
  89. package/dist/web/components/flow/common/components/container.js +12 -0
  90. package/dist/web/components/flow/common/components/index.js +2 -0
  91. package/dist/web/components/flow/common/components/text/index.js +62 -0
  92. package/dist/web/components/flow/common/constants.js +14 -0
  93. package/dist/web/components/flow/common/hooks/index.js +2 -0
  94. package/dist/web/components/flow/common/hooks/useCommonFlowData/flow-get.js +83 -0
  95. package/dist/web/components/flow/common/hooks/useCommonFlowData/index.js +67 -0
  96. package/dist/web/components/flow/common/hooks/useCommonFlowData/preview-data.js +45 -0
  97. package/dist/web/components/flow/common/hooks/useCommonFlowData/request-hub.js +125 -0
  98. package/dist/web/components/flow/common/hooks/useCommonFlowData/types.js +1 -0
  99. package/dist/web/components/flow/common/hooks/useElementMediaQuery.js +23 -0
  100. package/dist/web/components/flow/common/hooks/useFlowConfig.js +44 -0
  101. package/dist/web/components/flow/common/hooks/useFlowFormLoad.js +64 -0
  102. package/dist/web/components/flow/common/hooks/useFlowPageType.js +49 -0
  103. package/dist/web/components/flow/common/index.js +6 -0
  104. package/dist/web/components/flow/common/request.js +47 -0
  105. package/dist/web/components/flow/common/types.js +1 -0
  106. package/dist/web/components/flow/common/utils.js +15 -0
  107. package/dist/web/components/flow/modules/basic/Basic.js +14 -22
  108. package/dist/web/components/flow/modules/basic/BasicMobile.js +12 -30
  109. package/dist/web/components/flow/modules/basic/index.js +19 -11
  110. package/dist/web/components/flow/modules/basic/status-text.js +37 -0
  111. package/dist/web/components/flow/modules/basic/utils.js +17 -8
  112. package/dist/web/components/flow/modules/chart/Chart.js +22 -41
  113. package/dist/web/components/flow/modules/chart/index.js +9 -4
  114. package/dist/web/components/flow/modules/chart/utils.js +111 -0
  115. package/dist/web/components/flow/modules/combination/index.js +4 -6
  116. package/dist/web/components/flow/modules/layout/index.css +2 -2
  117. package/dist/web/components/flow/modules/layout/index.js +11 -15
  118. package/dist/web/components/flow/modules/operations/components/button/index.js +2 -4
  119. package/dist/web/components/flow/modules/operations/components/popup/index.js +11 -15
  120. package/dist/web/components/flow/modules/operations/components/user-select/index.js +4 -5
  121. package/dist/web/components/flow/modules/operations/config/approval-form-config.js +8 -9
  122. package/dist/web/components/flow/modules/operations/config/control-config.js +38 -33
  123. package/dist/web/components/flow/modules/operations/control.js +21 -15
  124. package/dist/web/components/flow/modules/operations/controls-items/add-assignee-btn.js +8 -8
  125. package/dist/web/components/flow/modules/operations/controls-items/apply-cc-btn.js +2 -2
  126. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/comment/index.js +3 -6
  127. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/drawer-form/index.js +25 -32
  128. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/field/index.js +2 -6
  129. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/index.js +15 -7
  130. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/style.css +1 -0
  131. package/dist/web/components/flow/modules/operations/controls-items/cancel-apply-btn.js +2 -2
  132. package/dist/web/components/flow/modules/operations/controls-items/check-list-popup/index.js +2 -4
  133. package/dist/web/components/flow/modules/operations/controls-items/flow-task-info-modal/index.js +20 -0
  134. package/dist/web/components/flow/modules/operations/controls-items/flow-task-info-modal/view-model.js +119 -0
  135. package/dist/web/components/flow/modules/operations/controls-items/initiation-btn.js +6 -3
  136. package/dist/web/components/flow/modules/operations/controls-items/revoke-modal/index.js +13 -22
  137. package/dist/web/components/flow/modules/operations/controls-items/roll-back-modal.js +18 -26
  138. package/dist/web/components/flow/modules/operations/view-model.js +95 -70
  139. package/dist/web/components/flow/process/components/comment-text/index.js +24 -0
  140. package/dist/web/components/flow/process/components/comment-text/style.css +33 -0
  141. package/dist/web/components/flow/process/components/descriptions/index.js +19 -0
  142. package/dist/web/components/flow/process/components/descriptions/style.css +31 -0
  143. package/dist/web/components/flow/process/components/index.js +4 -0
  144. package/dist/web/components/flow/process/components/timeline/index.js +13 -0
  145. package/dist/web/components/flow/process/components/timeline/style.css +75 -0
  146. package/dist/web/components/flow/process/constants.js +46 -0
  147. package/dist/web/components/flow/process/index.js +2 -0
  148. package/dist/web/components/flow/process/process.js +113 -0
  149. package/dist/web/components/flow/process/style.css +17 -0
  150. package/dist/web/components/flow/process/types.js +1 -0
  151. package/dist/web/components/flow/process/view-model.js +135 -0
  152. package/dist/web/components/form/checkbox/index.js +18 -19
  153. package/dist/web/components/form/enumSelect/MultipleSelect.js +4 -5
  154. package/dist/web/components/form/enumSelect/NormalSelect.js +4 -5
  155. package/dist/web/components/form/enumSelect/SelectContainer.js +2 -2
  156. package/dist/web/components/form/form/index.js +8 -14
  157. package/dist/web/components/form/formcell/index.js +12 -18
  158. package/dist/web/components/form/input/index.js +17 -16
  159. package/dist/web/components/form/location/common/mapChoose.js +37 -69
  160. package/dist/web/components/form/location/common/mapView.js +2 -1
  161. package/dist/web/components/form/location/common/selectModal.js +3 -7
  162. package/dist/web/components/form/location/components/LocationH5/location.h5.js +22 -34
  163. package/dist/web/components/form/location/components/LocationPC/Header.js +6 -15
  164. package/dist/web/components/form/location/components/LocationPC/location.PC.js +13 -15
  165. package/dist/web/components/form/location/index.js +5 -7
  166. package/dist/web/components/form/radio/index.js +8 -12
  167. package/dist/web/components/form/renderDecorator.js +3 -2
  168. package/dist/web/components/form/select/allTimePicker/calendar.js +27 -28
  169. package/dist/web/components/form/select/allTimePicker/index.js +66 -91
  170. package/dist/web/components/form/select/dropdown-select/h5.js +30 -53
  171. package/dist/web/components/form/select/dropdown-select/index.js +3 -2
  172. package/dist/web/components/form/select/dropdown-select/pc.js +27 -29
  173. package/dist/web/components/form/select/dropdown-select/ui.js +4 -8
  174. package/dist/web/components/form/select/h5.js +8 -6
  175. package/dist/web/components/form/select/index.js +19 -20
  176. package/dist/web/components/form/select/region/index.js +2 -2
  177. package/dist/web/components/form/select/request.js +1 -1
  178. package/dist/web/components/form/select/status/allEmpty.js +2 -2
  179. package/dist/web/components/form/select/status/empty.js +3 -2
  180. package/dist/web/components/form/select/status/loading.js +3 -4
  181. package/dist/web/components/form/select/status/retry.js +3 -4
  182. package/dist/web/components/form/select/year.js +16 -31
  183. package/dist/web/components/form/switch/index.js +11 -15
  184. package/dist/web/components/form/textarea/index.js +5 -10
  185. package/dist/web/components/form/tips/index.js +2 -2
  186. package/dist/web/components/form/uploader/index.js +5 -4
  187. package/dist/web/components/form/uploader/uploader.h5.js +29 -54
  188. package/dist/web/components/form/uploader/uploader.pc.js +18 -44
  189. package/dist/web/components/form/uploaderFile/index.js +4 -5
  190. package/dist/web/components/form/uploaderFile/uploadFile.h5.js +58 -104
  191. package/dist/web/components/form/uploaderFile/uploadFile.pc.js +42 -69
  192. package/dist/web/components/form/userOrgSelect/common/fetch-data-service.js +474 -46
  193. package/dist/web/components/form/userOrgSelect/common/utils.js +269 -0
  194. package/dist/web/components/form/userOrgSelect/component/depart-breadcrumb.js +5 -10
  195. package/dist/web/components/form/userOrgSelect/component/depart-select/depart-select-pc.js +10 -18
  196. package/dist/web/components/form/userOrgSelect/component/depart-select/departTreeSelect.h5.js +177 -0
  197. package/dist/web/components/form/userOrgSelect/component/depart-select/index.js +56 -41
  198. package/dist/web/components/form/userOrgSelect/component/depart-select/org-modal-pc.js +38 -35
  199. package/dist/web/components/form/userOrgSelect/component/error-tips.js +4 -4
  200. package/dist/web/components/form/userOrgSelect/component/index.css +52 -0
  201. package/dist/web/components/form/userOrgSelect/component/input-tags.js +4 -18
  202. package/dist/web/components/form/userOrgSelect/component/modal-search-h5.js +11 -19
  203. package/dist/web/components/form/userOrgSelect/component/modal-search.js +2 -5
  204. package/dist/web/components/form/userOrgSelect/component/modal-select-h5.js +127 -50
  205. package/dist/web/components/form/userOrgSelect/component/org-tree-h5.js +7 -13
  206. package/dist/web/components/form/userOrgSelect/component/org-tree.js +42 -18
  207. package/dist/web/components/form/userOrgSelect/component/selected-list-h5.js +23 -40
  208. package/dist/web/components/form/userOrgSelect/component/selected-list.js +8 -5
  209. package/dist/web/components/form/userOrgSelect/component/user-org-list.js +35 -35
  210. package/dist/web/components/form/userOrgSelect/component/user-select-h5/index.js +43 -26
  211. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-list-h5.js +36 -50
  212. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-select-h5.js +9 -11
  213. package/dist/web/components/form/userOrgSelect/component/user-select-pc/error-tips.js +4 -4
  214. package/dist/web/components/form/userOrgSelect/component/user-select-pc/model-user-list.js +59 -21
  215. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-model.js +28 -33
  216. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-select-pc.js +10 -8
  217. package/dist/web/components/form/userOrgSelect/component/userOrgSelect.css +15 -1
  218. package/dist/web/components/form/userOrgSelect/hooks/use-depart-data.js +113 -5
  219. package/dist/web/components/form-checkbox/index.js +36 -0
  220. package/dist/web/components/form-date/index.js +52 -0
  221. package/dist/web/components/form-depart-tree-select/index.js +22 -0
  222. package/dist/web/components/form-email/index.js +31 -0
  223. package/dist/web/components/form-image-uploader/index.js +50 -0
  224. package/dist/web/components/form-input/index.js +25 -0
  225. package/dist/web/components/form-input-hooks/index.js +281 -0
  226. package/dist/web/components/form-input-hooks/validator.js +124 -0
  227. package/dist/web/components/form-location/index.js +24 -0
  228. package/dist/web/components/form-multi-region/index.js +22 -0
  229. package/dist/web/components/form-phone/index.js +32 -0
  230. package/dist/web/components/form-radio/index.js +38 -0
  231. package/dist/web/components/form-region/index.js +24 -0
  232. package/dist/web/components/form-rich-text/index.js +22 -0
  233. package/dist/web/components/form-select/index.js +21 -0
  234. package/dist/web/components/form-switch/index.js +22 -0
  235. package/dist/web/components/form-text-area/index.js +22 -0
  236. package/dist/web/components/form-time/index.js +22 -0
  237. package/dist/web/components/form-upload-file/index.js +47 -0
  238. package/dist/web/components/form-url/index.js +31 -0
  239. package/dist/web/components/form-user-tree-select/index.js +24 -0
  240. package/dist/web/components/formdetail/index.css +213 -3
  241. package/dist/web/components/formdetail/index.js +156 -30
  242. package/dist/web/components/graphicCard/index.js +13 -25
  243. package/dist/web/components/grid/col.js +3 -2
  244. package/dist/web/components/grid/grid.js +4 -3
  245. package/dist/web/components/grid/row.js +3 -2
  246. package/dist/web/components/image/image.js +52 -57
  247. package/dist/web/components/image/index.js +2 -2
  248. package/dist/web/components/index.js +45 -3
  249. package/dist/web/components/link/index.js +3 -5
  250. package/dist/web/components/listView/index.js +29 -49
  251. package/dist/web/components/lottery/index.js +123 -143
  252. package/dist/web/components/modal/h5.css +3 -0
  253. package/dist/web/components/modal/index.js +3 -2
  254. package/dist/web/components/modal/modal.h5.js +8 -14
  255. package/dist/web/components/modal/modal.pc.js +5 -7
  256. package/dist/web/components/navLayout/index.js +13 -20
  257. package/dist/web/components/navigationBar/common.js +12 -14
  258. package/dist/web/components/navigationBar/h5Menu.js +18 -37
  259. package/dist/web/components/navigationBar/horizontalMenu.js +33 -50
  260. package/dist/web/components/navigationBar/index.css +2 -1
  261. package/dist/web/components/navigationBar/index.js +5 -10
  262. package/dist/web/components/navigationBar/verticalMenu.js +11 -13
  263. package/dist/web/components/pageLayout/PageContent/index.js +7 -14
  264. package/dist/web/components/pageLayout/index.css +10 -0
  265. package/dist/web/components/pageLayout/index.js +7 -12
  266. package/dist/web/components/phone/index.js +2 -4
  267. package/dist/web/components/phoneCode/index.js +2 -4
  268. package/dist/web/components/picker/datePicker.js +2 -2
  269. package/dist/web/components/picker/picker.js +2 -2
  270. package/dist/web/components/picker/timePicker.js +2 -2
  271. package/dist/web/components/qrcode/index.js +3 -0
  272. package/dist/web/components/qrcode/qr-code.js +26 -0
  273. package/dist/web/components/repeater/index.js +2 -2
  274. package/dist/web/components/repeater-item/index.js +2 -2
  275. package/dist/web/components/richText/index.js +74 -93
  276. package/dist/web/components/richTextView/index.js +3 -3
  277. package/dist/web/components/scrollView/index.js +4 -3
  278. package/dist/web/components/share/index.js +2 -4
  279. package/dist/web/components/slot/index.js +2 -2
  280. package/dist/web/components/statusContent/index.css +39 -0
  281. package/dist/web/components/statusContent/index.js +9 -0
  282. package/dist/web/components/swiper/index.js +45 -48
  283. package/dist/web/components/table/BaseTable.js +141 -189
  284. package/dist/web/components/table/ExportFileModalByApi/index.js +29 -60
  285. package/dist/web/components/table/FieldRender.js +47 -51
  286. package/dist/web/components/table/FilterFields.js +45 -71
  287. package/dist/web/components/table/Form/Enum.js +4 -4
  288. package/dist/web/components/table/Form/Location.js +9 -9
  289. package/dist/web/components/table/ImportFileModal/index.css +261 -0
  290. package/dist/web/components/table/ImportFileModal/index.js +47 -107
  291. package/dist/web/components/table/ImportFileModal/validate.js +9 -9
  292. package/dist/web/components/table/ImportFileModalByApi/index.css +35 -3
  293. package/dist/web/components/table/ImportFileModalByApi/index.js +96 -113
  294. package/dist/web/components/table/ImportFileModalByApi/uploadCSVFile.js +23 -47
  295. package/dist/web/components/table/InOrOutRecordModeal.js +26 -47
  296. package/dist/web/components/table/QuoteModal.js +3 -5
  297. package/dist/web/components/table/SelectableBlock/index.js +23 -27
  298. package/dist/web/components/table/UserDepartment/ViewCell.js +3 -3
  299. package/dist/web/components/table/UserDepartment/utils.js +4 -4
  300. package/dist/web/components/table/baseTable.css +0 -10
  301. package/dist/web/components/table/index.js +3 -5
  302. package/dist/web/components/tabs/index.js +5 -6
  303. package/dist/web/components/tabs/tabs.h5.js +12 -14
  304. package/dist/web/components/tabs/tabs.pc.js +5 -5
  305. package/dist/web/components/text/index.js +3 -2
  306. package/dist/web/components/uploaderFileView/index.js +4 -3
  307. package/dist/web/components/uploaderView/index.js +12 -16
  308. package/dist/web/components/userInfo/index.js +2 -4
  309. package/dist/web/components/wd-bubble/wd-bubble.js +10 -11
  310. package/dist/web/components/wd-button/wd-button.js +24 -8
  311. package/dist/web/components/wd-config-provider/wd-config-provider.js +3 -2
  312. package/dist/web/components/wd-divider/wd-divider.js +3 -2
  313. package/dist/web/components/wd-form/hooks/use-auth-value.js +43 -0
  314. package/dist/web/components/wd-form/hooks/use-remote-value.js +79 -0
  315. package/dist/web/components/wd-form/index.js +368 -0
  316. package/dist/web/components/wd-icon/wd-icon.js +3 -2
  317. package/dist/web/components/wd-image/image.js +98 -96
  318. package/dist/web/components/wd-image/index.js +4 -3
  319. package/dist/web/components/wd-link/wd-link.js +4 -8
  320. package/dist/web/components/wd-table/components/ExportFileModalByApi/ExportFileModalByApi.js +7 -0
  321. package/dist/web/components/wd-table/components/ExportFileModalByApi/index.css +9 -0
  322. package/dist/web/components/wd-table/components/ExportFileModalByApi/index.js +74 -0
  323. package/dist/web/components/wd-table/components/FieldRender/Form/Enum.js +56 -0
  324. package/dist/web/components/wd-table/components/FieldRender/Form/Location.css +11 -0
  325. package/dist/web/components/wd-table/components/FieldRender/Form/Location.js +127 -0
  326. package/dist/web/components/wd-table/components/FieldRender/ImagePreview.js +8 -0
  327. package/dist/web/components/wd-table/components/FieldRender/QuoteModal.js +17 -0
  328. package/dist/web/components/wd-table/components/FieldRender/UserDepartment/ViewCell.js +11 -0
  329. package/dist/web/components/wd-table/components/FieldRender/UserDepartment/utils.js +82 -0
  330. package/dist/web/components/wd-table/components/FieldRender/UserDepartment/viewCell.css +11 -0
  331. package/dist/web/components/wd-table/components/FieldRender/index.js +691 -0
  332. package/dist/web/components/wd-table/components/FilterFieldsPanel/Fields.js +82 -0
  333. package/dist/web/components/wd-table/components/FilterFieldsPanel/FilterFieldItem.js +86 -0
  334. package/dist/web/components/wd-table/components/FilterFieldsPanel/InputAdornment.js +9 -0
  335. package/dist/web/components/wd-table/components/FilterFieldsPanel/SelectSearch.js +44 -0
  336. package/dist/web/components/wd-table/components/FilterFieldsPanel/filterFieldsGenerate.js +113 -0
  337. package/dist/web/components/wd-table/components/FilterFieldsPanel/index.js +169 -0
  338. package/dist/web/components/wd-table/components/ImportFileModalByApi/index.js +44 -0
  339. package/dist/web/components/wd-table/components/InOrOutRecordModal.js +14 -0
  340. package/dist/web/components/wd-table/components/Pagination/index.js +11 -0
  341. package/dist/web/components/wd-table/components/SearchBox/index.js +45 -0
  342. package/dist/web/components/wd-table/components/Table/index.js +172 -0
  343. package/dist/web/components/wd-table/components/Table/util.js +63 -0
  344. package/dist/web/components/wd-table/components/ToolBar/index.js +34 -0
  345. package/dist/web/components/wd-table/components/deleteModal.js +40 -0
  346. package/dist/web/components/wd-table/components/index.js +10 -0
  347. package/dist/web/components/wd-table/hooks/useAuthFields.js +13 -0
  348. package/dist/web/components/wd-table/hooks/useChooseList.js +72 -0
  349. package/dist/web/components/wd-table/hooks/useDataSource.js +5 -0
  350. package/dist/web/components/wd-table/hooks/useQueryParams.js +41 -0
  351. package/dist/web/components/wd-table/hooks/useTableData.js +48 -0
  352. package/dist/web/components/wd-table/hooks/useViewFields.js +20 -0
  353. package/dist/web/components/wd-table/mock/index.js +202 -0
  354. package/dist/web/components/wd-table/utils/index.js +307 -0
  355. package/dist/web/components/wd-table/wd-table.js +453 -21
  356. package/dist/web/components/wd-text/wd-text.js +15 -14
  357. package/dist/web/components/web-view/index.css +5 -0
  358. package/dist/web/components/web-view/index.js +3 -0
  359. package/dist/web/components/web-view/web-view.js +61 -0
  360. package/dist/web/components/wedaVideo/index.js +2 -5
  361. package/dist/web/utils/constant.js +1 -0
  362. package/dist/web/utils/getModelParams.js +32 -0
  363. package/dist/web/utils/hooks/CreatePortal.js +3 -2
  364. package/dist/web/utils/hooks/EnumHoc.js +3 -2
  365. package/dist/web/utils/hooks/globalConnect.js +2 -3
  366. package/dist/web/utils/hooks/use-cloud-id-temp-url.js +6 -11
  367. package/dist/web/utils/hooks/useDataSource.js +22 -0
  368. package/dist/web/utils/loading-fallback.js +2 -2
  369. package/dist/web/utils/platform.js +21 -0
  370. package/dist/web/utils/tcb.js +0 -13
  371. package/dist/web/utils/tool.js +14 -0
  372. package/dist/web/utils/widget-api/index.js +39 -7
  373. package/package.json +33 -25
  374. package/dist/web/components/emptyContent/index.css +0 -26
  375. package/dist/web/components/flow/components/FlowModuleText/index.css +0 -4
  376. package/dist/web/components/flow/modules/process/index.css +0 -194
@@ -1,26 +1,891 @@
1
1
  import { defineConfig, Tuple, Type } from '../type-utils';
2
- // 属性类型定义
3
- const data = Type.Object({
4
- type: Type.StringEnum({
5
- title: '风格',
2
+ import { WD_TABLE_PAGE_SIZE, WD_TABLE_SELECT_COLUMN } from '../../enum';
3
+ const commonProperties = {
4
+ dataSourceType: Type.StringEnum({
5
+ title: '数据源',
6
6
  type: 'string',
7
7
  'x-index': 10,
8
- default: 'solid',
8
+ default: 'data-model',
9
9
  enum: Tuple([
10
10
  {
11
- label: '实线',
12
- value: 'solid',
11
+ label: '数据模型',
12
+ value: 'data-model',
13
13
  },
14
- // default -> secondary
15
14
  {
16
- label: '虚线',
17
- value: 'dashed',
15
+ label: 'APIs',
16
+ value: 'custom-connector',
18
17
  },
19
18
  ]),
20
- 'x-category': '基础属性',
19
+ 'x-group': '数据',
20
+ 'x-linkages': [
21
+ {
22
+ type: 'value:state',
23
+ target: '*( filterFields,bindMetadata,queryCondition,orderBy,orderType,defaultPageSize)',
24
+ condition: "{{$self.value !='custom-connector'}}",
25
+ state: {
26
+ display: true,
27
+ },
28
+ otherwise: {
29
+ display: false,
30
+ },
31
+ },
32
+ {
33
+ type: 'value:state',
34
+ target: '*(connectorParams,bindConnectMetadata,connectorMethod)',
35
+ condition: "{{$self.value=='custom-connector'}}",
36
+ state: {
37
+ display: true,
38
+ },
39
+ otherwise: {
40
+ display: false,
41
+ },
42
+ },
43
+ {
44
+ type: 'value:schema',
45
+ target: 'bindConnectMetadata',
46
+ schema: {
47
+ 'x-component-props': '{{{value:$value}}}',
48
+ },
49
+ },
50
+ {
51
+ type: 'value:schema',
52
+ target: 'connectorMethod',
53
+ schema: {
54
+ 'x-component-props': '{{{connector:$value}}}',
55
+ },
56
+ },
57
+ {
58
+ type: 'value:schema',
59
+ target: 'columnSets',
60
+ schema: {
61
+ 'x-component-props': '{{{ dataSourceType:$value }}}',
62
+ },
63
+ },
64
+ {
65
+ type: 'value:schema',
66
+ schema: {
67
+ 'x-component-props': {
68
+ datasourceType: '{{$self.value}}',
69
+ },
70
+ },
71
+ target: '*(bindMetadata)',
72
+ },
73
+ {
74
+ type: 'value:schema',
75
+ target: '*(fixedFront,fixedEnd)',
76
+ schema: {
77
+ enum: [],
78
+ },
79
+ },
80
+ ],
81
+ 'x-component': 'dsc-datasource-type-select',
82
+ 'x-component-props': {
83
+ defaultValue: 'data-model',
84
+ options: [
85
+ {
86
+ value: 'data-model',
87
+ text: '数据模型',
88
+ label: '数据模型',
89
+ icon: 'database',
90
+ isShow: true,
91
+ },
92
+ {
93
+ value: 'custom-connector',
94
+ text: 'APIs',
95
+ label: 'APIs',
96
+ icon: 'custom-connector',
97
+ isShow: true,
98
+ },
99
+ ],
100
+ },
101
+ 'x-props': {
102
+ 'data-hidebind': true,
103
+ },
104
+ description: '选择数据源类型',
105
+ }),
106
+ bindMetadata: Type.BasicTypeUnion({
107
+ title: '数据模型',
108
+ type: 'object',
109
+ 'x-component': 'schema-selector',
110
+ required: true,
111
+ 'x-component-props': {
112
+ showSystemField: true,
113
+ showView: true,
114
+ showFieldSelect: false,
115
+ },
116
+ 'x-props': {
117
+ 'data-hidebind': true,
118
+ itemClassName: 'ds-bind-form-item',
119
+ },
120
+ properties: {
121
+ datasource: {
122
+ title: '数据源',
123
+ type: 'object',
124
+ properties: {},
125
+ },
126
+ enabledFieldNames: {
127
+ title: '自定义字段',
128
+ type: 'array',
129
+ items: {
130
+ type: 'object',
131
+ properties: {},
132
+ },
133
+ },
134
+ disabledFieldNames: {
135
+ title: '不展示字段',
136
+ type: 'array',
137
+ items: {
138
+ type: 'object',
139
+ properties: {},
140
+ },
141
+ },
142
+ isNewData: {
143
+ title: '是否为历史数据,新数据用columns管理列',
144
+ type: 'boolean',
145
+ default: 'false',
146
+ },
147
+ },
148
+ 'x-group': '数据',
149
+ 'x-index': 20,
150
+ 'x-linkages': [
151
+ {
152
+ type: 'value:state',
153
+ target: 'filterFields',
154
+ condition: '{{!!$self.value}}',
155
+ state: {
156
+ dataSourceId: '{{$self.value && $self.value.datasource && $self.value.datasource.id}}',
157
+ dataSourceName: '{{$self.value && $self.value.datasource && $self.value.datasource.name}}',
158
+ },
159
+ },
160
+ {
161
+ type: 'value:schema',
162
+ target: 'columnSets',
163
+ schema: {
164
+ 'x-component-props': {
165
+ dataSourceType: '{{$form.values.dataSourceType}}',
166
+ bindMetadata: '{{$self.value}}',
167
+ },
168
+ },
169
+ },
170
+ {
171
+ type: 'value:schema',
172
+ target: '*(fixedFront,fixedEnd)',
173
+ schema: {
174
+ enum: [],
175
+ },
176
+ },
177
+ {
178
+ type: 'value:visible',
179
+ target: '*(queryCondition)',
180
+ condition: '{{ $self.value && $self.value.isNewData }}',
181
+ },
182
+ {
183
+ type: 'value:visible',
184
+ target: '*(orderBy,orderType)',
185
+ condition: '{{ $value && (!$value.selectedViewIds || ($value.selectedViewIds && $value.selectedViewIds.length === 0)) }}',
186
+ },
187
+ {
188
+ type: 'value:schema',
189
+ condition: '{{ Boolean($value && $value.datasource) }}',
190
+ target: 'orderBy',
191
+ schema: {
192
+ enum: '{{getDataSourceValueOptions($value.datasource.name)}}',
193
+ },
194
+ },
195
+ {
196
+ type: 'value:state',
197
+ condition: '{{!!$value && !!$value.datasource && !!$value.datasource.name && !!$form.values.orderBy && getDataSourceValueOptions($value.datasource.name).every(o => o.value !== $form.values.orderBy)}}',
198
+ target: 'orderBy',
199
+ state: {
200
+ value: '',
201
+ },
202
+ },
203
+ {
204
+ type: 'value:schema',
205
+ condition: '{{ $value!=null && typeof($value)!=undefined && $value.datasource!=null && typeof($value.datasource)!=undefined}}',
206
+ target: 'queryCondition',
207
+ schema: {
208
+ 'x-component-props': '{{{selectedDataSourceName: $value.datasource.name}}}',
209
+ },
210
+ },
211
+ ],
212
+ description: '展示数据的数据来源,包括数据模型/视图',
213
+ }),
214
+ columnSets: Type.BasicTypeUnion({
215
+ type: 'array',
216
+ title: '列管理',
217
+ items: {
218
+ type: 'object',
219
+ display: 'header',
220
+ 'x-image': " this.genre === 'slot' ? 'https://qcloudimg.tencent-cloud.cn/raw/898556b063f82bdda5837ab0bfdf608b.svg' : 'https://qcloudimg.tencent-cloud.cn/raw/3ce8ddbaaae6b9e085fa40e5a64e4909.svg' ",
221
+ properties: {
222
+ key: {
223
+ title: '绑定字段',
224
+ default: '',
225
+ type: 'string',
226
+ enum: [],
227
+ 'x-has-init': false,
228
+ 'x-init-key': '',
229
+ 'x-props': {
230
+ clearable: true,
231
+ },
232
+ 'x-linkages': [
233
+ {
234
+ type: 'value:state',
235
+ target: 'dataForm.header',
236
+ condition: '{{ Boolean($self.value)}}',
237
+ state: {
238
+ value: "{{ $self.props['x-has-init'] ? ($self.props.enum.find(item => { return item.value === $self.value }) && $self.props.enum.find(item => { return item.value === $self.value }).header) : $form.values.dataForm.header}}",
239
+ },
240
+ },
241
+ {
242
+ type: 'value:state',
243
+ target: 'dataForm.slotKey',
244
+ condition: '{{ Boolean($self.value)}}',
245
+ state: {
246
+ value: "{{$self.props['x-has-init'] ? Date.now().toString(36) + Math.ceil(Math.random() * 1000).toString(36) :$form.values.dataForm.slotKey}}",
247
+ },
248
+ },
249
+ {
250
+ type: 'value:schema',
251
+ target: 'dataForm.key',
252
+ schema: {
253
+ 'x-has-init': true,
254
+ 'x-init-key': "{{$self.props['x-has-init'] ? $self.props['x-init-key'] : $self.value}}",
255
+ },
256
+ },
257
+ {
258
+ type: 'value:visible',
259
+ target: 'dataForm.isSort',
260
+ condition: '{{ Boolean($self.value)}}',
261
+ },
262
+ {
263
+ type: 'value:visible',
264
+ target: 'dataForm.isExport',
265
+ condition: '{{ Boolean($self.value)}}',
266
+ },
267
+ ],
268
+ },
269
+ header: {
270
+ title: '标题',
271
+ type: 'string',
272
+ default: '添加列',
273
+ },
274
+ genre: {
275
+ title: '展示内容',
276
+ type: 'string',
277
+ default: 'default',
278
+ 'x-component': 'radio',
279
+ enum: [
280
+ {
281
+ label: '字段值',
282
+ value: 'default',
283
+ },
284
+ {
285
+ label: '自定义内容',
286
+ value: 'slot',
287
+ },
288
+ ],
289
+ 'x-linkages': [
290
+ {
291
+ type: 'value:visible',
292
+ target: '*(dataForm.align)',
293
+ condition: "{{$self.value=='default'}}",
294
+ },
295
+ ],
296
+ },
297
+ widthType: {
298
+ title: '列宽',
299
+ type: 'string',
300
+ default: 'auto',
301
+ enum: [
302
+ {
303
+ label: '自适应',
304
+ value: 'auto',
305
+ },
306
+ {
307
+ label: '自定义',
308
+ value: 'custom',
309
+ },
310
+ ],
311
+ 'x-linkages': [
312
+ {
313
+ type: 'value:visible',
314
+ target: '*(dataForm.width)',
315
+ condition: "{{$self.value=='custom'}}",
316
+ },
317
+ ],
318
+ },
319
+ width: {
320
+ title: '自定义列宽(px)',
321
+ type: 'number',
322
+ default: 120,
323
+ },
324
+ align: {
325
+ title: '对齐方式',
326
+ type: 'string',
327
+ default: 'left',
328
+ enum: [
329
+ {
330
+ label: '左对齐',
331
+ value: 'left',
332
+ },
333
+ {
334
+ label: '右对齐',
335
+ value: 'right',
336
+ },
337
+ {
338
+ label: '居中对齐',
339
+ value: 'center',
340
+ },
341
+ ],
342
+ },
343
+ isSort: {
344
+ title: '允许排序',
345
+ type: 'boolean',
346
+ default: 'true',
347
+ },
348
+ isExport: {
349
+ title: '允许导出',
350
+ type: 'boolean',
351
+ default: 'true',
352
+ },
353
+ slotKey: {
354
+ title: '插槽名称后缀',
355
+ default: '',
356
+ type: 'string',
357
+ display: false,
358
+ },
359
+ },
360
+ default: {
361
+ key: '',
362
+ slotKey: 'isNew',
363
+ header: '请选择字段',
364
+ genre: 'default',
365
+ align: 'left',
366
+ isSort: true,
367
+ isExport: true,
368
+ width: 120,
369
+ },
370
+ },
371
+ default: [],
372
+ 'x-component': 'column-list',
373
+ 'x-component-props': {
374
+ changeOnClose: true,
375
+ label_add: '添加列',
376
+ addDisabledTip: '已添加所有字段',
377
+ isWdTable: true,
378
+ },
379
+ 'x-props': {
380
+ 'data-hidebind': true,
381
+ },
382
+ 'x-linkages': [
383
+ {
384
+ type: 'value:state',
385
+ target: 'bindMetadata',
386
+ condition: '{{(Array.isArray($self.value) && $self.value.length !== 0) && !($form.values.bindMetadata && $form.values.bindMetadata.isNewData)}}',
387
+ state: {
388
+ value: '{{ {...($form.values.bindMetadata || {}), isNewData: true} }}',
389
+ },
390
+ },
391
+ {
392
+ type: 'value:schema',
393
+ target: '*(fixedFront,fixedEnd)',
394
+ schema: {
395
+ enum: "{{ (($self.value|| []).filter((item)=>item.key && item.key.length>0)).map(item=>{return {'label':item.header,'value':item.key}}) }}",
396
+ },
397
+ },
398
+ {
399
+ type: 'value:state',
400
+ condition: '{{ !Array.isArray($self.value) || $self.value.length === 0 || ($self.value.filter((item)=>item.key===$form.values.fixedFront)).length===0 }}',
401
+ target: 'fixedFront',
402
+ state: {
403
+ value: '',
404
+ },
405
+ },
406
+ {
407
+ type: 'value:state',
408
+ condition: '{{ !Array.isArray($self.value) || $self.value.length === 0 || ($self.value.filter((item)=>item.key===$form.values.fixedEnd)).length===0 }}',
409
+ target: 'fixedEnd',
410
+ state: {
411
+ value: '',
412
+ },
413
+ },
414
+ ],
415
+ 'x-index': 120,
416
+ 'x-group': '表格列',
417
+ description: '配置表格列,支持拖拽调整列排序',
418
+ }),
419
+ defaultPageSize: Type.Optional(Type.StringEnum({
420
+ title: '每页行数',
421
+ type: 'string',
422
+ default: '10',
423
+ enum: Tuple(WD_TABLE_PAGE_SIZE),
424
+ description: '配置PC端表格默认的每页行数',
425
+ 'x-group': '表格行',
426
+ 'x-index': 160,
427
+ })),
428
+ defaultPageIndex: Type.Optional(Type.Number({
429
+ title: 'PC端默认页码',
430
+ type: 'number',
431
+ default: 1,
432
+ description: '配置PC端表格默认的初始页码',
433
+ 'x-group': '表格行',
434
+ 'x-index': 170,
435
+ })),
436
+ };
437
+ // 属性类型定义
438
+ const data = Type.Object({
439
+ ...commonProperties,
440
+ queryCondition: Type.Optional(Type.BasicTypeUnion({
441
+ 'x-index': 30,
442
+ title: '数据筛选',
443
+ 'x-group': '数据',
444
+ type: 'array',
445
+ items: {},
446
+ 'x-component': 'data-source-condition-selector',
447
+ 'x-component-props': {
448
+ propertyPath: 'queryCondition',
449
+ dataSourcePath: 'bindMetadata.datasource.name',
450
+ preWherePath: 'where',
451
+ },
452
+ 'x-props': {
453
+ 'data-hidebind': false,
454
+ 'data-hideBindValue': true,
455
+ 'data-withBindMeta': true,
456
+ },
457
+ description: '对数据进行筛选过滤',
458
+ })),
459
+ orderBy: Type.Optional(Type.String({
460
+ 'x-index': 40,
461
+ display: false,
462
+ title: '排序字段',
463
+ 'x-group': '数据',
464
+ type: 'string',
465
+ default: 'updatedAt',
466
+ 'x-props': {
467
+ clearable: true,
468
+ },
469
+ description: '选择需要预置排序的字段',
470
+ })),
471
+ orderType: Type.Optional(Type.StringEnum({
472
+ 'x-index': 50,
473
+ title: '排序方式',
474
+ 'x-group': '数据',
475
+ type: 'string',
476
+ default: 'desc',
477
+ enum: [
478
+ {
479
+ label: '升序',
480
+ value: 'asc',
481
+ },
482
+ {
483
+ label: '降序',
484
+ value: 'desc',
485
+ },
486
+ ],
487
+ 'x-props': {
488
+ clearable: true,
489
+ },
490
+ description: '可设置升序或降序,绑定表达式时,升序传值asc,降序传值desc',
491
+ })),
492
+ // 去掉搜索方式, 兼容旧组件, 属性隐藏, 暂不移除
493
+ filterType: Type.Optional(Type.StringEnum({
494
+ title: '搜索方式',
495
+ enum: [
496
+ {
497
+ label: '搜索框',
498
+ value: 'searchbox',
499
+ },
500
+ {
501
+ label: '条件筛选',
502
+ value: 'filter',
503
+ },
504
+ ],
505
+ type: 'string',
506
+ default: 'filter',
507
+ 'x-component': 'segment-radio',
508
+ 'x-component-props': {
509
+ padding: 10,
510
+ },
511
+ 'x-index': 60,
512
+ display: false,
513
+ 'x-props': {
514
+ 'data-hidebind': true,
515
+ },
516
+ 'x-group': '数据',
517
+ description: '条件筛选',
518
+ })),
519
+ filterFields: Type.Optional(Type.FormatTypeUnion({
520
+ type: 'object',
521
+ title: '筛选器',
522
+ 'x-component': 'mutilp-data-source-field-select',
523
+ 'x-component-props': {
524
+ isWdTable: true,
525
+ 'x-filter': " !(this.type === 'array' && this.format === '') && !(this.format === 'father-son' && this.default === '') && this.type !== 'object' && this.format !== 'x-file' && this.format !== 'x-image' && this.format !== 'x-rtf' ",
526
+ },
527
+ 'x-props': {
528
+ 'data-hidebind': true,
529
+ },
530
+ 'x-index': 70,
531
+ 'x-group': '数据',
532
+ description: '配置表格运行态的筛选器',
533
+ })),
534
+ bindConnectMetadata: Type.Optional(Type.BasicTypeUnion({
535
+ title: 'APIs',
536
+ type: 'object',
537
+ 'x-component': 'connector-select',
538
+ 'x-index': 80,
539
+ 'x-group': '数据',
540
+ required: true,
541
+ 'x-props': {
542
+ 'data-hidebind': true,
543
+ },
544
+ 'x-linkages': [
545
+ {
546
+ type: 'value:schema',
547
+ target: 'connectorMethod',
548
+ schema: {
549
+ 'x-component-props': '{{{value:$value}}}',
550
+ },
551
+ },
552
+ ],
553
+ description: '展示数据的 APIs 来源选择',
554
+ })),
555
+ connectorMethod: Type.Optional(Type.BasicTypeUnion({
556
+ title: '调用方法',
557
+ type: 'object',
558
+ 'x-component': 'connector-method-select',
559
+ 'x-index': 90,
560
+ 'x-group': '数据',
561
+ required: true,
562
+ 'x-linkages': [
563
+ {
564
+ type: 'value:schema',
565
+ target: 'columnSets',
566
+ schema: {
567
+ 'x-component-props': '{{ {dataSourceType:$form.values.dataSourceType, bindConnectMetadata: $form.values.bindConnectMetadata, connectorMethod: $value } }}',
568
+ },
569
+ },
570
+ {
571
+ type: 'value:schema',
572
+ target: '*(fixedFront,fixedEnd)',
573
+ schema: {
574
+ enum: [],
575
+ },
576
+ },
577
+ ],
578
+ 'x-component-props': {
579
+ docUrl: 'https://docs.cloudbase.net/lowcode/components/wedaUI/src/docs/compsdocs/database/ModelTable#%E8%B0%83%E7%94%A8-apis-%E7%9A%84%E5%8F%82%E6%95%B0%E8%A6%81%E6%B1%82',
580
+ paramsSchema: {
581
+ type: 'object',
582
+ properties: {
583
+ inParams: {
584
+ type: 'object',
585
+ properties: {
586
+ properties: {
587
+ type: 'object',
588
+ properties: {
589
+ pageNo: {
590
+ type: 'object',
591
+ properties: {
592
+ type: {
593
+ const: 'number',
594
+ },
595
+ },
596
+ required: ['type'],
597
+ },
598
+ pageSize: {
599
+ type: 'object',
600
+ properties: {
601
+ type: {
602
+ const: 'number',
603
+ },
604
+ },
605
+ required: ['type'],
606
+ },
607
+ orderBy: {
608
+ type: 'object',
609
+ properties: {
610
+ type: {
611
+ const: 'string',
612
+ },
613
+ },
614
+ },
615
+ orderType: {
616
+ type: 'object',
617
+ properties: {
618
+ type: {
619
+ const: 'string',
620
+ },
621
+ },
622
+ },
623
+ },
624
+ required: ['pageNo', 'pageSize'],
625
+ },
626
+ },
627
+ },
628
+ outParams: {
629
+ type: 'object',
630
+ properties: {
631
+ properties: {
632
+ type: 'object',
633
+ properties: {
634
+ total: {
635
+ type: 'object',
636
+ properties: {
637
+ type: {
638
+ const: 'number',
639
+ },
640
+ },
641
+ },
642
+ records: {
643
+ type: 'object',
644
+ properties: {
645
+ type: {
646
+ const: 'array',
647
+ },
648
+ items: {
649
+ type: 'object',
650
+ properties: {
651
+ type: {
652
+ const: 'object',
653
+ },
654
+ properties: {
655
+ type: 'object',
656
+ properties: {
657
+ _id: {
658
+ type: 'object',
659
+ properties: {
660
+ type: {
661
+ const: 'string',
662
+ },
663
+ },
664
+ },
665
+ },
666
+ },
667
+ },
668
+ },
669
+ },
670
+ },
671
+ },
672
+ required: ['total', 'records'],
673
+ },
674
+ },
675
+ },
676
+ },
677
+ },
678
+ },
679
+ 'x-helper-text': '方法的出入参需满足组件要求,[查看文档](https://docs.cloudbase.net/lowcode/components/wedaUI/src/docs/compsdocs/database/WdTable#%E8%B0%83%E7%94%A8-apis-%E7%9A%84%E5%8F%82%E6%95%B0%E8%A6%81%E6%B1%82)',
680
+ 'x-helper-text-color': '#E37318',
681
+ description: '进行数据的 APIs 调用方法选择',
682
+ })),
683
+ connectorParams: Type.Optional(Type.String({
684
+ title: '查询入参',
685
+ type: 'string',
686
+ 'x-index': 100,
687
+ 'x-group': '数据',
688
+ description: "对APIs 调用方法获取的数据进行筛选过滤。例如 {name:'',value:''}",
689
+ 'x-component': 'property-object-params-field',
690
+ 'x-component-props': {
691
+ dataSourceKeyName: 'bindConnectMetadata',
692
+ dataSourceValuePath: 'datasource.name',
693
+ methodNameKeyName: 'connectorMethod',
694
+ methodValuePath: 'name',
695
+ paramsKeyName: 'connectorParams',
696
+ },
697
+ })),
698
+ isOrderBy: Type.Optional(Type.Boolean({
699
+ title: '显示排序按钮',
700
+ display: false,
701
+ type: 'boolean',
702
+ 'x-index': 110,
703
+ default: true,
704
+ 'x-group': '数据',
705
+ description: '对自定义 APIs 调用方法填充的表格列头排序图标进行显隐控制 ',
706
+ })),
707
+ columnSelectType: Type.Optional(Type.StringEnum({
708
+ title: '数据选择列',
709
+ type: 'string',
710
+ 'x-index': 130,
711
+ enum: Tuple(WD_TABLE_SELECT_COLUMN),
712
+ default: 'select',
713
+ 'x-group': '表格列',
714
+ description: '控制表格数据选择列的样式',
715
+ })),
716
+ fixedFront: Type.Optional(Type.StringEnum({
717
+ title: '左冻结',
718
+ type: 'string',
719
+ enum: [],
720
+ 'x-props': {
721
+ clearable: true,
722
+ },
723
+ 'x-index': 140,
724
+ 'x-group': '表格列',
725
+ 'x-helper-text': '冻结首列至所选列,仅PC端生效',
726
+ description: '左冻结与右冻结属性配置的列出现交叉重复时,为避免表格的横向滚动锁定,冻结属性会自动失效',
727
+ })),
728
+ fixedEnd: Type.Optional(Type.StringEnum({
729
+ title: '右冻结',
730
+ type: 'string',
731
+ enum: [],
732
+ 'x-props': {
733
+ clearable: true,
734
+ },
735
+ 'x-helper-text': '冻结所选列至尾列,仅PC端生效',
736
+ description: '左冻结与右冻结属性配置的列出现交叉重复时,为避免表格的横向滚动锁定,冻结属性会自动失效',
737
+ 'x-index': 150,
738
+ 'x-group': '表格列',
739
+ })),
740
+ emptyText: Type.Optional(Type.String({
741
+ 'x-group': '表格行',
742
+ 'x-index': 175,
743
+ type: 'string',
744
+ title: '空状态提示',
745
+ default: '暂无数据',
746
+ description: '无数据时的提示说明,内容为空时则不显示该提示',
747
+ remarks: '无数据时的提示说明,内容为空时则不显示该提示',
748
+ })),
749
+ rowColor: Type.Optional(Type.String({
750
+ title: '行背景颜色',
751
+ type: 'string',
752
+ 'x-component': 'color-string',
753
+ 'x-index': 180,
754
+ 'x-group': '表格行',
755
+ description: '设置固定值或绑定低码方法,实现行背景颜色的改变',
756
+ })),
757
+ enableCellCustomOption: Type.Optional(Type.Boolean({
758
+ title: '操作列',
759
+ type: 'boolean',
760
+ 'x-index': 190,
761
+ default: true,
762
+ 'x-group': '操作配置',
763
+ description: '开启后,可拖拽按钮等组件,放入大纲树的操作列节点或表格的操作列区域',
764
+ })),
765
+ enableGlobalButton: Type.Optional(Type.Boolean({
766
+ title: '全局按钮',
767
+ type: 'boolean',
768
+ 'x-index': 200,
769
+ default: true,
770
+ 'x-group': '操作配置',
771
+ description: '开启后,可拖拽按钮等组件,放入大纲树的全局按钮节点或表格的全局按钮区域',
772
+ })),
773
+ enablePagination: Type.Optional(Type.Boolean({
774
+ title: '分页控件',
775
+ type: 'boolean',
776
+ 'x-index': 210,
777
+ default: true,
778
+ 'x-group': '操作配置',
779
+ description: '开启后,可支持表格分页',
780
+ })),
781
+ enableRefreshBtn: Type.Optional(Type.Boolean({
782
+ title: '刷新按钮',
783
+ type: 'boolean',
784
+ 'x-index': 220,
785
+ default: true,
786
+ 'x-group': '操作配置',
787
+ description: '开启后,可展示刷新按钮',
788
+ })),
789
+ enableTableHeightSizeBtn: Type.Optional(Type.Boolean({
790
+ title: '行高调节按钮',
791
+ type: 'boolean',
792
+ 'x-index': 230,
793
+ default: true,
794
+ 'x-group': '操作配置',
795
+ description: '开启后,可支持调节行高',
796
+ })),
797
+ globalButton: Type.Optional(Type.Slot({
798
+ title: '全局按钮',
799
+ type: 'slot',
800
+ 'x-group': '操作配置',
801
+ })),
802
+ cell: Type.Optional(Type.Slot({
803
+ title: '自定义单元格',
804
+ type: 'slot',
805
+ 'x-slot-auto': {
806
+ iterable: "{{ $form.values.columnSets.filter(item => item.genre === 'slot'&& (item.slotKey||item.key)) }}",
807
+ generator: "{{ {key:$item.slotKey||$item.key, title: ('自定义列: '+$item.header) } }}",
808
+ },
809
+ 'x-slot-scope': {
810
+ record: {
811
+ title: '行对象',
812
+ type: 'object',
813
+ },
814
+ rowKey: {
815
+ title: '行唯一标识',
816
+ type: 'string',
817
+ },
818
+ recordIndex: {
819
+ title: '行序号',
820
+ type: 'number',
821
+ },
822
+ column: {
823
+ title: '列对象',
824
+ type: 'object',
825
+ },
826
+ columnIndex: {
827
+ title: '列序号',
828
+ type: 'number',
829
+ },
830
+ },
831
+ 'x-group': '操作配置',
832
+ })),
833
+ cell__custom__option: Type.Optional(Type.Slot({
834
+ title: '操作列',
835
+ type: 'slot',
836
+ 'x-group': '操作配置',
837
+ 'x-slot-scope': {
838
+ record: {
839
+ title: '行对象',
840
+ type: 'object',
841
+ },
842
+ rowKey: {
843
+ title: '行唯一标识',
844
+ type: 'string',
845
+ },
846
+ recordIndex: {
847
+ title: '行序号',
848
+ type: 'number',
849
+ },
850
+ column: {
851
+ title: '列对象',
852
+ type: 'object',
853
+ },
854
+ columnIndex: {
855
+ title: '列序号',
856
+ type: 'number',
857
+ },
858
+ },
859
+ })),
860
+ });
861
+ const properties = Type.Object({
862
+ ...commonProperties,
863
+ records: Type.BasicTypeUnion({
864
+ title: '表格数据',
865
+ type: 'array',
866
+ description: '表格数据',
867
+ }),
868
+ total: Type.Number({
869
+ title: '表格数据总数',
870
+ type: 'number',
871
+ description: '表格数据总数',
872
+ }),
873
+ pageNo: Type.Number({
874
+ title: '页码',
875
+ type: 'number',
876
+ description: '表格当前页码',
877
+ }),
878
+ pageSize: Type.Number({
879
+ title: '页长',
880
+ type: 'number',
881
+ description: '每页显示行数',
882
+ }),
883
+ selectedRecords: Type.BasicTypeUnion({
884
+ title: '表格选中数据',
885
+ type: 'array',
886
+ description: '表格选中的数据',
21
887
  }),
22
888
  });
23
- const properties = Type.Pick(data, ['type']);
24
889
  // export default
25
890
  const config = defineConfig({
26
891
  $schema: 'https://comp-public-1303824488.cos.ap-shanghai.myqcloud.com/schema/lcds_component.json',
@@ -32,28 +897,249 @@ const config = defineConfig({
32
897
  classes: [
33
898
  {
34
899
  name: '根元素',
900
+ selector: '.wd-table-wrap',
901
+ description: '数据表格组件根元素',
902
+ },
903
+ {
904
+ name: 'PC 端表格组件根元素',
905
+ selector: '.wd-pc-table',
906
+ description: '可以为 PC 端的表格编写样式',
907
+ },
908
+ {
909
+ name: 'H5 端表格组件根元素',
910
+ selector: '.wd-h5-table',
911
+ description: '可以为 H5 端的表格编写样式',
912
+ },
913
+ {
914
+ name: '筛选器容器',
915
+ selector: '.wd-table-wrap-filter',
916
+ description: '筛选器容器根元素',
917
+ },
918
+ {
919
+ name: 'H5 端筛选器容器',
920
+ selector: '.wd-h5-table-wrap-filter',
921
+ description: '可以为 H5 端的筛选器容器编写样式',
922
+ },
923
+ {
924
+ name: '表格容器',
35
925
  selector: '.wd-table',
36
- description: '分割线组件根元素',
926
+ description: '表格展示区域根元素',
927
+ },
928
+ {
929
+ name: '表格头部',
930
+ selector: '.wd-table__header',
931
+ description: '表格头部区域根元素',
932
+ },
933
+ {
934
+ name: '表格内容展示',
935
+ selector: '.wd-table__body',
936
+ description: '表格内容展示区域根元素',
937
+ },
938
+ {
939
+ name: '表格边框',
940
+ selector: '.wd-table--bordered',
941
+ description: '表格边框',
942
+ },
943
+ {
944
+ name: '表格行高-低',
945
+ selector: '.wd-table--size-sm',
946
+ description: '表格行高-低',
947
+ },
948
+ {
949
+ name: '表格行高-中',
950
+ selector: '.wd-table--size-md',
951
+ description: '表格行高-中',
952
+ },
953
+ {
954
+ name: '表格行高-高',
955
+ selector: '.wd-table--size-lg',
956
+ description: '表格行高-高',
957
+ },
958
+ {
959
+ name: '分页器容器',
960
+ selector: '.wd-pagination',
961
+ description: '分页器容器根元素',
37
962
  },
38
963
  ],
39
964
  // 组件方法
40
- methods: [],
965
+ methods: [
966
+ {
967
+ name: 'import',
968
+ label: '数据导入',
969
+ 'x-platforms': ['MOBILEWEB', 'PCWEB'],
970
+ description: '仅当数据源为数据模型场景时支持导入,可按照模版,上传 excel 文件,录入数据',
971
+ },
972
+ {
973
+ name: 'exportOptionalMode',
974
+ label: '数据导出(可选导出模式)',
975
+ 'x-platforms': ['MOBILEWEB', 'PCWEB'],
976
+ description: '支持将表格数据导出为excel,可选:导出全部数据、筛选后的数据、选中数据',
977
+ },
978
+ {
979
+ name: 'export',
980
+ label: '数据导出(导出选中数据)',
981
+ 'x-platforms': ['MOBILEWEB', 'PCWEB'],
982
+ description: '支持将当前选中数据导出为 excel',
983
+ },
984
+ {
985
+ name: 'deleteOne',
986
+ label: '删除单条数据',
987
+ params: {
988
+ properties: {
989
+ id: {
990
+ title: '删除数据的标识',
991
+ type: 'string',
992
+ default: '',
993
+ },
994
+ },
995
+ },
996
+ 'x-platforms': ['MOBILEWEB', 'PCWEB'],
997
+ description: '仅当数据源为数据模型场景时,支持删除行数据',
998
+ },
999
+ {
1000
+ name: 'deleteSelected',
1001
+ label: '删除选中数据',
1002
+ 'x-platforms': ['MOBILEWEB', 'PCWEB'],
1003
+ description: '仅当数据源为数据模型场景时,支持删除当前选中的行记录',
1004
+ },
1005
+ {
1006
+ name: 'refresh',
1007
+ label: '刷新表格(查看第1页数据)',
1008
+ 'x-platforms': ['MOBILEWEB', 'PCWEB'],
1009
+ description: '刷新表格(查看第 1 页数据)',
1010
+ },
1011
+ {
1012
+ name: 'refreshKeepPage',
1013
+ label: '刷新表格(查看当前页数据)',
1014
+ 'x-platforms': ['MOBILEWEB', 'PCWEB'],
1015
+ description: '刷新表格(查看当前页数据)',
1016
+ },
1017
+ {
1018
+ name: 'openOperationDialog',
1019
+ label: '打开操作列弹窗(仅移动端生效)',
1020
+ 'x-platforms': ['MOBILEWEB'],
1021
+ description: '打开操作列弹窗',
1022
+ },
1023
+ ],
41
1024
  // 组件对外暴露事件
42
- events: [],
1025
+ events: [
1026
+ {
1027
+ title: '点击表格行',
1028
+ name: 'tabTableRow',
1029
+ detail: {
1030
+ record: Type.BasicTypeUnion({
1031
+ type: 'array',
1032
+ description: '选中行记录',
1033
+ }),
1034
+ rowKey: Type.BasicTypeUnion({
1035
+ type: 'string',
1036
+ description: '选中行记录id',
1037
+ }),
1038
+ recordIndex: Type.BasicTypeUnion({
1039
+ type: 'number',
1040
+ description: '选中行index',
1041
+ }),
1042
+ },
1043
+ description: '点击表格某一行时触发',
1044
+ 'x-platforms': ['MOBILEWEB', 'PCWEB'],
1045
+ },
1046
+ {
1047
+ title: '选中行改变',
1048
+ name: 'rowsSelect',
1049
+ detail: {
1050
+ data: Type.BasicTypeUnion({
1051
+ type: 'array',
1052
+ description: '选中行记录',
1053
+ }),
1054
+ },
1055
+ description: '点击数据选择列(多选/单选列),改变已选中的行时触发',
1056
+ 'x-platforms': ['MOBILEWEB', 'PCWEB'],
1057
+ },
1058
+ {
1059
+ title: '数据查询成功',
1060
+ name: 'querySuccess',
1061
+ description: '每次数据查询成功时均会触发,包括切换分页、修改筛选条件时',
1062
+ 'x-platforms': ['MOBILEWEB', 'PCWEB'],
1063
+ detail: {
1064
+ data: Type.BasicTypeUnion({
1065
+ type: 'object',
1066
+ description: '查询结果,查询条件',
1067
+ }),
1068
+ },
1069
+ },
1070
+ ],
43
1071
  // 组件元信息
44
1072
  meta: {
45
1073
  name: 'WdTable',
46
- title: '表格',
47
- description: '用于显示分割线。',
48
- icon: '../../icons/Divider.svg',
49
- category: '展示',
50
- categoryOrder: 1,
51
- componentOrder: 1,
52
- // 快捷编辑时展示在编辑区的属性
1074
+ title: '数据表格',
1075
+ componentName: 'Table',
1076
+ description: '以表格形式展示多行数据,支持对数据进行排序、搜索、分页、自定义显示内容和操作。',
1077
+ icon: '../../icons/Table.svg',
1078
+ category: '数据容器',
1079
+ categoryOrder: 100,
1080
+ componentOrder: 50,
1081
+ platform: ['MOBILEWEB', 'PCWEB'],
1082
+ visible: ['APP'],
53
1083
  shortcut: {
54
- props: [],
1084
+ props: [
1085
+ 'dataSourceType',
1086
+ 'bindMetadata',
1087
+ 'bindConnectMetadata',
1088
+ 'connectorMethod',
1089
+ 'connectorParams',
1090
+ ],
1091
+ },
1092
+ },
1093
+ configMeta: {
1094
+ docsUrl: 'https://docs.cloudbase.net/lowcode/components/wedaUI/src/docs/compsdocs/database/WdTable',
1095
+ contextData: {
1096
+ setField: true,
1097
+ setRelated: true,
1098
+ extra: {
1099
+ selectedRecords: {
1100
+ title: '已选中的记录',
1101
+ type: 'array',
1102
+ description: '适用于表格多选操作',
1103
+ 'x-index': 1,
1104
+ },
1105
+ total: {
1106
+ title: '记录总条数',
1107
+ type: 'number',
1108
+ 'x-index': 2,
1109
+ },
1110
+ pageNo: {
1111
+ title: '页码',
1112
+ type: 'number',
1113
+ 'x-index': 3,
1114
+ },
1115
+ pageSize: {
1116
+ title: '每页大小',
1117
+ type: 'number',
1118
+ 'x-index': 4,
1119
+ },
1120
+ },
55
1121
  },
56
- visible: [],
1122
+ group: {
1123
+ 数据: {
1124
+ 'x-index': 1,
1125
+ expand: true,
1126
+ },
1127
+ 表格列: {
1128
+ 'x-index': 2,
1129
+ expand: true,
1130
+ },
1131
+ 表格行: {
1132
+ 'x-index': 3,
1133
+ expand: true,
1134
+ },
1135
+ 操作配置: {
1136
+ 'x-index': 4,
1137
+ expand: true,
1138
+ },
1139
+ },
1140
+ },
1141
+ compConfig: {
1142
+ isDataContainer: true,
57
1143
  },
58
1144
  });
59
1145
  export default config;