amis 1.5.6-beta.4 → 1.5.8-beta.2

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 (427) hide show
  1. package/.husky/pre-commit +1 -1
  2. package/lib/Schema.d.ts +3 -2
  3. package/lib/Schema.js.map +1 -1
  4. package/lib/components/AsideNav.d.ts +1 -1
  5. package/lib/components/AsideNav.js.map +1 -1
  6. package/lib/components/AssociatedSelection.d.ts +84 -84
  7. package/lib/components/AssociatedSelection.js +2 -2
  8. package/lib/components/AssociatedSelection.js.map +2 -2
  9. package/lib/components/Avatar.d.ts +135 -0
  10. package/lib/components/Avatar.js +120 -0
  11. package/lib/components/Avatar.js.map +13 -0
  12. package/lib/components/BaiduMapPicker.js.map +2 -2
  13. package/lib/components/CalendarMobile.d.ts +547 -0
  14. package/lib/components/CalendarMobile.js +432 -0
  15. package/lib/components/CalendarMobile.js.map +13 -0
  16. package/lib/components/Card.d.ts +20 -20
  17. package/lib/components/Card.js +1 -1
  18. package/lib/components/Card.js.map +2 -2
  19. package/lib/components/ChainedSelection.d.ts +84 -84
  20. package/lib/components/ChainedSelection.js +15 -3
  21. package/lib/components/ChainedSelection.js.map +2 -2
  22. package/lib/components/CodeMirror.d.ts +26 -0
  23. package/lib/components/CodeMirror.js +104 -0
  24. package/lib/components/CodeMirror.js.map +13 -0
  25. package/lib/components/Collapse.d.ts +22 -21
  26. package/lib/components/Collapse.js +1 -1
  27. package/lib/components/Collapse.js.map +2 -2
  28. package/lib/components/ColorPicker.d.ts +85 -84
  29. package/lib/components/ColorPicker.js +15 -3
  30. package/lib/components/ColorPicker.js.map +2 -2
  31. package/lib/components/DatePicker.d.ts +84 -84
  32. package/lib/components/DatePicker.js +15 -5
  33. package/lib/components/DatePicker.js.map +2 -2
  34. package/lib/components/DateRangePicker.d.ts +86 -84
  35. package/lib/components/DateRangePicker.js +22 -5
  36. package/lib/components/DateRangePicker.js.map +2 -2
  37. package/lib/components/GroupedSelection.d.ts +84 -84
  38. package/lib/components/GroupedSelection.js +14 -2
  39. package/lib/components/GroupedSelection.js.map +2 -2
  40. package/lib/components/MonthRangePicker.d.ts +86 -84
  41. package/lib/components/MonthRangePicker.js +20 -5
  42. package/lib/components/MonthRangePicker.js.map +2 -2
  43. package/lib/components/Overlay.d.ts +1 -1
  44. package/lib/components/Overlay.js.map +1 -1
  45. package/lib/components/Picker.js +9 -4
  46. package/lib/components/Picker.js.map +2 -2
  47. package/lib/components/PickerColumn.js +0 -1
  48. package/lib/components/PickerColumn.js.map +2 -2
  49. package/lib/components/PickerContainer.d.ts +5 -1
  50. package/lib/components/PickerContainer.js +14 -7
  51. package/lib/components/PickerContainer.js.map +2 -2
  52. package/lib/components/PopUp.d.ts +94 -0
  53. package/lib/components/PopUp.js +58 -0
  54. package/lib/components/PopUp.js.map +13 -0
  55. package/lib/components/Rating.d.ts +203 -73
  56. package/lib/components/Rating.js +147 -31
  57. package/lib/components/Rating.js.map +2 -2
  58. package/lib/components/ResultBox.js +2 -1
  59. package/lib/components/ResultBox.js.map +2 -2
  60. package/lib/components/ResultList.d.ts +9 -2
  61. package/lib/components/ResultList.js +22 -2
  62. package/lib/components/ResultList.js.map +2 -2
  63. package/lib/components/Select.d.ts +237 -237
  64. package/lib/components/Select.js +1 -1
  65. package/lib/components/Select.js.map +1 -1
  66. package/lib/components/Selection.d.ts +94 -86
  67. package/lib/components/Selection.js +11 -2
  68. package/lib/components/Selection.js.map +2 -2
  69. package/lib/components/Steps.d.ts +1 -0
  70. package/lib/components/Steps.js +5 -3
  71. package/lib/components/Steps.js.map +2 -2
  72. package/lib/components/TableSelection.d.ts +85 -85
  73. package/lib/components/TableSelection.js +1 -9
  74. package/lib/components/TableSelection.js.map +2 -2
  75. package/lib/components/Tabs.js +31 -33
  76. package/lib/components/Tabs.js.map +2 -2
  77. package/lib/components/TabsTransfer.d.ts +87 -256
  78. package/lib/components/TabsTransfer.js +52 -9
  79. package/lib/components/TabsTransfer.js.map +2 -2
  80. package/lib/components/TabsTransferPicker.d.ts +1 -1
  81. package/lib/components/TabsTransferPicker.js +21 -19
  82. package/lib/components/TabsTransferPicker.js.map +2 -2
  83. package/lib/components/Timeline.d.ts +69 -0
  84. package/lib/components/Timeline.js +16 -0
  85. package/lib/components/Timeline.js.map +13 -0
  86. package/lib/components/TimelineItem.d.ts +516 -0
  87. package/lib/components/TimelineItem.js +41 -0
  88. package/lib/components/TimelineItem.js.map +13 -0
  89. package/lib/components/Transfer.d.ts +100 -98
  90. package/lib/components/Transfer.js +2 -3
  91. package/lib/components/Transfer.js.map +2 -2
  92. package/lib/components/TransferDropDown.d.ts +84 -84
  93. package/lib/components/TransferDropDown.js +1 -5
  94. package/lib/components/TransferDropDown.js.map +2 -2
  95. package/lib/components/TransferPicker.d.ts +1 -1
  96. package/lib/components/TransferPicker.js +21 -19
  97. package/lib/components/TransferPicker.js.map +2 -2
  98. package/lib/components/TreeSelection.d.ts +85 -85
  99. package/lib/components/TreeSelection.js +7 -1
  100. package/lib/components/TreeSelection.js.map +2 -2
  101. package/lib/components/calendar/Calendar.d.ts +5 -0
  102. package/lib/components/calendar/Calendar.js +15 -2
  103. package/lib/components/calendar/Calendar.js.map +2 -2
  104. package/lib/components/calendar/DaysView.d.ts +1 -0
  105. package/lib/components/calendar/DaysView.js +25 -13
  106. package/lib/components/calendar/DaysView.js.map +2 -2
  107. package/lib/components/calendar/MonthsView.d.ts +28 -0
  108. package/lib/components/calendar/MonthsView.js +79 -3
  109. package/lib/components/calendar/MonthsView.js.map +2 -2
  110. package/lib/components/calendar/QuartersView.d.ts +1 -0
  111. package/lib/components/calendar/QuartersView.js +2 -2
  112. package/lib/components/calendar/QuartersView.js.map +2 -2
  113. package/lib/components/calendar/TimeView.d.ts +5 -0
  114. package/lib/components/calendar/TimeView.js +8 -5
  115. package/lib/components/calendar/TimeView.js.map +2 -2
  116. package/lib/components/calendar/YearsView.js +6 -4
  117. package/lib/components/calendar/YearsView.js.map +2 -2
  118. package/lib/components/condition-builder/Field.js +1 -4
  119. package/lib/components/condition-builder/Field.js.map +2 -2
  120. package/lib/components/condition-builder/Func.js +1 -1
  121. package/lib/components/condition-builder/Func.js.map +2 -2
  122. package/lib/components/formula/Editor.d.ts +563 -0
  123. package/lib/components/formula/Editor.js +187 -0
  124. package/lib/components/formula/Editor.js.map +13 -0
  125. package/lib/components/formula/FuncList.d.ts +67 -0
  126. package/lib/components/formula/FuncList.js +36 -0
  127. package/lib/components/formula/FuncList.js.map +13 -0
  128. package/lib/components/formula/Picker.d.ts +493 -0
  129. package/lib/components/formula/Picker.js +48 -0
  130. package/lib/components/formula/Picker.js.map +13 -0
  131. package/lib/components/formula/VariableList.d.ts +9 -0
  132. package/lib/components/formula/VariableList.js +15 -0
  133. package/lib/components/formula/VariableList.js.map +13 -0
  134. package/lib/components/formula/plugin.d.ts +18 -0
  135. package/lib/components/formula/plugin.js +136 -0
  136. package/lib/components/formula/plugin.js.map +13 -0
  137. package/lib/components/icons.js +4 -0
  138. package/lib/components/icons.js.map +2 -2
  139. package/lib/components/index.d.ts +2 -1
  140. package/lib/components/index.js +4 -2
  141. package/lib/components/index.js.map +2 -2
  142. package/lib/components/virtual-list/SizeAndPositionManager.js.map +2 -2
  143. package/lib/components/virtual-list/index.js +1 -2
  144. package/lib/components/virtual-list/index.js.map +2 -2
  145. package/lib/factory.js +5 -0
  146. package/lib/factory.js.map +2 -2
  147. package/lib/helper.css +57 -57
  148. package/lib/helper.css.map +1 -1
  149. package/lib/icons/star.js +12 -0
  150. package/lib/icons/tree-down.js +7 -0
  151. package/lib/index.d.ts +2 -0
  152. package/lib/index.js +3 -1
  153. package/lib/index.js.map +2 -2
  154. package/lib/locale/de-DE.js +13 -2
  155. package/lib/locale/de-DE.js.map +2 -2
  156. package/lib/locale/en-US.js +13 -2
  157. package/lib/locale/en-US.js.map +2 -2
  158. package/lib/locale/zh-CN.js +12 -1
  159. package/lib/locale/zh-CN.js.map +2 -2
  160. package/lib/renderers/Avatar.d.ts +35 -26
  161. package/lib/renderers/Avatar.js +14 -19
  162. package/lib/renderers/Avatar.js.map +2 -2
  163. package/lib/renderers/CRUD.js +1 -2
  164. package/lib/renderers/CRUD.js.map +2 -2
  165. package/lib/renderers/Card.js +6 -5
  166. package/lib/renderers/Card.js.map +2 -2
  167. package/lib/renderers/Custom.js.map +2 -2
  168. package/lib/renderers/Each.js +5 -2
  169. package/lib/renderers/Each.js.map +2 -2
  170. package/lib/renderers/Flex.js +1 -5
  171. package/lib/renderers/Flex.js.map +2 -2
  172. package/lib/renderers/Form/ChartRadios.js.map +2 -2
  173. package/lib/renderers/Form/Checkboxes.js.map +2 -2
  174. package/lib/renderers/Form/DiffEditor.js +2 -1
  175. package/lib/renderers/Form/DiffEditor.js.map +2 -2
  176. package/lib/renderers/Form/InputCity.d.ts +84 -84
  177. package/lib/renderers/Form/InputColor.d.ts +84 -84
  178. package/lib/renderers/Form/InputColor.js +1 -1
  179. package/lib/renderers/Form/InputColor.js.map +2 -2
  180. package/lib/renderers/Form/InputDate.js +6 -4
  181. package/lib/renderers/Form/InputDate.js.map +2 -2
  182. package/lib/renderers/Form/InputDateRange.js +1 -1
  183. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  184. package/lib/renderers/Form/InputFormula.d.ts +38 -0
  185. package/lib/renderers/Form/InputFormula.js +25 -0
  186. package/lib/renderers/Form/InputFormula.js.map +13 -0
  187. package/lib/renderers/Form/InputImage.d.ts +1 -0
  188. package/lib/renderers/Form/InputImage.js +8 -4
  189. package/lib/renderers/Form/InputImage.js.map +2 -2
  190. package/lib/renderers/Form/InputMonthRange.js +1 -1
  191. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  192. package/lib/renderers/Form/InputQuarterRange.js +1 -1
  193. package/lib/renderers/Form/InputQuarterRange.js.map +2 -2
  194. package/lib/renderers/Form/InputRating.d.ts +37 -0
  195. package/lib/renderers/Form/InputRating.js +6 -2
  196. package/lib/renderers/Form/InputRating.js.map +2 -2
  197. package/lib/renderers/Form/InputYearRange.js +1 -1
  198. package/lib/renderers/Form/InputYearRange.js.map +2 -2
  199. package/lib/renderers/Form/Item.js +11 -4
  200. package/lib/renderers/Form/Item.js.map +2 -2
  201. package/lib/renderers/Form/NestedSelect.js +1 -1
  202. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  203. package/lib/renderers/Form/Select.js +1 -1
  204. package/lib/renderers/Form/Select.js.map +2 -2
  205. package/lib/renderers/Form/TabsTransfer.d.ts +5 -32
  206. package/lib/renderers/Form/TabsTransfer.js +20 -1
  207. package/lib/renderers/Form/TabsTransfer.js.map +2 -2
  208. package/lib/renderers/Form/TabsTransferPicker.d.ts +5 -35
  209. package/lib/renderers/Form/TabsTransferPicker.js +21 -2
  210. package/lib/renderers/Form/TabsTransferPicker.js.map +2 -2
  211. package/lib/renderers/Form/Transfer.d.ts +15 -4
  212. package/lib/renderers/Form/Transfer.js +55 -18
  213. package/lib/renderers/Form/Transfer.js.map +2 -2
  214. package/lib/renderers/Form/TransferPicker.d.ts +3 -32
  215. package/lib/renderers/Form/TransferPicker.js +1 -1
  216. package/lib/renderers/Form/TransferPicker.js.map +2 -2
  217. package/lib/renderers/Form/TreeSelect.d.ts +1 -0
  218. package/lib/renderers/Form/TreeSelect.js +11 -8
  219. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  220. package/lib/renderers/Form/index.js +2 -1
  221. package/lib/renderers/Form/index.js.map +2 -2
  222. package/lib/renderers/IFrame.js +0 -2
  223. package/lib/renderers/IFrame.js.map +2 -2
  224. package/lib/renderers/Json.js +7 -0
  225. package/lib/renderers/Json.js.map +2 -2
  226. package/lib/renderers/Nav.js +4 -1
  227. package/lib/renderers/Nav.js.map +2 -2
  228. package/lib/renderers/Remark.d.ts +4 -0
  229. package/lib/renderers/Remark.js +38 -7
  230. package/lib/renderers/Remark.js.map +2 -2
  231. package/lib/renderers/Steps.js +5 -5
  232. package/lib/renderers/Steps.js.map +2 -2
  233. package/lib/renderers/Table/TableRow.js +4 -1
  234. package/lib/renderers/Table/TableRow.js.map +2 -2
  235. package/lib/renderers/Table/index.js +4 -1
  236. package/lib/renderers/Table/index.js.map +2 -2
  237. package/lib/renderers/Tabs.js +1 -1
  238. package/lib/renderers/Tabs.js.map +2 -2
  239. package/lib/renderers/Timeline.d.ts +65 -0
  240. package/lib/renderers/Timeline.js +54 -0
  241. package/lib/renderers/Timeline.js.map +13 -0
  242. package/lib/renderers/Video.js.map +2 -2
  243. package/lib/store/combo.js.map +2 -2
  244. package/lib/store/formItem.js +6 -6
  245. package/lib/store/formItem.js.map +2 -2
  246. package/lib/store/table.js +1 -1
  247. package/lib/store/table.js.map +2 -2
  248. package/lib/themes/ang-ie11.css +952 -23
  249. package/lib/themes/ang.css +952 -23
  250. package/lib/themes/ang.css.map +1 -1
  251. package/lib/themes/antd-ie11.css +987 -23
  252. package/lib/themes/antd.css +987 -23
  253. package/lib/themes/antd.css.map +1 -1
  254. package/lib/themes/cxd-ie11.css +991 -24
  255. package/lib/themes/cxd.css +991 -24
  256. package/lib/themes/cxd.css.map +1 -1
  257. package/lib/themes/dark-ie11.css +953 -23
  258. package/lib/themes/dark.css +953 -23
  259. package/lib/themes/dark.css.map +1 -1
  260. package/lib/themes/default.css +991 -24
  261. package/lib/themes/default.css.map +1 -1
  262. package/lib/utils/RootClose.js +3 -1
  263. package/lib/utils/RootClose.js.map +2 -2
  264. package/lib/utils/api.js +2 -2
  265. package/lib/utils/api.js.map +2 -2
  266. package/lib/utils/helper.d.ts +1 -1
  267. package/lib/utils/helper.js +1 -1
  268. package/lib/utils/helper.js.map +2 -2
  269. package/package.json +12 -3
  270. package/schema.json +1224 -671
  271. package/scss/_properties.scss +11 -1
  272. package/scss/_variables.scss +1 -1
  273. package/scss/components/_avatar.scss +27 -9
  274. package/scss/components/_calendar.scss +280 -0
  275. package/scss/components/_card.scss +1 -1
  276. package/scss/components/_collapse-group.scss +1 -3
  277. package/scss/components/_formula.scss +146 -0
  278. package/scss/components/_modal.scss +18 -0
  279. package/scss/components/_panel.scss +45 -0
  280. package/scss/components/_popup.scss +127 -0
  281. package/scss/components/_steps.scss +60 -0
  282. package/scss/components/_timeline.scss +198 -0
  283. package/scss/components/form/_color.scss +4 -0
  284. package/scss/components/form/_date-range.scss +4 -0
  285. package/scss/components/form/_date.scss +3 -0
  286. package/scss/components/form/_form.scss +168 -0
  287. package/scss/components/form/_rating.scss +60 -21
  288. package/scss/components/form/_result-list.scss +2 -0
  289. package/scss/components/form/_selection.scss +5 -4
  290. package/scss/components/form/_tree-select.scss +4 -0
  291. package/scss/helper/background/_background-color.scss +1 -1
  292. package/scss/helper/border/_border-color.scss +1 -1
  293. package/scss/helper/typography/_text-color.scss +1 -1
  294. package/scss/themes/_antd-variables.scss +42 -0
  295. package/scss/themes/_common.scss +3 -0
  296. package/scss/themes/_cxd-variables.scss +50 -1
  297. package/scss/themes/_dark-variables.scss +1 -0
  298. package/sdk/ang-ie11.css +1692 -19
  299. package/sdk/ang.css +1705 -24
  300. package/sdk/antd-ie11.css +1692 -19
  301. package/sdk/antd.css +1740 -24
  302. package/sdk/charts.js +17 -17
  303. package/sdk/codemirror.js +14 -0
  304. package/sdk/color-picker.js +65 -65
  305. package/sdk/cropperjs.js +3 -3
  306. package/sdk/cxd-ie11.css +1693 -20
  307. package/sdk/cxd.css +1744 -25
  308. package/sdk/dark-ie11.css +1693 -20
  309. package/sdk/dark.css +1706 -24
  310. package/sdk/exceljs.js +1 -1
  311. package/sdk/helper.css +57 -57
  312. package/sdk/helper.css.map +1 -1
  313. package/sdk/locale/de-DE.js +13 -2
  314. package/sdk/markdown.js +69 -69
  315. package/sdk/papaparse.js +1 -1
  316. package/sdk/renderers/Form/CityDB.js +1 -1
  317. package/sdk/rest.js +18 -18
  318. package/sdk/rich-text.js +62 -62
  319. package/sdk/sdk-ie11.css +1693 -20
  320. package/sdk/sdk.css +1744 -25
  321. package/sdk/sdk.js +1235 -1275
  322. package/sdk/thirds/hls.js/hls.js +18 -18
  323. package/sdk/thirds/mpegts.js/mpegts.js +2 -2
  324. package/sdk/tinymce.js +57 -57
  325. package/src/Schema.ts +4 -0
  326. package/src/components/AsideNav.tsx +1 -1
  327. package/src/components/AssociatedSelection.tsx +5 -1
  328. package/src/components/Avatar.tsx +253 -0
  329. package/src/components/BaiduMapPicker.tsx +19 -14
  330. package/src/components/CalendarMobile.tsx +563 -0
  331. package/src/components/Card.tsx +2 -2
  332. package/src/components/ChainedSelection.tsx +16 -3
  333. package/src/components/CodeMirror.tsx +99 -0
  334. package/src/components/Collapse.tsx +3 -2
  335. package/src/components/ColorPicker.tsx +43 -3
  336. package/src/components/DatePicker.tsx +44 -8
  337. package/src/components/DateRangePicker.tsx +64 -5
  338. package/src/components/GroupedSelection.tsx +14 -2
  339. package/src/components/MonthRangePicker.tsx +59 -5
  340. package/src/components/Overlay.tsx +1 -1
  341. package/src/components/Picker.tsx +41 -36
  342. package/src/components/PickerColumn.tsx +22 -25
  343. package/src/components/PickerContainer.tsx +23 -7
  344. package/src/components/PopUp.tsx +118 -0
  345. package/src/components/Rating.tsx +235 -47
  346. package/src/components/ResultBox.tsx +4 -1
  347. package/src/components/ResultList.tsx +36 -6
  348. package/src/components/Select.tsx +1 -1
  349. package/src/components/Selection.tsx +21 -3
  350. package/src/components/Steps.tsx +27 -9
  351. package/src/components/TableSelection.tsx +1 -44
  352. package/src/components/Tabs.tsx +65 -54
  353. package/src/components/TabsTransfer.tsx +78 -9
  354. package/src/components/TabsTransferPicker.tsx +25 -13
  355. package/src/components/Timeline.tsx +31 -0
  356. package/src/components/TimelineItem.tsx +107 -0
  357. package/src/components/Transfer.tsx +11 -8
  358. package/src/components/TransferDropDown.tsx +1 -7
  359. package/src/components/TransferPicker.tsx +25 -14
  360. package/src/components/TreeSelection.tsx +7 -1
  361. package/src/components/calendar/Calendar.tsx +26 -6
  362. package/src/components/calendar/DaysView.tsx +79 -31
  363. package/src/components/calendar/MonthsView.tsx +116 -2
  364. package/src/components/calendar/QuartersView.tsx +3 -2
  365. package/src/components/calendar/TimeView.tsx +26 -16
  366. package/src/components/calendar/YearsView.tsx +14 -16
  367. package/src/components/condition-builder/Field.tsx +1 -3
  368. package/src/components/condition-builder/Func.tsx +1 -1
  369. package/src/components/formula/Editor.tsx +266 -0
  370. package/src/components/formula/FuncList.tsx +84 -0
  371. package/src/components/formula/Picker.tsx +87 -0
  372. package/src/components/formula/VariableList.tsx +49 -0
  373. package/src/components/formula/plugin.ts +177 -0
  374. package/src/components/icons.tsx +4 -0
  375. package/src/components/index.tsx +2 -0
  376. package/src/components/virtual-list/SizeAndPositionManager.ts +6 -3
  377. package/src/components/virtual-list/index.tsx +4 -6
  378. package/src/factory.tsx +6 -0
  379. package/src/icons/star.svg +12 -0
  380. package/src/icons/tree-down.svg +5 -0
  381. package/src/index.tsx +2 -0
  382. package/src/locale/de-DE.ts +13 -2
  383. package/src/locale/en-US.ts +13 -2
  384. package/src/locale/zh-CN.ts +12 -1
  385. package/src/renderers/Avatar.tsx +83 -74
  386. package/src/renderers/CRUD.tsx +1 -3
  387. package/src/renderers/Card.tsx +10 -6
  388. package/src/renderers/Custom.tsx +6 -3
  389. package/src/renderers/Each.tsx +4 -4
  390. package/src/renderers/Flex.tsx +3 -7
  391. package/src/renderers/Form/ChartRadios.tsx +2 -7
  392. package/src/renderers/Form/Checkboxes.tsx +1 -1
  393. package/src/renderers/Form/DiffEditor.tsx +2 -3
  394. package/src/renderers/Form/InputColor.tsx +1 -2
  395. package/src/renderers/Form/InputDate.tsx +39 -18
  396. package/src/renderers/Form/InputDateRange.tsx +1 -0
  397. package/src/renderers/Form/InputFormula.tsx +80 -0
  398. package/src/renderers/Form/InputImage.tsx +9 -4
  399. package/src/renderers/Form/InputMonthRange.tsx +1 -0
  400. package/src/renderers/Form/InputQuarterRange.tsx +1 -0
  401. package/src/renderers/Form/InputRating.tsx +66 -3
  402. package/src/renderers/Form/InputYearRange.tsx +1 -0
  403. package/src/renderers/Form/Item.tsx +15 -4
  404. package/src/renderers/Form/NestedSelect.tsx +1 -1
  405. package/src/renderers/Form/Select.tsx +0 -1
  406. package/src/renderers/Form/TabsTransfer.tsx +28 -38
  407. package/src/renderers/Form/TabsTransferPicker.tsx +28 -46
  408. package/src/renderers/Form/Transfer.tsx +75 -24
  409. package/src/renderers/Form/TransferPicker.tsx +6 -38
  410. package/src/renderers/Form/TreeSelect.tsx +80 -63
  411. package/src/renderers/Form/index.tsx +2 -1
  412. package/src/renderers/IFrame.tsx +0 -2
  413. package/src/renderers/Json.tsx +5 -0
  414. package/src/renderers/Nav.tsx +4 -1
  415. package/src/renderers/Remark.tsx +67 -18
  416. package/src/renderers/Steps.tsx +13 -13
  417. package/src/renderers/Table/TableRow.tsx +3 -1
  418. package/src/renderers/Table/index.tsx +7 -1
  419. package/src/renderers/Tabs.tsx +6 -2
  420. package/src/renderers/Timeline.tsx +141 -0
  421. package/src/renderers/Video.tsx +4 -20
  422. package/src/store/combo.ts +1 -3
  423. package/src/store/formItem.ts +2 -2
  424. package/src/store/table.ts +2 -1
  425. package/src/utils/RootClose.ts +5 -1
  426. package/src/utils/api.ts +5 -2
  427. package/src/utils/helper.ts +1 -1
@@ -0,0 +1,177 @@
1
+ /**
2
+ * @file 扩展 codemirror
3
+ */
4
+
5
+ import type CodeMirror from 'codemirror';
6
+ import {eachTree} from '../../utils/helper';
7
+ import type {FormulaEditorProps, VariableItem} from './Editor';
8
+
9
+ export function editorFactory(
10
+ dom: HTMLElement,
11
+ cm: typeof CodeMirror,
12
+ props: any
13
+ ) {
14
+ registerLaunguageMode(cm);
15
+
16
+ console.log('here', props.evalMode);
17
+
18
+ return cm(dom, {
19
+ value: props.value || '',
20
+ autofocus: true,
21
+ mode: props.evalMode ? 'text/formula' : 'text/formula-template'
22
+ });
23
+ }
24
+
25
+ export class FormulaPlugin {
26
+ constructor(
27
+ readonly editor: CodeMirror.Editor,
28
+ readonly cm: typeof CodeMirror,
29
+ readonly getProps: () => FormulaEditorProps
30
+ ) {
31
+ // editor.on('change', this.autoMarkText);
32
+ this.autoMarkText();
33
+ }
34
+
35
+ autoMarkText() {
36
+ const {functions, variables, value} = this.getProps();
37
+ if (value) {
38
+ // todo functions 也需要自动替换
39
+ this.autoMark(variables);
40
+ }
41
+ }
42
+
43
+ insertContent(value: any, type: 'variable' | 'func') {
44
+ const from = this.editor.getCursor();
45
+ if (type === 'variable') {
46
+ this.editor.replaceSelection(value.key);
47
+ var to = this.editor.getCursor();
48
+
49
+ this.markText(from, to, value.name, 'cm-field');
50
+ } else if (type === 'func') {
51
+ // todo 支持 snippet,目前是不支持的
52
+
53
+ this.editor.replaceSelection(`${value}()`);
54
+ var to = this.editor.getCursor();
55
+ this.markText(
56
+ from,
57
+ {
58
+ line: to.line,
59
+ ch: to.ch - 2
60
+ },
61
+ value,
62
+ 'cm-func'
63
+ );
64
+
65
+ this.editor.setCursor({
66
+ line: to.line,
67
+ ch: to.ch - 1
68
+ });
69
+ } else if (typeof value === 'string') {
70
+ this.editor.replaceSelection(value);
71
+ }
72
+
73
+ this.editor.focus();
74
+ }
75
+
76
+ markText(
77
+ from: CodeMirror.Position,
78
+ to: CodeMirror.Position,
79
+ label: string,
80
+ className = 'cm-func'
81
+ ) {
82
+ const text = document.createElement('span');
83
+ text.className = className;
84
+ text.innerText = label;
85
+ this.editor.markText(from, to, {
86
+ atomic: true,
87
+ replacedWith: text
88
+ });
89
+ }
90
+
91
+ autoMark(variables: Array<VariableItem>) {
92
+ if (!Array.isArray(variables) || !variables.length) {
93
+ return;
94
+ }
95
+
96
+ const varMap: {
97
+ [propname: string]: string;
98
+ } = {};
99
+
100
+ eachTree(
101
+ variables,
102
+ item => item.value && (varMap[item.value] = item.label)
103
+ );
104
+ const vars = Object.keys(varMap).sort((a, b) => b.length - a.length);
105
+
106
+ const editor = this.editor;
107
+ const lines = editor.lineCount();
108
+ for (let line = 0; line < lines; line++) {
109
+ const content = editor.getLine(line);
110
+
111
+ // 标记方法调用
112
+ content.replace(/([A-Z]+)\s*\(/g, (_, func, pos) => {
113
+ this.markText(
114
+ {
115
+ line: line,
116
+ ch: pos
117
+ },
118
+ {
119
+ line: line,
120
+ ch: pos + func.length
121
+ },
122
+ func,
123
+ 'cm-func'
124
+ );
125
+ return _;
126
+ });
127
+
128
+ // 标记变量
129
+ vars.forEach(v => {
130
+ let from = 0;
131
+ let idx = -1;
132
+ while (~(idx = content.indexOf(v, from))) {
133
+ this.markText(
134
+ {
135
+ line: line,
136
+ ch: idx
137
+ },
138
+ {
139
+ line: line,
140
+ ch: idx + v.length
141
+ },
142
+ varMap[v],
143
+ 'cm-field'
144
+ );
145
+ from = idx + v.length;
146
+ }
147
+ });
148
+ }
149
+ }
150
+
151
+ dispose() {}
152
+
153
+ validate() {}
154
+ }
155
+
156
+ let modeRegisted = false;
157
+ function registerLaunguageMode(cm: typeof CodeMirror) {
158
+ if (modeRegisted) {
159
+ return;
160
+ }
161
+ modeRegisted = true;
162
+
163
+ // 对应 evalMode
164
+ cm.defineMode('formula', (config: any, parserConfig: any) => {
165
+ var formula = cm.getMode(config, 'javascript');
166
+ if (!parserConfig || !parserConfig.base) return formula;
167
+
168
+ return cm.multiplexingMode(cm.getMode(config, parserConfig.base), {
169
+ open: '${',
170
+ close: '}',
171
+ mode: formula
172
+ });
173
+ });
174
+
175
+ cm.defineMIME('text/formula', {name: 'formula'});
176
+ cm.defineMIME('text/formula-template', {name: 'formula', base: 'htmlmixed'});
177
+ }
@@ -43,6 +43,7 @@ import ExchangeIcon from '../icons/exchange.svg';
43
43
  import ColmunsIcon from '../icons/columns.svg';
44
44
  import CalendarIcon from '../icons/calendar.svg';
45
45
  import ClockIcon from '../icons/clock.svg';
46
+ import TreeDownIcon from '../icons/tree-down.svg';
46
47
 
47
48
  import CopyIcon from '../icons/copy.svg';
48
49
  import FilterIcon from '../icons/filter.svg';
@@ -70,6 +71,7 @@ import ExpandAltIcon from '../icons/expand-alt.svg';
70
71
  import CompressAltIcon from '../icons/compress-alt.svg';
71
72
  import TransparentIcon from '../icons/transparent.svg';
72
73
  import LoadingOutline from '../icons/loading-outline.svg';
74
+ import Star from '../icons/star.svg';
73
75
  import AlertSuccess from '../icons/alert-success.svg';
74
76
  import AlertInfo from '../icons/alert-info.svg';
75
77
  import AlertWarning from '../icons/alert-warning.svg';
@@ -170,10 +172,12 @@ registerIcon('expand-alt', ExpandAltIcon);
170
172
  registerIcon('compress-alt', CompressAltIcon);
171
173
  registerIcon('transparent', TransparentIcon);
172
174
  registerIcon('loading-outline', LoadingOutline);
175
+ registerIcon('star', Star);
173
176
  registerIcon('alert-success', AlertSuccess);
174
177
  registerIcon('alert-info', AlertInfo);
175
178
  registerIcon('alert-warning', AlertWarning);
176
179
  registerIcon('alert-danger', AlertDanger);
180
+ registerIcon('tree-down', TreeDownIcon);
177
181
 
178
182
  export function Icon({
179
183
  icon,
@@ -8,6 +8,7 @@ import NotFound from './404';
8
8
  import {default as Alert, alert, confirm, prompt} from './Alert';
9
9
  import {default as ContextMenu, openContextMenus} from './ContextMenu';
10
10
  import AsideNav from './AsideNav';
11
+ import Avatar from './Avatar';
11
12
  import Button from './Button';
12
13
  import Checkbox from './Checkbox';
13
14
  import Checkboxes from './Selection';
@@ -60,6 +61,7 @@ export {
60
61
  NotFound,
61
62
  Alert as AlertComponent,
62
63
  alert,
64
+ Avatar,
63
65
  confirm,
64
66
  prompt,
65
67
  ContextMenu,
@@ -72,7 +72,8 @@ export default class SizeAndPositionManager {
72
72
  }
73
73
 
74
74
  if (index > this.lastMeasuredIndex) {
75
- const lastMeasuredSizeAndPosition = this.getSizeAndPositionOfLastMeasuredItem();
75
+ const lastMeasuredSizeAndPosition =
76
+ this.getSizeAndPositionOfLastMeasuredItem();
76
77
  let offset =
77
78
  lastMeasuredSizeAndPosition.offset + lastMeasuredSizeAndPosition.size;
78
79
 
@@ -109,7 +110,8 @@ export default class SizeAndPositionManager {
109
110
  * As items as measured the estimate will be updated.
110
111
  */
111
112
  getTotalSize(): number {
112
- const lastMeasuredSizeAndPosition = this.getSizeAndPositionOfLastMeasuredItem();
113
+ const lastMeasuredSizeAndPosition =
114
+ this.getSizeAndPositionOfLastMeasuredItem();
113
115
 
114
116
  return (
115
117
  lastMeasuredSizeAndPosition.offset +
@@ -232,7 +234,8 @@ export default class SizeAndPositionManager {
232
234
  // So make sure the offset is at least 0 or no match will be found.
233
235
  offset = Math.max(0, offset);
234
236
 
235
- const lastMeasuredSizeAndPosition = this.getSizeAndPositionOfLastMeasuredItem();
237
+ const lastMeasuredSizeAndPosition =
238
+ this.getSizeAndPositionOfLastMeasuredItem();
236
239
  const lastMeasuredIndex = Math.max(0, this.lastMeasuredIndex);
237
240
 
238
241
  if (lastMeasuredSizeAndPosition.offset >= offset) {
@@ -181,8 +181,8 @@ export default class VirtualList extends React.PureComponent<Props, State> {
181
181
  const itemsDom = this.rootNode.children[0].children;
182
182
  const scrollbarWidth =
183
183
  window.innerWidth - document.documentElement.clientWidth || 15;
184
- const containerWidth = this.rootNode.parentElement!.getBoundingClientRect()
185
- .width;
184
+ const containerWidth =
185
+ this.rootNode.parentElement!.getBoundingClientRect().width;
186
186
  let maxItemWidth = 0;
187
187
  for (let i = 0; i < itemsDom.length; i++) {
188
188
  let itemWidth = itemsDom[i].getBoundingClientRect().width;
@@ -427,10 +427,8 @@ export default class VirtualList extends React.PureComponent<Props, State> {
427
427
  }
428
428
 
429
429
  const {scrollDirection = DIRECTION.VERTICAL} = this.props;
430
- const {
431
- size,
432
- offset
433
- } = this.sizeAndPositionManager.getSizeAndPositionForIndex(index);
430
+ const {size, offset} =
431
+ this.sizeAndPositionManager.getSizeAndPositionForIndex(index);
434
432
 
435
433
  return (this.styleCache[index] = sticky
436
434
  ? {
package/src/factory.tsx CHANGED
@@ -257,6 +257,7 @@ const defaultOptions: RenderOptions = {
257
257
  affixOffsetTop: 0,
258
258
  affixOffsetBottom: 0,
259
259
  richTextToken: '',
260
+ useMobileUI: true, // 是否启用移动端原生 UI
260
261
  loadRenderer,
261
262
  fetcher() {
262
263
  return Promise.reject('fetcher is required');
@@ -410,6 +411,11 @@ export function render(
410
411
  env.locale = locale;
411
412
  }
412
413
 
414
+ // 默认将开启移动端原生 UI
415
+ if (typeof options.useMobileUI) {
416
+ props.useMobileUI = true;
417
+ }
418
+
413
419
  // 进行文本替换
414
420
  if (env.replaceText && isObject(env.replaceText)) {
415
421
  const replaceKeys = Object.keys(env.replaceText);
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="12px" height="11px" viewBox="0 0 12 11" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <title>星星</title>
4
+ <g id="页面-1" stroke-width="1" fill-rule="evenodd">
5
+ <g id="画板备份-8" transform="translate(-453.000000, -354.000000)">
6
+ <g id="编组" transform="translate(451.000000, 352.000000)">
7
+ <rect id="矩形" opacity="0" x="0.5" y="0.5" width="15" height="15"></rect>
8
+ <path d="M5.991,5.57 L3.50612104,5.93019955 C2.95954884,6.00942879 2.58069251,6.51674109 2.65992175,7.0633133 C2.69148792,7.28107625 2.79399678,7.48234825 2.95156285,7.63593881 L4.75,9.389 L4.75,9.389 L4.32487658,11.8655653 C4.23143888,12.4098886 4.59695386,12.9268961 5.14127715,13.0203338 C5.35808617,13.0575509 5.58111746,13.0222392 5.77582605,12.9198682 L7.999,11.751 L7.999,11.751 L10.223309,12.9201739 C10.712173,13.1771377 11.3167859,12.9891455 11.5737498,12.5002815 C11.6760846,12.3055935 11.7113789,12.0825978 11.6741677,11.8658233 L11.249,9.389 L11.249,9.389 L13.0473242,7.63660227 C13.4428666,7.25116142 13.4510555,6.6180494 13.0656146,6.22250699 C12.9120633,6.06493147 12.7108304,5.96239489 12.4930948,5.93078419 L10.008,5.57 L10.008,5.57 L8.89657099,3.31725295 C8.65221378,2.82196717 8.05261467,2.61854938 7.5573289,2.86290659 C7.36008347,2.96022079 7.20042315,3.11984957 7.10306997,3.31707577 L5.991,5.57 L5.991,5.57 Z" id="图标-填色"></path>
9
+ </g>
10
+ </g>
11
+ </g>
12
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg"
2
+ viewBox="0 0 1024 1024" width="30"
3
+ fill="currentColor">
4
+ <path d="M512 704L256 384h512z"></path>
5
+ </svg>
package/src/index.tsx CHANGED
@@ -89,6 +89,7 @@ import './renderers/Form/Select';
89
89
  import './renderers/Form/Static';
90
90
  import './renderers/Form/InputDate';
91
91
  import './renderers/Form/InputDateRange';
92
+ import './renderers/Form/InputFormula';
92
93
  import './renderers/Form/InputRepeat';
93
94
  import './renderers/Form/InputTree';
94
95
  import './renderers/Form/TreeSelect';
@@ -164,6 +165,7 @@ import './renderers/Icon';
164
165
  import './renderers/Carousel';
165
166
  import './renderers/AnchorNav';
166
167
  import './renderers/Steps';
168
+ import './renderers/Timeline';
167
169
  import './renderers/Markdown';
168
170
  import './renderers/TableView';
169
171
  import './renderers/Code';
@@ -6,6 +6,15 @@ register('de-DE', {
6
6
  'asc': 'Aufsteigend',
7
7
  'App.home': 'Startseite',
8
8
  'App.navigation': 'Navigation',
9
+ 'Calendar.datepicker': 'Auswahl des Datums',
10
+ 'Calendar.yearmonth': 'YYYY MM',
11
+ 'Calendar.year': 'YYYY',
12
+ 'Calendar.begin': 'beginnt',
13
+ 'Calendar.end': 'ende',
14
+ 'Calendar.beginAndEnd': 'b/e',
15
+ 'Calendar.toast': 'Außerhalb des Datumsbereichs',
16
+ 'Calendar.startPick': 'Wählen Sie Startzeit',
17
+ 'Calendar.endPick': 'Wählen Sie Endzeit',
9
18
  'cancel': 'Abbrechen',
10
19
  'Card.dragTip': 'Obere Schaltfläche zum Sortieren ziehen',
11
20
  'Card.toggleDrag': 'Zum Sortieren umschalten',
@@ -215,7 +224,7 @@ register('de-DE', {
215
224
  'validate.minimum': 'Der Eingabewert ist kleiner als der Mindestwert von $1.',
216
225
  'validate.minLength': 'Geben Sie weitere Zeichen ein, mindestens $1.',
217
226
  'validate.notEmptyString': 'Geben Sie nicht nur Leerzeichen ein.',
218
- 'validateFailed': 'Fehler bei der Überprüfung,',
227
+ 'validateFailed': 'Fehler bei der Überprüfung',
219
228
  'Wizard.configError': 'Konfigurationsfehler',
220
229
  'Wizard.finish': 'Ende',
221
230
  'Wizard.next': 'Weiter',
@@ -254,5 +263,7 @@ register('de-DE', {
254
263
  'Condition.cond_placeholder': 'Bedingung auswählen',
255
264
  'Condition.field_placeholder': 'Feld auswählen',
256
265
  'Condition.blank': 'leer',
257
- 'InputTable.uniqueError': 'Column `{{label}}` unique validate failed'
266
+ 'InputTable.uniqueError': 'Column `{{label}}` unique validate failed',
267
+ 'Timeline.collapseText': 'Entfalten',
268
+ 'Timeline.expandText': 'Falten'
258
269
  });
@@ -6,6 +6,15 @@ register('en-US', {
6
6
  'App.home': 'Home',
7
7
  'App.navigation': 'Navigation',
8
8
  'asc': 'Asc',
9
+ 'Calendar.datepicker': 'Date Picker',
10
+ 'Calendar.yearmonth': 'YYYY MM',
11
+ 'Calendar.year': 'YYYY',
12
+ 'Calendar.begin': 'begin',
13
+ 'Calendar.end': 'end',
14
+ 'Calendar.beginAndEnd': 'b/e',
15
+ 'Calendar.toast': 'Out of date range',
16
+ 'Calendar.startPick': 'Select start time',
17
+ 'Calendar.endPick': 'Select end time',
9
18
  'cancel': 'Cancel',
10
19
  'Card.dragTip': 'Drag top button to sort',
11
20
  'Card.toggleDrag': 'Toggle drag to sort',
@@ -217,7 +226,7 @@ register('en-US', {
217
226
  'validate.minimum': 'The input value is lower than the minimum value of $1',
218
227
  'validate.minLength': 'Please enter more, at least $1 characters.',
219
228
  'validate.notEmptyString': 'Please do not enter all blank characters',
220
- 'validateFailed': 'Validate failed,',
229
+ 'validateFailed': 'Validate failed',
221
230
  'Wizard.configError': 'Config error',
222
231
  'Wizard.finish': 'Finish',
223
232
  'Wizard.next': 'Next',
@@ -256,5 +265,7 @@ register('en-US', {
256
265
  'Condition.cond_placeholder': 'select condition',
257
266
  'Condition.field_placeholder': 'select field',
258
267
  'Condition.blank': 'blank',
259
- 'InputTable.uniqueError': 'Column `{{label}}` unique validate failed'
268
+ 'InputTable.uniqueError': 'Column `{{label}}` unique validate failed',
269
+ 'Timeline.collapseText': 'Unfold',
270
+ 'Timeline.expandText': 'Fold'
260
271
  });
@@ -6,6 +6,15 @@ register('zh-CN', {
6
6
  'App.home': '首页',
7
7
  'App.navigation': '导航',
8
8
  'asc': '正序',
9
+ 'Calendar.datepicker': '日期选择',
10
+ 'Calendar.yearmonth': 'YYYY年MM月',
11
+ 'Calendar.year': 'YYYY年',
12
+ 'Calendar.begin': '开始',
13
+ 'Calendar.end': '结束',
14
+ 'Calendar.beginAndEnd': '始/终',
15
+ 'Calendar.toast': '超出日期范围',
16
+ 'Calendar.startPick': '选择开始时间',
17
+ 'Calendar.endPick': '选择结束时间',
9
18
  'cancel': '取消',
10
19
  'Card.dragTip': '请拖动顶部的按钮进行排序',
11
20
  'Card.toggleDrag': '对卡片进行排序操作',
@@ -260,5 +269,7 @@ register('zh-CN', {
260
269
  'Condition.cond_placeholder': '请选择操作',
261
270
  'Condition.field_placeholder': '请选择字段',
262
271
  'Condition.blank': '空',
263
- 'InputTable.uniqueError': '列`{{label}}`没有通过唯一验证'
272
+ 'InputTable.uniqueError': '列`{{label}}`没有通过唯一验证',
273
+ 'Timeline.collapseText': '展开',
274
+ 'Timeline.expandText': '折叠'
264
275
  });
@@ -3,38 +3,36 @@
3
3
  */
4
4
  import React from 'react';
5
5
  import {Renderer, RendererProps} from '../factory';
6
- import {
7
- BaseSchema,
8
- SchemaClassName,
9
- SchemaIcon,
10
- SchemaUrlPath
11
- } from '../Schema';
6
+ import Avatar from '../components/Avatar';
12
7
  import {BadgeSchema, withBadge} from '../components/Badge';
13
- import {
14
- isPureVariable,
15
- resolveVariable,
16
- resolveVariableAndFilter
17
- } from '../utils/tpl-builtin';
8
+ import {BaseSchema, SchemaClassName} from '../Schema';
9
+ import {isPureVariable, resolveVariableAndFilter} from '../utils/tpl-builtin';
18
10
 
19
- /**
20
- * Avatar 用户头像显示
21
- * 文档:https://baidu.gitee.io/amis/docs/components/avatar
22
- */
23
11
  export interface AvatarSchema extends BaseSchema {
12
+ // 指定类型
13
+ type: 'avatar';
14
+
24
15
  /**
25
- * 指定为用户头像控件
16
+ * 类名
26
17
  */
27
- type: 'avatar';
18
+ className?: SchemaClassName;
28
19
 
29
20
  /**
30
- * 大小
21
+ * 自定义样式
31
22
  */
32
- size?: number;
23
+ style?: {
24
+ [propName: string]: any;
25
+ };
33
26
 
34
27
  /**
35
- * 形状
28
+ * 角标
29
+ */
30
+ badge?: BadgeSchema;
31
+
32
+ /**
33
+ * 图片地址
36
34
  */
37
- shape?: 'circle' | 'square';
35
+ src?: string;
38
36
 
39
37
  /**
40
38
  * 图标
@@ -42,19 +40,29 @@ export interface AvatarSchema extends BaseSchema {
42
40
  icon?: string;
43
41
 
44
42
  /**
45
- * 文本
43
+ * 图片相对于容器的缩放方式
46
44
  */
47
- text?: string;
45
+ fit?: 'fill' | 'contain' | 'cover' | 'none' | 'scale-down';
48
46
 
49
47
  /**
50
- * 图片地址
48
+ * 形状
51
49
  */
52
- src?: string;
50
+ shape?: 'circle' | 'square' | 'rounded';
53
51
 
54
52
  /**
55
- * 图片相对于容器的缩放方式
53
+ * 大小
56
54
  */
57
- fit?: 'fill' | 'contain' | 'cover' | 'none' | 'scale-down';
55
+ size?: number | 'small' | 'default' | 'large';
56
+
57
+ /**
58
+ * 文本
59
+ */
60
+ text?: string;
61
+
62
+ /**
63
+ * 字符类型距离左右两侧边界单位像素
64
+ */
65
+ gap?: number;
58
66
 
59
67
  /**
60
68
  * 图片无法显示时的替换文字地址
@@ -62,82 +70,83 @@ export interface AvatarSchema extends BaseSchema {
62
70
  alt?: string;
63
71
 
64
72
  /**
65
- * 类名
73
+ * 图片是否允许拖动
66
74
  */
67
- className?: SchemaClassName;
75
+ draggable?: boolean;
68
76
 
69
77
  /**
70
- * 自定义样式
78
+ * 图片CORS属性
71
79
  */
72
- style?: {
73
- [propName: string]: any;
74
- };
80
+ crossOrigin: 'anonymous' | 'use-credentials' | '';
75
81
 
76
82
  /**
77
- * 角标
83
+ * 图片加载失败的是否默认处理,字符串函数
78
84
  */
79
- badge?: BadgeSchema;
85
+ onError?: string
80
86
  }
81
87
 
82
- export interface AvatarProps
83
- extends RendererProps,
84
- Omit<AvatarSchema, 'type' | 'className'> {}
88
+ export interface AvatarProps extends RendererProps, Omit<AvatarSchema, 'type' | 'className'> {}
89
+
90
+ export class AvatarField extends React.Component<AvatarProps> {
85
91
 
86
- export class AvatarField extends React.Component<AvatarProps, object> {
87
92
  render() {
88
93
  let {
94
+ style = {},
89
95
  className,
96
+ classnames: cx,
97
+ src,
90
98
  icon = 'fa fa-user',
99
+ fit,
100
+ shape,
101
+ size,
91
102
  text,
92
- src,
93
- fit = 'cover',
94
- data,
95
- shape = 'circle',
96
- size = 40,
97
- style,
98
- classnames: cx,
99
- props
103
+ gap,
104
+ alt,
105
+ draggable,
106
+ crossOrigin,
107
+ onError,
108
+ data
100
109
  } = this.props;
101
110
 
102
- let sizeStyle = {
103
- height: size,
104
- width: size,
105
- lineHeight: size + 'px'
106
- };
111
+ let errHandler = () => false;
107
112
 
108
- if (isPureVariable(text)) {
109
- text = resolveVariableAndFilter(text, data);
113
+ if (typeof onError === 'string') {
114
+ try {
115
+ errHandler = new Function('event', onError) as () => boolean;
116
+ } catch (e) {
117
+ console.warn(onError, e);
118
+ }
110
119
  }
111
120
 
112
121
  if (isPureVariable(src)) {
113
122
  src = resolveVariableAndFilter(src, data, '| raw');
114
123
  }
115
124
 
116
- if (isPureVariable(icon)) {
117
- icon = resolveVariableAndFilter(icon, data);
118
- }
119
-
120
- let avatar = <i className={icon} />;
121
-
122
- if (text) {
123
- if (text.length > 2) {
124
- text = text.substring(0, 2).toUpperCase();
125
- }
126
- avatar = <span>{text}</span>;
125
+ if (isPureVariable(text)) {
126
+ text = resolveVariableAndFilter(text, data);
127
127
  }
128
128
 
129
- if (src) {
130
- avatar = <img src={src} style={{objectFit: fit}} />;
129
+ if (isPureVariable(icon)) {
130
+ icon = resolveVariableAndFilter(icon, data);
131
131
  }
132
132
 
133
133
  return (
134
- <div
135
- className={cx('Avatar', className, `Avatar--${shape}`)}
136
- style={{...sizeStyle, ...style}}
137
- {...props}
138
- >
139
- {avatar}
140
- </div>
134
+ <Avatar
135
+ style={style}
136
+ className={className}
137
+ classnames={cx}
138
+ src={src}
139
+ icon={icon}
140
+ fit={fit}
141
+ shape={shape}
142
+ size={size}
143
+ text={text}
144
+ gap={gap}
145
+ alt={alt}
146
+ draggable={draggable}
147
+ crossOrigin={crossOrigin}
148
+ onError={errHandler}
149
+ />
141
150
  );
142
151
  }
143
152
  }
@@ -1532,9 +1532,7 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1532
1532
  renderBulkActions(childProps: any) {
1533
1533
  let {bulkActions, itemActions, store, render, classnames: cx} = this.props;
1534
1534
 
1535
- const items = childProps.items;
1536
-
1537
- if (!items.length || !bulkActions || !bulkActions.length) {
1535
+ if (!bulkActions || !bulkActions.length) {
1538
1536
  return null;
1539
1537
  }
1540
1538