amis 1.8.0-beta.1 → 1.8.0-beta.13

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 (426) hide show
  1. package/lib/Schema.d.ts +9 -2
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/SchemaRenderer.js +19 -3
  4. package/lib/SchemaRenderer.js.map +2 -2
  5. package/lib/WithRootStore.d.ts +18 -0
  6. package/lib/WithStore.js +2 -1
  7. package/lib/WithStore.js.map +2 -2
  8. package/lib/actions/CmptAction.js +26 -4
  9. package/lib/actions/CmptAction.js.map +2 -2
  10. package/lib/actions/PageAction.d.ts +32 -0
  11. package/lib/actions/PageAction.js +72 -0
  12. package/lib/actions/PageAction.js.map +13 -0
  13. package/lib/actions/index.d.ts +1 -0
  14. package/lib/actions/index.js +1 -0
  15. package/lib/actions/index.js.map +2 -2
  16. package/lib/components/AssociatedSelection.js +9 -2
  17. package/lib/components/AssociatedSelection.js.map +2 -2
  18. package/lib/components/BarCode.js +1 -1
  19. package/lib/components/BarCode.js.map +2 -2
  20. package/lib/components/CalendarMobile.d.ts +84 -84
  21. package/lib/components/Cascader.d.ts +2 -0
  22. package/lib/components/Cascader.js +28 -12
  23. package/lib/components/Cascader.js.map +2 -2
  24. package/lib/components/Checkbox.d.ts +24 -23
  25. package/lib/components/Checkbox.js +5 -1
  26. package/lib/components/Checkbox.js.map +2 -2
  27. package/lib/components/Collapse.d.ts +20 -20
  28. package/lib/components/DatePicker.d.ts +84 -84
  29. package/lib/components/DatePicker.js +8 -5
  30. package/lib/components/DatePicker.js.map +2 -2
  31. package/lib/components/DateRangePicker.d.ts +285 -171
  32. package/lib/components/DateRangePicker.js +471 -66
  33. package/lib/components/DateRangePicker.js.map +2 -2
  34. package/lib/components/Drawer.js +1 -1
  35. package/lib/components/Drawer.js.map +2 -2
  36. package/lib/components/ListGroup.d.ts +21 -21
  37. package/lib/components/Modal.js +1 -1
  38. package/lib/components/Modal.js.map +2 -2
  39. package/lib/components/MonthRangePicker.d.ts +84 -84
  40. package/lib/components/Overlay.d.ts +1 -0
  41. package/lib/components/Overlay.js +4 -3
  42. package/lib/components/Overlay.js.map +2 -2
  43. package/lib/components/Progress.d.ts +29 -24
  44. package/lib/components/Progress.js +44 -16
  45. package/lib/components/Progress.js.map +2 -2
  46. package/lib/components/PullRefresh.d.ts +86 -0
  47. package/lib/components/PullRefresh.js +135 -0
  48. package/lib/components/PullRefresh.js.map +13 -0
  49. package/lib/components/Radios.d.ts +22 -22
  50. package/lib/components/Radios.js +3 -5
  51. package/lib/components/Radios.js.map +2 -2
  52. package/lib/components/Range.d.ts +2 -2
  53. package/lib/components/Range.js +24 -11
  54. package/lib/components/Range.js.map +2 -2
  55. package/lib/components/Spinner.d.ts +200 -107
  56. package/lib/components/Spinner.js +30 -26
  57. package/lib/components/Spinner.js.map +2 -2
  58. package/lib/components/Steps.d.ts +6 -0
  59. package/lib/components/Steps.js +13 -9
  60. package/lib/components/Steps.js.map +2 -2
  61. package/lib/components/Tooltip.d.ts +4 -0
  62. package/lib/components/Tooltip.js +6 -4
  63. package/lib/components/Tooltip.js.map +2 -2
  64. package/lib/components/TooltipWrapper.d.ts +66 -4
  65. package/lib/components/TooltipWrapper.js +40 -8
  66. package/lib/components/TooltipWrapper.js.map +2 -2
  67. package/lib/components/Transfer.d.ts +84 -84
  68. package/lib/components/TransferDropDown.d.ts +84 -84
  69. package/lib/components/Tree.d.ts +87 -85
  70. package/lib/components/Tree.js +13 -5
  71. package/lib/components/Tree.js.map +2 -2
  72. package/lib/components/TreeSelection.d.ts +84 -84
  73. package/lib/components/calendar/Calendar.js +0 -13
  74. package/lib/components/calendar/Calendar.js.map +2 -2
  75. package/lib/components/calendar/TimeView.d.ts +1 -0
  76. package/lib/components/calendar/TimeView.js +7 -0
  77. package/lib/components/calendar/TimeView.js.map +2 -2
  78. package/lib/components/calendar/YearsView.js +3 -3
  79. package/lib/components/calendar/YearsView.js.map +2 -2
  80. package/lib/components/condition-builder/Expression.d.ts +1 -0
  81. package/lib/components/condition-builder/Expression.js +4 -4
  82. package/lib/components/condition-builder/Expression.js.map +2 -2
  83. package/lib/components/condition-builder/Field.d.ts +1 -0
  84. package/lib/components/condition-builder/Field.js +3 -2
  85. package/lib/components/condition-builder/Field.js.map +2 -2
  86. package/lib/components/condition-builder/Group.d.ts +1 -0
  87. package/lib/components/condition-builder/Group.js +2 -2
  88. package/lib/components/condition-builder/Group.js.map +2 -2
  89. package/lib/components/condition-builder/GroupOrItem.d.ts +1 -0
  90. package/lib/components/condition-builder/GroupOrItem.js +2 -2
  91. package/lib/components/condition-builder/GroupOrItem.js.map +2 -2
  92. package/lib/components/condition-builder/InputSwitch.d.ts +2 -1
  93. package/lib/components/condition-builder/InputSwitch.js +2 -2
  94. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  95. package/lib/components/condition-builder/Item.d.ts +1 -0
  96. package/lib/components/condition-builder/Item.js +9 -8
  97. package/lib/components/condition-builder/Item.js.map +2 -2
  98. package/lib/components/condition-builder/Value.d.ts +1 -0
  99. package/lib/components/condition-builder/Value.js +5 -5
  100. package/lib/components/condition-builder/Value.js.map +2 -2
  101. package/lib/components/condition-builder/index.d.ts +1 -0
  102. package/lib/components/condition-builder/index.js +2 -2
  103. package/lib/components/condition-builder/index.js.map +2 -2
  104. package/lib/components/formula/Editor.d.ts +87 -85
  105. package/lib/components/formula/Editor.js +10 -6
  106. package/lib/components/formula/Editor.js.map +2 -2
  107. package/lib/components/formula/Picker.js +3 -1
  108. package/lib/components/formula/Picker.js.map +2 -2
  109. package/lib/factory.d.ts +5 -0
  110. package/lib/factory.js +22 -1
  111. package/lib/factory.js.map +2 -2
  112. package/lib/index.js +1 -1
  113. package/lib/locale/de-DE.js +18 -1
  114. package/lib/locale/de-DE.js.map +2 -2
  115. package/lib/locale/en-US.js +18 -1
  116. package/lib/locale/en-US.js.map +2 -2
  117. package/lib/locale/zh-CN.js +18 -1
  118. package/lib/locale/zh-CN.js.map +2 -2
  119. package/lib/renderers/Action.d.ts +2 -0
  120. package/lib/renderers/Action.js +23 -5
  121. package/lib/renderers/Action.js.map +2 -2
  122. package/lib/renderers/App.d.ts +1 -0
  123. package/lib/renderers/App.js +3 -0
  124. package/lib/renderers/App.js.map +2 -2
  125. package/lib/renderers/CRUD.d.ts +8 -0
  126. package/lib/renderers/CRUD.js +12 -5
  127. package/lib/renderers/CRUD.js.map +2 -2
  128. package/lib/renderers/Carousel.d.ts +1 -0
  129. package/lib/renderers/Carousel.js +13 -1
  130. package/lib/renderers/Carousel.js.map +2 -2
  131. package/lib/renderers/Chart.d.ts +1 -0
  132. package/lib/renderers/Chart.js +3 -0
  133. package/lib/renderers/Chart.js.map +2 -2
  134. package/lib/renderers/Dialog.d.ts +1 -0
  135. package/lib/renderers/Dialog.js +3 -0
  136. package/lib/renderers/Dialog.js.map +2 -2
  137. package/lib/renderers/Drawer.d.ts +1 -0
  138. package/lib/renderers/Drawer.js +6 -1
  139. package/lib/renderers/Drawer.js.map +2 -2
  140. package/lib/renderers/Form/Checkbox.d.ts +5 -2
  141. package/lib/renderers/Form/Checkbox.js +2 -2
  142. package/lib/renderers/Form/Checkbox.js.map +2 -2
  143. package/lib/renderers/Form/Checkboxes.d.ts +7 -2
  144. package/lib/renderers/Form/Checkboxes.js +101 -12
  145. package/lib/renderers/Form/Checkboxes.js.map +2 -2
  146. package/lib/renderers/Form/Combo.d.ts +2 -1
  147. package/lib/renderers/Form/Combo.js +54 -16
  148. package/lib/renderers/Form/Combo.js.map +2 -2
  149. package/lib/renderers/Form/DiffEditor.d.ts +3 -2
  150. package/lib/renderers/Form/Editor.d.ts +2 -2
  151. package/lib/renderers/Form/InputCity.d.ts +87 -84
  152. package/lib/renderers/Form/InputCity.js +44 -2
  153. package/lib/renderers/Form/InputCity.js.map +2 -2
  154. package/lib/renderers/Form/InputDate.js +10 -3
  155. package/lib/renderers/Form/InputDate.js.map +2 -2
  156. package/lib/renderers/Form/InputDateRange.d.ts +5 -0
  157. package/lib/renderers/Form/InputDateRange.js +12 -3
  158. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  159. package/lib/renderers/Form/InputFile.js +19 -8
  160. package/lib/renderers/Form/InputFile.js.map +2 -2
  161. package/lib/renderers/Form/InputImage.js +18 -7
  162. package/lib/renderers/Form/InputImage.js.map +2 -2
  163. package/lib/renderers/Form/InputMonthRange.js +5 -1
  164. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  165. package/lib/renderers/Form/InputRange.js +13 -14
  166. package/lib/renderers/Form/InputRange.js.map +2 -2
  167. package/lib/renderers/Form/InputText.d.ts +1 -1
  168. package/lib/renderers/Form/InputText.js +8 -10
  169. package/lib/renderers/Form/InputText.js.map +2 -2
  170. package/lib/renderers/Form/InputTree.d.ts +5 -0
  171. package/lib/renderers/Form/InputTree.js +51 -2
  172. package/lib/renderers/Form/InputTree.js.map +2 -2
  173. package/lib/renderers/Form/Item.d.ts +79 -76
  174. package/lib/renderers/Form/Item.js +3 -1
  175. package/lib/renderers/Form/Item.js.map +2 -2
  176. package/lib/renderers/Form/NestedSelect.d.ts +4 -0
  177. package/lib/renderers/Form/NestedSelect.js +14 -5
  178. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  179. package/lib/renderers/Form/Options.js +61 -27
  180. package/lib/renderers/Form/Options.js.map +2 -2
  181. package/lib/renderers/Form/Select.js +4 -2
  182. package/lib/renderers/Form/Select.js.map +2 -2
  183. package/lib/renderers/Form/Textarea.js +2 -1
  184. package/lib/renderers/Form/Textarea.js.map +2 -2
  185. package/lib/renderers/Form/TreeSelect.d.ts +11 -2
  186. package/lib/renderers/Form/TreeSelect.js +56 -10
  187. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  188. package/lib/renderers/Form/index.d.ts +3 -0
  189. package/lib/renderers/Form/index.js +53 -16
  190. package/lib/renderers/Form/index.js.map +2 -2
  191. package/lib/renderers/Form/wrapControl.d.ts +10 -0
  192. package/lib/renderers/Form/wrapControl.js +41 -19
  193. package/lib/renderers/Form/wrapControl.js.map +2 -2
  194. package/lib/renderers/Nav.d.ts +82 -67
  195. package/lib/renderers/Nav.js +49 -13
  196. package/lib/renderers/Nav.js.map +2 -2
  197. package/lib/renderers/Page.d.ts +21 -0
  198. package/lib/renderers/Page.js +54 -14
  199. package/lib/renderers/Page.js.map +2 -2
  200. package/lib/renderers/Progress.d.ts +3 -6
  201. package/lib/renderers/Progress.js +2 -2
  202. package/lib/renderers/Progress.js.map +2 -2
  203. package/lib/renderers/Service.d.ts +3 -0
  204. package/lib/renderers/Service.js +55 -20
  205. package/lib/renderers/Service.js.map +2 -2
  206. package/lib/renderers/Spinner.d.ts +58 -2
  207. package/lib/renderers/Spinner.js +8 -1
  208. package/lib/renderers/Spinner.js.map +2 -2
  209. package/lib/renderers/Steps.d.ts +8 -0
  210. package/lib/renderers/Steps.js +2 -2
  211. package/lib/renderers/Steps.js.map +2 -2
  212. package/lib/renderers/Table/ColumnToggler.d.ts +4 -0
  213. package/lib/renderers/Table/ColumnToggler.js +11 -6
  214. package/lib/renderers/Table/ColumnToggler.js.map +2 -2
  215. package/lib/renderers/Table/TableCell.js +27 -1
  216. package/lib/renderers/Table/TableCell.js.map +2 -2
  217. package/lib/renderers/Table/index.d.ts +2 -0
  218. package/lib/renderers/Table/index.js +23 -10
  219. package/lib/renderers/Table/index.js.map +2 -2
  220. package/lib/renderers/Tabs.d.ts +4 -0
  221. package/lib/renderers/Tabs.js +22 -6
  222. package/lib/renderers/Tabs.js.map +2 -2
  223. package/lib/renderers/TooltipWrapper.d.ts +35 -6
  224. package/lib/renderers/TooltipWrapper.js +19 -8
  225. package/lib/renderers/TooltipWrapper.js.map +2 -2
  226. package/lib/renderers/Wizard.d.ts +7 -3
  227. package/lib/renderers/Wizard.js +269 -152
  228. package/lib/renderers/Wizard.js.map +2 -2
  229. package/lib/store/combo.d.ts +2 -2
  230. package/lib/store/crud.d.ts +1 -0
  231. package/lib/store/crud.js +55 -19
  232. package/lib/store/crud.js.map +2 -2
  233. package/lib/store/form.d.ts +1 -1
  234. package/lib/store/form.js +5 -1
  235. package/lib/store/form.js.map +2 -2
  236. package/lib/store/formItem.js +1 -1
  237. package/lib/store/formItem.js.map +2 -2
  238. package/lib/store/index.d.ts +5 -0
  239. package/lib/store/index.js +14 -0
  240. package/lib/store/index.js.map +2 -2
  241. package/lib/store/table.d.ts +2 -2
  242. package/lib/store/table.js +2 -2
  243. package/lib/store/table.js.map +2 -2
  244. package/lib/themes/ang-ie11.css +768 -199
  245. package/lib/themes/ang.css +723 -142
  246. package/lib/themes/ang.css.map +1 -1
  247. package/lib/themes/antd-ie11.css +851 -282
  248. package/lib/themes/antd.css +724 -143
  249. package/lib/themes/antd.css.map +1 -1
  250. package/lib/themes/cxd-ie11.css +879 -310
  251. package/lib/themes/cxd.css +727 -146
  252. package/lib/themes/cxd.css.map +1 -1
  253. package/lib/themes/dark-ie11.css +769 -200
  254. package/lib/themes/dark.css +723 -142
  255. package/lib/themes/dark.css.map +1 -1
  256. package/lib/themes/default-ie11.css +879 -310
  257. package/lib/themes/default.css +727 -146
  258. package/lib/themes/default.css.map +1 -1
  259. package/lib/types.d.ts +3 -1
  260. package/lib/types.js.map +1 -1
  261. package/lib/utils/ColorScale.d.ts +19 -0
  262. package/lib/utils/ColorScale.js +104 -0
  263. package/lib/utils/ColorScale.js.map +13 -0
  264. package/lib/utils/api.js +20 -4
  265. package/lib/utils/api.js.map +2 -2
  266. package/lib/utils/columnsSplit.d.ts +1 -0
  267. package/lib/utils/columnsSplit.js +40 -0
  268. package/lib/utils/columnsSplit.js.map +13 -0
  269. package/lib/utils/debug.d.ts +1 -1
  270. package/lib/utils/debug.js +16 -22
  271. package/lib/utils/debug.js.map +2 -2
  272. package/lib/utils/dom.d.ts +1 -1
  273. package/lib/utils/dom.js +7 -5
  274. package/lib/utils/dom.js.map +2 -2
  275. package/lib/utils/position.js +0 -1
  276. package/lib/utils/position.js.map +2 -2
  277. package/lib/utils/scrollPosition.d.ts +6 -0
  278. package/lib/utils/scrollPosition.js +31 -0
  279. package/lib/utils/scrollPosition.js.map +13 -0
  280. package/package.json +3 -2
  281. package/schema.json +29681 -28936
  282. package/scss/_properties.scss +44 -13
  283. package/scss/components/_barcode.scss +1 -1
  284. package/scss/components/_carousel.scss +1 -0
  285. package/scss/components/_column-toggler.scss +21 -11
  286. package/scss/components/_debug.scss +3 -3
  287. package/scss/components/_formula.scss +1 -1
  288. package/scss/components/_nav.scss +51 -6
  289. package/scss/components/_progress.scss +4 -6
  290. package/scss/components/_pull-refresh.scss +25 -0
  291. package/scss/components/_spinner.scss +134 -56
  292. package/scss/components/_steps.scss +199 -8
  293. package/scss/components/_tooltip.scss +4 -9
  294. package/scss/components/form/_checks.scss +125 -2
  295. package/scss/components/form/_combo.scss +13 -1
  296. package/scss/components/form/_date-range.scss +27 -2
  297. package/scss/components/form/_date.scss +13 -1
  298. package/scss/components/form/_editor.scss +2 -1
  299. package/scss/components/form/_file.scss +4 -0
  300. package/scss/components/form/_form.scss +31 -8
  301. package/scss/components/form/_number.scss +3 -2
  302. package/scss/components/form/_select.scss +0 -1
  303. package/scss/components/form/_textarea.scss +1 -23
  304. package/scss/components/form/_transfer.scss +3 -2
  305. package/scss/themes/_antd-variables.scss +1 -1
  306. package/scss/themes/_common.scss +1 -0
  307. package/scss/themes/_cxd-variables.scss +4 -4
  308. package/sdk/ang-ie11.css +816 -182
  309. package/sdk/ang.css +775 -129
  310. package/sdk/antd-ie11.css +896 -262
  311. package/sdk/antd.css +776 -130
  312. package/sdk/barcode.js +51 -51
  313. package/sdk/charts.js +14 -14
  314. package/sdk/codemirror.js +7 -7
  315. package/sdk/color-picker.js +65 -65
  316. package/sdk/cropperjs.js +2 -2
  317. package/sdk/cxd-ie11.css +907 -273
  318. package/sdk/cxd.css +779 -133
  319. package/sdk/dark-ie11.css +817 -183
  320. package/sdk/dark.css +775 -129
  321. package/sdk/exceljs.js +1 -1
  322. package/sdk/locale/de-DE.js +18 -1
  323. package/sdk/markdown.js +69 -69
  324. package/sdk/papaparse.js +1 -1
  325. package/sdk/renderers/Form/CityDB.js +1 -1
  326. package/sdk/rest.js +17 -17
  327. package/sdk/rich-text.js +62 -62
  328. package/sdk/sdk-ie11.css +907 -273
  329. package/sdk/sdk.css +779 -133
  330. package/sdk/sdk.js +1317 -1273
  331. package/sdk/thirds/hls.js/hls.js +1 -1
  332. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  333. package/sdk/tinymce.js +57 -57
  334. package/src/Schema.ts +10 -0
  335. package/src/SchemaRenderer.tsx +32 -14
  336. package/src/WithStore.tsx +3 -1
  337. package/src/actions/CmptAction.ts +28 -0
  338. package/src/actions/PageAction.ts +62 -0
  339. package/src/actions/index.ts +1 -0
  340. package/src/components/AssociatedSelection.tsx +9 -3
  341. package/src/components/BarCode.tsx +2 -2
  342. package/src/components/Cascader.tsx +37 -11
  343. package/src/components/Checkbox.tsx +11 -5
  344. package/src/components/DatePicker.tsx +12 -4
  345. package/src/components/DateRangePicker.tsx +551 -88
  346. package/src/components/Drawer.tsx +1 -0
  347. package/src/components/Modal.tsx +1 -0
  348. package/src/components/Overlay.tsx +6 -3
  349. package/src/components/Progress.tsx +57 -22
  350. package/src/components/PullRefresh.tsx +197 -0
  351. package/src/components/Radios.tsx +6 -17
  352. package/src/components/Range.tsx +26 -12
  353. package/src/components/Spinner.tsx +77 -42
  354. package/src/components/Steps.tsx +28 -27
  355. package/src/components/Tooltip.tsx +12 -3
  356. package/src/components/TooltipWrapper.tsx +137 -33
  357. package/src/components/Tree.tsx +19 -5
  358. package/src/components/calendar/Calendar.tsx +0 -14
  359. package/src/components/calendar/TimeView.tsx +12 -0
  360. package/src/components/calendar/YearsView.tsx +3 -4
  361. package/src/components/condition-builder/Expression.tsx +6 -1
  362. package/src/components/condition-builder/Field.tsx +5 -1
  363. package/src/components/condition-builder/Group.tsx +4 -1
  364. package/src/components/condition-builder/GroupOrItem.tsx +4 -1
  365. package/src/components/condition-builder/InputSwitch.tsx +4 -1
  366. package/src/components/condition-builder/Item.tsx +28 -4
  367. package/src/components/condition-builder/Value.tsx +7 -1
  368. package/src/components/condition-builder/index.tsx +4 -2
  369. package/src/components/formula/Editor.tsx +20 -15
  370. package/src/components/formula/Picker.tsx +9 -5
  371. package/src/factory.tsx +29 -1
  372. package/src/locale/de-DE.ts +18 -1
  373. package/src/locale/en-US.ts +18 -1
  374. package/src/locale/zh-CN.ts +18 -1
  375. package/src/renderers/Action.tsx +22 -1
  376. package/src/renderers/App.tsx +4 -0
  377. package/src/renderers/CRUD.tsx +23 -5
  378. package/src/renderers/Carousel.tsx +8 -0
  379. package/src/renderers/Chart.tsx +4 -0
  380. package/src/renderers/Dialog.tsx +4 -0
  381. package/src/renderers/Drawer.tsx +14 -2
  382. package/src/renderers/Form/Checkbox.tsx +11 -2
  383. package/src/renderers/Form/Checkboxes.tsx +106 -23
  384. package/src/renderers/Form/Combo.tsx +104 -49
  385. package/src/renderers/Form/InputCity.tsx +33 -4
  386. package/src/renderers/Form/InputDate.tsx +18 -4
  387. package/src/renderers/Form/InputDateRange.tsx +27 -3
  388. package/src/renderers/Form/InputFile.tsx +23 -7
  389. package/src/renderers/Form/InputImage.tsx +22 -6
  390. package/src/renderers/Form/InputMonthRange.tsx +7 -1
  391. package/src/renderers/Form/InputRange.tsx +18 -16
  392. package/src/renderers/Form/InputText.tsx +14 -4
  393. package/src/renderers/Form/InputTree.tsx +40 -2
  394. package/src/renderers/Form/Item.tsx +7 -0
  395. package/src/renderers/Form/NestedSelect.tsx +23 -4
  396. package/src/renderers/Form/Options.tsx +26 -7
  397. package/src/renderers/Form/Select.tsx +5 -3
  398. package/src/renderers/Form/Textarea.tsx +3 -1
  399. package/src/renderers/Form/TreeSelect.tsx +47 -9
  400. package/src/renderers/Form/index.tsx +56 -25
  401. package/src/renderers/Form/wrapControl.tsx +23 -12
  402. package/src/renderers/Nav.tsx +231 -33
  403. package/src/renderers/Page.tsx +96 -33
  404. package/src/renderers/Progress.tsx +7 -9
  405. package/src/renderers/Service.tsx +66 -27
  406. package/src/renderers/Spinner.tsx +85 -3
  407. package/src/renderers/Steps.tsx +14 -0
  408. package/src/renderers/Table/ColumnToggler.tsx +36 -11
  409. package/src/renderers/Table/TableCell.tsx +39 -1
  410. package/src/renderers/Table/index.tsx +43 -19
  411. package/src/renderers/Tabs.tsx +75 -28
  412. package/src/renderers/TooltipWrapper.tsx +71 -28
  413. package/src/renderers/Wizard.tsx +169 -93
  414. package/src/store/crud.ts +50 -5
  415. package/src/store/form.ts +8 -3
  416. package/src/store/formItem.ts +1 -2
  417. package/src/store/index.ts +20 -0
  418. package/src/store/table.ts +2 -2
  419. package/src/types.ts +8 -1
  420. package/src/utils/ColorScale.ts +138 -0
  421. package/src/utils/api.ts +26 -4
  422. package/src/utils/columnsSplit.tsx +57 -0
  423. package/src/utils/debug.tsx +17 -24
  424. package/src/utils/dom.tsx +7 -6
  425. package/src/utils/position.ts +0 -1
  426. package/src/utils/scrollPosition.ts +29 -0
package/src/Schema.ts CHANGED
@@ -58,6 +58,7 @@ import {PaginationSchema} from './renderers/Pagination';
58
58
  import {AnchorNavSchema} from './renderers/AnchorNav';
59
59
  import {AvatarSchema} from './renderers/Avatar';
60
60
  import {StepsSchema} from './renderers/Steps';
61
+ import {SpinnerSchema} from './renderers/Spinner';
61
62
  import {TimelineSchema} from './renderers/Timeline';
62
63
  import {ArrayControlSchema} from './renderers/Form/InputArray';
63
64
  import {ButtonGroupControlSchema} from './renderers/Form/ButtonGroupSelect';
@@ -150,6 +151,7 @@ export type SchemaType =
150
151
  | 'month'
151
152
  | 'static-month' // 这个几个跟表单项同名,再form下面用必须带前缀 static-
152
153
  | 'dialog'
154
+ | 'spinner'
153
155
  | 'divider'
154
156
  | 'dropdown-button'
155
157
  | 'drawer'
@@ -384,6 +386,7 @@ export type SchemaObject =
384
386
  | ServiceSchema
385
387
  | SparkLineSchema
386
388
  | StatusSchema
389
+ | SpinnerSchema
387
390
  | TableSchema
388
391
  | TabsSchema
389
392
  | TasksSchema
@@ -596,6 +599,13 @@ export interface SchemaApiObject {
596
599
  */
597
600
  cache?: number;
598
601
 
602
+ /**
603
+ * 强制将数据附加在 query,默认只有 api 地址中没有用变量的时候 crud 查询接口才会
604
+ * 自动附加数据到 query 部分,如果想强制附加请设置这个属性。
605
+ * 对于那种临时加了个变量但是又不想全部参数写一遍的时候配置很有用。
606
+ */
607
+ forceAppendDataToQuery?: boolean;
608
+
599
609
  /**
600
610
  * qs 配置项
601
611
  */
@@ -15,12 +15,14 @@ import {asFormItem} from './renderers/Form/Item';
15
15
  import {renderChild, renderChildren} from './Root';
16
16
  import {IScopedContext, ScopedContext} from './Scoped';
17
17
  import {Schema, SchemaNode} from './types';
18
- import {DebugWrapper, enableAMISDebug} from './utils/debug';
18
+ import {DebugWrapper} from './utils/debug';
19
19
  import getExprProperties from './utils/filter-schema';
20
20
  import {anyChanged, chainEvents, autobind} from './utils/helper';
21
21
  import {SimpleMap} from './utils/SimpleMap';
22
22
 
23
23
  import type {RendererEvent} from './utils/renderer-event';
24
+ import {observer} from 'mobx-react';
25
+ import {isAlive} from 'mobx-state-tree';
24
26
 
25
27
  interface SchemaRendererProps extends Partial<RendererProps> {
26
28
  schema: Schema;
@@ -59,6 +61,7 @@ const defaultOmitList = [
59
61
 
60
62
  const componentCache: SimpleMap = new SimpleMap();
61
63
 
64
+ @observer
62
65
  class BroadcastCmpt extends React.Component<BroadcastCmptProps> {
63
66
  ref: any;
64
67
  unbindEvent: (() => void) | undefined = undefined;
@@ -99,21 +102,36 @@ class BroadcastCmpt extends React.Component<BroadcastCmptProps> {
99
102
  }
100
103
 
101
104
  render() {
102
- const {component: Component, ...rest} = this.props;
103
-
105
+ const {component: Component, rootStore, ...rest} = this.props;
106
+ const visible = isAlive(rootStore)
107
+ ? rootStore.visibleState[rest.$schema.id || rest.$path]
108
+ : true;
109
+ const disable = isAlive(rootStore)
110
+ ? rootStore.disableState[rest.$schema.id || rest.$path]
111
+ : false;
104
112
  const isClassComponent = Component.prototype?.isReactComponent;
105
113
 
106
- // 函数组件不支持 ref https://reactjs.org/docs/refs-and-the-dom.html#refs-and-function-components
114
+ if (disable) {
115
+ (rest as any).disabled = true;
116
+ }
107
117
 
108
- return isClassComponent ? (
109
- <Component
110
- ref={this.childRef}
111
- {...rest}
112
- dispatchEvent={this.dispatchEvent}
113
- />
114
- ) : (
115
- <Component {...rest} dispatchEvent={this.dispatchEvent} />
116
- );
118
+ // 函数组件不支持 ref https://reactjs.org/docs/refs-and-the-dom.html#refs-and-function-components
119
+ return visible !== false ? (
120
+ isClassComponent ? (
121
+ <Component
122
+ ref={this.childRef}
123
+ {...rest}
124
+ rootStore={rootStore}
125
+ dispatchEvent={this.dispatchEvent}
126
+ />
127
+ ) : (
128
+ <Component
129
+ {...rest}
130
+ rootStore={rootStore}
131
+ dispatchEvent={this.dispatchEvent}
132
+ />
133
+ )
134
+ ) : null;
117
135
  }
118
136
  }
119
137
 
@@ -399,7 +417,7 @@ export class SchemaRenderer extends React.Component<SchemaRendererProps, any> {
399
417
  />
400
418
  );
401
419
 
402
- return enableAMISDebug ? (
420
+ return this.props.env.enableAMISDebug ? (
403
421
  <DebugWrapper renderer={renderer}>{component}</DebugWrapper>
404
422
  ) : (
405
423
  component
package/src/WithStore.tsx CHANGED
@@ -1,5 +1,6 @@
1
1
  import hoistNonReactStatic from 'hoist-non-react-statics';
2
2
  import {observer} from 'mobx-react';
3
+ import {isAlive} from 'mobx-state-tree';
3
4
  import React from 'react';
4
5
  import {RendererProps} from './factory';
5
6
  import {IIRendererStore, IRendererStore} from './store';
@@ -257,7 +258,8 @@ export function HocStoreFactory(renderer: {
257
258
  componentWillUnmount() {
258
259
  const rootStore = this.context as IRendererStore;
259
260
  const store = this.store;
260
- rootStore.removeStore(store);
261
+
262
+ isAlive(store) && rootStore.removeStore(store);
261
263
 
262
264
  // @ts-ignore
263
265
  delete this.store;
@@ -30,6 +30,34 @@ export class CmptAction implements Action {
30
30
  ? event.context.scoped?.getComponentById(action.componentId)
31
31
  : renderer;
32
32
 
33
+ // 显隐&状态控制
34
+ if (['show', 'hidden'].includes(action.actionType)) {
35
+ return renderer.props.rootStore.setVisible(
36
+ action.componentId,
37
+ action.actionType === 'show'
38
+ );
39
+ } else if (['enabled', 'disabled'].includes(action.actionType)) {
40
+ return renderer.props.rootStore.setDisable(
41
+ action.componentId,
42
+ action.actionType === 'disabled'
43
+ );
44
+ }
45
+
46
+ // 数据更新
47
+ if (action.actionType === 'setValue') {
48
+ const value = dataMapping(action.value, event.data);
49
+ if (component.setData) {
50
+ return component.setData(value);
51
+ } else {
52
+ return component.props.onChange?.(value);
53
+ }
54
+ }
55
+
56
+ // 刷新
57
+ if (action.actionType === 'reload') {
58
+ return component.reload?.(undefined, action.args);
59
+ }
60
+
33
61
  // 执行组件动作
34
62
  return component.doAction?.(action, action.args);
35
63
  }
@@ -0,0 +1,62 @@
1
+ import {RendererEvent} from '../utils/renderer-event';
2
+ import {
3
+ Action,
4
+ ListenerAction,
5
+ ListenerContext,
6
+ registerAction
7
+ } from './Action';
8
+
9
+ /**
10
+ * 返回上个页面
11
+ *
12
+ * @export
13
+ * @class PageGoBackAction
14
+ * @implements {Action}
15
+ */
16
+ export class PageGoBackAction implements Action {
17
+ async run(
18
+ action: ListenerAction,
19
+ renderer: ListenerContext,
20
+ event: RendererEvent<any>
21
+ ) {
22
+ window.history.back();
23
+ }
24
+ }
25
+
26
+ /**
27
+ * 到指定页面
28
+ *
29
+ * @export
30
+ * @class PageGoAction
31
+ * @implements {Action}
32
+ */
33
+ export class PageGoAction implements Action {
34
+ async run(
35
+ action: ListenerAction,
36
+ renderer: ListenerContext,
37
+ event: RendererEvent<any>
38
+ ) {
39
+ window.history.go(action.delta || 0);
40
+ }
41
+ }
42
+
43
+ /**
44
+ * 浏览器刷新
45
+ *
46
+ * @export
47
+ * @class PageRefreshAction
48
+ * @implements {Action}
49
+ */
50
+ export class PageRefreshAction implements Action {
51
+ async run(
52
+ action: ListenerAction,
53
+ renderer: ListenerContext,
54
+ event: RendererEvent<any>
55
+ ) {
56
+ window.location.reload();
57
+ }
58
+ }
59
+
60
+ registerAction('goBack', new PageGoBackAction());
61
+ registerAction('refresh', new PageRefreshAction());
62
+ registerAction('goPage', new PageGoAction());
@@ -17,6 +17,7 @@ import './DrawerAction';
17
17
  import './EmailAction';
18
18
  import './LinkAction';
19
19
  import './ToastAction';
20
+ import './PageAction';
20
21
  import './Decorators';
21
22
 
22
23
  export * from './Action';
@@ -88,9 +88,15 @@ export class AssociatedSelection extends BaseSelection<
88
88
 
89
89
  @autobind
90
90
  handleLeftDeferLoad(option: Option) {
91
- const {leftOptions, onLeftDeferLoad} = this.props;
92
-
93
- onLeftDeferLoad?.(option, leftOptions);
91
+ const {leftOptions, onLeftDeferLoad, onDeferLoad} = this.props;
92
+
93
+ if (typeof onLeftDeferLoad === 'function') {
94
+ // TabsTransfer
95
+ return onLeftDeferLoad?.(option, leftOptions);
96
+ } else if (typeof onDeferLoad === 'function') {
97
+ // Select
98
+ return onDeferLoad?.(option);
99
+ }
94
100
  }
95
101
 
96
102
  handleRetry(option: Option) {
@@ -20,7 +20,7 @@ export class BarCode extends React.Component<BarCodeProps> {
20
20
 
21
21
  constructor(props: BarCodeProps) {
22
22
  super(props);
23
- this.dom = React.createRef<SVGSVGElement>();
23
+ this.dom = React.createRef<HTMLImageElement>();
24
24
  }
25
25
 
26
26
  componentDidUpdate(prevProps: BarCodeProps) {
@@ -43,7 +43,7 @@ export class BarCode extends React.Component<BarCodeProps> {
43
43
  }
44
44
 
45
45
  render() {
46
- return <svg ref={this.dom}></svg>;
46
+ return <img ref={this.dom} />;
47
47
  }
48
48
  }
49
49
 
@@ -48,6 +48,8 @@ export interface CascaderState {
48
48
  tabs: Array<{
49
49
  options: Options;
50
50
  }>;
51
+ // 用于在只选择子节点模式的时候禁用按钮
52
+ disableConfirm: boolean;
51
53
  }
52
54
 
53
55
  export class Cascader extends React.Component<CascaderProps, CascaderState> {
@@ -66,7 +68,8 @@ export class Cascader extends React.Component<CascaderProps, CascaderState> {
66
68
  {
67
69
  options: this.props.options.slice() || []
68
70
  }
69
- ]
71
+ ],
72
+ disableConfirm: false
70
73
  };
71
74
  }
72
75
  componentDidMount() {
@@ -288,7 +291,7 @@ export class Cascader extends React.Component<CascaderProps, CascaderState> {
288
291
 
289
292
  @autobind
290
293
  onSelect(option: CascaderOption, tabIndex: number) {
291
- const {multiple, valueField = 'value', cascade} = this.props;
294
+ const {multiple, valueField = 'value', cascade, onlyLeaf} = this.props;
292
295
 
293
296
  let tabs = this.state.tabs.slice();
294
297
  let {activeTab} = this.state;
@@ -364,10 +367,15 @@ export class Cascader extends React.Component<CascaderProps, CascaderState> {
364
367
  }
365
368
  activeTab += 1;
366
369
  }
370
+ let disableConfirm = false;
371
+ if (onlyLeaf && selectedOptions.length && selectedOptions[0].children) {
372
+ disableConfirm = true;
373
+ }
367
374
  this.setState({
368
375
  tabs,
369
376
  activeTab,
370
- selectedOptions
377
+ selectedOptions,
378
+ disableConfirm
371
379
  });
372
380
  }
373
381
 
@@ -428,23 +436,39 @@ export class Cascader extends React.Component<CascaderProps, CascaderState> {
428
436
 
429
437
  @autobind
430
438
  confirm() {
431
- const {onChange, joinValues, delimiter, extractValue, valueField, onClose} =
432
- this.props;
433
- let {selectedOptions} = this.state;
434
- let _selectedOptions = this.getSubmitOptions(selectedOptions);
435
- _selectedOptions = uniqBy(_selectedOptions, valueField);
439
+ const {
440
+ onChange,
441
+ joinValues,
442
+ delimiter,
443
+ extractValue,
444
+ valueField,
445
+ onClose,
446
+ onlyLeaf
447
+ } = this.props;
448
+ const selectedOptions = this.getSelectedOptions();
449
+ if (onlyLeaf && selectedOptions.length && selectedOptions[0].children) {
450
+ return;
451
+ }
436
452
  onChange(
437
453
  joinValues
438
- ? _selectedOptions
454
+ ? selectedOptions
439
455
  .map(item => item[valueField as string])
440
456
  .join(delimiter)
441
457
  : extractValue
442
- ? _selectedOptions.map(item => item[valueField as string])
443
- : _selectedOptions
458
+ ? selectedOptions.map(item => item[valueField as string])
459
+ : selectedOptions
444
460
  );
445
461
  onClose && onClose();
446
462
  }
447
463
 
464
+ @autobind
465
+ getSelectedOptions() {
466
+ return uniqBy(
467
+ this.getSubmitOptions(this.state.selectedOptions),
468
+ this.props.valueField
469
+ );
470
+ }
471
+
448
472
  @autobind
449
473
  renderOption(option: CascaderOption, tabIndex: number) {
450
474
  const {
@@ -534,6 +558,7 @@ export class Cascader extends React.Component<CascaderProps, CascaderState> {
534
558
  classnames: cx,
535
559
  className,
536
560
  onClose,
561
+ valueField,
537
562
  translate: __
538
563
  } = this.props;
539
564
 
@@ -551,6 +576,7 @@ export class Cascader extends React.Component<CascaderProps, CascaderState> {
551
576
  className={cx(`Cascader-btnConfirm`)}
552
577
  level="text"
553
578
  onClick={this.confirm}
579
+ disabled={this.state.disableConfirm}
554
580
  >
555
581
  {__('confirm')}
556
582
  </Button>
@@ -16,10 +16,10 @@ interface CheckboxProps {
16
16
  labelClassName?: string;
17
17
  className?: string;
18
18
  onChange?: (value: any, shift?: boolean) => void;
19
- value?: any;
19
+ value?: boolean | string | number;
20
20
  inline?: boolean;
21
- trueValue?: any;
22
- falseValue?: any;
21
+ trueValue?: boolean | string | number;
22
+ falseValue?: boolean | string | number;
23
23
  disabled?: boolean;
24
24
  readOnly?: boolean;
25
25
  checked?: boolean;
@@ -28,6 +28,7 @@ interface CheckboxProps {
28
28
  classPrefix: string;
29
29
  classnames: ClassNamesFn;
30
30
  partial?: boolean;
31
+ optionType?: 'default' | 'button';
31
32
  }
32
33
 
33
34
  export class Checkbox extends React.Component<CheckboxProps, any> {
@@ -70,14 +71,19 @@ export class Checkbox extends React.Component<CheckboxProps, any> {
70
71
  checked,
71
72
  type,
72
73
  name,
73
- labelClassName
74
+ labelClassName,
75
+ optionType
74
76
  } = this.props;
75
77
 
76
78
  return (
77
79
  <label
78
80
  className={cx(`Checkbox Checkbox--${type}`, className, {
79
81
  'Checkbox--full': !partial,
80
- [`Checkbox--${size}`]: size
82
+ // 'Checkbox--partial': partial
83
+ [`Checkbox--${size}`]: size,
84
+ 'Checkbox--button': optionType === 'button',
85
+ 'Checkbox--button--checked': optionType === 'button' && checked,
86
+ 'Checkbox--button--disabled--unchecked': disabled && !checked
81
87
  })}
82
88
  >
83
89
  <input
@@ -364,10 +364,16 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
364
364
  componentDidUpdate(prevProps: DateProps) {
365
365
  const props = this.props;
366
366
 
367
- if (prevProps.value !== props.value) {
368
- this.setState({
367
+ const prevValue = prevProps.value;
368
+
369
+ if (prevValue !== props.value) {
370
+ const newState: any = {
369
371
  value: normalizeValue(props.value, props.format)
370
- });
372
+ };
373
+
374
+ newState.inputValue = newState.value.format(this.props.inputFormat) || '';
375
+
376
+ this.setState(newState);
371
377
  }
372
378
  }
373
379
 
@@ -724,7 +730,7 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
724
730
  `DatePicker`,
725
731
  {
726
732
  'is-disabled': disabled,
727
- 'is-focused': this.state.isFocused,
733
+ 'is-focused': !disabled && this.state.isFocused,
728
734
  [`DatePicker--border${ucFirst(borderMode)}`]: borderMode,
729
735
  'is-mobile': useMobileUI && isMobile()
730
736
  },
@@ -734,11 +740,13 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
734
740
  onClick={this.handleClick}
735
741
  >
736
742
  <Input
743
+ className={cx('DatePicker-input')}
737
744
  onChange={this.inputChange}
738
745
  ref={this.inputRef}
739
746
  placeholder={__(placeholder)}
740
747
  autoComplete="off"
741
748
  value={this.state.inputValue}
749
+ disabled={disabled}
742
750
  />
743
751
 
744
752
  {clearable && !disabled && normalizeValue(value, format) ? (