@cloudbase/weda-ui 3.4.8 → 3.4.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 (391) hide show
  1. package/README.md +65 -30
  2. package/dist/configs/components/carousel.json +12 -2
  3. package/dist/configs/components/chart/bar.json +2 -2
  4. package/dist/configs/components/chart/line.js +2 -2
  5. package/dist/configs/components/chart/pie.json +2 -2
  6. package/dist/configs/components/chart/statisticsCard.json +1 -1
  7. package/dist/configs/components/common/form-input-required.js +176 -0
  8. package/dist/configs/components/container.js +1 -1
  9. package/dist/configs/components/customer-service.js +262 -0
  10. package/dist/configs/components/dataView.js +10 -66
  11. package/dist/configs/components/flowgraph.json +22 -0
  12. package/dist/configs/components/form/departTreeSelect.json +10 -0
  13. package/dist/configs/components/form-checkbox.js +261 -0
  14. package/dist/configs/components/form-date.js +268 -0
  15. package/dist/configs/components/form-depart-tree-select.js +237 -0
  16. package/dist/configs/components/form-email.js +258 -0
  17. package/dist/configs/components/form-image-uploader.js +326 -0
  18. package/dist/configs/components/form-input.js +477 -0
  19. package/dist/configs/components/form-location.js +328 -0
  20. package/dist/configs/components/form-multi-region.js +202 -0
  21. package/dist/configs/components/form-phone.js +250 -0
  22. package/dist/configs/components/form-radio.js +261 -0
  23. package/dist/configs/components/form-region.js +198 -0
  24. package/dist/configs/components/form-rich-text.js +212 -0
  25. package/dist/configs/components/form-select.js +368 -0
  26. package/dist/configs/components/form-switch.js +153 -0
  27. package/dist/configs/components/form-text-area.js +241 -0
  28. package/dist/configs/components/form-time.js +221 -0
  29. package/dist/configs/components/form-upload-file.js +269 -0
  30. package/dist/configs/components/form-url.js +259 -0
  31. package/dist/configs/components/form-user-tree-select.js +315 -0
  32. package/dist/configs/components/formdetail.json +8 -0
  33. package/dist/configs/components/grid/col.js +6 -0
  34. package/dist/configs/components/listView.js +34 -92
  35. package/dist/configs/components/modal.js +2 -3
  36. package/dist/configs/components/navigationBar.json +2 -4
  37. package/dist/configs/components/pagelayout.json +1 -1
  38. package/dist/configs/components/qr_code.js +117 -0
  39. package/dist/configs/components/repeater.js +3 -2
  40. package/dist/configs/components/scrollVeiw.json +3 -1
  41. package/dist/configs/components/table.json +14 -4
  42. package/dist/configs/components/tabs.js +1 -1
  43. package/dist/configs/components/wd-bubble.js +2 -2
  44. package/dist/configs/components/wd-button.js +5 -5
  45. package/dist/configs/components/wd-divider.js +3 -3
  46. package/dist/configs/components/wd-form-detail.js +229 -0
  47. package/dist/configs/components/wd-form.js +394 -0
  48. package/dist/configs/components/wd-icon.js +4 -4
  49. package/dist/configs/components/wd-image.js +5 -0
  50. package/dist/configs/components/wd-link.js +5 -5
  51. package/dist/configs/components/wd-table.js +1110 -24
  52. package/dist/configs/components/wd-text.js +4 -3
  53. package/dist/configs/components/web-view.js +152 -0
  54. package/dist/configs/components/wedaVideo.json +4 -2
  55. package/dist/configs/components/wxOpenApi/share.js +1 -0
  56. package/dist/configs/index.js +50 -0
  57. package/dist/configs/type-utils/index.js +0 -1
  58. package/dist/docs/common/componentList.js +8 -37
  59. package/dist/docs/common/components/classes-view.js +2 -32
  60. package/dist/docs/common/components/event-view.js +2 -43
  61. package/dist/docs/common/components/json-schema-view.js +4 -8
  62. package/dist/docs/common/components/methods-view.js +2 -30
  63. package/dist/docs/common/components/properties-view.js +4 -43
  64. package/dist/docs/common/tableView.js +15 -94
  65. package/dist/enum/index.js +53 -0
  66. package/dist/setupTests.js +4 -0
  67. package/dist/style/index.scss +1 -1
  68. package/dist/web/actions/showModal/index.js +15 -21
  69. package/dist/web/components/button/index.css +1 -0
  70. package/dist/web/components/button/index.js +3 -6
  71. package/dist/web/components/calendar/index.js +19 -45
  72. package/dist/web/components/carousel/index.js +35 -45
  73. package/dist/web/components/chart/bar/index.js +6 -7
  74. package/dist/web/components/chart/bar/index.old.js +3 -2
  75. package/dist/web/components/chart/common/Chart.js +3 -2
  76. package/dist/web/components/chart/common/chart-custom-connector.js +3 -7
  77. package/dist/web/components/chart/common/core/eChartLine.js +12 -1
  78. package/dist/web/components/chart/common/data-transform.js +13 -9
  79. package/dist/web/components/chart/line/index.js +6 -7
  80. package/dist/web/components/chart/line/index.old.js +5 -3
  81. package/dist/web/components/chart/pie/index.js +6 -7
  82. package/dist/web/components/chart/pie/index.old.js +3 -2
  83. package/dist/web/components/chart/statisticsCard/index.js +3 -9
  84. package/dist/web/components/common/error-boundary.js +13 -15
  85. package/dist/web/components/common/form-item-wrapper.js +4 -0
  86. package/dist/web/components/common/use-loop-render-detect.js +2 -2
  87. package/dist/web/components/container/index.js +2 -2
  88. package/dist/web/components/customer-service/convert-legacy-props.js +14 -0
  89. package/dist/web/components/customer-service/customer-service.js +13 -0
  90. package/dist/web/components/customer-service/index.js +3 -0
  91. package/dist/web/components/dataView/index.js +5 -1
  92. package/dist/web/components/drawer/index.js +2 -3
  93. package/dist/web/components/flow/common/components/container.js +12 -0
  94. package/dist/web/components/flow/common/components/index.js +2 -0
  95. package/dist/web/components/flow/common/components/text/index.js +62 -0
  96. package/dist/web/components/flow/common/constants.js +14 -0
  97. package/dist/web/components/flow/common/hooks/index.js +2 -0
  98. package/dist/web/components/flow/common/hooks/useCommonFlowData/flow-get.js +83 -0
  99. package/dist/web/components/flow/common/hooks/useCommonFlowData/index.js +67 -0
  100. package/dist/web/components/flow/common/hooks/useCommonFlowData/preview-data.js +45 -0
  101. package/dist/web/components/flow/common/hooks/useCommonFlowData/request-hub.js +125 -0
  102. package/dist/web/components/flow/common/hooks/useCommonFlowData/types.js +1 -0
  103. package/dist/web/components/flow/common/hooks/useElementMediaQuery.js +23 -0
  104. package/dist/web/components/flow/common/hooks/useFlowConfig.js +44 -0
  105. package/dist/web/components/flow/common/hooks/useFlowFormLoad.js +64 -0
  106. package/dist/web/components/flow/common/hooks/useFlowPageType.js +49 -0
  107. package/dist/web/components/flow/common/index.js +6 -0
  108. package/dist/web/components/flow/common/request.js +47 -0
  109. package/dist/web/components/flow/common/types.js +1 -0
  110. package/dist/web/components/flow/common/utils.js +15 -0
  111. package/dist/web/components/flow/modules/basic/Basic.js +14 -22
  112. package/dist/web/components/flow/modules/basic/BasicMobile.js +12 -30
  113. package/dist/web/components/flow/modules/basic/index.js +19 -11
  114. package/dist/web/components/flow/modules/basic/status-text.js +37 -0
  115. package/dist/web/components/flow/modules/basic/utils.js +17 -8
  116. package/dist/web/components/flow/modules/chart/Chart.js +22 -41
  117. package/dist/web/components/flow/modules/chart/index.js +49 -5
  118. package/dist/web/components/flow/modules/chart/preview-data.js +88 -0
  119. package/dist/web/components/flow/modules/chart/utils.js +111 -0
  120. package/dist/web/components/flow/modules/combination/index.js +4 -6
  121. package/dist/web/components/flow/modules/layout/index.css +2 -2
  122. package/dist/web/components/flow/modules/layout/index.js +11 -15
  123. package/dist/web/components/flow/modules/operations/components/button/index.js +2 -4
  124. package/dist/web/components/flow/modules/operations/components/popup/index.js +11 -15
  125. package/dist/web/components/flow/modules/operations/components/user-select/index.js +4 -5
  126. package/dist/web/components/flow/modules/operations/config/approval-form-config.js +8 -9
  127. package/dist/web/components/flow/modules/operations/config/control-config.js +38 -33
  128. package/dist/web/components/flow/modules/operations/control.js +21 -15
  129. package/dist/web/components/flow/modules/operations/controls-items/add-assignee-btn.js +8 -8
  130. package/dist/web/components/flow/modules/operations/controls-items/apply-cc-btn.js +2 -2
  131. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/comment/index.js +3 -6
  132. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/drawer-form/index.js +25 -32
  133. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/field/index.js +2 -6
  134. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/index.js +15 -7
  135. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/style.css +1 -0
  136. package/dist/web/components/flow/modules/operations/controls-items/cancel-apply-btn.js +2 -2
  137. package/dist/web/components/flow/modules/operations/controls-items/check-list-popup/index.js +2 -4
  138. package/dist/web/components/flow/modules/operations/controls-items/flow-task-info-modal/index.js +20 -0
  139. package/dist/web/components/flow/modules/operations/controls-items/flow-task-info-modal/view-model.js +119 -0
  140. package/dist/web/components/flow/modules/operations/controls-items/initiation-btn.js +6 -3
  141. package/dist/web/components/flow/modules/operations/controls-items/revoke-modal/index.js +13 -22
  142. package/dist/web/components/flow/modules/operations/controls-items/roll-back-modal.js +18 -26
  143. package/dist/web/components/flow/modules/operations/view-model.js +95 -70
  144. package/dist/web/components/flow/process/components/comment-text/index.js +24 -0
  145. package/dist/web/components/flow/process/components/comment-text/style.css +33 -0
  146. package/dist/web/components/flow/process/components/descriptions/index.js +19 -0
  147. package/dist/web/components/flow/process/components/descriptions/style.css +31 -0
  148. package/dist/web/components/flow/process/components/index.js +4 -0
  149. package/dist/web/components/flow/process/components/timeline/index.js +13 -0
  150. package/dist/web/components/flow/process/components/timeline/style.css +75 -0
  151. package/dist/web/components/flow/process/constants.js +46 -0
  152. package/dist/web/components/flow/process/index.js +2 -0
  153. package/dist/web/components/flow/process/process.js +113 -0
  154. package/dist/web/components/flow/process/style.css +17 -0
  155. package/dist/web/components/flow/process/types.js +1 -0
  156. package/dist/web/components/flow/process/view-model.js +135 -0
  157. package/dist/web/components/flow-graph/constants.js +28 -0
  158. package/dist/web/components/flow-graph/graph.js +267 -0
  159. package/dist/web/components/flow-graph/index.js +2 -0
  160. package/dist/web/components/flow-graph/style.css +109 -0
  161. package/dist/web/components/flow-graph/types.js +1 -0
  162. package/dist/web/components/form/checkbox/index.js +18 -19
  163. package/dist/web/components/form/enumSelect/MultipleSelect.js +4 -5
  164. package/dist/web/components/form/enumSelect/NormalSelect.js +4 -5
  165. package/dist/web/components/form/enumSelect/SelectContainer.js +2 -2
  166. package/dist/web/components/form/form/index.js +8 -14
  167. package/dist/web/components/form/formcell/index.js +12 -18
  168. package/dist/web/components/form/input/index.js +17 -16
  169. package/dist/web/components/form/location/common/mapChoose.js +37 -69
  170. package/dist/web/components/form/location/common/mapView.js +2 -1
  171. package/dist/web/components/form/location/common/selectModal.js +3 -7
  172. package/dist/web/components/form/location/components/LocationH5/location.h5.js +22 -34
  173. package/dist/web/components/form/location/components/LocationPC/Header.js +6 -15
  174. package/dist/web/components/form/location/components/LocationPC/location.PC.js +13 -15
  175. package/dist/web/components/form/location/index.js +5 -7
  176. package/dist/web/components/form/radio/index.js +8 -12
  177. package/dist/web/components/form/renderDecorator.js +3 -2
  178. package/dist/web/components/form/select/allTimePicker/calendar.js +27 -28
  179. package/dist/web/components/form/select/allTimePicker/index.js +66 -91
  180. package/dist/web/components/form/select/dropdown-select/h5.js +30 -53
  181. package/dist/web/components/form/select/dropdown-select/index.css +4 -0
  182. package/dist/web/components/form/select/dropdown-select/index.js +7 -3
  183. package/dist/web/components/form/select/dropdown-select/pc.js +27 -29
  184. package/dist/web/components/form/select/dropdown-select/ui.js +4 -8
  185. package/dist/web/components/form/select/h5.js +8 -6
  186. package/dist/web/components/form/select/index.js +19 -20
  187. package/dist/web/components/form/select/region/index.js +2 -2
  188. package/dist/web/components/form/select/request.js +10 -10
  189. package/dist/web/components/form/select/status/allEmpty.js +2 -2
  190. package/dist/web/components/form/select/status/empty.js +3 -2
  191. package/dist/web/components/form/select/status/loading.js +3 -4
  192. package/dist/web/components/form/select/status/retry.js +3 -4
  193. package/dist/web/components/form/select/year.js +16 -31
  194. package/dist/web/components/form/switch/index.js +11 -15
  195. package/dist/web/components/form/textarea/index.js +5 -10
  196. package/dist/web/components/form/tips/index.js +2 -2
  197. package/dist/web/components/form/uploader/index.js +5 -4
  198. package/dist/web/components/form/uploader/uploader.h5.js +29 -54
  199. package/dist/web/components/form/uploader/uploader.pc.js +18 -44
  200. package/dist/web/components/form/uploaderFile/index.js +4 -5
  201. package/dist/web/components/form/uploaderFile/uploadFile.h5.js +58 -104
  202. package/dist/web/components/form/uploaderFile/uploadFile.pc.js +42 -69
  203. package/dist/web/components/form/userOrgSelect/common/fetch-data-service.js +44 -62
  204. package/dist/web/components/form/userOrgSelect/common/utils.js +225 -0
  205. package/dist/web/components/form/userOrgSelect/component/OrgPaths.js +12 -0
  206. package/dist/web/components/form/userOrgSelect/component/depart-breadcrumb.js +5 -10
  207. package/dist/web/components/form/userOrgSelect/component/depart-select/depart-select-pc.js +9 -19
  208. package/dist/web/components/form/userOrgSelect/component/depart-select/departTreeSelect.h5.js +156 -0
  209. package/dist/web/components/form/userOrgSelect/component/depart-select/index.js +58 -21
  210. package/dist/web/components/form/userOrgSelect/component/depart-select/org-modal-pc.js +29 -35
  211. package/dist/web/components/form/userOrgSelect/component/error-tips.js +4 -4
  212. package/dist/web/components/form/userOrgSelect/component/index.css +52 -0
  213. package/dist/web/components/form/userOrgSelect/component/input-tags.js +4 -18
  214. package/dist/web/components/form/userOrgSelect/component/modal-search-h5.js +11 -19
  215. package/dist/web/components/form/userOrgSelect/component/modal-search.js +2 -5
  216. package/dist/web/components/form/userOrgSelect/component/modal-select-h5.js +49 -35
  217. package/dist/web/components/form/userOrgSelect/component/org-tree-h5.js +7 -13
  218. package/dist/web/components/form/userOrgSelect/component/org-tree.js +26 -18
  219. package/dist/web/components/form/userOrgSelect/component/selected-list-h5.js +23 -40
  220. package/dist/web/components/form/userOrgSelect/component/selected-list.js +8 -5
  221. package/dist/web/components/form/userOrgSelect/component/user-org-list.js +35 -35
  222. package/dist/web/components/form/userOrgSelect/component/user-select-h5/index.js +30 -4
  223. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-list-h5.js +36 -50
  224. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-select-h5.js +9 -11
  225. package/dist/web/components/form/userOrgSelect/component/user-select-pc/error-tips.js +4 -4
  226. package/dist/web/components/form/userOrgSelect/component/user-select-pc/model-user-list.js +24 -17
  227. package/dist/web/components/form/userOrgSelect/component/user-select-pc/org-tree.js +2 -2
  228. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-model.js +12 -30
  229. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-select-pc.js +8 -8
  230. package/dist/web/components/form/userOrgSelect/component/userOrgSelect.css +20 -2
  231. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.js +68 -158
  232. package/dist/web/components/form/userOrgSelect/hooks/use-depart-data.js +4 -2
  233. package/dist/web/components/form-checkbox/index.js +36 -0
  234. package/dist/web/components/form-date/index.js +52 -0
  235. package/dist/web/components/form-depart-tree-select/index.js +22 -0
  236. package/dist/web/components/form-email/index.js +31 -0
  237. package/dist/web/components/form-image-uploader/index.js +50 -0
  238. package/dist/web/components/form-input/index.js +25 -0
  239. package/dist/web/components/form-input-hooks/index.js +284 -0
  240. package/dist/web/components/form-input-hooks/validator.js +124 -0
  241. package/dist/web/components/form-location/index.js +24 -0
  242. package/dist/web/components/form-multi-region/index.js +22 -0
  243. package/dist/web/components/form-phone/index.js +32 -0
  244. package/dist/web/components/form-radio/index.js +38 -0
  245. package/dist/web/components/form-region/index.js +24 -0
  246. package/dist/web/components/form-rich-text/index.js +22 -0
  247. package/dist/web/components/form-select/index.js +21 -0
  248. package/dist/web/components/form-switch/index.js +22 -0
  249. package/dist/web/components/form-text-area/index.js +22 -0
  250. package/dist/web/components/form-time/index.js +22 -0
  251. package/dist/web/components/form-upload-file/index.js +47 -0
  252. package/dist/web/components/form-url/index.js +31 -0
  253. package/dist/web/components/form-user-tree-select/index.js +24 -0
  254. package/dist/web/components/formdetail/index.css +213 -3
  255. package/dist/web/components/formdetail/index.js +156 -30
  256. package/dist/web/components/graphicCard/index.js +13 -25
  257. package/dist/web/components/grid/col.js +3 -2
  258. package/dist/web/components/grid/grid.js +4 -3
  259. package/dist/web/components/grid/row.js +3 -2
  260. package/dist/web/components/image/image.js +52 -57
  261. package/dist/web/components/image/index.js +2 -2
  262. package/dist/web/components/index.js +46 -3
  263. package/dist/web/components/link/index.js +3 -5
  264. package/dist/web/components/listView/index.js +29 -49
  265. package/dist/web/components/lottery/index.js +123 -143
  266. package/dist/web/components/modal/h5.css +3 -0
  267. package/dist/web/components/modal/index.js +3 -2
  268. package/dist/web/components/modal/modal.h5.js +8 -14
  269. package/dist/web/components/modal/modal.pc.js +5 -7
  270. package/dist/web/components/navLayout/index.js +13 -20
  271. package/dist/web/components/navigationBar/common.js +12 -14
  272. package/dist/web/components/navigationBar/h5Menu.js +18 -37
  273. package/dist/web/components/navigationBar/horizontalMenu.js +33 -50
  274. package/dist/web/components/navigationBar/index.css +2 -1
  275. package/dist/web/components/navigationBar/index.js +5 -10
  276. package/dist/web/components/navigationBar/verticalMenu.js +11 -13
  277. package/dist/web/components/pageLayout/PageContent/index.js +7 -14
  278. package/dist/web/components/pageLayout/index.css +10 -0
  279. package/dist/web/components/pageLayout/index.js +7 -12
  280. package/dist/web/components/phone/index.js +2 -4
  281. package/dist/web/components/phoneCode/index.js +2 -4
  282. package/dist/web/components/picker/datePicker.js +2 -2
  283. package/dist/web/components/picker/picker.js +2 -2
  284. package/dist/web/components/picker/timePicker.js +2 -2
  285. package/dist/web/components/qrcode/index.js +3 -0
  286. package/dist/web/components/qrcode/qr-code.js +26 -0
  287. package/dist/web/components/repeater/index.js +2 -2
  288. package/dist/web/components/repeater-item/index.js +2 -2
  289. package/dist/web/components/richText/index.js +74 -93
  290. package/dist/web/components/richTextView/index.js +3 -3
  291. package/dist/web/components/scrollView/index.js +4 -3
  292. package/dist/web/components/share/index.js +2 -4
  293. package/dist/web/components/slot/index.js +2 -2
  294. package/dist/web/components/statusContent/index.css +39 -0
  295. package/dist/web/components/statusContent/index.js +9 -0
  296. package/dist/web/components/swiper/index.js +44 -48
  297. package/dist/web/components/table/BaseTable.js +142 -190
  298. package/dist/web/components/table/ExportFileModalByApi/index.js +29 -60
  299. package/dist/web/components/table/FieldRender.js +47 -51
  300. package/dist/web/components/table/FilterFields.js +45 -71
  301. package/dist/web/components/table/Form/Enum.js +4 -4
  302. package/dist/web/components/table/Form/Location.js +9 -9
  303. package/dist/web/components/table/ImportFileModal/index.css +261 -0
  304. package/dist/web/components/table/ImportFileModal/index.js +47 -107
  305. package/dist/web/components/table/ImportFileModal/validate.js +9 -9
  306. package/dist/web/components/table/ImportFileModalByApi/index.css +35 -3
  307. package/dist/web/components/table/ImportFileModalByApi/index.js +96 -113
  308. package/dist/web/components/table/ImportFileModalByApi/uploadCSVFile.js +23 -47
  309. package/dist/web/components/table/InOrOutRecordModeal.js +26 -47
  310. package/dist/web/components/table/QuoteModal.js +3 -5
  311. package/dist/web/components/table/SelectableBlock/index.js +23 -27
  312. package/dist/web/components/table/UserDepartment/ViewCell.js +3 -3
  313. package/dist/web/components/table/UserDepartment/utils.js +4 -4
  314. package/dist/web/components/table/baseTable.css +0 -10
  315. package/dist/web/components/table/index.js +3 -5
  316. package/dist/web/components/tabs/index.js +5 -6
  317. package/dist/web/components/tabs/tabs.h5.js +12 -14
  318. package/dist/web/components/tabs/tabs.pc.js +15 -14
  319. package/dist/web/components/text/index.js +3 -2
  320. package/dist/web/components/uploaderFileView/index.js +4 -3
  321. package/dist/web/components/uploaderView/index.js +12 -16
  322. package/dist/web/components/userInfo/index.js +2 -4
  323. package/dist/web/components/wd-bubble/wd-bubble.js +10 -11
  324. package/dist/web/components/wd-button/wd-button.js +24 -8
  325. package/dist/web/components/wd-config-provider/wd-config-provider.js +3 -2
  326. package/dist/web/components/wd-divider/wd-divider.js +3 -2
  327. package/dist/web/components/wd-form/hooks/use-auth-value.js +43 -0
  328. package/dist/web/components/wd-form/hooks/use-remote-value.js +79 -0
  329. package/dist/web/components/wd-form/index.js +382 -0
  330. package/dist/web/components/wd-icon/wd-icon.js +3 -2
  331. package/dist/web/components/wd-image/image.js +98 -96
  332. package/dist/web/components/wd-image/index.js +4 -3
  333. package/dist/web/components/wd-link/wd-link.js +4 -8
  334. package/dist/web/components/wd-table/components/ExportFileModalByApi/ExportFileModalByApi.js +7 -0
  335. package/dist/web/components/wd-table/components/ExportFileModalByApi/index.css +9 -0
  336. package/dist/web/components/wd-table/components/ExportFileModalByApi/index.js +74 -0
  337. package/dist/web/components/wd-table/components/FieldRender/Form/Enum.js +56 -0
  338. package/dist/web/components/wd-table/components/FieldRender/Form/Location.css +11 -0
  339. package/dist/web/components/wd-table/components/FieldRender/Form/Location.js +127 -0
  340. package/dist/web/components/wd-table/components/FieldRender/ImagePreview.js +8 -0
  341. package/dist/web/components/wd-table/components/FieldRender/QuoteModal.js +17 -0
  342. package/dist/web/components/wd-table/components/FieldRender/UserDepartment/ViewCell.js +11 -0
  343. package/dist/web/components/wd-table/components/FieldRender/UserDepartment/utils.js +82 -0
  344. package/dist/web/components/wd-table/components/FieldRender/UserDepartment/viewCell.css +11 -0
  345. package/dist/web/components/wd-table/components/FieldRender/index.js +702 -0
  346. package/dist/web/components/wd-table/components/FilterFieldsPanel/Fields.js +82 -0
  347. package/dist/web/components/wd-table/components/FilterFieldsPanel/FilterFieldItem.js +86 -0
  348. package/dist/web/components/wd-table/components/FilterFieldsPanel/InputAdornment.js +9 -0
  349. package/dist/web/components/wd-table/components/FilterFieldsPanel/SelectSearch.js +44 -0
  350. package/dist/web/components/wd-table/components/FilterFieldsPanel/filterFieldsGenerate.js +113 -0
  351. package/dist/web/components/wd-table/components/FilterFieldsPanel/index.js +169 -0
  352. package/dist/web/components/wd-table/components/ImportFileModalByApi/index.js +44 -0
  353. package/dist/web/components/wd-table/components/InOrOutRecordModal.js +14 -0
  354. package/dist/web/components/wd-table/components/Pagination/index.js +11 -0
  355. package/dist/web/components/wd-table/components/SearchBox/index.js +45 -0
  356. package/dist/web/components/wd-table/components/Table/index.js +172 -0
  357. package/dist/web/components/wd-table/components/Table/util.js +63 -0
  358. package/dist/web/components/wd-table/components/ToolBar/index.js +34 -0
  359. package/dist/web/components/wd-table/components/deleteModal.js +40 -0
  360. package/dist/web/components/wd-table/components/index.js +10 -0
  361. package/dist/web/components/wd-table/hooks/useAuthFields.js +13 -0
  362. package/dist/web/components/wd-table/hooks/useChooseList.js +70 -0
  363. package/dist/web/components/wd-table/hooks/useDataSource.js +5 -0
  364. package/dist/web/components/wd-table/hooks/useQueryParams.js +41 -0
  365. package/dist/web/components/wd-table/hooks/useTableData.js +42 -0
  366. package/dist/web/components/wd-table/hooks/useViewFields.js +20 -0
  367. package/dist/web/components/wd-table/mock/index.js +202 -0
  368. package/dist/web/components/wd-table/utils/index.js +326 -0
  369. package/dist/web/components/wd-table/wd-table.js +459 -21
  370. package/dist/web/components/wd-text/wd-text.js +15 -14
  371. package/dist/web/components/web-view/index.css +5 -0
  372. package/dist/web/components/web-view/index.js +3 -0
  373. package/dist/web/components/web-view/web-view.js +61 -0
  374. package/dist/web/components/wedaVideo/index.js +2 -5
  375. package/dist/web/utils/constant.js +1 -0
  376. package/dist/web/utils/datasource.js +3 -1
  377. package/dist/web/utils/getModelParams.js +32 -0
  378. package/dist/web/utils/hooks/CreatePortal.js +3 -2
  379. package/dist/web/utils/hooks/EnumHoc.js +3 -2
  380. package/dist/web/utils/hooks/globalConnect.js +2 -3
  381. package/dist/web/utils/hooks/use-cloud-id-temp-url.js +6 -6
  382. package/dist/web/utils/hooks/useDataSource.js +22 -0
  383. package/dist/web/utils/loading-fallback.js +2 -2
  384. package/dist/web/utils/platform.js +21 -0
  385. package/dist/web/utils/tcb.js +0 -13
  386. package/dist/web/utils/tool.js +14 -0
  387. package/dist/web/utils/widget-api/index.js +39 -7
  388. package/package.json +32 -25
  389. package/dist/web/components/emptyContent/index.css +0 -26
  390. package/dist/web/components/flow/components/FlowModuleText/index.css +0 -4
  391. package/dist/web/components/flow/modules/process/index.css +0 -194
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { FormItemWrapper } from '../common/form-item-wrapper';
4
+ import Select from '../form/select';
5
+ import Tips from '../form/tips';
6
+ import { useFormInputTrait } from '../form-input-hooks';
7
+ const FormTime = React.forwardRef(function FormTime(props, inputRef) {
8
+ const { className, id, style, events, required, requiredFlag, label, labelVisible, end, size, start, placeholder, ...restProps } = props;
9
+ const { value, name, onChange, disabled, layout,
10
+ // readOnly,
11
+ validateErrorMsg, validateState, visible, } = useFormInputTrait({
12
+ name: restProps.name,
13
+ inputRef,
14
+ required,
15
+ ...restProps,
16
+ });
17
+ if (!visible) {
18
+ return null;
19
+ }
20
+ return (_jsxs(FormItemWrapper, { children: [_jsx(Select, { id: id, style: style, className: className, events: events, onChange: onChange, name: name, disabled: disabled, label: label, labelVisible: labelVisible, layout: layout, requiredFlag: required && requiredFlag, defaultTime: value, endTime: end, placeholder: placeholder, startTime: start, size: size, mode: "time" }), (validateState === 'error' || validateState === 'warn') && (_jsx(Tips, { tips: validateErrorMsg, type: "warn" }))] }));
21
+ });
22
+ export default FormTime;
@@ -0,0 +1,47 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import Tips from '../form/tips';
4
+ import { useFormInputTrait } from '../form-input-hooks';
5
+ import { UploaderFile } from '../../components';
6
+ import { FormItemWrapper } from '../common/form-item-wrapper';
7
+ import { useRef, useState } from 'react';
8
+ const FormUploadFile = React.forwardRef(function FormUploadFile(props, ref) {
9
+ const { className, id, style, events, required, requiredFlag, labelVisible, value: propValue, label, acceptTypes, maxSize, maxUploadCount, single, deleteVisible, downloadVisible, ...restProps } = props;
10
+ const normalizedValue = typeof propValue === 'string'
11
+ ? propValue == ''
12
+ ? null
13
+ : propValue.split(',')
14
+ : propValue;
15
+ const [innerHandle, setInnerHandle] = useState({});
16
+ const inputRef = useRef(null);
17
+ const { value, name, onChange, disabled, layout,
18
+ // readOnly,
19
+ validateErrorMsg, validateState, visible, } = useFormInputTrait({
20
+ name: restProps.name,
21
+ inputRef,
22
+ required,
23
+ setInnerHandle,
24
+ value: normalizedValue,
25
+ ...restProps,
26
+ });
27
+ React.useImperativeHandle(ref, () => {
28
+ var _a;
29
+ let value = innerHandle.value;
30
+ if (Array.isArray(innerHandle.value) && single) {
31
+ value = (_a = value === null || value === void 0 ? void 0 : value[0]) !== null && _a !== void 0 ? _a : '';
32
+ }
33
+ return {
34
+ ...innerHandle,
35
+ value,
36
+ getValue: () => {
37
+ return value;
38
+ },
39
+ };
40
+ }, [innerHandle, single]);
41
+ if (!visible) {
42
+ return null;
43
+ }
44
+ return (_jsxs(FormItemWrapper, { children: [_jsx(UploaderFile, { id: id, style: style, className: className, events: events, name: name, onChange: onChange, disabled: disabled, label: label, labelVisible: labelVisible, layout: layout, requiredFlag: required && requiredFlag, acceptTypes: acceptTypes, defaultValue: value, deleteVisible: deleteVisible, downloadVisible: downloadVisible, maxSize: maxSize, maxUploadCount: maxUploadCount, single: single }), (validateState === 'error' || validateState === 'warn') && (_jsx(Tips, { tips: validateErrorMsg, type: "warn" }))] }));
45
+ });
46
+ FormUploadFile.whyDidYouRender = true;
47
+ export default FormUploadFile;
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { debug } from '../../utils/console';
4
+ import { useFormInputTrait } from '../form-input-hooks';
5
+ import Input from '../form/input';
6
+ import Tips from '../form/tips';
7
+ import { FormItemWrapper } from '../common/form-item-wrapper';
8
+ const rules = [
9
+ {
10
+ format: 'url',
11
+ message: 'url校验失败',
12
+ },
13
+ ];
14
+ const logger = debug('wd-input');
15
+ const FormUrl = React.forwardRef(function FormUrl(props, inputRef) {
16
+ const { className, id, style, required, requiredFlag, label, labelVisible, placeholder, size, maxLength, focus, clearable, events, ...restProps } = props;
17
+ const { value, name, onChange, disabled, layout,
18
+ // readOnly,
19
+ validateErrorMsg, validateState, visible, } = useFormInputTrait({
20
+ inputRef,
21
+ required,
22
+ rules,
23
+ ...restProps,
24
+ });
25
+ logger.debug(restProps, name, 'WDINPUT_NAME', id);
26
+ if (!visible) {
27
+ return null;
28
+ }
29
+ return (_jsxs(FormItemWrapper, { children: [_jsx(Input, { defaultValue: value, id: id, className: className, style: style, onChange: onChange, disabled: disabled, requiredFlag: requiredFlag && required, layout: layout, label: label, labelVisible: labelVisible, clearable: clearable, maxLength: maxLength, password: false, size: size, type: "text", focus: focus, events: events, placeholder: placeholder }), (validateState === 'error' || validateState === 'warn') && (_jsx(Tips, { tips: validateErrorMsg, type: "warn" }))] }));
30
+ });
31
+ export default FormUrl;
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { UserTreeSelect } from '../../components';
4
+ import Tips from '../form/tips';
5
+ import { useFormInputTrait } from '../form-input-hooks';
6
+ import { FormItemWrapper } from '../common/form-item-wrapper';
7
+ const FormUserTreeSelect = React.forwardRef(function FormUserTreeSelect(props, inputRef) {
8
+ const { className, id, style, events, required, requiredFlag, label, labelVisible, confirmValue, defaultValueType, multiple, size, where, secondDisplay, ...restProps } = props;
9
+ const { value, name,
10
+ // onChange,
11
+ disabled, layout,
12
+ // readOnly,
13
+ validateErrorMsg, validateState, visible, } = useFormInputTrait({
14
+ name: restProps.name,
15
+ inputRef,
16
+ required,
17
+ ...restProps,
18
+ });
19
+ if (!visible) {
20
+ return null;
21
+ }
22
+ return (_jsxs(FormItemWrapper, { children: [_jsx(UserTreeSelect, { id: id, style: style, className: className, events: events, name: name, checked: value, disabled: disabled, label: label, labelVisible: labelVisible, layout: layout, requiredFlag: required && requiredFlag, confirmValue: confirmValue, defaultValueType: defaultValueType, defaultValue: value, size: size, multiple: multiple, where: where, secondDisplay: secondDisplay }), (validateState === 'error' || validateState === 'warn') && (_jsx(Tips, { tips: validateErrorMsg, type: "warn" }))] }));
23
+ });
24
+ export default FormUserTreeSelect;
@@ -168,9 +168,6 @@
168
168
  .form-detail-wrap .form-detail-title-index {
169
169
  padding-left: 0;
170
170
  }
171
- .form-detail-wrap .form-detail-content-wrap {
172
- margin-top: 7;
173
- }
174
171
 
175
172
  /* 子表单禁用样式 */
176
173
  .form-detail-wrap.disabled .form-detail-delete-button,
@@ -178,6 +175,11 @@
178
175
  cursor: not-allowed;
179
176
  color: #bbd3fb;
180
177
  }
178
+ .form-detail-wrap.disabled .form-detail-delete-button .wd-typography,
179
+ .form-detail-wrap.disabled .form-detail-add-button .wd-typography {
180
+ cursor: not-allowed;
181
+ color: #bbd3fb;
182
+ }
181
183
  .form-detail-wrap.disabled .form-detail-add-button .t-icon {
182
184
  color: #bbd3fb !important;
183
185
  }
@@ -232,3 +234,211 @@
232
234
  color: #0052d9;
233
235
  margin-bottom: 0;
234
236
  }
237
+
238
+ /* 增加表格样式 */
239
+ .form-detail-wrap.form-detail-table
240
+ .form-detail-content-wrap
241
+ .form-detail-group-header-container {
242
+ display: none;
243
+ }
244
+ .form-detail-table .weda-formcells__pc .wedatea2td-form__label {
245
+ display: none;
246
+ }
247
+ .wedatea2td-form .form-detail-table .wedatea2td-form__label {
248
+ display: none;
249
+ }
250
+ .form-detail-wrap.form-detail-table
251
+ .form-detail-content-wrap
252
+ .form-detail-group-content-container {
253
+ padding: 0;
254
+ border-bottom: 1px solid #dcdcdc;
255
+ }
256
+ .form-detail-wrap.form-detail-table
257
+ .form-detail-content-wrap
258
+ .form-detail-group-content-container:last-child {
259
+ border-bottom: none;
260
+ }
261
+ .form-detail-wrap.form-detail-table .weda-ui .wedatea2td-form__controls {
262
+ padding: 0;
263
+ }
264
+ .form-detail-wrap.form-detail-list .wd-grid-col.wd-g-align-self-auto {
265
+ width: 100%;
266
+ flex: 0 0 auto;
267
+ }
268
+ .form-detail-wrap.form-detail-list .form-detail-table-header-container {
269
+ display: none;
270
+ }
271
+
272
+ .form-detail-wrap.form-detail-list .form-detail-table-delete-btn-container {
273
+ display: none;
274
+ }
275
+
276
+ .form-detail-wrap.form-detail-list
277
+ .weda-ui.weda-input
278
+ .weui-flex__item
279
+ .weui-cell_form {
280
+ padding: 0 16px;
281
+ }
282
+ .form-detail-wrap.form-detail-list .form-detail-content-wrap {
283
+ overflow: hidden;
284
+ }
285
+ .form-detail-wrap.form-detail-list
286
+ .form-detail-content-wrap
287
+ .form-detail-group-header-container {
288
+ border-top: 1px solid #dcdcdc;
289
+ }
290
+ .form-detail-wrap.form-detail-list .form-detail-content-wrap {
291
+ border-top: none;
292
+ border-bottom: none;
293
+ }
294
+ .form-detail-wrap.form-detail-list
295
+ .form-detail-content-wrap
296
+ .form-detail-group-content-container:last-child {
297
+ border-bottom: 1px solid #dcdcdc;
298
+ }
299
+ .form-detail-wrap.form-detail-list.h5-form-detail-wrap
300
+ .form-detail-content-wrap:first-child {
301
+ border-top: none;
302
+ }
303
+ .form-detail-wrap.form-detail-list.pc-form-detail-wrap
304
+ .form-detail-content-wrap {
305
+ margin-top: 0;
306
+ }
307
+ .form-detail-wrap.form-detail-list .wd-grid-col.tableIndexContainer {
308
+ display: none;
309
+ }
310
+ .form-detail-wrap .form-detail-content-wrap .wd-grid-row {
311
+ margin: 0;
312
+ }
313
+
314
+ .form-detail-wrap.form-detail-table
315
+ .form-detail-group-parent-container
316
+ .wd-grid-col-lg {
317
+ min-width: 240px;
318
+ width: 240px;
319
+ }
320
+
321
+ .form-detail-wrap.form-detail-table
322
+ .form-detail-group-parent-container
323
+ .wd-grid-col-lg.formimageuploader,
324
+ .form-detail-wrap.form-detail-table
325
+ .form-detail-group-parent-container
326
+ .wd-grid-col-lg.formuploadfile {
327
+ min-width: 360px;
328
+ }
329
+ .form-detail-wrap.form-detail-table
330
+ .form-detail-group-parent-container
331
+ .wd-grid-col-lg.formswitch {
332
+ min-width: 120px;
333
+ width: 120px;
334
+ }
335
+ .form-detail-wrap.form-detail-table
336
+ .form-detail-group-parent-container
337
+ .wd-grid-col-lg.formrichtext {
338
+ min-width: 570px;
339
+ }
340
+ .form-detail-wrap.form-detail-table .form-detail-group-content-container {
341
+ flex-flow: nowrap;
342
+ margin: 0;
343
+ }
344
+ .form-detail-wrap.form-detail-table .wd-form-detail-content-container {
345
+ width: max-content;
346
+ max-width: 100%;
347
+ min-width: 100%;
348
+ display: block;
349
+ overflow: auto;
350
+ border-left: 1px solid #dcdcdc;
351
+ border-right: 1px solid #dcdcdc;
352
+ border-bottom: 1px solid #dcdcdc;
353
+ margin-bottom: 8px;
354
+ border-radius: 5px;
355
+ overflow-y: hidden;
356
+ }
357
+ .form-detail-wrap.form-detail-table .form-detail-content-wrap {
358
+ margin-top: 0;
359
+ border: none;
360
+ width: fit-content;
361
+ min-width: 100%;
362
+ }
363
+ .form-detail-table .form-detail-table-header-container {
364
+ background-color: #f3f3f3;
365
+ width: max-content;
366
+ min-width: 100%;
367
+ position: relative;
368
+ border-top: 1px solid #dcdcdc;
369
+ border-top-left-radius: 5px;
370
+ border-top-right-radius: 5px;
371
+ font-weight: 600;
372
+ }
373
+ .form-detail-table .wd-grid-col.form-detail-table-option-container,
374
+ .form-detail-table .wd-grid-col.form-detail-table-delete-btn-container {
375
+ flex: 1 0 0%;
376
+ width: 140px;
377
+ max-width: 140px;
378
+ position: sticky;
379
+ right: 0;
380
+ z-index: 1;
381
+ }
382
+ .form-detail-table .wd-grid-col.tableIndexContainer {
383
+ width: 60px;
384
+ max-width: 60px;
385
+ align-items: center;
386
+ display: flex;
387
+ justify-content: center;
388
+ }
389
+ .form-detail-table
390
+ .form-detail-table-header-container
391
+ .form-detail-group-content-container
392
+ .wd-grid-col {
393
+ padding: 12px;
394
+ }
395
+ .form-detail-table
396
+ .form-detail-content-wrap
397
+ .form-detail-group-content-container
398
+ .wd-grid-col {
399
+ padding: 16px 12px;
400
+ }
401
+ .form-detail-table .tableHeaderCellContainer {
402
+ display: flex;
403
+ }
404
+ .form-detail-table .tableHeaderCellContainer .tableFieldRequired {
405
+ color: #e34d59;
406
+ margin-right: 5px;
407
+ }
408
+ .form-detail-table .wd-grid-col.form-detail-table-option-container {
409
+ background-color: #f3f3f3;
410
+ z-index: 2;
411
+ }
412
+ .form-detail-table .wd-grid-col.form-detail-table-delete-btn-container {
413
+ background-color: #fff;
414
+ }
415
+ .form-detail-table.scroll
416
+ .wd-grid-col.form-detail-table-option-container::before,
417
+ .form-detail-table.scroll
418
+ .wd-grid-col.form-detail-table-delete-btn-container
419
+ ::before {
420
+ content: '';
421
+ position: absolute;
422
+ top: 0;
423
+ bottom: 0;
424
+ left: -25px;
425
+ width: 25px;
426
+ box-shadow: inset -8px 0 4px -7px rgb(0 0 0 / 10%);
427
+ }
428
+
429
+ .form-detail-wrap.form-detail-table.readOnly
430
+ .form-detail-table-delete-btn-container,
431
+ .form-detail-wrap.form-detail-table.readOnly
432
+ .form-detail-table-option-container {
433
+ display: none;
434
+ }
435
+
436
+ .form-detail-wrap.form-detail-table
437
+ .form-detail-group-parent-container
438
+ .wd-grid-col-lg.formrichtext
439
+ .bf-content {
440
+ height: 161px;
441
+ }
442
+ .form-detail-wrap .wd-grid-row > div {
443
+ margin: 0;
444
+ }
@@ -1,9 +1,16 @@
1
- import React, { useEffect, forwardRef, useImperativeHandle, useState, useCallback, } from 'react';
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, forwardRef, useImperativeHandle, useState, useCallback, useRef, } from 'react';
3
+ import { useResizeObserver } from '@react-hookz/web';
4
+ // import { WdFormItem, WdInputWrap } from '../wd-form-item';
2
5
  import classNames from '../../utils/classnames';
3
6
  import { usePlatform, randomStr, isInIde } from '../../utils/platform';
4
7
  import isObjectEqual from '../../utils/isObjectEqual';
5
8
  import './index.css';
6
- import { getParentForm } from '../../utils/widget-api';
9
+ import { useFormInputTrait, useParentForm } from '../form-input-hooks';
10
+ import { debug } from '../../utils/console';
11
+ import { noop } from '../../utils/constant';
12
+ import { WdText } from '../wd-text';
13
+ const logger = debug('form-detail');
7
14
  export const reorderContext = (data, name, isPureArray) => data.map((i, index) => {
8
15
  const item = { ...i };
9
16
  Object.keys(i).forEach((j) => {
@@ -59,13 +66,32 @@ export const changeHandle = ({ type, name, data, childFormItem, isPureArray, par
59
66
  return data;
60
67
  };
61
68
  const FormDetailCom = forwardRef(function FormDetail(props, ref) {
62
- const { className, id, style, children, events, name, value: initDetailValue, isPureArray, disabled, readOnly, fieldAuth = 'rw', $node, hasInitValue = false, } = props;
63
- const [defaultValue, setDetailValue] = useState([]);
69
+ const { className, id, style, children, events, name, isPureArray, fieldAuth = 'rw', $widget, hasInitValue = false, isWdFormDetail, viewType = 'table', label, } = props;
70
+ const [innerHandle, setInnerHandle] = useState({});
71
+ const inputRef = useRef({});
72
+ const { value: initDetailValue, readOnly, disabled, } = useFormInputTrait({
73
+ value: props.value,
74
+ name,
75
+ // @ts-expect-error inputRef 没用
76
+ inputRef,
77
+ readOnly: props.readOnly,
78
+ disabled: props.disabled,
79
+ required: false,
80
+ requiredMsg: '',
81
+ $widget,
82
+ setInnerHandle,
83
+ onChange: noop,
84
+ });
85
+ const tableRef = useRef(null);
86
+ const [isTableView, setIsTableView] = useState(false);
87
+ const [detailValue, setDetailValue] = useState([]);
64
88
  const [contextData, setContextData] = useState([]);
65
- const [childFormItem, setCildFormItem] = useState([]);
89
+ const [childFormItem, setChildFormItem] = useState([]);
90
+ const [isInit, setIsInit] = useState(false);
91
+ const [hasScroll, setHasScroll] = useState(false);
66
92
  const platform = usePlatform();
67
- const parent = getParentForm($node);
68
- const init = useCallback((defaultValue, childFormItem) => {
93
+ const parent = useParentForm($widget);
94
+ const init = useCallback((defaultValue, childFormItem, isWdFormDetail = false) => {
69
95
  var _a;
70
96
  const formDetailItemValue = {};
71
97
  let initialValues = [];
@@ -96,22 +122,73 @@ const FormDetailCom = forwardRef(function FormDetail(props, ref) {
96
122
  console.error(error);
97
123
  }
98
124
  const mock = newContextItem(childFormItem, name, isPureArray);
99
- const data = (initialValues === null || initialValues === void 0 ? void 0 : initialValues.length) ? initialValues : [mock];
125
+ let data = (initialValues === null || initialValues === void 0 ? void 0 : initialValues.length) ? initialValues : [mock];
126
+ // 新的明细组件,开放初始值,根据初始值设置上下文
127
+ if (isWdFormDetail) {
128
+ data = initialValues;
129
+ }
130
+ setIsInit(true);
100
131
  setContextData(data);
101
132
  (_a = events === null || events === void 0 ? void 0 : events.onDataChange) === null || _a === void 0 ? void 0 : _a.call(events, {
102
133
  data,
103
134
  });
135
+ return formDetailItemValue;
104
136
  }, [isPureArray, name]);
137
+ const addShadow = useCallback(() => {
138
+ var _a, _b;
139
+ // table body 滚动区域
140
+ const tableBodyBoxDom = (_b = (_a = tableRef.current) === null || _a === void 0 ? void 0 : _a.getElementsByClassName('wd-form-detail-content-container')) === null || _b === void 0 ? void 0 : _b[0];
141
+ if (tableBodyBoxDom) {
142
+ const bodyHasScroll = (tableBodyBoxDom === null || tableBodyBoxDom === void 0 ? void 0 : tableBodyBoxDom.scrollWidth) > (tableBodyBoxDom === null || tableBodyBoxDom === void 0 ? void 0 : tableBodyBoxDom.clientWidth);
143
+ // 如果table body存在滚动条,则设置header的box shadow
144
+ setHasScroll(bodyHasScroll);
145
+ }
146
+ }, []);
105
147
  // 初始化context的值
106
148
  useEffect(() => {
107
- if (!isObjectEqual(initDetailValue, defaultValue) &&
149
+ logger.debug('initDetailValue', initDetailValue);
150
+ if (!isObjectEqual(initDetailValue, detailValue) &&
108
151
  childFormItem.length > 0) {
109
152
  setDetailValue(initDetailValue);
110
- init(initDetailValue, childFormItem);
153
+ init(initDetailValue, childFormItem, isWdFormDetail);
111
154
  }
155
+ return () => {
156
+ setDetailValue([]);
157
+ };
112
158
  // 只有initDetailValue的值改变的时候才执行
113
159
  // eslint-disable-next-line react-hooks/exhaustive-deps
114
160
  }, [initDetailValue]);
161
+ useEffect(() => {
162
+ // 给明细组件的子表单元素赋初始值
163
+ if (isInit && isWdFormDetail && (initDetailValue === null || initDetailValue === void 0 ? void 0 : initDetailValue.length) && parent) {
164
+ const formDetailItemValue = {};
165
+ initDetailValue.forEach((i, index) => {
166
+ if (isPureArray) {
167
+ // eslint-disable-next-line no-prototype-builtins
168
+ const val = (i === null || i === void 0 ? void 0 : i.hasOwnProperty('arrayItem')) ? null : i;
169
+ formDetailItemValue[`${name}[${index}]`] = val;
170
+ }
171
+ else {
172
+ childFormItem.forEach((j) => {
173
+ const key = `${name}[${index}].${j}`;
174
+ const val = i[j] || null;
175
+ formDetailItemValue[key] = val;
176
+ });
177
+ }
178
+ });
179
+ parent === null || parent === void 0 ? void 0 : parent.setValue(formDetailItemValue);
180
+ setIsInit(false);
181
+ }
182
+ }, [
183
+ childFormItem,
184
+ contextData,
185
+ initDetailValue,
186
+ isInit,
187
+ isPureArray,
188
+ isWdFormDetail,
189
+ name,
190
+ parent,
191
+ ]);
115
192
  useEffect(() => {
116
193
  var _a;
117
194
  let childFormItem = initDetailValue[0]
@@ -121,10 +198,10 @@ const FormDetailCom = forwardRef(function FormDetail(props, ref) {
121
198
  if (isPureArray) {
122
199
  childFormItem = ['arrayItem'];
123
200
  }
124
- setCildFormItem(childFormItem);
125
- // 只有在编辑器里,或存在初始值的时候,才初始化明细单项
126
- if (isInIde() || hasInitValue) {
127
- init(initDetailValue, childFormItem);
201
+ setChildFormItem(childFormItem);
202
+ // 只有在编辑器里,或存在初始值的时候,或新明细组件(wdFormDetail),才初始化明细单项
203
+ if (isInIde() || hasInitValue || isWdFormDetail) {
204
+ init(initDetailValue, childFormItem, isWdFormDetail);
128
205
  }
129
206
  else {
130
207
  (_a = events === null || events === void 0 ? void 0 : events.onDataChange) === null || _a === void 0 ? void 0 : _a.call(events, { data: [] });
@@ -155,21 +232,41 @@ const FormDetailCom = forwardRef(function FormDetail(props, ref) {
155
232
  params,
156
233
  });
157
234
  if (!isObjectEqual(data, contextData)) {
235
+ setIsInit(false);
158
236
  setContextData(data);
159
237
  (_a = events === null || events === void 0 ? void 0 : events.onDataChange) === null || _a === void 0 ? void 0 : _a.call(events, { data });
160
238
  }
161
239
  }, [
162
- childFormItem,
163
- contextData,
164
- events,
165
- isPureArray,
166
- name,
167
240
  disabled,
168
241
  readOnly,
169
242
  fieldAuth,
243
+ parent === null || parent === void 0 ? void 0 : parent.formType,
244
+ contextData,
245
+ name,
246
+ childFormItem,
247
+ isPureArray,
248
+ events,
170
249
  ]);
250
+ useEffect(() => {
251
+ if (viewType === 'table' && platform !== 'h5') {
252
+ setIsTableView(true);
253
+ }
254
+ else {
255
+ setIsTableView(false);
256
+ }
257
+ }, [viewType, platform]);
258
+ useResizeObserver(tableRef, () => {
259
+ // table body 滚动区域
260
+ addShadow();
261
+ });
171
262
  useImperativeHandle(ref, () => {
172
263
  return {
264
+ ...innerHandle,
265
+ getConfig() {
266
+ return {
267
+ componentType: 'formdetail',
268
+ };
269
+ },
173
270
  methods: {
174
271
  addition: () => {
175
272
  onChange('add', null);
@@ -181,19 +278,48 @@ const FormDetailCom = forwardRef(function FormDetail(props, ref) {
181
278
  onChange('change', params);
182
279
  },
183
280
  },
281
+ isTableView,
184
282
  };
185
- }, [onChange]);
283
+ }, [innerHandle, onChange, isTableView]);
284
+ // useEffect(() => {
285
+ // const initArr = lodashGet(parent, 'initialValues.name', null);
286
+ // logger.debug('initialValue', initArr, name);
287
+ // if (initArr) {
288
+ // setInitDetailValue(initArr);
289
+ // }
290
+ // }, [name, parent, setInitDetailValue]);
291
+ // useEffect(() => {
292
+ // const removeFormItem = parent?.addFormItem?.(name, $widget);
293
+ // logger.debug('addFormItem', name);
294
+ // return () => {
295
+ // removeFormItem?.();
296
+ // };
297
+ // }, [$widget, name, parent]);
186
298
  // fieldAuth返回n,则为无权限
187
299
  const isAuthVisible = fieldAuth !== 'n';
188
- return isAuthVisible ? (React.createElement("fieldset", { disabled: disabled || readOnly || (parent === null || parent === void 0 ? void 0 : parent.formType) === 'read', className: classNames({
189
- 'weda-ui': true,
190
- 'gsd-h5-react-formitem': true,
191
- 'form-detail-wrap': true,
192
- 'pc-form-detail-wrap': platform === 'pc',
193
- 'h5-form-detail-wrap': platform === 'h5',
194
- [className]: className,
195
- disabled: disabled || !(fieldAuth === null || fieldAuth === void 0 ? void 0 : fieldAuth.includes('w')),
196
- readOnly: readOnly || (parent === null || parent === void 0 ? void 0 : parent.formType) === 'read',
197
- }), id: id, style: style, role: "container", "data-testid": "formDetail" }, children)) : null;
300
+ const formDetailRender = () => {
301
+ return isAuthVisible ? (_jsxs("fieldset", { ref: tableRef, disabled: disabled || readOnly || (parent === null || parent === void 0 ? void 0 : parent.formType) === 'read', className: classNames({
302
+ 'weda-ui': true,
303
+ 'gsd-h5-react-formitem': true,
304
+ 'form-detail-wrap': true,
305
+ 'pc-form-detail-wrap': platform === 'pc',
306
+ 'h5-form-detail-wrap': platform === 'h5',
307
+ [className]: className,
308
+ disabled: disabled || !(fieldAuth === null || fieldAuth === void 0 ? void 0 : fieldAuth.includes('w')),
309
+ readOnly: readOnly || (parent === null || parent === void 0 ? void 0 : parent.formType) === 'read',
310
+ 'form-detail-list': !isTableView,
311
+ 'form-detail-table': isWdFormDetail && platform === 'pc' && viewType === 'table',
312
+ scroll: hasScroll,
313
+ }), id: id, style: style, role: "container", "data-testid": "formDetail", children: [isWdFormDetail && (_jsx("div", { className: "form-detail-group-label-container", children: _jsx(WdText, { text: label, contenteditable: null }) })), _jsx(_Fragment, { children: children })] })) : null;
314
+ };
315
+ // 组件规范化后再考虑是否改动
316
+ // return isWdFormDetail ? (
317
+ // <WdFormItem {...props}>
318
+ // <WdInputWrap {...props}>{formDetailRender()}</WdInputWrap>
319
+ // </WdFormItem>
320
+ // ) : (
321
+ // formDetailRender()
322
+ // );
323
+ return formDetailRender();
198
324
  });
199
325
  export default FormDetailCom;
@@ -1,3 +1,4 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
2
  import React, { useEffect, useMemo } from 'react';
2
3
  import './index.css';
3
4
  import classNames from '../../utils/classnames';
@@ -151,29 +152,16 @@ export default function GraphicCard({ navOption = emptyArray, ColMobile, ColPC,
151
152
  return null;
152
153
  }
153
154
  };
154
- return (React.createElement(ConfigProvider, { classPrefix: "wedatea2td" },
155
- React.createElement("div", { className: cls, "data-testid": "graphicCard", style: style },
156
- React.createElement("div", { className: `${CLASS_PREFIX}__wrapper` }, cardList.map((row, rowIndex) => {
157
- return (React.createElement(Row, { className: `${CLASS_PREFIX}__row`, key: rowIndex },
158
- React.createElement(React.Fragment, null, row &&
159
- row.map((col, colIndex) => {
160
- return (
161
- // 每列内容左右间距为0.1栅格列宽
162
- React.createElement(Col, { style: {
163
- width: `${(1 / colCount) * 100}%`,
164
- padding: `0 ${singleGrid * 0.1}px`,
165
- cursor: (col === null || col === void 0 ? void 0 : col.tapStatus) != 'tap' ? 'pointer' : 'auto',
166
- }, className: `${CLASS_PREFIX}__col ${CLASS_PREFIX}__col--${textAlign}`, key: colIndex },
167
- React.createElement("div", { className: "wedatea2td-grid__box", "data-testid": `${colIndex}_click`, onClick: () => tapTo(col) },
168
- React.createElement("div", { className: `${CLASS_PREFIX}__col-body` },
169
- col && (React.createElement("div", { className: `${CLASS_PREFIX}__icon`, style: imageStyle },
170
- React.createElement(Image, { mode: 'scaleToFill', lazyLoad: false, maskClosable: false, imgPreview: false, fit: 'cover', alt: '', src: col === null || col === void 0 ? void 0 : col.icon, className: `${CLASS_PREFIX}__img` }))),
171
- React.createElement("div", { className: `${CLASS_PREFIX}__detail` },
172
- titleVisible && (col === null || col === void 0 ? void 0 : col.title) && (React.createElement("div", { className: `${CLASS_PREFIX}__title`, style: titleStyle, title: tips ? col === null || col === void 0 ? void 0 : col.title : '' }, col === null || col === void 0 ? void 0 : col.title)),
173
- desVisible && (col === null || col === void 0 ? void 0 : col.des) && (React.createElement("div", { className: `${CLASS_PREFIX}__desc`, style: desStyle, title: tips ? col === null || col === void 0 ? void 0 : col.des : '' }, col === null || col === void 0 ? void 0 : col.des)))),
174
- buttonVisible && col && (React.createElement(Button, { type: "link", className: `${CLASS_PREFIX}__btn` },
175
- React.createElement(Text, { className: `${CLASS_PREFIX}__btn--text` }, buttonText),
176
- React.createElement(IconFont, { name: "arrow-right", className: `${CLASS_PREFIX}__btn-icon` }))))));
177
- }))));
178
- })))));
155
+ return (_jsx(ConfigProvider, { classPrefix: "wedatea2td", children: _jsx("div", { className: cls, "data-testid": "graphicCard", style: style, children: _jsx("div", { className: `${CLASS_PREFIX}__wrapper`, children: cardList.map((row, rowIndex) => {
156
+ return (_jsx(Row, { className: `${CLASS_PREFIX}__row`, children: _jsx(_Fragment, { children: row &&
157
+ row.map((col, colIndex) => {
158
+ return (
159
+ // 每列内容左右间距为0.1栅格列宽
160
+ _jsx(Col, { style: {
161
+ width: `${(1 / colCount) * 100}%`,
162
+ padding: `0 ${singleGrid * 0.1}px`,
163
+ cursor: (col === null || col === void 0 ? void 0 : col.tapStatus) != 'tap' ? 'pointer' : 'auto',
164
+ }, className: `${CLASS_PREFIX}__col ${CLASS_PREFIX}__col--${textAlign}`, children: _jsxs("div", { className: "wedatea2td-grid__box", "data-testid": `${colIndex}_click`, onClick: () => tapTo(col), children: [_jsxs("div", { className: `${CLASS_PREFIX}__col-body`, children: [col && (_jsx("div", { className: `${CLASS_PREFIX}__icon`, style: imageStyle, children: _jsx(Image, { mode: 'scaleToFill', lazyLoad: false, maskClosable: false, imgPreview: false, fit: 'cover', alt: '', src: col === null || col === void 0 ? void 0 : col.icon, className: `${CLASS_PREFIX}__img` }) })), _jsxs("div", { className: `${CLASS_PREFIX}__detail`, children: [titleVisible && (col === null || col === void 0 ? void 0 : col.title) && (_jsx("div", { className: `${CLASS_PREFIX}__title`, style: titleStyle, title: tips ? col === null || col === void 0 ? void 0 : col.title : '', children: col === null || col === void 0 ? void 0 : col.title })), desVisible && (col === null || col === void 0 ? void 0 : col.des) && (_jsx("div", { className: `${CLASS_PREFIX}__desc`, style: desStyle, title: tips ? col === null || col === void 0 ? void 0 : col.des : '', children: col === null || col === void 0 ? void 0 : col.des }))] })] }), buttonVisible && col && (_jsxs(Button, { type: "link", className: `${CLASS_PREFIX}__btn`, children: [_jsx(Text, { className: `${CLASS_PREFIX}__btn--text`, children: buttonText }), _jsx(IconFont, { name: "arrow-right", className: `${CLASS_PREFIX}__btn-icon` })] }))] }) }, colIndex));
165
+ }) }) }, rowIndex));
166
+ }) }) }) }));
179
167
  }