@cloudbase/weda-ui 3.4.3 → 3.4.5

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 (277) hide show
  1. package/dist/configs/components/chart/bar.json +117 -8
  2. package/dist/configs/components/chart/line.js +127 -18
  3. package/dist/configs/components/chart/pie.json +117 -8
  4. package/dist/configs/components/chart/statisticsCard.json +57 -0
  5. package/dist/configs/components/dataView.js +507 -0
  6. package/dist/configs/components/form/location.json +2 -1
  7. package/dist/configs/components/form/userTreeSelect.json +55 -0
  8. package/dist/configs/components/formdetail.json +12 -2
  9. package/dist/configs/components/graphicCard.json +1 -1
  10. package/dist/configs/components/grid/col.js +125 -0
  11. package/dist/configs/components/grid/grid.js +131 -0
  12. package/dist/configs/components/grid/row.js +143 -0
  13. package/dist/configs/components/image.js +11 -1
  14. package/dist/configs/components/link.js +11 -1
  15. package/dist/configs/components/listView.js +1092 -0
  16. package/dist/configs/components/navLayout.json +1 -1
  17. package/dist/configs/components/navigationBar.json +9 -1
  18. package/dist/configs/components/repeater-item.json +17 -0
  19. package/dist/configs/components/repeater.js +125 -0
  20. package/dist/configs/components/table.json +187 -29
  21. package/dist/configs/components/text.js +12 -1
  22. package/dist/configs/components/wd-bubble.js +204 -0
  23. package/dist/configs/components/wd-button.js +417 -0
  24. package/dist/configs/components/wd-divider.js +89 -0
  25. package/dist/configs/components/wd-icon.js +126 -0
  26. package/dist/configs/components/wd-image.js +164 -0
  27. package/dist/configs/components/wd-link.js +234 -0
  28. package/dist/configs/components/wd-table.js +59 -0
  29. package/dist/configs/components/wd-text.js +142 -0
  30. package/dist/configs/components/wxOpenApi/phone.js +2 -2
  31. package/dist/configs/components/wxOpenApi/phoneCode.js +2 -2
  32. package/dist/configs/index.js +34 -3
  33. package/dist/configs/type-utils/index.js +4 -1
  34. package/dist/docs/common/componentList.js +144 -0
  35. package/dist/docs/common/components/classes-view.js +34 -0
  36. package/dist/docs/common/components/event-view.js +46 -0
  37. package/dist/docs/common/components/json-schema-view.js +18 -0
  38. package/dist/docs/common/components/methods-view.js +32 -0
  39. package/dist/docs/common/components/properties-view.js +45 -0
  40. package/dist/docs/common/format.js +60 -35
  41. package/dist/docs/common/helper.js +1 -0
  42. package/dist/docs/common/tableView.js +61 -50
  43. package/dist/enum/index.js +521 -0
  44. package/dist/index.js +1 -1
  45. package/dist/style/index.scss +1 -0
  46. package/dist/web/actions/showMessage/index.css +0 -3
  47. package/dist/web/actions/showMessage/index.js +1 -1
  48. package/dist/web/actions/showModal/index.css +0 -3
  49. package/dist/web/components/button/index.css +2 -5
  50. package/dist/web/components/button/index.js +3 -3
  51. package/dist/web/components/calendar/index.css +29 -32
  52. package/dist/web/components/calendar/index.js +37 -35
  53. package/dist/web/components/carousel/index.css +11 -14
  54. package/dist/web/components/carousel/index.js +3 -1
  55. package/dist/web/components/chart/common/core/eChartBar.js +10 -2
  56. package/dist/web/components/chart/common/core/eChartLine.js +16 -8
  57. package/dist/web/components/chart/common/core/eChartPie.js +2 -1
  58. package/dist/web/components/chart/common/data-transform.js +1 -1
  59. package/dist/web/components/chart/statisticsCard/index.css +12 -15
  60. package/dist/web/components/chart/statisticsCard/index.js +7 -2
  61. package/dist/web/components/dataView/index.js +3 -3
  62. package/dist/web/components/emptyContent/index.css +26 -0
  63. package/dist/web/components/emptyContent/index.js +46 -0
  64. package/dist/web/components/flow/components/FlowModuleText/index.css +1 -4
  65. package/dist/web/components/flow/components/FlowUserSelect/index.css +29 -32
  66. package/dist/web/components/flow/components/HighlightTextarea/index.css +5 -8
  67. package/dist/web/components/flow/components/UserSelectModel/UserSelect.js +9 -8
  68. package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.css +1 -4
  69. package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.js +3 -4
  70. package/dist/web/components/flow/components/WedaUserTransfer/index.css +0 -3
  71. package/dist/web/components/flow/frame/getCommonFlowData.js +3 -1
  72. package/dist/web/components/flow/frame/index.js +18 -1
  73. package/dist/web/components/flow/frame/types.js +6 -0
  74. package/dist/web/components/flow/frame/utils.js +20 -11
  75. package/dist/web/components/flow/modules/basic/Basic.css +3 -6
  76. package/dist/web/components/flow/modules/basic/BasicMobile.css +9 -12
  77. package/dist/web/components/flow/modules/chart/Chart.js +2 -2
  78. package/dist/web/components/flow/modules/chart/index.css +23 -29
  79. package/dist/web/components/flow/modules/chart/isString.js +5 -0
  80. package/dist/web/components/flow/modules/control/ApprovalDrawer.css +44 -47
  81. package/dist/web/components/flow/modules/control/ApprovalPopup.css +34 -37
  82. package/dist/web/components/flow/modules/control/ApprovalPopup.js +12 -9
  83. package/dist/web/components/flow/modules/control/Control.css +7 -10
  84. package/dist/web/components/flow/modules/control/Control.js +31 -16
  85. package/dist/web/components/flow/modules/control/ControlMobile.css +41 -12
  86. package/dist/web/components/flow/modules/control/ControlMobile.js +28 -13
  87. package/dist/web/components/flow/modules/control/FlowTaskInfoModal.css +0 -3
  88. package/dist/web/components/flow/modules/control/FlowTaskInfoModal.js +4 -4
  89. package/dist/web/components/flow/modules/control/provider/useControlModel.js +20 -11
  90. package/dist/web/components/flow/modules/control/provider/useMobileModel.js +0 -2
  91. package/dist/web/components/flow/modules/control/provider/useRevokeAndBackHook.js +2 -0
  92. package/dist/web/components/flow/modules/control/utils/index.js +1 -0
  93. package/dist/web/components/flow/modules/control/utils/tools.js +3 -0
  94. package/dist/web/components/flow/modules/layout/index.css +0 -3
  95. package/dist/web/components/flow/modules/process/Process.js +1 -1
  96. package/dist/web/components/flow/modules/process/ProcessMobile.js +1 -1
  97. package/dist/web/components/flow/modules/process/index.css +49 -43
  98. package/dist/web/components/form/form/index.css +2 -5
  99. package/dist/web/components/form/form/index.js +48 -4
  100. package/dist/web/components/form/formcell/index.css +29 -17
  101. package/dist/web/components/form/input/index.css +5 -8
  102. package/dist/web/components/form/input/index.js +11 -0
  103. package/dist/web/components/form/location/common/mapChoose.css +88 -91
  104. package/dist/web/components/form/location/common/selectModal.css +10 -13
  105. package/dist/web/components/form/location/components/LocationH5/index.css +17 -20
  106. package/dist/web/components/form/location/components/LocationH5/location.h5.js +2 -3
  107. package/dist/web/components/form/location/components/LocationH5/location.module.css +0 -3
  108. package/dist/web/components/form/location/components/LocationPC/index.css +10 -13
  109. package/dist/web/components/form/location/components/LocationPC/location.PC.js +2 -3
  110. package/dist/web/components/form/location/index.css +0 -3
  111. package/dist/web/components/form/radio/index.css +0 -3
  112. package/dist/web/components/form/select/allTimePicker/calendar.css +15 -18
  113. package/dist/web/components/form/select/allTimePicker/index.css +53 -27
  114. package/dist/web/components/form/select/dropdown-select/h5.js +23 -12
  115. package/dist/web/components/form/select/dropdown-select/index.css +34 -27
  116. package/dist/web/components/form/select/dropdown-select/index.js +37 -4
  117. package/dist/web/components/form/select/dropdown-select/pc.js +57 -17
  118. package/dist/web/components/form/select/dropdown-select/ui.js +5 -2
  119. package/dist/web/components/form/select/index.css +12 -8
  120. package/dist/web/components/form/select/index.js +4 -9
  121. package/dist/web/components/form/select/status/index.css +10 -13
  122. package/dist/web/components/form/switch/switch.module.css +0 -3
  123. package/dist/web/components/form/textarea/index.css +1 -4
  124. package/dist/web/components/form/textarea/index.js +1 -1
  125. package/dist/web/components/form/tips/index.css +11 -2
  126. package/dist/web/components/form/uploader/index.css +14 -17
  127. package/dist/web/components/form/uploaderFile/index.css +64 -66
  128. package/dist/web/components/form/uploaderFile/uploadFile.h5.js +10 -11
  129. package/dist/web/components/form/uploaderFile/uploadFile.pc.js +3 -2
  130. package/dist/web/components/form/userOrgSelect/common/fetch-data-service.js +120 -38
  131. package/dist/web/components/form/userOrgSelect/common/utils.js +89 -1
  132. package/dist/web/components/form/userOrgSelect/component/depart-breadcrumb.js +15 -0
  133. package/dist/web/components/form/userOrgSelect/component/depart-select/depart-select-pc.js +63 -0
  134. package/dist/web/components/form/userOrgSelect/component/depart-select/index.js +96 -0
  135. package/dist/web/components/form/userOrgSelect/component/depart-select/org-modal-pc.js +69 -0
  136. package/dist/web/components/form/userOrgSelect/{user-select-pc → component}/error-tips.js +0 -0
  137. package/dist/web/components/form/userOrgSelect/component/index.css +323 -0
  138. package/dist/web/components/form/userOrgSelect/component/input-tags.js +21 -0
  139. package/dist/web/components/form/userOrgSelect/component/modal-search-h5.js +25 -0
  140. package/dist/web/components/form/userOrgSelect/component/modal-search.js +11 -0
  141. package/dist/web/components/form/userOrgSelect/component/modal-select-h5.js +201 -0
  142. package/dist/web/components/form/userOrgSelect/component/org-tree-h5.js +19 -0
  143. package/dist/web/components/form/userOrgSelect/component/org-tree.js +33 -0
  144. package/dist/web/components/form/userOrgSelect/component/selected-list-h5.js +44 -0
  145. package/dist/web/components/form/userOrgSelect/component/selected-list.js +15 -0
  146. package/dist/web/components/form/userOrgSelect/component/user-org-list.js +55 -0
  147. package/dist/web/components/form/userOrgSelect/component/user-select-h5/index.js +168 -0
  148. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-list-h5.js +107 -0
  149. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-select-h5.js +59 -0
  150. package/dist/web/components/form/userOrgSelect/component/user-select-pc/error-tips.js +11 -0
  151. package/dist/web/components/form/userOrgSelect/{user-select-pc → component/user-select-pc}/model-user-list.js +9 -9
  152. package/dist/web/components/form/userOrgSelect/component/user-select-pc/org-tree.js +10 -0
  153. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-model.js +75 -0
  154. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-select-pc.js +65 -0
  155. package/dist/web/components/form/userOrgSelect/component/userOrgSelect.css +1160 -0
  156. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.js +54 -87
  157. package/dist/web/components/form/userOrgSelect/hooks/use-depart-data.js +30 -35
  158. package/dist/web/components/form/userOrgSelect/hooks/use-views-data.js +48 -0
  159. package/dist/web/components/formdetail/index.css +34 -31
  160. package/dist/web/components/formdetail/index.js +12 -3
  161. package/dist/web/components/graphicCard/index.css +15 -18
  162. package/dist/web/components/grid/_utils.css +67 -0
  163. package/dist/web/components/grid/col.js +33 -0
  164. package/dist/web/components/grid/grid.css +1185 -0
  165. package/dist/web/components/grid/grid.js +19 -0
  166. package/dist/web/components/grid/row.js +14 -0
  167. package/dist/web/components/image/image.js +9 -1
  168. package/dist/web/components/image/index.css +2 -5
  169. package/dist/web/components/index.js +17 -3
  170. package/dist/web/components/link/index.css +0 -3
  171. package/dist/web/components/listView/index.css +21 -23
  172. package/dist/web/components/listView/index.js +215 -81
  173. package/dist/web/components/lottery/index.css +72 -75
  174. package/dist/web/components/modal/h5.css +19 -21
  175. package/dist/web/components/modal/modal.h5.js +11 -10
  176. package/dist/web/components/navLayout/index.css +14 -139
  177. package/dist/web/components/navigationBar/common.js +5 -4
  178. package/dist/web/components/navigationBar/h5Menu.js +12 -10
  179. package/dist/web/components/navigationBar/horizontalMenu.js +42 -35
  180. package/dist/web/components/navigationBar/index.css +130 -86
  181. package/dist/web/components/navigationBar/index.js +6 -4
  182. package/dist/web/components/navigationBar/verticalMenu.js +13 -9
  183. package/dist/web/components/pageLayout/PageContent/index.css +7 -10
  184. package/dist/web/components/pageLayout/index.css +0 -3
  185. package/dist/web/components/pageLayout/index.js +2 -1
  186. package/dist/web/components/repeater/index.js +17 -0
  187. package/dist/web/components/repeater-item/index.js +9 -0
  188. package/dist/web/components/richText/index.css +5 -8
  189. package/dist/web/components/richText/index.js +4 -2
  190. package/dist/web/components/richText/richtext.module.css +1 -4
  191. package/dist/web/components/richTextView/index.css +9 -10
  192. package/dist/web/components/swiper/index.css +10 -13
  193. package/dist/web/components/swiper/index.js +25 -5
  194. package/dist/web/components/table/BaseTable.js +355 -286
  195. package/dist/web/components/table/ExportFileModalByApi/index.css +9 -0
  196. package/dist/web/components/table/ExportFileModalByApi/index.js +150 -0
  197. package/dist/web/components/table/FieldRender.js +25 -18
  198. package/dist/web/components/table/FilterFields.js +17 -11
  199. package/dist/web/components/table/Form/Location.css +2 -5
  200. package/dist/web/components/table/ImportFileModal/csvTemplate.json +65 -6
  201. package/dist/web/components/table/ImportFileModalByApi/index.css +130 -0
  202. package/dist/web/components/table/ImportFileModalByApi/index.js +321 -0
  203. package/dist/web/components/table/ImportFileModalByApi/uploadCSVFile.js +115 -0
  204. package/dist/web/components/table/InOrOutRecordModeal.js +139 -0
  205. package/dist/web/components/table/SelectableBlock/index.css +0 -2
  206. package/dist/web/components/table/UserDepartment/viewCell.css +3 -6
  207. package/dist/web/components/table/baseTable.css +579 -0
  208. package/dist/web/components/table/hooks/useImportingStatus.js +69 -0
  209. package/dist/web/components/table/hooks/useInOutFieldsRecords.js +23 -0
  210. package/dist/web/components/table/index.css +275 -508
  211. package/dist/web/components/table/index.js +6 -4
  212. package/dist/web/components/tabs/index.css +19 -18
  213. package/dist/web/components/tabs/tabs.h5.js +7 -16
  214. package/dist/web/components/text/index.css +6 -9
  215. package/dist/web/components/uploaderFileView/index.css +0 -3
  216. package/dist/web/components/uploaderView/index.css +5 -8
  217. package/dist/web/components/wd-bubble/index.js +3 -17
  218. package/dist/web/components/wd-bubble/wd-bubble.js +17 -0
  219. package/dist/web/components/wd-button/convert-legacy-props.js +14 -0
  220. package/dist/web/components/wd-button/index.js +3 -0
  221. package/dist/web/components/wd-button/wd-button.js +89 -0
  222. package/dist/web/components/wd-config-provider/index.js +1 -0
  223. package/dist/web/components/wd-config-provider/wd-config-context.js +5 -0
  224. package/dist/web/components/wd-config-provider/wd-config-provider.js +12 -0
  225. package/dist/web/components/wd-divider/index.js +3 -0
  226. package/dist/web/components/wd-divider/wd-divider.js +29 -0
  227. package/dist/web/components/wd-icon/convert-legacy-props.js +14 -0
  228. package/dist/web/components/wd-icon/index.js +3 -0
  229. package/dist/web/components/wd-icon/wd-icon.js +63 -0
  230. package/dist/web/components/wd-image/image.js +171 -0
  231. package/dist/web/components/wd-image/index.js +82 -0
  232. package/dist/web/components/wd-link/index.js +3 -0
  233. package/dist/web/components/wd-link/wd-link.js +105 -0
  234. package/dist/web/components/wd-table/index.js +3 -0
  235. package/dist/web/components/wd-table/wd-table.js +24 -0
  236. package/dist/web/components/wd-text/convert-legacy-props.js +14 -0
  237. package/dist/web/components/wd-text/index.js +3 -0
  238. package/dist/web/components/wd-text/wd-text.js +91 -0
  239. package/dist/web/components/wedaVideo/index.css +2 -5
  240. package/dist/web/components/wedaVideo/index.js +8 -6
  241. package/dist/web/index.js +1 -1
  242. package/dist/web/utils/config-context/index.js +1 -0
  243. package/dist/web/utils/config-context/use-config.js +9 -0
  244. package/dist/web/utils/constant.js +1 -0
  245. package/dist/web/utils/datasource.js +19 -7
  246. package/dist/web/utils/file.js +22 -0
  247. package/dist/web/utils/hooks/CreatePortal.js +6 -0
  248. package/dist/web/utils/hooks/EnumHoc.js +23 -3
  249. package/dist/web/utils/hooks/context.js +5 -1
  250. package/dist/web/utils/hooks/use-cloud-id-temp-url.js +2 -1
  251. package/dist/web/utils/platform.js +40 -12
  252. package/dist/web/utils/pollingInterface.js +61 -0
  253. package/dist/web/utils/tcb.js +16 -0
  254. package/dist/web/utils/tool.js +88 -0
  255. package/dist/web/utils/widget-api/index.js +18 -0
  256. package/dist/web/weda-ui.css +128 -4
  257. package/package.json +51 -33
  258. package/dist/configs/components/dataView.json +0 -305
  259. package/dist/configs/components/listView.json +0 -515
  260. package/dist/configs/components/wd-bubble.json +0 -170
  261. package/dist/web/components/form/userOrgSelect/comTool.js +0 -102
  262. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.pc.js +0 -155
  263. package/dist/web/components/form/userOrgSelect/departTreeSelect/index.js +0 -17
  264. package/dist/web/components/form/userOrgSelect/getUserService.js +0 -165
  265. package/dist/web/components/form/userOrgSelect/index.js +0 -17
  266. package/dist/web/components/form/userOrgSelect/user-select-pc/index.css +0 -216
  267. package/dist/web/components/form/userOrgSelect/user-select-pc/index.js +0 -195
  268. package/dist/web/components/form/userOrgSelect/user-select-pc/org-tree.js +0 -15
  269. package/dist/web/components/form/userOrgSelect/user-select-pc/search-user.js +0 -80
  270. package/dist/web/components/form/userOrgSelect/user-select-pc/selected-user-list.js +0 -12
  271. package/dist/web/components/form/userOrgSelect/user-select-pc/user-model.js +0 -36
  272. package/dist/web/components/form/userOrgSelect/userOrgSelect.css +0 -824
  273. package/dist/web/components/form/userOrgSelect/userTreeSelect.h5.js +0 -302
  274. package/dist/web/components/form/userOrgSelect/utils.js +0 -95
  275. package/dist/web/components/table/ImportFileModal/index.css +0 -263
  276. package/dist/web/components/wd-bubble/index.css +0 -21
  277. package/dist/web/utils/hooks/useRequest.js +0 -25
@@ -0,0 +1,1092 @@
1
+ const rawTemplate = `
2
+
3
+ {{#with (helper_getFields _datasourceName _methodName (helper_utils '?:' (helper_utils '===' _datasourceName 'sys_user') true false)) as |_fields|}}
4
+ {{#with (helper_utils 'filter' _fields (helper_utils 'concat' 'type' 'string')) as |_stringFields|}}
5
+ {{#with (helper_utils 'uuid') as |repeater_suffix|}}
6
+
7
+ {{#if (helper_utils '===' $self.attributes.template 'simpleList')}}
8
+
9
+ [[template]]
10
+ component = 'Repeater'
11
+ [template.attributes]
12
+ ':data' = '$context.{{$self.id}}.data'
13
+ suffix = '{{repeater_suffix}}'
14
+ forItem = 'item_{{repeater_suffix}}'
15
+ forIndex = 'index_{{repeater_suffix}}'
16
+ key = '_id'
17
+
18
+ [[template.items]]
19
+ component = 'Container'
20
+ [template.items.extra.commonStyle]
21
+ boxSizing='border-box'
22
+ borderBottom='1px dashed #acacac'
23
+ display='flex'
24
+ [template.items.extra.commonStyle.flexConfig]
25
+ alignItems='center'
26
+ [template.items.extra.commonStyle.padding]
27
+ bottom='14PX'
28
+ left= '19PX'
29
+ right='18PX'
30
+ top='15PX'
31
+ [template.items.extra.commonStyle.position]
32
+ position='relative'
33
+ [template.items.extra.commonStyle.size]
34
+ width='100%'
35
+ [template.items.extra.commonStyle.self]
36
+ borderBottom='1px dashed #acacac'
37
+ boxSizing='border-box'
38
+
39
+ [[template.items.items]]
40
+ component = 'Container'
41
+ [template.items.items.extra.commonStyle]
42
+ flex='1'
43
+ wordBreak='break-all'
44
+ [template.items.items.extra.commonStyle.self]
45
+ flex='1'
46
+ wordBreak='break-all'
47
+ [[template.items.items.items]]
48
+ component = 'WdText'
49
+ [template.items.items.items.attributes]
50
+ {{#with (helper_utils 'get' _stringFields '[0].name') as |_name0|}}
51
+ ':text'='$w.item_{{repeater_suffix}}.{{_name0}} || \`-\`'
52
+ {{/with}}
53
+ level='title-6'
54
+ textAlign = 'left'
55
+
56
+ [[template.items.items.items]]
57
+ component = 'WdText'
58
+ [template.items.items.items.extra.commonStyle.text]
59
+ opacity=40
60
+ [template.items.items.items.attributes]
61
+ {{#with (helper_utils 'get' _stringFields '[1].name') as |_name1|}}
62
+ ':text'='$w.item_{{repeater_suffix}}.{{_name1}} || \`-\`'
63
+ {{/with}}
64
+ overflow=true
65
+
66
+ [[template.items.items]]
67
+ component = 'Container'
68
+ [template.items.items.extra.commonStyle.margin]
69
+ left='10PX'
70
+ [template.items.items.extra.commonStyle.size]
71
+ width='24PX'
72
+ height='24PX'
73
+ [template.items.items.extra.commonStyle.text]
74
+ opacity=30
75
+ [[template.items.items.items]]
76
+ component = 'WdIcon'
77
+ [template.items.items.items.attributes]
78
+ name = 'chevronright'
79
+
80
+ {{else if (helper_utils '===' $self.attributes.template 'detailList')}}
81
+
82
+ [[template]]
83
+ component = 'Repeater'
84
+ [template.attributes]
85
+ ':data' = '$context.{{$self.id}}.data'
86
+ suffix = '{{repeater_suffix}}'
87
+ forItem = 'item_{{repeater_suffix}}'
88
+ forIndex = 'index_{{repeater_suffix}}'
89
+ key = '_id'
90
+
91
+ [[template.items]]
92
+ component = 'Container'
93
+ [template.items.extra.commonStyle]
94
+ borderBottom = '1px dashed #acacac'
95
+ boxSizing = 'border-box'
96
+ display = 'flex'
97
+ [template.items.extra.commonStyle.flexConfig]
98
+ alignItems = 'center'
99
+ [template.items.extra.commonStyle.padding]
100
+ bottom = '15PX'
101
+ left = '26PX'
102
+ right = '25PX'
103
+ top = '15PX'
104
+ [template.items.extra.commonStyle.position]
105
+ position = 'relative'
106
+ [template.items.extra.commonStyle.self]
107
+ borderBottom = '1px dashed #acacac'
108
+ boxSizing = 'border-box'
109
+ [template.items.extra.commonStyle.size]
110
+ width = '100%'
111
+
112
+ [[template.items.items]]
113
+ component='Container'
114
+ [template.items.items.extra.commonStyle]
115
+ flex = '1'
116
+ wordBreak = 'break-all'
117
+ [template.items.items.extra.commonStyle.self]
118
+ flex = '1'
119
+ wordBreak = 'break-all'
120
+ [[template.items.items.items]]
121
+ component = 'WdText'
122
+ [template.items.items.items.attributes]
123
+ {{#with (helper_utils 'get' _stringFields '[0].name') as |_name0|}}
124
+ ':text'='$w.item_{{repeater_suffix}}.{{_name0}} || \`-\`'
125
+ {{/with}}
126
+ level='title-6'
127
+ textAlign = 'left'
128
+
129
+ {{#repeat 3}}
130
+ [[template.items.items.items]]
131
+ component='Container'
132
+ [template.items.items.items.extra.commonStyle]
133
+ display = 'flex'
134
+ whiteSpace = 'pre-line'
135
+ [template.items.items.items.extra.commonStyle.flexConfig]
136
+ alignItems = 'center'
137
+ flexWrap = 'nowrap'
138
+ [template.items.items.items.extra.commonStyle.text]
139
+ opacity = 40
140
+ [template.items.items.items.extra.commonStyle.self]
141
+ whiteSpace = 'pre-line'
142
+
143
+ [[template.items.items.items.items]]
144
+ component='WdText'
145
+ [template.items.items.items.items.attributes]
146
+ text='{{helper_utils 'get' _stringFields (helper_utils 'join' (helper_utils 'concat' '[' (helper_utils '+' @index 1) '].title') '') '名称'}}:'
147
+ overflow=true
148
+
149
+ [[template.items.items.items.items]]
150
+ component='WdText'
151
+ [template.items.items.items.items.attributes]
152
+ {{#with (helper_utils 'get' _stringFields (helper_utils 'join' (helper_utils 'concat' '[' (helper_utils '+' @index 1) '].name') '')) as |_name|}}
153
+ ':text'='$w.item_{{repeater_suffix}}.{{_name}} || \`-\`'
154
+ {{/with}}
155
+ overflow=true
156
+
157
+ {{/repeat}}
158
+
159
+ [[template.items.items]]
160
+ component='Container'
161
+ [template.items.items.extra.commonStyle.margin]
162
+ left = '10PX'
163
+ [template.items.items.extra.commonStyle.size]
164
+ height = '24PX'
165
+ width = '24PX'
166
+ [template.items.items.extra.commonStyle.text]
167
+ opacity = 30
168
+ [[template.items.items.items]]
169
+ component = 'WdIcon'
170
+ [template.items.items.items.attributes]
171
+ name = 'more'
172
+ size = 48
173
+ type = 'inner'
174
+
175
+ {{else if (helper_utils '===' $self.attributes.template 'imageTextList')}}
176
+
177
+ [[template]]
178
+ component = 'Repeater'
179
+ [template.attributes]
180
+ ':data' = '$context.{{$self.id}}.data'
181
+ suffix = '{{repeater_suffix}}'
182
+ forItem = 'item_{{repeater_suffix}}'
183
+ forIndex = 'index_{{repeater_suffix}}'
184
+ key = '_id'
185
+
186
+ [[template.items]]
187
+ component = 'Container'
188
+ [template.items.extra.commonStyle]
189
+ borderBottom = '1px dashed #acacac'
190
+ boxSizing = 'border-box'
191
+ custom = []
192
+ display = 'flex'
193
+ [template.items.extra.commonStyle.flexConfig]
194
+ alignItems = 'center'
195
+ [template.items.extra.commonStyle.padding]
196
+ bottom = '14PX'
197
+ left = '16PX'
198
+ right = '18PX'
199
+ top = '15PX'
200
+ [template.items.extra.commonStyle.position]
201
+ position = 'relative'
202
+ [template.items.extra.commonStyle.self]
203
+ borderBottom = '1px dashed #acacac'
204
+ boxSizing = 'border-box'
205
+ [template.items.extra.commonStyle.size]
206
+ width = '100%'
207
+
208
+ [[template.items.items]]
209
+ component = 'Container'
210
+ [template.items.items.extra.commonStyle]
211
+ custom = []
212
+ [template.items.items.extra.commonStyle.margin]
213
+ right = '10PX'
214
+ [template.items.items.extra.commonStyle.position]
215
+ position = 'relative'
216
+ [template.items.items.extra.commonStyle.size]
217
+ height = '52PX'
218
+ width = '52PX'
219
+ [[template.items.items.items]]
220
+ component='WdImage'
221
+ [template.items.items.items.attributes]
222
+ fit = 'cover'
223
+ mode = 'scaleToFill'
224
+ {{#with (helper_utils 'get' (helper_utils 'filter' _fields (helper_utils 'concat' 'format' 'x-image')) '[0].name') as |_name0|}}
225
+ ':src'='$w.item_{{repeater_suffix}}.{{_name0}}'
226
+ {{/with}}
227
+ [template.items.items.items.extra.commonStyle.size]
228
+ height = '100%'
229
+ width = '100%'
230
+
231
+ [[template.items.items]]
232
+ component = 'Container'
233
+ [template.items.items.extra.commonStyle]
234
+ custom = []
235
+ flex = '1'
236
+ wordBreak = 'break-all'
237
+ [template.items.items.extra.commonStyle.self]
238
+ flex = '1'
239
+ wordBreak = 'break-all'
240
+
241
+ [[template.items.items.items]]
242
+ component = 'WdText'
243
+ [template.items.items.items.attributes]
244
+ level='title-6'
245
+ textAlign = 'left'
246
+ {{#with (helper_utils 'get' (helper_utils 'reject' _stringFields (helper_utils 'concat' 'format' 'x-image')) '[0].name') as |_name0|}}
247
+ ':text'='$w.item_{{repeater_suffix}}.{{_name0}} || \`-\`'
248
+ {{/with}}
249
+
250
+ [[template.items.items.items]]
251
+ component = 'WdText'
252
+ [template.items.items.items.attributes]
253
+ maxLines = '2'
254
+ overflow=true
255
+ {{#with (helper_utils 'get' (helper_utils 'reject' _stringFields (helper_utils 'concat' 'format' 'x-image')) '[1].name') as |_name1|}}
256
+ ':text'='$w.item_{{repeater_suffix}}.{{_name1}} || \`-\`'
257
+ {{/with}}
258
+ textAlign = 'left'
259
+ [template.items.items.items.extra.commonStyle.text]
260
+ opacity = 40
261
+
262
+ [[template.items.items]]
263
+ component='Container'
264
+ [template.items.items.extra.commonStyle.margin]
265
+ left = '10PX'
266
+ [template.items.items.extra.commonStyle.size]
267
+ height = '24PX'
268
+ width = '24PX'
269
+ [template.items.items.extra.commonStyle.text]
270
+ opacity = 30
271
+
272
+ [[template.items.items.items]]
273
+ component='WdIcon'
274
+ [template.items.items.items.attributes]
275
+ name = 'chevronright'
276
+ size = 48
277
+
278
+ {{else if (helper_utils '===' $self.attributes.template 'cardList')}}
279
+
280
+ [[template]]
281
+ component = 'Repeater'
282
+ [template.attributes]
283
+ ':data' = '$context.{{$self.id}}.data'
284
+ suffix = '{{repeater_suffix}}'
285
+ forItem = 'item_{{repeater_suffix}}'
286
+ forIndex = 'index_{{repeater_suffix}}'
287
+ key = '_id'
288
+
289
+ [[template.items]]
290
+ component = 'Container'
291
+ [template.items.extra.commonStyle]
292
+ boxSizing = 'border-box'
293
+ custom = []
294
+ display = 'flex'
295
+ [template.items.extra.commonStyle.border]
296
+ color = 'rgb(172, 172, 172)'
297
+ type = 'dashed'
298
+ width = '1px'
299
+ [template.items.extra.commonStyle.flexConfig]
300
+ alignItems = 'center'
301
+ flexDirection = 'column'
302
+ [template.items.extra.commonStyle.padding]
303
+ bottom = '11PX'
304
+ left = '8PX'
305
+ right = '8PX'
306
+ top = '8PX'
307
+ [template.items.extra.commonStyle.position]
308
+ position = 'relative'
309
+ [template.items.extra.commonStyle.self]
310
+ boxSizing = 'border-box'
311
+ [template.items.extra.commonStyle.size]
312
+ width = 'calc(50%)'
313
+
314
+ [[template.items.items]]
315
+ component = 'Container'
316
+ [template.items.items.extra.commonStyle]
317
+ custom = []
318
+ [template.items.items.extra.commonStyle.margin]
319
+ bottom = '10PX'
320
+ right = '0'
321
+ [template.items.items.extra.commonStyle.size]
322
+ height = '118PX'
323
+ width = '100%'
324
+
325
+ [[template.items.items.items]]
326
+ component='WdImage'
327
+ [template.items.items.items.attributes]
328
+ fit = 'cover'
329
+ mode = 'scaleToFill'
330
+ {{#with (helper_utils 'get' (helper_utils 'filter' _fields (helper_utils 'concat' 'format' 'x-image')) '[0].name') as |_name0|}}
331
+ ':src'='$w.item_{{repeater_suffix}}.{{_name0}}'
332
+ {{/with}}
333
+ [template.items.items.items.extra.commonStyle.size]
334
+ height = '100%'
335
+ width = '100%'
336
+
337
+ [[template.items.items]]
338
+ component = 'Container'
339
+ [template.items.items.extra.commonStyle]
340
+ custom = []
341
+ wordBreak = 'break-all'
342
+ [template.items.items.extra.commonStyle.padding]
343
+ bottom = '0'
344
+ left = '5PX'
345
+ right = '4PX'
346
+ top = '0'
347
+ [template.items.items.extra.commonStyle.self]
348
+ wordBreak = 'break-all'
349
+ [template.items.items.extra.commonStyle.size]
350
+ width = '100%'
351
+
352
+ {{#repeat 3}}
353
+
354
+ [[template.items.items.items]]
355
+ component = 'WdText'
356
+ [template.items.items.items.attributes]
357
+ textAlign = 'left'
358
+ {{#if (helper_utils '===' @index 0)}}
359
+ level='title-6'
360
+ {{else if (helper_utils '===' @index 1)}}
361
+ maxLines = '3'
362
+ overflow=true
363
+ {{else}}
364
+ overflow=true
365
+ {{/if}}
366
+ {{#with (helper_utils 'get' (helper_utils 'reject' _stringFields (helper_utils 'concat' 'format' 'x-image')) (helper_utils 'join' (helper_utils 'concat' '[' @index '].name') '')) as |_name|}}
367
+ ':text'='$w.item_{{repeater_suffix}}.{{_name}} || \`-\`'
368
+ {{/with}}
369
+ {{/repeat}}
370
+
371
+ {{else}}
372
+ [[template]]
373
+ component = 'Repeater'
374
+ [template.attributes]
375
+ ':data' = '$context.{{$self.id}}.data'
376
+ suffix = '{{repeater_suffix}}'
377
+ forItem = 'item_{{repeater_suffix}}'
378
+ forIndex = 'index_{{repeater_suffix}}'
379
+ key = '_id'
380
+ [[template.items]]
381
+ component = 'Container'
382
+
383
+ {{/if}}
384
+
385
+ {{/with}}
386
+ {{/with}}
387
+ {{/with}}
388
+ `;
389
+ const $attached_template = `
390
+ {{#with $self as |$self|}}
391
+ {{#with 'sys_user' as |_datasourceName| }}
392
+ {{#with 'wedaGetRecords' as |_methodName| }}
393
+ ${rawTemplate}
394
+ {{/with}}
395
+ {{/with}}
396
+ {{/with}}
397
+
398
+ [attributes]
399
+ isSetStatus=true
400
+ [attributes.datasource]
401
+ type='datamodal'
402
+ name='sys_user'
403
+ `;
404
+ const attributes_tempate = `
405
+ {{#with $self as |$self|}}
406
+ {{#with (helper_utils '?:' (helper_utils 'isEqual' $self.attributes.dataSourceType 'data-model') $self.attributes.datasource.name $self.attributes.bindConnectMetadata.datasource.name) as |_datasourceName| }}
407
+ {{#with (helper_utils '?:' (helper_utils 'isEqual' $self.attributes.dataSourceType 'data-model') 'wedaGetRecords' $self.attributes.connectorMethod.name) as |_methodName| }}
408
+ ${rawTemplate}
409
+ {{/with}}
410
+ {{/with}}
411
+ {{/with}}
412
+ `;
413
+ export default {
414
+ $schema: 'https://comp-public-1303824488.cos.ap-shanghai.myqcloud.com/schema/lcds_component.json',
415
+ data: {
416
+ properties: {
417
+ template: {
418
+ 'x-index': 4,
419
+ title: '模板',
420
+ type: 'string',
421
+ 'x-category': '基础属性',
422
+ default: 'simpleList',
423
+ enum: [
424
+ {
425
+ label: '空白',
426
+ value: 'none',
427
+ tooltip: '不使用模板',
428
+ src: 'https://cloudcache.tencent-cloud.com/qcloud/ui/static/static_source_business/924e8472-9c52-46bc-bae7-e1ec30b92974.svg',
429
+ },
430
+ {
431
+ label: '简单列表',
432
+ value: 'simpleList',
433
+ tooltip: '使用简单列表模板',
434
+ src: 'https://cloudcache.tencent-cloud.com/qcloud/ui/static/static_source_business/2563df4d-2db0-449f-a545-825f5a66a848.svg',
435
+ },
436
+ {
437
+ label: '详细列表',
438
+ value: 'detailList',
439
+ tooltip: '使用详细列表模板',
440
+ src: 'https://cloudcache.tencent-cloud.com/qcloud/ui/static/static_source_business/c4f78f1c-f93a-4b40-8253-42541a609fa4.svg',
441
+ },
442
+ {
443
+ label: '图文列表',
444
+ value: 'imageTextList',
445
+ tooltip: '使用图文列表模板',
446
+ src: 'https://cloudcache.tencent-cloud.com/qcloud/ui/static/static_source_business/58cad863-a9b6-4c51-b3f3-d6036ef4d0b7.svg',
447
+ },
448
+ {
449
+ label: '卡片列表',
450
+ value: 'cardList',
451
+ tooltip: '使用卡片列表模板',
452
+ src: 'https://cloudcache.tencent-cloud.com/qcloud/ui/static/static_source_business/d92ff460-bc94-4162-9c0e-d04224dd1919.svg',
453
+ },
454
+ ],
455
+ 'x-component': 'data-sources-template-selector',
456
+ 'x-props': {
457
+ 'data-hidebind': true,
458
+ },
459
+ remarks: '列表内容样式的预设模板',
460
+ },
461
+ dataSourceType: {
462
+ 'x-index': 5,
463
+ title: '数据源',
464
+ 'x-category': '基础属性',
465
+ type: 'string',
466
+ default: 'data-model',
467
+ enum: [
468
+ {
469
+ label: '数据模型',
470
+ value: 'data-model',
471
+ },
472
+ {
473
+ label: 'APIs',
474
+ value: 'custom-connector',
475
+ },
476
+ ],
477
+ 'x-linkages': [
478
+ {
479
+ type: 'value:state',
480
+ target: '*(orderType,where,orderBy,datasource)',
481
+ condition: "{{$self.value !='custom-connector'}}",
482
+ state: {
483
+ display: true,
484
+ },
485
+ otherwise: {
486
+ display: false,
487
+ },
488
+ },
489
+ {
490
+ type: 'value:state',
491
+ target: '*(bindConnectMetadata,connectorMethod,connectorParams)',
492
+ condition: "{{$self.value=='custom-connector'}}",
493
+ state: {
494
+ display: true,
495
+ },
496
+ otherwise: {
497
+ display: false,
498
+ },
499
+ },
500
+ {
501
+ type: 'value:schema',
502
+ target: 'bindConnectMetadata',
503
+ schema: {
504
+ 'x-component-props': '{{{value:$value}}}',
505
+ },
506
+ },
507
+ {
508
+ type: 'value:schema',
509
+ target: 'connectorMethod',
510
+ schema: {
511
+ 'x-component-props': {
512
+ connector: '{{$self.value}}',
513
+ },
514
+ },
515
+ },
516
+ ],
517
+ 'x-component': 'dsc-datasource-type-select',
518
+ 'x-component-props': {
519
+ defaultValue: 'data-model',
520
+ options: [
521
+ {
522
+ value: 'data-model',
523
+ text: '数据模型',
524
+ label: '数据模型',
525
+ icon: 'database',
526
+ isShow: true,
527
+ },
528
+ {
529
+ value: 'custom-connector',
530
+ text: 'APIs',
531
+ label: 'APIs',
532
+ icon: 'custom-connector',
533
+ isShow: true,
534
+ },
535
+ ],
536
+ },
537
+ 'x-props': {
538
+ 'data-hidebind': true,
539
+ },
540
+ remarks: '数据源类型选择',
541
+ },
542
+ datasource: {
543
+ 'x-index': 10,
544
+ title: '数据模型',
545
+ type: 'object',
546
+ 'x-category': '基础属性',
547
+ required: true,
548
+ properties: {
549
+ name: {
550
+ title: '数据模型名',
551
+ type: 'string',
552
+ },
553
+ extra: {
554
+ title: '数据模型属性',
555
+ type: 'object',
556
+ properties: {
557
+ viewId: {
558
+ title: '数据模型视图id',
559
+ type: 'string',
560
+ },
561
+ methodName: {
562
+ title: '数据模型方法名',
563
+ type: 'string',
564
+ },
565
+ },
566
+ },
567
+ },
568
+ 'x-component': 'datasource-selector',
569
+ 'x-component-props': {
570
+ dataContainerType: 'listView',
571
+ },
572
+ 'x-props': {
573
+ 'data-hidebind': true,
574
+ },
575
+ 'x-linkages': [
576
+ {
577
+ type: 'value:schema',
578
+ target: 'params',
579
+ schema: {
580
+ 'x-component-props': '{{$value}}',
581
+ },
582
+ },
583
+ {
584
+ type: 'value:schema',
585
+ condition: '{{ Boolean($value && $value.name) }}',
586
+ target: 'orderBy',
587
+ schema: {
588
+ enum: '{{getDataSourceValueOptions($value && $value.name)}}',
589
+ },
590
+ },
591
+ {
592
+ type: 'value:state',
593
+ condition: '{{!!$value && !!$value.name && !!$form.values.orderBy && getDataSourceValueOptions($value.name).every(o => o.value !== $form.values.orderBy)}}',
594
+ target: 'orderBy',
595
+ state: {
596
+ value: '',
597
+ },
598
+ },
599
+ {
600
+ type: 'value:schema',
601
+ condition: '{{ Boolean($value && $value.name) }}',
602
+ target: 'where',
603
+ schema: {
604
+ 'x-component-props': '{{{selectedDataSourceName: $value && $value.name}}}',
605
+ },
606
+ },
607
+ {
608
+ type: 'value:schema',
609
+ condition: '{{ Boolean(!$value || !$value.name) }}',
610
+ target: 'orderBy',
611
+ schema: {
612
+ 'x-props': "{{{disabled: true, tooltip: '请先选择数据源'}}}",
613
+ },
614
+ },
615
+ {
616
+ type: 'value:schema',
617
+ condition: '{{ Boolean($value && $value.name) }}',
618
+ target: 'orderBy',
619
+ schema: {
620
+ 'x-props': "{{{disabled: false, tooltip: ''}}}",
621
+ },
622
+ },
623
+ ],
624
+ remarks: '展示模型数据的数据来源',
625
+ },
626
+ bindConnectMetadata: {
627
+ title: 'APIs',
628
+ type: 'object',
629
+ 'x-component': 'connector-select',
630
+ 'x-index': 12,
631
+ 'x-category': '基础属性',
632
+ required: true,
633
+ 'x-linkages': [
634
+ {
635
+ type: 'value:schema',
636
+ target: 'connectorMethod',
637
+ schema: {
638
+ 'x-component-props': {
639
+ value: '{{$self.value}}',
640
+ },
641
+ },
642
+ },
643
+ ],
644
+ 'x-props': {
645
+ 'data-hidebind': true,
646
+ },
647
+ remarks: '展示数据的APIs来源选择',
648
+ },
649
+ connectorMethod: {
650
+ title: '调用方法',
651
+ type: 'object',
652
+ 'x-component': 'connector-method-select',
653
+ 'x-index': 16,
654
+ 'x-category': '基础属性',
655
+ required: true,
656
+ 'x-component-props': {
657
+ paramsSchema: {
658
+ type: 'object',
659
+ properties: {
660
+ inParams: {
661
+ type: 'object',
662
+ properties: {
663
+ properties: {
664
+ type: 'object',
665
+ properties: {
666
+ pageNo: {
667
+ type: 'object',
668
+ properties: {
669
+ type: { const: 'number' },
670
+ },
671
+ required: ['type'],
672
+ },
673
+ pageSize: {
674
+ type: 'object',
675
+ properties: {
676
+ type: { const: 'number' },
677
+ },
678
+ required: ['type'],
679
+ },
680
+ orderBy: {
681
+ type: 'object',
682
+ properties: {
683
+ type: { const: 'string' },
684
+ },
685
+ },
686
+ orderType: {
687
+ type: 'object',
688
+ properties: {
689
+ type: { const: 'string' },
690
+ },
691
+ },
692
+ },
693
+ required: ['pageNo', 'pageSize'],
694
+ },
695
+ },
696
+ },
697
+ outParams: {
698
+ type: 'object',
699
+ properties: {
700
+ properties: {
701
+ type: 'object',
702
+ properties: {
703
+ total: {
704
+ type: 'object',
705
+ properties: {
706
+ type: { const: 'number' },
707
+ },
708
+ },
709
+ records: {
710
+ type: 'object',
711
+ properties: {
712
+ type: { const: 'array' },
713
+ items: {
714
+ type: 'object',
715
+ properties: {
716
+ type: {
717
+ const: 'object',
718
+ },
719
+ properties: {
720
+ type: 'object',
721
+ properties: {
722
+ _id: {
723
+ type: 'object',
724
+ properties: {
725
+ type: {
726
+ const: 'string',
727
+ },
728
+ },
729
+ },
730
+ },
731
+ },
732
+ },
733
+ },
734
+ },
735
+ },
736
+ },
737
+ required: ['total', 'records'],
738
+ },
739
+ },
740
+ },
741
+ },
742
+ },
743
+ docUrl: 'https://docs.cloudbase.net/lowcode/components/wedaUI/src/docs/compsdocs/database/ListView#%E8%B0%83%E7%94%A8-apis-%E7%9A%84%E5%8F%82%E6%95%B0%E8%A6%81%E6%B1%82',
744
+ },
745
+ 'x-props': {
746
+ 'data-hidebind': true,
747
+ },
748
+ 'x-helper-text': '方法的出入参需满足组件要求,[查看文档](https://docs.cloudbase.net/lowcode/components/wedaUI/src/docs/compsdocs/database/ListView#%E8%B0%83%E7%94%A8-apis-%E7%9A%84%E5%8F%82%E6%95%B0%E8%A6%81%E6%B1%82)',
749
+ 'x-helper-text-color': '#E37318',
750
+ remarks: '展示数据的APIs调用方法选择',
751
+ },
752
+ connectorParams: {
753
+ title: '查询入参',
754
+ type: 'string',
755
+ 'x-index': 18,
756
+ 'x-category': '基础属性',
757
+ remarks: "对APIs调用方法获取的数据进行筛选过滤。支持对象类型,例如 {name:'',value:''}",
758
+ 'x-component': 'property-object-params-field',
759
+ 'x-component-props': {
760
+ dataSourceKeyName: 'bindConnectMetadata',
761
+ dataSourceValuePath: 'datasource.name',
762
+ methodNameKeyName: 'connectorMethod',
763
+ methodValuePath: 'name',
764
+ paramsKeyName: 'connectorParams',
765
+ },
766
+ 'x-helper-text': '当配置了「显示条数」属性后,pageSize参数将不会生效',
767
+ },
768
+ where: {
769
+ 'x-index': 20,
770
+ title: '数据筛选',
771
+ 'x-category': '基础属性',
772
+ type: 'array',
773
+ items: {},
774
+ 'x-component': 'condition-select',
775
+ 'x-component-props': {
776
+ selectedDataSourceName: null,
777
+ customLogicOptions: [
778
+ {
779
+ text: '且',
780
+ value: 'and',
781
+ },
782
+ {
783
+ text: '或',
784
+ value: 'or',
785
+ },
786
+ ],
787
+ blackListConfig: {
788
+ format: ['x-file', 'x-image'],
789
+ type: ['object', 'array'],
790
+ },
791
+ customRelOptions: {
792
+ number: [
793
+ {
794
+ value: 'equal',
795
+ text: '等于',
796
+ type: 'equal',
797
+ },
798
+ {
799
+ value: 'unequal',
800
+ text: '不等于',
801
+ type: 'unequal',
802
+ },
803
+ {
804
+ value: 'greater',
805
+ text: '大于',
806
+ type: 'greate',
807
+ },
808
+ {
809
+ value: 'greater_or_equal',
810
+ text: '大于等于',
811
+ type: 'greater_or_equal',
812
+ },
813
+ {
814
+ value: 'less',
815
+ text: '小于',
816
+ type: 'less',
817
+ },
818
+ {
819
+ value: 'less_or_equal',
820
+ text: '小于等于',
821
+ type: 'less_or_equal',
822
+ },
823
+ {
824
+ value: 'empty',
825
+ text: '为空',
826
+ type: 'empty',
827
+ },
828
+ {
829
+ value: 'nempty',
830
+ text: '不为空',
831
+ type: 'nempty',
832
+ },
833
+ ],
834
+ },
835
+ },
836
+ 'x-props': {
837
+ 'data-hidebind': true,
838
+ 'data-hideBindValue': true,
839
+ 'data-withBindMeta': true,
840
+ },
841
+ remarks: '对数据进行筛选过滤',
842
+ },
843
+ orderBy: {
844
+ 'x-index': 30,
845
+ title: '排序字段',
846
+ 'x-category': '基础属性',
847
+ type: 'string',
848
+ 'x-linkages': [
849
+ {
850
+ type: 'value:schema',
851
+ condition: '{{ Boolean($value) }}',
852
+ target: 'orderBy',
853
+ schema: {
854
+ 'x-props': '{{{clearable: true}}}',
855
+ },
856
+ },
857
+ {
858
+ type: 'value:schema',
859
+ condition: '{{ Boolean(!$value) }}',
860
+ target: 'orderBy',
861
+ schema: {
862
+ 'x-props': '{{{clearable: false}}}',
863
+ },
864
+ },
865
+ ],
866
+ remarks: '选取对数据进行排序的字段',
867
+ },
868
+ orderType: {
869
+ 'x-index': 40,
870
+ title: '排序方式',
871
+ 'x-category': '基础属性',
872
+ default: 'asc',
873
+ type: 'string',
874
+ enum: [
875
+ {
876
+ label: '升序',
877
+ value: 'asc',
878
+ },
879
+ {
880
+ label: '降序',
881
+ value: 'desc',
882
+ },
883
+ ],
884
+ 'x-linkages': [
885
+ {
886
+ type: 'value:schema',
887
+ condition: '{{ Boolean($value) }}',
888
+ target: 'orderType',
889
+ schema: {
890
+ 'x-props': '{{{clearable: true}}}',
891
+ },
892
+ },
893
+ {
894
+ type: 'value:schema',
895
+ condition: '{{ Boolean(!$value) }}',
896
+ target: 'orderType',
897
+ schema: {
898
+ 'x-props': '{{{clearable: false}}}',
899
+ },
900
+ },
901
+ ],
902
+ remarks: '设置升序或降序',
903
+ },
904
+ pageSize: {
905
+ 'x-index': 60,
906
+ title: '显示条数',
907
+ type: 'number',
908
+ default: 5,
909
+ 'x-category': '基础属性',
910
+ 'x-props': {
911
+ min: 1,
912
+ },
913
+ remarks: '设置单次加载的数据条数',
914
+ display: true,
915
+ },
916
+ pagination: {
917
+ 'x-index': 70,
918
+ title: '分页',
919
+ type: 'string',
920
+ 'x-category': '基础属性',
921
+ default: 'loadMoreButton',
922
+ enum: [
923
+ {
924
+ label: '点击加载更多',
925
+ value: 'loadMoreButton',
926
+ },
927
+ {
928
+ label: '触底加载更多',
929
+ value: 'bottomLoad',
930
+ },
931
+ {
932
+ label: '分页器',
933
+ value: 'pagination',
934
+ },
935
+ {
936
+ label: '不分页',
937
+ value: 'none',
938
+ },
939
+ ],
940
+ 'x-props': {
941
+ 'data-hidebind': true,
942
+ },
943
+ 'x-linkages': [
944
+ {
945
+ type: 'value:visible',
946
+ target: 'loadCompletedText',
947
+ condition: "{{$self.value == 'loadMoreButton' || $self.value == 'bottomLoad'}}",
948
+ },
949
+ ],
950
+ remarks: '数据分页样式',
951
+ },
952
+ isSetStatus: {
953
+ 'x-index': 80,
954
+ title: '显示加载状态',
955
+ 'x-category': '基础属性',
956
+ type: 'boolean',
957
+ default: false,
958
+ remarks: '是否开启数据列表的加载状态,默认不显示',
959
+ },
960
+ emptyText: {
961
+ 'x-index': 81,
962
+ type: 'string',
963
+ title: '空状态提示',
964
+ 'x-category': '基础属性',
965
+ default: '暂无数据',
966
+ description: '无数据时的提示说明,内容为空时则不显示该提示',
967
+ remarks: '无数据时的提示说明,内容为空时则不显示该提示',
968
+ },
969
+ loadCompletedText: {
970
+ 'x-index': 82,
971
+ title: '加载到底提示',
972
+ 'x-category': '基础属性',
973
+ type: 'string',
974
+ default: '',
975
+ description: '加载全部数据后的提示说明,内容为空时则不显示该提示',
976
+ remarks: '是否展示数据列表加载全部数据后的提示说明,默认不显示',
977
+ },
978
+ },
979
+ },
980
+ events: [
981
+ {
982
+ name: 'queryEmpty',
983
+ title: '查询为空',
984
+ remarks: '数据查询为空时触发',
985
+ },
986
+ {
987
+ name: 'querySuccess',
988
+ title: '查询成功',
989
+ remarks: '数据查询成功时触发',
990
+ },
991
+ {
992
+ name: 'queryFail',
993
+ title: '查询失败',
994
+ remarks: '数据查询失败时触发',
995
+ },
996
+ ],
997
+ methods: [
998
+ {
999
+ name: 'refresh',
1000
+ label: '刷新',
1001
+ params: {
1002
+ properties: {
1003
+ type: {
1004
+ title: '刷新方式',
1005
+ type: 'string',
1006
+ default: 'refreshFromStart',
1007
+ sampleValue: 'refreshFromStart',
1008
+ enum: [
1009
+ {
1010
+ label: '刷新第一页数据',
1011
+ value: 'refreshFromStart',
1012
+ },
1013
+ {
1014
+ label: '刷新当前页数据',
1015
+ value: 'refreshKeepPage',
1016
+ },
1017
+ ],
1018
+ },
1019
+ },
1020
+ },
1021
+ },
1022
+ {
1023
+ name: 'deleteOne',
1024
+ label: '删除单条数据',
1025
+ params: {
1026
+ properties: {
1027
+ _id: {
1028
+ title: '删除数据的标识',
1029
+ type: 'string',
1030
+ default: '',
1031
+ },
1032
+ },
1033
+ },
1034
+ },
1035
+ ],
1036
+ compConfig: {
1037
+ isDataContainer: true,
1038
+ componentType: 'listview',
1039
+ },
1040
+ isContainer: true,
1041
+ meta: {
1042
+ title: '数据列表',
1043
+ category: '数据容器',
1044
+ description: '适用于从数据源中查询多条数据,并将返回列表循环展示的场景,如查询用户列表。',
1045
+ categoryOrder: 100,
1046
+ componentOrder: 10,
1047
+ icon: '../icons/ListView.svg',
1048
+ templates: [
1049
+ {
1050
+ when: '$attached',
1051
+ body: $attached_template,
1052
+ },
1053
+ {
1054
+ when: 'datasource,connectorMethod,template,dataSourceType',
1055
+ body: attributes_tempate,
1056
+ },
1057
+ ],
1058
+ },
1059
+ configMeta: {
1060
+ docsUrl: 'https://docs.cloudbase.net/lowcode/components/wedaUI/src/docs/compsdocs/database/ListView',
1061
+ shortcut: {
1062
+ props: [
1063
+ 'dataSourceType',
1064
+ 'datasource',
1065
+ 'bindConnectMetadata',
1066
+ 'connectorMethod',
1067
+ 'template',
1068
+ ],
1069
+ },
1070
+ contextData: {
1071
+ setField: true,
1072
+ setRelated: true,
1073
+ extra: {
1074
+ total: {
1075
+ title: '记录总条数',
1076
+ type: 'number',
1077
+ 'x-index': 2,
1078
+ },
1079
+ pageNo: {
1080
+ title: '页码',
1081
+ type: 'number',
1082
+ 'x-index': 3,
1083
+ },
1084
+ pageSize: {
1085
+ title: '每页大小',
1086
+ type: 'number',
1087
+ 'x-index': 4,
1088
+ },
1089
+ },
1090
+ },
1091
+ },
1092
+ };