@cloudbase/weda-ui-mp 3.6.0

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 (597) hide show
  1. package/README.md +1 -0
  2. package/actions/showMessage/index.js +3 -0
  3. package/actions/showModal/index.js +3 -0
  4. package/actions/showToast/index.js +3 -0
  5. package/app.js +0 -0
  6. package/components/button/index.js +89 -0
  7. package/components/button/index.json +4 -0
  8. package/components/button/index.wxml +22 -0
  9. package/components/button/index.wxss +13 -0
  10. package/components/calendar/arrowright--line.svg +3 -0
  11. package/components/calendar/index.js +439 -0
  12. package/components/calendar/index.json +5 -0
  13. package/components/calendar/index.wxml +35 -0
  14. package/components/calendar/index.wxss +203 -0
  15. package/components/carousel/index.js +91 -0
  16. package/components/carousel/index.json +7 -0
  17. package/components/carousel/index.wxml +6 -0
  18. package/components/chart/bar/index.js +331 -0
  19. package/components/chart/bar/index.json +6 -0
  20. package/components/chart/bar/index.wxml +1 -0
  21. package/components/chart/bar/index.wxss +9 -0
  22. package/components/chart/common/config/bar.js +50 -0
  23. package/components/chart/common/config/global.js +16 -0
  24. package/components/chart/common/config/line.js +48 -0
  25. package/components/chart/common/config/pie.js +36 -0
  26. package/components/chart/common/core/eChartBar.js +267 -0
  27. package/components/chart/common/core/eChartBase.js +450 -0
  28. package/components/chart/common/core/eChartLine.js +251 -0
  29. package/components/chart/common/core/eChartPie.js +169 -0
  30. package/components/chart/common/data-transform.js +284 -0
  31. package/components/chart/common/lib/echarts.min.js +18 -0
  32. package/components/chart/ec-canvas/ec-canvas.js +277 -0
  33. package/components/chart/ec-canvas/ec-canvas.json +4 -0
  34. package/components/chart/ec-canvas/ec-canvas.wxml +4 -0
  35. package/components/chart/ec-canvas/ec-canvas.wxss +4 -0
  36. package/components/chart/ec-canvas/wx-canvas.js +111 -0
  37. package/components/chart/line/index.js +326 -0
  38. package/components/chart/line/index.json +6 -0
  39. package/components/chart/line/index.wxml +1 -0
  40. package/components/chart/line/index.wxss +9 -0
  41. package/components/chart/pie/index.js +257 -0
  42. package/components/chart/pie/index.json +6 -0
  43. package/components/chart/pie/index.wxml +1 -0
  44. package/components/chart/pie/index.wxss +9 -0
  45. package/components/chart/statisticsCard/index.js +255 -0
  46. package/components/chart/statisticsCard/index.json +4 -0
  47. package/components/chart/statisticsCard/index.wxml +9 -0
  48. package/components/chart/statisticsCard/index.wxss +42 -0
  49. package/components/common/form-item-wrapper/index.js +20 -0
  50. package/components/common/form-item-wrapper/index.json +5 -0
  51. package/components/common/form-item-wrapper/index.wxml +3 -0
  52. package/components/container/index.js +32 -0
  53. package/components/container/index.json +4 -0
  54. package/components/container/index.wxml +3 -0
  55. package/components/customer-service/index.js +41 -0
  56. package/components/customer-service/index.json +5 -0
  57. package/components/customer-service/index.wxml +3 -0
  58. package/components/customer-service/index.wxss +7 -0
  59. package/components/dataView/index.js +109 -0
  60. package/components/dataView/index.json +7 -0
  61. package/components/dataView/index.wxml +25 -0
  62. package/components/dataView/index.wxss +0 -0
  63. package/components/form/checkbox/index.js +145 -0
  64. package/components/form/checkbox/index.json +7 -0
  65. package/components/form/checkbox/index.wxml +13 -0
  66. package/components/form/checkbox/index.wxss +1 -0
  67. package/components/form/form/index.js +189 -0
  68. package/components/form/form/index.json +4 -0
  69. package/components/form/form/index.wxml +5 -0
  70. package/components/form/form/index.wxss +3 -0
  71. package/components/form/form/wd-form.wxss +1091 -0
  72. package/components/form/formcell/index.js +57 -0
  73. package/components/form/formcell/index.json +4 -0
  74. package/components/form/formcell/index.wxml +11 -0
  75. package/components/form/formcell/index.wxss +31 -0
  76. package/components/form/input/index.js +116 -0
  77. package/components/form/input/index.json +7 -0
  78. package/components/form/input/index.wxml +25 -0
  79. package/components/form/input/index.wxss +22 -0
  80. package/components/form/location/components/mapChoose/index.js +495 -0
  81. package/components/form/location/components/mapChoose/index.json +4 -0
  82. package/components/form/location/components/mapChoose/index.wxml +54 -0
  83. package/components/form/location/components/mapChoose/index.wxss +301 -0
  84. package/components/form/location/index.js +494 -0
  85. package/components/form/location/index.json +10 -0
  86. package/components/form/location/index.wxml +29 -0
  87. package/components/form/location/index.wxss +151 -0
  88. package/components/form/location/location-btn.svg +4 -0
  89. package/components/form/location/location.svg +4 -0
  90. package/components/form/radio/index.js +124 -0
  91. package/components/form/radio/index.json +7 -0
  92. package/components/form/radio/index.wxml +13 -0
  93. package/components/form/radio/index.wxss +1 -0
  94. package/components/form/select/allTimePicker/dataUtils.js +377 -0
  95. package/components/form/select/allTimePicker/index.js +487 -0
  96. package/components/form/select/allTimePicker/index.json +7 -0
  97. package/components/form/select/allTimePicker/index.wxml +35 -0
  98. package/components/form/select/allTimePicker/index.wxss +118 -0
  99. package/components/form/select/dropdown-select/index.js +262 -0
  100. package/components/form/select/dropdown-select/index.json +4 -0
  101. package/components/form/select/dropdown-select/index.wxml +35 -0
  102. package/components/form/select/dropdown-select/index.wxss +293 -0
  103. package/components/form/select/formats-util.js +15 -0
  104. package/components/form/select/index.js +1017 -0
  105. package/components/form/select/index.json +10 -0
  106. package/components/form/select/index.wxml +56 -0
  107. package/components/form/select/index.wxss +61 -0
  108. package/components/form/select/region/index.js +120 -0
  109. package/components/form/selectMultiple/dropdown-select/index.js +202 -0
  110. package/components/form/selectMultiple/dropdown-select/index.json +4 -0
  111. package/components/form/selectMultiple/dropdown-select/index.wxml +37 -0
  112. package/components/form/selectMultiple/dropdown-select/index.wxss +305 -0
  113. package/components/form/selectMultiple/index.js +328 -0
  114. package/components/form/selectMultiple/index.json +9 -0
  115. package/components/form/selectMultiple/index.wxml +20 -0
  116. package/components/form/selectMultiple/index.wxss +127 -0
  117. package/components/form/switch/index.js +90 -0
  118. package/components/form/switch/index.json +7 -0
  119. package/components/form/switch/index.wxml +11 -0
  120. package/components/form/switch/index.wxss +1 -0
  121. package/components/form/textarea/index.js +90 -0
  122. package/components/form/textarea/index.json +7 -0
  123. package/components/form/textarea/index.wxml +8 -0
  124. package/components/form/textarea/index.wxss +10 -0
  125. package/components/form/tips/index.js +41 -0
  126. package/components/form/tips/index.json +4 -0
  127. package/components/form/tips/index.wxml +1 -0
  128. package/components/form/tips/index.wxss +5 -0
  129. package/components/form/uploader/compress.js +31 -0
  130. package/components/form/uploader/index.js +289 -0
  131. package/components/form/uploader/index.json +10 -0
  132. package/components/form/uploader/index.wxml +38 -0
  133. package/components/form/uploader/index.wxss +47 -0
  134. package/components/form/uploader/weui-uploader.js +310 -0
  135. package/components/form/uploader/weui-uploader.json +7 -0
  136. package/components/form/uploader/weui-uploader.wxml +49 -0
  137. package/components/form/uploader/weui-uploader.wxss +19 -0
  138. package/components/form/uploaderFile/index.js +481 -0
  139. package/components/form/uploaderFile/index.json +9 -0
  140. package/components/form/uploaderFile/index.wxml +52 -0
  141. package/components/form/uploaderFile/index.wxss +171 -0
  142. package/components/form-checkbox/index.js +78 -0
  143. package/components/form-checkbox/index.json +9 -0
  144. package/components/form-checkbox/index.wxml +6 -0
  145. package/components/form-date/index.js +72 -0
  146. package/components/form-date/index.json +9 -0
  147. package/components/form-date/index.wxml +25 -0
  148. package/components/form-email/index.js +99 -0
  149. package/components/form-email/index.json +9 -0
  150. package/components/form-email/index.wxml +28 -0
  151. package/components/form-field-behavior/form-field-behavior.js +423 -0
  152. package/components/form-field-behavior/item-behavior.js +445 -0
  153. package/components/form-field-behavior/validator.js +132 -0
  154. package/components/form-image-uploader/index.js +83 -0
  155. package/components/form-image-uploader/index.json +9 -0
  156. package/components/form-image-uploader/index.wxml +27 -0
  157. package/components/form-input/index.js +103 -0
  158. package/components/form-input/index.json +9 -0
  159. package/components/form-input/index.wxml +29 -0
  160. package/components/form-location/index.js +98 -0
  161. package/components/form-location/index.json +9 -0
  162. package/components/form-location/index.wxml +28 -0
  163. package/components/form-multi-region/index.js +62 -0
  164. package/components/form-multi-region/index.json +9 -0
  165. package/components/form-multi-region/index.wxml +6 -0
  166. package/components/form-phone/index.js +95 -0
  167. package/components/form-phone/index.json +9 -0
  168. package/components/form-phone/index.wxml +28 -0
  169. package/components/form-radio/index.js +70 -0
  170. package/components/form-radio/index.json +9 -0
  171. package/components/form-radio/index.wxml +6 -0
  172. package/components/form-region/index.js +59 -0
  173. package/components/form-region/index.json +9 -0
  174. package/components/form-region/index.wxml +6 -0
  175. package/components/form-select/index.js +114 -0
  176. package/components/form-select/index.json +9 -0
  177. package/components/form-select/index.wxml +31 -0
  178. package/components/form-select-multiple/index.js +97 -0
  179. package/components/form-select-multiple/index.json +9 -0
  180. package/components/form-select-multiple/index.wxml +29 -0
  181. package/components/form-switch/index.js +43 -0
  182. package/components/form-switch/index.json +9 -0
  183. package/components/form-switch/index.wxml +6 -0
  184. package/components/form-text-area/index.js +95 -0
  185. package/components/form-text-area/index.json +9 -0
  186. package/components/form-text-area/index.wxml +26 -0
  187. package/components/form-time/index.js +72 -0
  188. package/components/form-time/index.json +9 -0
  189. package/components/form-time/index.wxml +6 -0
  190. package/components/form-upload-file/index.js +73 -0
  191. package/components/form-upload-file/index.json +9 -0
  192. package/components/form-upload-file/index.wxml +26 -0
  193. package/components/form-url/index.js +104 -0
  194. package/components/form-url/index.json +9 -0
  195. package/components/form-url/index.wxml +28 -0
  196. package/components/formdetail/index.js +330 -0
  197. package/components/formdetail/index.json +7 -0
  198. package/components/formdetail/index.wxml +7 -0
  199. package/components/formdetail/index.wxss +277 -0
  200. package/components/formdetail/wd-form-detail.wxss +245 -0
  201. package/components/graphicCard/chevron-right.svg +3 -0
  202. package/components/graphicCard/index.js +205 -0
  203. package/components/graphicCard/index.json +7 -0
  204. package/components/graphicCard/index.wxml +27 -0
  205. package/components/graphicCard/index.wxss +165 -0
  206. package/components/grid/_util.wxss +67 -0
  207. package/components/grid/col/index.js +110 -0
  208. package/components/grid/col/index.json +4 -0
  209. package/components/grid/col/index.wxml +3 -0
  210. package/components/grid/index.js +94 -0
  211. package/components/grid/index.json +4 -0
  212. package/components/grid/index.wxml +3 -0
  213. package/components/grid/index.wxss +1206 -0
  214. package/components/grid/row/index.js +78 -0
  215. package/components/grid/row/index.json +4 -0
  216. package/components/grid/row/index.wxml +3 -0
  217. package/components/image/index.js +203 -0
  218. package/components/image/index.json +7 -0
  219. package/components/image/index.wxml +9 -0
  220. package/components/image/index.wxss +49 -0
  221. package/components/listView/arrow-right-line.svg +3 -0
  222. package/components/listView/emptyText.svg +7 -0
  223. package/components/listView/index.js +656 -0
  224. package/components/listView/index.json +7 -0
  225. package/components/listView/index.wxml +82 -0
  226. package/components/listView/index.wxss +290 -0
  227. package/components/listView/more-line.svg +3 -0
  228. package/components/lottery/index.js +301 -0
  229. package/components/lottery/index.json +4 -0
  230. package/components/lottery/index.wxml +41 -0
  231. package/components/lottery/index.wxss +340 -0
  232. package/components/modal/index.js +65 -0
  233. package/components/modal/index.json +9 -0
  234. package/components/modal/index.wxml +18 -0
  235. package/components/modal/index.wxss +56 -0
  236. package/components/navLayout/index.js +123 -0
  237. package/components/navLayout/index.json +8 -0
  238. package/components/navLayout/index.wxml +22 -0
  239. package/components/navLayout/index.wxss +131 -0
  240. package/components/navigationBar/index.js +205 -0
  241. package/components/navigationBar/index.json +5 -0
  242. package/components/navigationBar/index.wxml +83 -0
  243. package/components/navigationBar/index.wxss +205 -0
  244. package/components/qrcode/index.js +155 -0
  245. package/components/qrcode/index.json +5 -0
  246. package/components/qrcode/index.wxml +2 -0
  247. package/components/qrcode/index.wxss +10 -0
  248. package/components/richText/index.js +90 -0
  249. package/components/richText/index.json +4 -0
  250. package/components/richText/index.wxml +3 -0
  251. package/components/richText/index.wxss +67 -0
  252. package/components/scrollView/index.js +119 -0
  253. package/components/scrollView/index.json +4 -0
  254. package/components/scrollView/index.wxml +38 -0
  255. package/components/slot/index.js +25 -0
  256. package/components/slot/index.json +4 -0
  257. package/components/slot/index.wxml +3 -0
  258. package/components/status-content/arrow-right.svg +1 -0
  259. package/components/status-content/close.svg +1 -0
  260. package/components/status-content/error.svg +6 -0
  261. package/components/status-content/index.js +51 -0
  262. package/components/status-content/index.json +4 -0
  263. package/components/status-content/index.wxml +28 -0
  264. package/components/status-content/index.wxss +145 -0
  265. package/components/swiper/index.js +65 -0
  266. package/components/swiper/index.json +4 -0
  267. package/components/swiper/index.wxml +3 -0
  268. package/components/tabs/index.js +67 -0
  269. package/components/tabs/index.json +4 -0
  270. package/components/tabs/index.wxml +10 -0
  271. package/components/tabs/index.wxss +61 -0
  272. package/components/text/index.js +40 -0
  273. package/components/text/index.json +4 -0
  274. package/components/text/index.wxml +7 -0
  275. package/components/text/index.wxss +27 -0
  276. package/components/tooltip/index.js +290 -0
  277. package/components/tooltip/index.json +4 -0
  278. package/components/tooltip/index.wxml +18 -0
  279. package/components/tooltip/index.wxss +72 -0
  280. package/components/tooltip/wd-tooltip.wxss +25 -0
  281. package/components/wd-ad/index.js +66 -0
  282. package/components/wd-ad/index.json +5 -0
  283. package/components/wd-ad/index.wxml +3 -0
  284. package/components/wd-ad/index.wxss +3 -0
  285. package/components/wd-audio/index.js +273 -0
  286. package/components/wd-audio/index.json +5 -0
  287. package/components/wd-audio/index.wxml +3 -0
  288. package/components/wd-audio/index.wxss +0 -0
  289. package/components/wd-button/index.js +284 -0
  290. package/components/wd-button/index.json +7 -0
  291. package/components/wd-button/index.wxml +32 -0
  292. package/components/wd-button/index.wxss +2 -0
  293. package/components/wd-button/wd-button.wxss +498 -0
  294. package/components/wd-calendar/arrowright--line.svg +3 -0
  295. package/components/wd-calendar/index.js +157 -0
  296. package/components/wd-calendar/index.json +5 -0
  297. package/components/wd-calendar/index.wxml +36 -0
  298. package/components/wd-calendar/index.wxss +203 -0
  299. package/components/wd-calendar/weeks.js +41 -0
  300. package/components/wd-canvas/index.js +250 -0
  301. package/components/wd-canvas/index.json +5 -0
  302. package/components/wd-canvas/index.wxml +2 -0
  303. package/components/wd-canvas/index.wxss +0 -0
  304. package/components/wd-card/index.js +76 -0
  305. package/components/wd-card/index.json +5 -0
  306. package/components/wd-card/index.wxml +11 -0
  307. package/components/wd-card/index.wxss +6 -0
  308. package/components/wd-card/wd-card.wxss +114 -0
  309. package/components/wd-checkbox-list/index.js +170 -0
  310. package/components/wd-checkbox-list/index.json +7 -0
  311. package/components/wd-checkbox-list/index.wxml +37 -0
  312. package/components/wd-checkbox-list/index.wxss +2 -0
  313. package/components/wd-checkbox-list/wd-checkbox-list.wxss +253 -0
  314. package/components/wd-date/calendar/index.js +111 -0
  315. package/components/wd-date/calendar/index.json +7 -0
  316. package/components/wd-date/calendar/index.wxml +38 -0
  317. package/components/wd-date/calendar/index.wxss +0 -0
  318. package/components/wd-date/date-picker/index.js +101 -0
  319. package/components/wd-date/date-picker/index.json +9 -0
  320. package/components/wd-date/date-picker/index.wxml +41 -0
  321. package/components/wd-date/date-picker/index.wxss +7 -0
  322. package/components/wd-date/index.js +129 -0
  323. package/components/wd-date/index.json +10 -0
  324. package/components/wd-date/index.wxml +36 -0
  325. package/components/wd-date/index.wxss +9 -0
  326. package/components/wd-date/modal/index.js +28 -0
  327. package/components/wd-date/modal/index.json +5 -0
  328. package/components/wd-date/modal/index.wxml +14 -0
  329. package/components/wd-date/modal/index.wxss +3 -0
  330. package/components/wd-date/time-picker/index.js +202 -0
  331. package/components/wd-date/time-picker/index.json +5 -0
  332. package/components/wd-date/time-picker/index.wxml +13 -0
  333. package/components/wd-date/time-picker/index.wxss +9 -0
  334. package/components/wd-date/wd-date.wxss +0 -0
  335. package/components/wd-date/year-month-picker/index.js +128 -0
  336. package/components/wd-date/year-month-picker/index.json +5 -0
  337. package/components/wd-date/year-month-picker/index.wxml +8 -0
  338. package/components/wd-date/year-month-picker/index.wxss +9 -0
  339. package/components/wd-date-range/index.js +172 -0
  340. package/components/wd-date-range/index.json +10 -0
  341. package/components/wd-date-range/index.wxml +41 -0
  342. package/components/wd-date-range/index.wxss +9 -0
  343. package/components/wd-date-range/wd-date-range.wxss +0 -0
  344. package/components/wd-divider/index.js +46 -0
  345. package/components/wd-divider/index.json +5 -0
  346. package/components/wd-divider/index.wxml +1 -0
  347. package/components/wd-divider/index.wxss +2 -0
  348. package/components/wd-divider/wd-divider.wxss +26 -0
  349. package/components/wd-form/form-utils.js +55 -0
  350. package/components/wd-form/index.js +748 -0
  351. package/components/wd-form/index.json +5 -0
  352. package/components/wd-form/index.wxml +13 -0
  353. package/components/wd-form/index.wxss +23 -0
  354. package/components/wd-form/remote-value.js +76 -0
  355. package/components/wd-form/wd-form.wxss +1091 -0
  356. package/components/wd-form-item/index.js +106 -0
  357. package/components/wd-form-item/index.json +7 -0
  358. package/components/wd-form-item/index.wxml +47 -0
  359. package/components/wd-form-item/index.wxss +2 -0
  360. package/components/wd-form-item/wd-form-item.wxss +1091 -0
  361. package/components/wd-form-item-read-only/index.js +59 -0
  362. package/components/wd-form-item-read-only/index.json +5 -0
  363. package/components/wd-form-item-read-only/index.wxml +10 -0
  364. package/components/wd-icon/index.js +140 -0
  365. package/components/wd-icon/index.json +7 -0
  366. package/components/wd-icon/index.wxml +4 -0
  367. package/components/wd-icon/index.wxss +4 -0
  368. package/components/wd-icon/wd-font-icon.wxss +4432 -0
  369. package/components/wd-icon/wd-icon.wxss +148 -0
  370. package/components/wd-image/index.js +244 -0
  371. package/components/wd-image/index.json +7 -0
  372. package/components/wd-image/index.wxml +11 -0
  373. package/components/wd-image/index.wxss +11 -0
  374. package/components/wd-image/wd-image.wxss +80 -0
  375. package/components/wd-input/index.js +62 -0
  376. package/components/wd-input/index.json +7 -0
  377. package/components/wd-input/index.wxml +57 -0
  378. package/components/wd-input/inner-input/index.js +202 -0
  379. package/components/wd-input/inner-input/index.json +9 -0
  380. package/components/wd-input/inner-input/index.wxml +79 -0
  381. package/components/wd-input/inner-input/index.wxss +2 -0
  382. package/components/wd-input/inner-input/wd-input.wxss +1574 -0
  383. package/components/wd-input-email/index.js +63 -0
  384. package/components/wd-input-email/index.json +7 -0
  385. package/components/wd-input-email/index.wxml +55 -0
  386. package/components/wd-input-group/index.js +57 -0
  387. package/components/wd-input-group/index.json +5 -0
  388. package/components/wd-input-group/index.wxml +16 -0
  389. package/components/wd-input-group/index.wxss +1 -0
  390. package/components/wd-input-group/wd-input-group.wxss +99 -0
  391. package/components/wd-input-number/index.js +575 -0
  392. package/components/wd-input-number/index.json +10 -0
  393. package/components/wd-input-number/index.wxml +66 -0
  394. package/components/wd-input-number/index.wxss +8 -0
  395. package/components/wd-input-number/number.js +309 -0
  396. package/components/wd-input-number/wd-input-number.wxss +243 -0
  397. package/components/wd-input-phone/index.js +80 -0
  398. package/components/wd-input-phone/index.json +7 -0
  399. package/components/wd-input-phone/index.wxml +55 -0
  400. package/components/wd-input-url/index.js +63 -0
  401. package/components/wd-input-url/index.json +7 -0
  402. package/components/wd-input-url/index.wxml +55 -0
  403. package/components/wd-input-wrap/index.js +112 -0
  404. package/components/wd-input-wrap/index.json +7 -0
  405. package/components/wd-input-wrap/index.wxml +32 -0
  406. package/components/wd-input-wrap/index.wxss +2 -0
  407. package/components/wd-input-wrap/wd-input-wrap.wxss +220 -0
  408. package/components/wd-layout/index.js +33 -0
  409. package/components/wd-layout/index.json +5 -0
  410. package/components/wd-layout/index.wxml +13 -0
  411. package/components/wd-layout/index.wxss +2 -0
  412. package/components/wd-layout/wd-layout.wxss +78 -0
  413. package/components/wd-location/index.js +49 -0
  414. package/components/wd-location/index.json +10 -0
  415. package/components/wd-location/index.wxml +47 -0
  416. package/components/wd-menu-base-layout/index.js +20 -0
  417. package/components/wd-menu-base-layout/index.json +5 -0
  418. package/components/wd-menu-base-layout/index.wxml +3 -0
  419. package/components/wd-menu-horizontal-layout/index.js +20 -0
  420. package/components/wd-menu-horizontal-layout/index.json +5 -0
  421. package/components/wd-menu-horizontal-layout/index.wxml +3 -0
  422. package/components/wd-menu-layout/index.js +69 -0
  423. package/components/wd-menu-layout/index.json +8 -0
  424. package/components/wd-menu-layout/index.wxml +57 -0
  425. package/components/wd-menu-layout/index.wxss +13 -0
  426. package/components/wd-menu-layout/utils/index.js +40 -0
  427. package/components/wd-menu-layout/wd-menu-layout.wxss +632 -0
  428. package/components/wd-menu-list/index.js +246 -0
  429. package/components/wd-menu-list/index.json +7 -0
  430. package/components/wd-menu-list/index.wxml +50 -0
  431. package/components/wd-menu-list/index.wxss +146 -0
  432. package/components/wd-menu-list/wd-menu-list.wxss +621 -0
  433. package/components/wd-menu-nav-layout/index.js +20 -0
  434. package/components/wd-menu-nav-layout/index.json +5 -0
  435. package/components/wd-menu-nav-layout/index.wxml +3 -0
  436. package/components/wd-menu-plant-layout/index.js +20 -0
  437. package/components/wd-menu-plant-layout/index.json +5 -0
  438. package/components/wd-menu-plant-layout/index.wxml +3 -0
  439. package/components/wd-menu-tab-layout/index.js +20 -0
  440. package/components/wd-menu-tab-layout/index.json +5 -0
  441. package/components/wd-menu-tab-layout/index.wxml +3 -0
  442. package/components/wd-menu-vertical-layout/index.js +20 -0
  443. package/components/wd-menu-vertical-layout/index.json +5 -0
  444. package/components/wd-menu-vertical-layout/index.wxml +3 -0
  445. package/components/wd-modal/index.js +184 -0
  446. package/components/wd-modal/index.json +5 -0
  447. package/components/wd-modal/index.wxml +16 -0
  448. package/components/wd-modal/index.wxss +2 -0
  449. package/components/wd-modal/wd-modal.wxss +206 -0
  450. package/components/wd-official-account/index.js +28 -0
  451. package/components/wd-official-account/index.json +5 -0
  452. package/components/wd-official-account/index.wxml +1 -0
  453. package/components/wd-official-account/index.wxss +4 -0
  454. package/components/wd-progress/index.js +127 -0
  455. package/components/wd-progress/index.json +7 -0
  456. package/components/wd-progress/index.wxml +29 -0
  457. package/components/wd-progress/index.wxss +2 -0
  458. package/components/wd-progress/wd-progress.wxss +1123 -0
  459. package/components/wd-radio-list/index.js +157 -0
  460. package/components/wd-radio-list/index.json +7 -0
  461. package/components/wd-radio-list/index.wxml +37 -0
  462. package/components/wd-radio-list/index.wxss +2 -0
  463. package/components/wd-radio-list/wd-radio-list.wxss +181 -0
  464. package/components/wd-rating/index.js +359 -0
  465. package/components/wd-rating/index.json +9 -0
  466. package/components/wd-rating/index.wxml +37 -0
  467. package/components/wd-rating/index.wxss +2 -0
  468. package/components/wd-rating/wd-rating.wxss +1116 -0
  469. package/components/wd-region/index.js +38 -0
  470. package/components/wd-region/index.json +10 -0
  471. package/components/wd-region/index.wxml +28 -0
  472. package/components/wd-region/index.wxss +4 -0
  473. package/components/wd-select/index.js +78 -0
  474. package/components/wd-select/index.json +10 -0
  475. package/components/wd-select/index.wxml +51 -0
  476. package/components/wd-select/select.wxss +728 -0
  477. package/components/wd-select-multiple/index.js +74 -0
  478. package/components/wd-select-multiple/index.json +10 -0
  479. package/components/wd-select-multiple/index.wxml +51 -0
  480. package/components/wd-side-tab/index.js +113 -0
  481. package/components/wd-side-tab/index.json +7 -0
  482. package/components/wd-side-tab/index.wxml +6 -0
  483. package/components/wd-side-tab/index.wxss +1 -0
  484. package/components/wd-switch/index.js +67 -0
  485. package/components/wd-switch/index.json +7 -0
  486. package/components/wd-switch/index.wxml +28 -0
  487. package/components/wd-switch/index.wxss +2 -0
  488. package/components/wd-switch/wd-switch.wxss +1212 -0
  489. package/components/wd-tabbar/index.js +196 -0
  490. package/components/wd-tabbar/index.json +7 -0
  491. package/components/wd-tabbar/index.wxml +10 -0
  492. package/components/wd-tabbar/index.wxss +2 -0
  493. package/components/wd-tabbar/wd-tabbar.wxss +87 -0
  494. package/components/wd-tabs/index.js +62 -0
  495. package/components/wd-tabs/index.json +5 -0
  496. package/components/wd-tabs/index.wxml +34 -0
  497. package/components/wd-tabs/index.wxss +8 -0
  498. package/components/wd-tabs/wd-tabs.wxss +265 -0
  499. package/components/wd-tag/index.js +171 -0
  500. package/components/wd-tag/index.json +7 -0
  501. package/components/wd-tag/index.wxml +22 -0
  502. package/components/wd-tag/index.wxss +3 -0
  503. package/components/wd-tag/tag-behavior.js +57 -0
  504. package/components/wd-tag/tag-item/index.js +198 -0
  505. package/components/wd-tag/tag-item/index.json +7 -0
  506. package/components/wd-tag/tag-item/index.wxml +15 -0
  507. package/components/wd-tag/wd-tag.wxss +319 -0
  508. package/components/wd-tag-select/index.js +107 -0
  509. package/components/wd-tag-select/index.json +8 -0
  510. package/components/wd-tag-select/index.wxml +42 -0
  511. package/components/wd-tag-select/index.wxss +4 -0
  512. package/components/wd-tag-select/wd-tag-select.wxss +1253 -0
  513. package/components/wd-text/index.js +162 -0
  514. package/components/wd-text/index.json +5 -0
  515. package/components/wd-text/index.wxml +8 -0
  516. package/components/wd-text/index.wxss +2 -0
  517. package/components/wd-text/wd-text.wxss +256 -0
  518. package/components/wd-textarea/index.js +94 -0
  519. package/components/wd-textarea/index.json +7 -0
  520. package/components/wd-textarea/index.wxml +31 -0
  521. package/components/wd-textarea/index.wxss +7 -0
  522. package/components/wd-textarea/wd-textarea.wxss +91 -0
  523. package/components/wd-time/index.js +124 -0
  524. package/components/wd-time/index.json +11 -0
  525. package/components/wd-time/index.wxml +36 -0
  526. package/components/wd-time/index.wxss +9 -0
  527. package/components/wd-time/wd-time.wxss +0 -0
  528. package/components/wd-top-tab/index.js +113 -0
  529. package/components/wd-top-tab/index.json +7 -0
  530. package/components/wd-top-tab/index.wxml +6 -0
  531. package/components/wd-top-tab/index.wxss +5 -0
  532. package/components/wd-unified-link/index.js +115 -0
  533. package/components/wd-unified-link/index.json +5 -0
  534. package/components/wd-unified-link/index.wxml +3 -0
  535. package/components/wd-unified-link/index.wxss +2 -0
  536. package/components/wd-unified-link/wd-link.wxss +45 -0
  537. package/components/wd-upload-file/index.js +46 -0
  538. package/components/wd-upload-file/index.json +8 -0
  539. package/components/wd-upload-file/index.wxml +39 -0
  540. package/components/wd-upload-image/index.js +64 -0
  541. package/components/wd-upload-image/index.json +8 -0
  542. package/components/wd-upload-image/index.wxml +45 -0
  543. package/components/web-view/index.js +69 -0
  544. package/components/web-view/index.json +5 -0
  545. package/components/web-view/index.wxml +1 -0
  546. package/components/web-view/index.wxss +1 -0
  547. package/components/wedaVideo/index.js +179 -0
  548. package/components/wedaVideo/index.json +4 -0
  549. package/components/wedaVideo/index.wxml +29 -0
  550. package/components/wedaVideo/index.wxss +20 -0
  551. package/components/wxOpenApi/phone/index.js +122 -0
  552. package/components/wxOpenApi/phone/index.json +4 -0
  553. package/components/wxOpenApi/phone/index.wxml +4 -0
  554. package/components/wxOpenApi/phone/index.wxss +22 -0
  555. package/components/wxOpenApi/phoneCode/index.js +102 -0
  556. package/components/wxOpenApi/phoneCode/index.json +4 -0
  557. package/components/wxOpenApi/phoneCode/index.wxml +4 -0
  558. package/components/wxOpenApi/phoneCode/index.wxss +22 -0
  559. package/components/wxOpenApi/share/index.js +134 -0
  560. package/components/wxOpenApi/share/index.json +4 -0
  561. package/components/wxOpenApi/share/index.wxml +4 -0
  562. package/components/wxOpenApi/share/index.wxss +22 -0
  563. package/components/wxOpenApi/userInfo/index.js +97 -0
  564. package/components/wxOpenApi/userInfo/index.json +4 -0
  565. package/components/wxOpenApi/userInfo/index.wxml +4 -0
  566. package/components/wxOpenApi/userInfo/index.wxss +22 -0
  567. package/index.json +128 -0
  568. package/package.json +16 -0
  569. package/style/utils.wxss +162 -0
  570. package/style/wd-design.wxss +606 -0
  571. package/style/weda-ui.wxss +1412 -0
  572. package/style/wedatea2td.wxss +56 -0
  573. package/utils/classnames.js +39 -0
  574. package/utils/color.js +76 -0
  575. package/utils/common-behavior.js +1 -0
  576. package/utils/constant.js +132 -0
  577. package/utils/date.js +47 -0
  578. package/utils/dayjs.min.js +1 -0
  579. package/utils/debounce.js +134 -0
  580. package/utils/deepEqual.js +42 -0
  581. package/utils/destr.js +49 -0
  582. package/utils/dr_square_point.js +29 -0
  583. package/utils/enum.js +1247 -0
  584. package/utils/error.js +12 -0
  585. package/utils/getCustomInfo.js +34 -0
  586. package/utils/getFormLegacy.js +401 -0
  587. package/utils/getModelParams.js +43 -0
  588. package/utils/getWedaApi.js +1 -0
  589. package/utils/handleEvents.js +34 -0
  590. package/utils/lodash.js +65 -0
  591. package/utils/platform.js +158 -0
  592. package/utils/qqmap-wx-jssdk1.2/qqmap-wx-jssdk.js +1323 -0
  593. package/utils/qrcode/weapp.qrcode.min.js +911 -0
  594. package/utils/range.js +82 -0
  595. package/utils/tcb.js +162 -0
  596. package/utils/tool.js +74 -0
  597. package/utils/widget-api.js +28 -0
@@ -0,0 +1,656 @@
1
+ /* eslint-disable rulesdir/no-timer*/
2
+ import { getWedaAPI } from '../../utils/getWedaApi';
3
+ import { getModelParams, getPageParams } from '../../utils/getModelParams';
4
+ import { commonCompBehavior } from '../../utils/common-behavior';
5
+ import { callDataSource } from '../../utils/tcb';
6
+ import isEqual from '../../utils/deepEqual';
7
+ import { textToString } from '../../utils/platform';
8
+
9
+ import { WdCompError } from '../../utils/error';
10
+ const LISTVIEW_MESSAGE = {
11
+ methods_no_support: '当前组件绑定了APIs,暂不支持进行数据删除',
12
+ deleteOne_param_error: '参数"数据标识"格式错误',
13
+ deleteOne_success: '删除数据成功',
14
+ deleteOne_fail: '删除数据失败',
15
+ refresh_success: '刷新数据成功',
16
+ refresh_fail: '刷新数据失败',
17
+ };
18
+
19
+ Component({
20
+ options: {
21
+ virtualHost: true,
22
+ },
23
+ behaviors: [commonCompBehavior],
24
+ properties: {
25
+ className: {
26
+ type: String,
27
+ value: '',
28
+ },
29
+ style: {
30
+ type: String,
31
+ value: '',
32
+ },
33
+ datasource: {
34
+ type: Object,
35
+ value: {},
36
+ },
37
+ bindConnectMetadata: {
38
+ type: Object,
39
+ value: {},
40
+ },
41
+ connectorMethod: {
42
+ type: Object,
43
+ value: {},
44
+ },
45
+ connectorParams: {
46
+ type: Object,
47
+ value: {},
48
+ },
49
+ dataSourceType: {
50
+ type: String,
51
+ value: '',
52
+ },
53
+ dataSourceData: {
54
+ type: null,
55
+ // 小程序 optionalTypes 有坑
56
+ // 在值为 undefined 可能会出现 TypeError: Cannot read property 'constructor' of undefined
57
+ // optionalTypes: [Object],
58
+ value: [],
59
+ },
60
+ orderBy: {
61
+ type: String,
62
+ },
63
+ orderType: {
64
+ type: String,
65
+ },
66
+ where: {
67
+ type: Array,
68
+ value: [],
69
+ },
70
+ queryCondition: {
71
+ type: Array,
72
+ value: [],
73
+ },
74
+ pageSize: {
75
+ type: Number,
76
+ value: 5,
77
+ },
78
+ template: {
79
+ type: String,
80
+ value: 'simpleList',
81
+ },
82
+ pagination: {
83
+ type: String,
84
+ value: 'loadMoreButton',
85
+ },
86
+ isRecords: {
87
+ type: Boolean,
88
+ value: true,
89
+ },
90
+ isSetStatus: {
91
+ type: Boolean,
92
+ value: false,
93
+ },
94
+ isSetLoading: {
95
+ type: Boolean,
96
+ value: true,
97
+ },
98
+ emptyText: {
99
+ type: String,
100
+ value: '',
101
+ },
102
+ loadCompletedText: {
103
+ type: String,
104
+ value: '',
105
+ },
106
+ beforeDataChange: {
107
+ type: Function,
108
+ value: (v) => v,
109
+ },
110
+ refType: {
111
+ type: String,
112
+ value: 'listView',
113
+ },
114
+ enableTotal: {
115
+ type: Boolean,
116
+ value: false,
117
+ },
118
+ total: {
119
+ type: Number,
120
+ value: 0,
121
+ },
122
+ loadButtonText: {
123
+ type: String,
124
+ },
125
+ loading: {
126
+ type: Boolean,
127
+ value: false,
128
+ },
129
+ },
130
+ data: {
131
+ pageNo: 1,
132
+ listTotal: 0,
133
+ records: [],
134
+ pageStr: '0/0',
135
+ status: '',
136
+ _status: '',
137
+ isModel: true,
138
+ isDataViewApis: false,
139
+ isVisiableSign: false,
140
+ loadButtonTextFinal: '',
141
+ isSetLoadingFinal: true,
142
+ isSetStatusFinal: false,
143
+ delayRef: {
144
+ current: {
145
+ version: null,
146
+ initTimer: null,
147
+ statusTimer: null,
148
+ eventTimer: null,
149
+ exprTimer: null,
150
+ initExpr: false,
151
+ },
152
+ },
153
+ paramRef: [],
154
+ },
155
+ methods: {
156
+ // 数据列表设置表达式: 区分前后端分页
157
+ setExpression: function () {
158
+ const {
159
+ dataSourceData,
160
+ enableTotal,
161
+ total: _total,
162
+ isRecords,
163
+ pageSize,
164
+ pagination,
165
+ } = this.properties;
166
+ const { pageNo } = this.data;
167
+ let records = [];
168
+ let total = 0;
169
+ if (Array.isArray(dataSourceData)) {
170
+ if (enableTotal) {
171
+ records = dataSourceData;
172
+ total = !isNaN(parseInt(`${_total}`)) ? _total : 0;
173
+ } else {
174
+ const count = pageSize * pageNo;
175
+ if (['loadMoreButton', 'bottomLoad'].includes(pagination)) {
176
+ records = dataSourceData.slice(0, count);
177
+ } else {
178
+ records = dataSourceData.slice(pageSize * (pageNo - 1), count);
179
+ }
180
+ total = dataSourceData.length;
181
+ }
182
+ }
183
+ const pageStr = this.getPageStr(total, pageNo, pageSize);
184
+ this.data.delayRef.current.initExpr = true;
185
+ this.setData({ records, listTotal: total, pageStr }, () =>
186
+ this.onSuccessCb({ records, total, isTriggerEmpty: isRecords })
187
+ );
188
+ },
189
+
190
+ // 列表容器拉取数据
191
+ fetchData: async function (param = {}) {
192
+ const {
193
+ pageNo: currentPageNo,
194
+ records: currentRecords,
195
+ isFetchCurrent,
196
+ forceClear = false,
197
+ } = Object.assign({}, this.data, param);
198
+ const {
199
+ datasource,
200
+ bindConnectMetadata,
201
+ connectorMethod,
202
+ connectorParams,
203
+ pageSize,
204
+ dataSourceType,
205
+ pagination,
206
+ enableTotal,
207
+ } = this.properties;
208
+
209
+ this.setData({ pageNo: currentPageNo });
210
+
211
+ // 分页变化事件
212
+ this.triggerEvent('onPagingChange', {
213
+ query: { pageNo: currentPageNo, pageSize },
214
+ });
215
+ if (dataSourceType === 'expression') {
216
+ this.setData({ _status: 'loading' });
217
+ this.data.delayRef.current.exprTimer = setTimeout(
218
+ () => this.setData({ _status: '' }),
219
+ 3000
220
+ );
221
+ !enableTotal &&
222
+ this.data.delayRef.current.initExpr &&
223
+ this.setExpression();
224
+ return;
225
+ }
226
+
227
+ const fetchVersion = (this.data.delayRef.current.version = Date.now());
228
+ const { isModel, isDataViewApis } = this.data;
229
+
230
+ // tcb分页参数
231
+ let tcbParams = getPageParams(currentPageNo, pageSize);
232
+ let data = {};
233
+ let dataSourceName, methodName, extra, eventDataSource;
234
+ if (isModel) {
235
+ dataSourceName = datasource?.name;
236
+ extra = datasource?.extra;
237
+ methodName =
238
+ typeof extra?.methodName === 'string'
239
+ ? extra?.methodName
240
+ : 'wedaGetRecords';
241
+ eventDataSource = datasource;
242
+ const modelParams = getModelParams(this.properties);
243
+ tcbParams = { ...tcbParams, ...modelParams };
244
+ } else {
245
+ dataSourceName = bindConnectMetadata?.datasource?.name;
246
+ extra = bindConnectMetadata?.datasource?.extra;
247
+ methodName = connectorMethod?.name;
248
+ eventDataSource = { ...bindConnectMetadata, ...connectorMethod };
249
+ tcbParams = { ...connectorParams, ...tcbParams };
250
+ }
251
+
252
+ if (!(dataSourceName && methodName)) {
253
+ console.warn(`当前请求缺少必要参数 dataSourceName或methodName`);
254
+ return;
255
+ }
256
+ this.setData({ _status: 'loading' });
257
+
258
+ // tcb 请求
259
+ try {
260
+ if (isFetchCurrent) {
261
+ data = await this._fetchDataLoop(
262
+ {
263
+ dataSourceName,
264
+ methodName,
265
+ params: tcbParams,
266
+ swr: { forceClear },
267
+ },
268
+ this.data.records.length
269
+ );
270
+ } else {
271
+ data = await callDataSource(
272
+ {
273
+ dataSourceName,
274
+ methodName,
275
+ params: tcbParams,
276
+ swr: { forceClear },
277
+ },
278
+ true
279
+ );
280
+ }
281
+ if (fetchVersion !== this.data.delayRef.current.version) return;
282
+
283
+ // 处理数据
284
+ let records = isDataViewApis ? [].concat(data) : data?.records || [];
285
+ let listTotal = isDataViewApis ? 0 : Number(data?.total) || 0;
286
+ if (['loadMoreButton', 'bottomLoad'].includes(pagination)) {
287
+ records = [...currentRecords, ...records];
288
+ }
289
+ const pageStr = this.getPageStr(listTotal, currentPageNo, pageSize);
290
+ this.setData(
291
+ {
292
+ records,
293
+ listTotal,
294
+ pageNo: currentPageNo,
295
+ pageStr,
296
+ },
297
+ () =>
298
+ this.onSuccessCb({
299
+ records,
300
+ total: listTotal,
301
+ isTriggerEmpty: !isDataViewApis,
302
+ datasource: eventDataSource,
303
+ })
304
+ );
305
+ } catch (e) {
306
+ const obj = this.onFailCb(e);
307
+ throw new WdCompError(`${obj?.message}`, {
308
+ code: obj?.code,
309
+ requestId: obj?.requestId,
310
+ original: e?.original,
311
+ });
312
+ }
313
+ },
314
+
315
+ // 循环调用接口获取当前已加载的数据
316
+ _fetchDataLoop: async function (param = {}, count = 0) {
317
+ let [records, total] = [[], 0];
318
+ try {
319
+ const { app } = getWedaAPI();
320
+ const { params, dataSourceName, methodName, swr } = param;
321
+ const MAX_PAGESIZE = Math.min(1000, count);
322
+ const loopLength = Math.ceil(count / MAX_PAGESIZE);
323
+ for (let i = 1; i < loopLength + 1; i++) {
324
+ const tcbParams = { ...params, pageNo: i, pageSize: MAX_PAGESIZE };
325
+ const temp = await app?.cloud?.callDataSource({
326
+ dataSourceName,
327
+ methodName,
328
+ params: tcbParams,
329
+ swr,
330
+ });
331
+ records = records.concat(temp.records || []);
332
+ total = temp.total || 0;
333
+ }
334
+ } catch (e) {
335
+ console.error('_fetchDataLoop: ', e);
336
+ }
337
+ return { records: records.slice(0, count), total };
338
+ },
339
+
340
+ // 分页器页码
341
+ getPageStr: function (total, pageNo, pageSize) {
342
+ return `${total > 0 ? pageNo : 0}/${Math.ceil(total / pageSize) || 0}`;
343
+ },
344
+
345
+ // 下一页
346
+ handleNext: function () {
347
+ if (
348
+ this.data.status === 'loading' ||
349
+ !(this.properties.pageSize * this.data.pageNo < this.data.listTotal)
350
+ ) {
351
+ return;
352
+ }
353
+ this.fetchData({ pageNo: this.data.pageNo + 1 });
354
+ },
355
+
356
+ // 上一页
357
+ handlePre: function () {
358
+ if (this.data.status === 'loading' || !(this.properties.pageNo > 1)) {
359
+ return;
360
+ }
361
+ this.fetchData({ pageNo: this.data.pageNo - 1 });
362
+ },
363
+
364
+ // 加载成功(包含为空)事件
365
+ onSuccessCb: function ({ records, total, isTriggerEmpty, datasource }) {
366
+ const beforeDataChange = this.properties.beforeDataChange || ((v) => v);
367
+ const isDelay = ['loadMoreButton', 'bottomLoad'].includes(
368
+ this.properties.pagination
369
+ );
370
+ this.triggerEvent('onDataChange', {
371
+ data: beforeDataChange(records),
372
+ state: this.getContextState(),
373
+ });
374
+ clearTimeout(this.data.delayRef.current.exprTimer);
375
+ if (total === 0 && isTriggerEmpty) {
376
+ this.setData({ _status: 'empty' });
377
+ this.triggerEvent('queryEmpty', {
378
+ datasource,
379
+ data: beforeDataChange([]),
380
+ });
381
+ } else {
382
+ const statusCb = () => this.setData({ _status: 'success' });
383
+ if (isDelay) {
384
+ this.data.delayRef.current.statusTimer = setTimeout(statusCb, 300);
385
+ } else {
386
+ statusCb();
387
+ }
388
+ }
389
+ const successCb = () => {
390
+ this.triggerEvent('querySuccess', {
391
+ datasource,
392
+ data: beforeDataChange(records),
393
+ });
394
+ };
395
+ if (isDelay) {
396
+ this.data.delayRef.current.eventTimer = setTimeout(successCb, 350);
397
+ } else {
398
+ successCb();
399
+ }
400
+ },
401
+
402
+ // 失败事件
403
+ onFailCb: function (e) {
404
+ this.setData({ _status: 'fail' });
405
+ const code =
406
+ e?.code ||
407
+ (this.properties.refType === 'dataView'
408
+ ? 'WdDataView.QueryError'
409
+ : 'WdListView.QueryError');
410
+ const obj = {
411
+ code,
412
+ message: `${e?.message}`,
413
+ requestId: e?.original?.original?.requestID,
414
+ };
415
+ this.setData({ errorObj: obj });
416
+ this.triggerEvent('queryFail', {
417
+ error: { ...obj, original: e?.original },
418
+ });
419
+ return obj;
420
+ },
421
+
422
+ // 计算上下文对象数据
423
+ getContextState: function (state) {
424
+ const { listTotal, pageNo } = this.data;
425
+ let { pageSize } = this.properties;
426
+ return { total: listTotal, pageNo, pageSize, ...state };
427
+ },
428
+
429
+ // 开始监听sign
430
+ _observerSign: function () {
431
+ setTimeout(() => {
432
+ this.signObserver = this.createIntersectionObserver();
433
+ this.signObserver
434
+ .relativeToViewport()
435
+ .observe('#weda-list-view_sign', (res) => {
436
+ this.setData({ isVisiableSign: res?.intersectionRatio > 0 });
437
+ });
438
+ }, 500);
439
+ },
440
+
441
+ // 组件刷新,查看第1页数据
442
+ _methodRefreshFromStart: async function () {
443
+ try {
444
+ this._clearDelay();
445
+ await this.fetchData({ pageNo: 1, records: [], forceClear: true });
446
+ } catch (e) {
447
+ wx.showToast({
448
+ title: LISTVIEW_MESSAGE.refresh_fail,
449
+ duration: 2000,
450
+ icon: 'error',
451
+ });
452
+ throw e;
453
+ }
454
+ },
455
+
456
+ // 组件刷新,查看当前页数据
457
+ _methodRefreshKeepPage: async function () {
458
+ try {
459
+ this._clearDelay();
460
+ const { pageNo, listTotal } = this.data;
461
+ const { pageSize } = this.properties;
462
+ if (this.properties.pagination === 'pagination') {
463
+ const pageNoRaw =
464
+ (pageNo - 1) * pageSize + 1 === listTotal ? pageNo - 1 : pageNo;
465
+ await this.fetchData({
466
+ pageNo: pageNoRaw,
467
+ records: [],
468
+ forceClear: true,
469
+ });
470
+ } else if (
471
+ ['loadMoreButton', 'bottomLoad'].includes(this.properties.pagination)
472
+ ) {
473
+ await this.fetchData({
474
+ records: [],
475
+ isFetchCurrent: true,
476
+ forceClear: true,
477
+ });
478
+ } else {
479
+ await this._methodRefreshFromStart();
480
+ }
481
+ } catch (e) {
482
+ wx.showToast({
483
+ title: LISTVIEW_MESSAGE.refresh_fail,
484
+ duration: 2000,
485
+ icon: 'error',
486
+ });
487
+ throw e;
488
+ }
489
+ },
490
+
491
+ // 组件刷新方法
492
+ methodRefresh: async function (params) {
493
+ try {
494
+ if (typeof params === 'object' && params?.type === 'refreshKeepPage') {
495
+ await this._methodRefreshKeepPage();
496
+ } else {
497
+ await this._methodRefreshFromStart();
498
+ }
499
+ } catch (error) {
500
+ throw new WdCompError(`${error?.message}` || '', {
501
+ code: error?.code
502
+ ? error?.code
503
+ : this.properties.refType === 'dataView'
504
+ ? 'WdDataView.RefreshError'
505
+ : 'WdListView.RefreshError',
506
+ requestId: error?.requestId,
507
+ original: error?.original,
508
+ });
509
+ }
510
+ },
511
+
512
+ // 组件删除单条数据
513
+ methodDeleteOne: async function (params) {
514
+ try {
515
+ if (!this.data.isModel) {
516
+ throw new WdCompError(
517
+ `${LISTVIEW_MESSAGE.methods_no_support}` || '',
518
+ {
519
+ code: `${
520
+ this.properties.refType === 'dataView'
521
+ ? 'WdDataView'
522
+ : 'WdListView'
523
+ }.ActionNotSupport`,
524
+ }
525
+ );
526
+ }
527
+ const _id = params?._id;
528
+ if (!_id || typeof _id !== 'string') {
529
+ throw new WdCompError(
530
+ `${LISTVIEW_MESSAGE.deleteOne_param_error}` || '',
531
+ {
532
+ code: `${
533
+ this.properties.refType === 'dataView'
534
+ ? 'WdDataView'
535
+ : 'WdListView'
536
+ }.DeleteOneParamError`,
537
+ }
538
+ );
539
+ }
540
+ const { app } = getWedaAPI();
541
+ await app?.cloud?.callDataSource(
542
+ {
543
+ dataSourceName: this.properties.datasource.name,
544
+ methodName: 'wedaDelete',
545
+ params: { _id },
546
+ },
547
+ true
548
+ );
549
+ await this._methodRefreshKeepPage();
550
+ } catch (e) {
551
+ wx.showToast({
552
+ title: e?.message || LISTVIEW_MESSAGE.deleteOne_fail,
553
+ duration: 2000,
554
+ icon: 'none',
555
+ });
556
+ throw new WdCompError(`${e?.message}` || '', {
557
+ code: e?.code
558
+ ? e?.code
559
+ : this.properties.refType === 'dataView'
560
+ ? 'WdDataView.DeleteOneError'
561
+ : 'WdListView.DeleteOneError',
562
+ requestId: e?.original?.original?.requestID,
563
+ original: e?.original,
564
+ });
565
+ }
566
+ },
567
+ _clearDelay: function () {
568
+ clearTimeout(this.data.delayRef.current.initTimer);
569
+ clearTimeout(this.data.delayRef.current.statusTimer);
570
+ clearTimeout(this.data.delayRef.current.eventTimer);
571
+ clearTimeout(this.data.delayRef.current.exprTimer);
572
+ },
573
+ updateWidgetAPI() {
574
+ const { records, listTotal, pageNo, errorObj } = this.data;
575
+ let { pageSize } = this.properties;
576
+ this.setReadonlyAttributes &&
577
+ this.setReadonlyAttributes({
578
+ records,
579
+ total: listTotal,
580
+ pageSize,
581
+ pageNo,
582
+ refresh: this.methodRefresh.bind(this),
583
+ deleteOne: this.methodDeleteOne.bind(this),
584
+ error: errorObj,
585
+ });
586
+ },
587
+ },
588
+ observers: {
589
+ 'datasource,bindConnectMetadata,connectorMethod,orderBy,orderType,pageSize,pagination,where,queryCondition,connectorParams,dataSourceType':
590
+ function (...rest) {
591
+ if (isEqual(this.data.paramRef, rest)) return;
592
+ this.data.paramRef = rest;
593
+ this._clearDelay();
594
+ this.data.delayRef.current.initTimer = setTimeout(() => {
595
+ this.fetchData({ pageNo: 1, records: [] });
596
+ }, 500);
597
+ },
598
+ 'dataSourceType,dataSourceData,total,enableTotal': function () {
599
+ if (this.properties.dataSourceType === 'expression') {
600
+ console.log('====dataSourceData====', this.data.dataSourceData);
601
+ this.setExpression();
602
+ }
603
+ },
604
+ 'isVisiableSign,status': function (dIsVisiableSign, dStatus) {
605
+ if (
606
+ dIsVisiableSign &&
607
+ ['', 'success'].includes(dStatus) &&
608
+ this.properties.pagination === 'bottomLoad'
609
+ ) {
610
+ this.handleNext();
611
+ }
612
+ },
613
+ 'dataSourceType,isRecords,loadButtonText': function (
614
+ dataSourceType,
615
+ isRecords,
616
+ loadButtonText
617
+ ) {
618
+ const isModel = dataSourceType === 'data-model';
619
+ const isDataViewApis = !isRecords && !isModel;
620
+ const loadButtonTextFinal = textToString(loadButtonText) || '加载更多';
621
+ this.setData({ isModel, isDataViewApis, loadButtonTextFinal });
622
+ },
623
+ 'records,listTotal,pageNo,pageSize,errorObj': function () {
624
+ this.updateWidgetAPI();
625
+ },
626
+ 'dataSourceType,isSetLoading,isSetStatus': function (d, i1, i2) {
627
+ const isSetLoadingFinal = d !== 'expression' ? i1 : true;
628
+ const isSetStatusFinal = d !== 'expression' ? i2 : false;
629
+ this.setData({ isSetLoadingFinal, isSetStatusFinal });
630
+ },
631
+ 'dataSourceType,loading,_status': function (d, l, s) {
632
+ let status = s;
633
+ if (d === 'expression') {
634
+ status = l ? 'loading' : '';
635
+ }
636
+ this.setData({ status });
637
+ },
638
+ },
639
+ lifetimes: {
640
+ attached: function () {
641
+ this._observerSign();
642
+ this.updateWidgetAPI();
643
+ this.triggerEvent('onDataChange', {
644
+ data: [],
645
+ state: {},
646
+ });
647
+ },
648
+ detached: function () {
649
+ this.signObserver?.disconnect();
650
+ this.triggerEvent('onDataChange', {
651
+ data: null,
652
+ state: {},
653
+ });
654
+ },
655
+ },
656
+ });
@@ -0,0 +1,7 @@
1
+ {
2
+ "component": true,
3
+ "styleIsolation": "shared",
4
+ "usingComponents": {
5
+ "status-content": "../status-content"
6
+ }
7
+ }