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
@@ -251,12 +251,18 @@ export default class Service extends React.Component<ServiceProps> {
251
251
  let dataProviderFunc = dataProvider;
252
252
 
253
253
  if (typeof dataProvider === 'string' && dataProvider) {
254
- dataProviderFunc = str2AsyncFunction(dataProvider, 'data', 'setData')!;
254
+ dataProviderFunc = str2AsyncFunction(
255
+ dataProvider,
256
+ 'data',
257
+ 'setData',
258
+ 'env'
259
+ )!;
255
260
  }
256
261
  if (typeof dataProviderFunc === 'function') {
257
262
  const unsubscribe = await dataProviderFunc(
258
263
  store.data,
259
- this.dataProviderSetData
264
+ this.dataProviderSetData,
265
+ this.props.env
260
266
  );
261
267
  if (typeof unsubscribe === 'function') {
262
268
  this.dataProviderUnsubscribe = unsubscribe;
@@ -363,6 +369,7 @@ export default class Service extends React.Component<ServiceProps> {
363
369
  initFetch,
364
370
  initFetchOn,
365
371
  store,
372
+ dataProvider,
366
373
  messages: {fetchSuccess, fetchFailed}
367
374
  } = this.props;
368
375
 
@@ -386,6 +393,10 @@ export default class Service extends React.Component<ServiceProps> {
386
393
  })
387
394
  .then(this.afterDataFetch);
388
395
  }
396
+
397
+ if (dataProvider) {
398
+ this.runDataProvider();
399
+ }
389
400
  }
390
401
 
391
402
  silentReload(target?: string, query?: any) {
@@ -411,22 +422,35 @@ export default class Service extends React.Component<ServiceProps> {
411
422
  // 会被覆写
412
423
  }
413
424
 
425
+ @autobind
426
+ handleDialogConfirm(
427
+ values: object[],
428
+ action: Action,
429
+ ctx: any,
430
+ targets: Array<any>
431
+ ) {
432
+ const {store} = this.props;
433
+ store.closeDialog(true);
434
+ }
435
+
436
+ @autobind
437
+ handleDialogClose(confirmed = false) {
438
+ const {store} = this.props;
439
+ store.closeDialog(confirmed);
440
+ }
441
+
414
442
  openFeedback(dialog: any, ctx: any) {
415
443
  return new Promise(resolve => {
416
444
  const {store} = this.props;
417
- const parentStore = store.parentStore;
418
-
419
- // 暂时自己不支持弹出 dialog
420
- if (parentStore && parentStore.openDialog) {
421
- store.setCurrentAction({
422
- type: 'button',
423
- actionType: 'dialog',
424
- dialog: dialog
425
- });
426
- store.openDialog(ctx, undefined, confirmed => {
427
- resolve(confirmed);
428
- });
429
- }
445
+
446
+ store.setCurrentAction({
447
+ type: 'button',
448
+ actionType: 'dialog',
449
+ dialog: dialog
450
+ });
451
+ store.openDialog(ctx, undefined, confirmed => {
452
+ resolve(confirmed);
453
+ });
430
454
  });
431
455
  }
432
456
 
@@ -486,18 +510,12 @@ export default class Service extends React.Component<ServiceProps> {
486
510
  renderBody() {
487
511
  const {render, store, body: schema, classnames: cx} = this.props;
488
512
 
489
- return (
490
- <div className={cx('Service-body')}>
491
- {
492
- render('body', store.schema || schema, {
493
- key: store.schemaKey || 'body',
494
- onQuery: this.handleQuery,
495
- onAction: this.handleAction,
496
- onChange: this.handleChange
497
- }) as JSX.Element
498
- }
499
- </div>
500
- );
513
+ return render('body', store.schema || schema, {
514
+ key: store.schemaKey || 'body',
515
+ onQuery: this.handleQuery,
516
+ onAction: this.handleAction,
517
+ onChange: this.handleChange
518
+ }) as JSX.Element;
501
519
  }
502
520
 
503
521
  render() {
@@ -527,6 +545,23 @@ export default class Service extends React.Component<ServiceProps> {
527
545
  {this.renderBody()}
528
546
 
529
547
  <Spinner size="lg" overlay key="info" show={store.loading} />
548
+
549
+ {render(
550
+ // 单独给 feedback 服务的,handleAction 里面先不要处理弹窗
551
+ 'modal',
552
+ {
553
+ ...((store.action as Action) &&
554
+ ((store.action as Action).dialog as object)),
555
+ type: 'dialog'
556
+ },
557
+ {
558
+ key: 'dialog',
559
+ data: store.dialogData,
560
+ onConfirm: this.handleDialogConfirm,
561
+ onClose: this.handleDialogClose,
562
+ show: store.dialogOpen
563
+ }
564
+ )}
530
565
  </div>
531
566
  );
532
567
  }
@@ -579,4 +614,8 @@ export class ServiceRenderer extends Service {
579
614
  const scoped = this.context as IScopedContext;
580
615
  scoped.reload(target, data);
581
616
  }
617
+
618
+ setData(values: object) {
619
+ return super.afterDataFetch(values);
620
+ }
582
621
  }
@@ -1,14 +1,96 @@
1
1
  import Spinner from '../components/Spinner';
2
2
  import {Renderer, RendererProps} from '../factory';
3
3
  import React from 'react';
4
+ import {BaseSchema, SchemaCollection} from '../Schema';
4
5
 
5
- interface SpinnerProps extends RendererProps {}
6
+ export interface SpinnerSchema extends BaseSchema {
7
+ /**
8
+ * 组件类型
9
+ */
10
+ type: 'spinner';
11
+
12
+ /**
13
+ * 控制Spinner显示与隐藏
14
+ */
15
+ show: boolean;
16
+
17
+ /**
18
+ * 自定义spinner的class
19
+ */
20
+ className?: string;
21
+
22
+ /**
23
+ * spin图标位置包裹元素的自定义class
24
+ */
25
+ spinnerClassName?: string;
26
+
27
+ /**
28
+ * 作为容器使用时最外层元素的class
29
+ */
30
+ spinnerWrapClassName?: string;
31
+
32
+ /**
33
+ * @deprecated 已废弃,没有作用
34
+ */
35
+ mode?: string;
36
+
37
+ /**
38
+ * spinner Icon 大小
39
+ */
40
+ size?: 'sm' | 'lg' | '';
41
+
42
+ /**
43
+ * 自定义icon
44
+ */
45
+ icon?: string;
46
+
47
+ /**
48
+ * spinner文案
49
+ */
50
+ tip?: string;
51
+
52
+ /**
53
+ * spinner文案位置
54
+ */
55
+ tipPlacement?: 'top' | 'right' | 'bottom' | 'left';
56
+
57
+ /**
58
+ * 延迟显示
59
+ */
60
+ delay?: number;
61
+
62
+ /**
63
+ * 是否显示遮罩层
64
+ */
65
+ overlay?: boolean;
66
+
67
+ /**
68
+ * 作为容器使用时内容
69
+ */
70
+ body?: SchemaCollection;
71
+ }
72
+
73
+ interface SpinnerRenderProps
74
+ extends RendererProps,
75
+ Omit<SpinnerSchema, 'className'> {}
6
76
 
7
77
  @Renderer({
8
78
  type: 'spinner'
9
79
  })
10
- export class SpinnerRenderer extends React.Component<SpinnerProps> {
80
+ export class SpinnerRenderer extends React.Component<SpinnerRenderProps> {
81
+ renderBody() {
82
+ const {body, render} = this.props;
83
+ return body ? render('body', body) : null;
84
+ }
11
85
  render() {
12
- return <Spinner {...this.props} />;
86
+ const {classnames: cx, spinnerWrapClassName, body, ...rest} = this.props;
87
+ return body ? (
88
+ <div className={cx(`Spinner-wrap`, spinnerWrapClassName)}>
89
+ <Spinner {...rest}></Spinner>
90
+ {this.renderBody()}
91
+ </div>
92
+ ) : (
93
+ <Spinner {...rest}></Spinner>
94
+ );
13
95
  }
14
96
  }
@@ -70,6 +70,16 @@ export interface StepsSchema extends BaseSchema {
70
70
  * 展示模式
71
71
  */
72
72
  mode?: 'horizontal' | 'vertical';
73
+
74
+ /**
75
+ * 标签放置位置
76
+ */
77
+ labelPlacement?: 'horizontal' | 'vertical';
78
+
79
+ /**
80
+ * 点状步骤条
81
+ */
82
+ progressDot?: boolean;
73
83
  }
74
84
 
75
85
  export interface StepsProps
@@ -82,6 +92,8 @@ export function StepsCmpt(props: StepsProps) {
82
92
  steps,
83
93
  status,
84
94
  mode,
95
+ labelPlacement,
96
+ progressDot,
85
97
  data,
86
98
  source,
87
99
  config,
@@ -139,6 +151,8 @@ export function StepsCmpt(props: StepsProps) {
139
151
  className={className}
140
152
  status={status}
141
153
  mode={mode}
154
+ progressDot={progressDot}
155
+ labelPlacement={labelPlacement}
142
156
  useMobileUI={useMobileUI}
143
157
  ></Steps>
144
158
  );
@@ -13,6 +13,8 @@ import type {TooltipObject} from '../../components/TooltipWrapper';
13
13
  import {noop, autobind} from '../../utils/helper';
14
14
  import {filter} from '../../utils/tpl';
15
15
  import {Icon} from '../../components/icons';
16
+ import {getIcon} from '../../components/icons';
17
+ import {generateIcon} from '../../utils/icon';
16
18
  import {RootClose} from '../../utils/RootClose';
17
19
  import {IColumn} from '../../store/table';
18
20
 
@@ -112,6 +114,11 @@ export interface ColumnTogglerProps extends RendererProps {
112
114
  */
113
115
  columns: Array<IColumn>;
114
116
 
117
+ /**
118
+ * 弹窗底部按钮大小
119
+ */
120
+ footerBtnSize?: 'xs' | 'sm' | 'md' | 'lg';
121
+
115
122
  onColumnToggle: (columns: Array<IColumn>) => void;
116
123
  modalContainer?: () => HTMLElement;
117
124
  }
@@ -326,7 +333,8 @@ export default class ColumnToggler extends React.Component<
326
333
  modalContainer,
327
334
  draggable,
328
335
  overlay,
329
- translate: __
336
+ translate: __,
337
+ footerBtnSize
330
338
  } = this.props;
331
339
 
332
340
  const {enableSorting, tempColumns} = this.state;
@@ -372,13 +380,14 @@ export default class ColumnToggler extends React.Component<
372
380
  <a className={cx('ColumnToggler-menuItem-dragBar')}>
373
381
  <Icon icon="drag-bar" className={cx('icon')} />
374
382
  </a>
375
- <span>
376
- {column.label ? render('tpl', column.label) : null}
383
+ <span className={cx('ColumnToggler-menuItem-label')}>
384
+ <span>{column.label || '-'}</span>
377
385
  </span>
378
386
  </>
379
387
  ) : (
380
388
  <Checkbox
381
389
  size="sm"
390
+ labelClassName={cx('ColumnToggler-menuItem-label')}
382
391
  classPrefix={ns}
383
392
  checked={column.toggled}
384
393
  disabled={!column.toggable || enableSorting}
@@ -388,9 +397,7 @@ export default class ColumnToggler extends React.Component<
388
397
  index
389
398
  )}
390
399
  >
391
- <span>
392
- {column.label ? render('tpl', column.label) : null}
393
- </span>
400
+ <span>{column.label || '-'}</span>
394
401
  </Checkbox>
395
402
  )}
396
403
  </li>
@@ -430,10 +437,18 @@ export default class ColumnToggler extends React.Component<
430
437
  </Button>
431
438
  </div>
432
439
  <div>
433
- <Button className="mr-4" onClick={this.close}>
440
+ <Button
441
+ size={footerBtnSize}
442
+ className="mr-3"
443
+ onClick={this.close}
444
+ >
434
445
  {__('cancel')}
435
446
  </Button>
436
- <Button level="primary" onClick={this.onConfirm}>
447
+ <Button
448
+ size={footerBtnSize}
449
+ level="primary"
450
+ onClick={this.onConfirm}
451
+ >
437
452
  {__('confirm')}
438
453
  </Button>
439
454
  </div>
@@ -492,11 +507,21 @@ export default class ColumnToggler extends React.Component<
492
507
  >
493
508
  {icon ? (
494
509
  typeof icon === 'string' ? (
495
- <i className={cx(icon, 'm-r-xs')} />
510
+ getIcon(icon!) ? (
511
+ <Icon icon={icon} className={cx('icon', {'m-r-xs': !!label})} />
512
+ ) : (
513
+ generateIcon(cx, icon, label ? 'm-r-xs' : '')
514
+ )
515
+ ) : React.isValidElement(icon) ? (
516
+ React.cloneElement(icon, {
517
+ className: cx({'m-r-xs': !!label})
518
+ })
496
519
  ) : (
497
- icon
520
+ <Icon icon="columns" className="icon m-r-none" />
498
521
  )
499
- ) : null}
522
+ ) : (
523
+ <Icon icon="columns" className="icon m-r-none" />
524
+ )}
500
525
  {typeof label === 'string' ? filter(label, data) : label}
501
526
  {hideExpandIcon || draggable ? null : (
502
527
  <span className={cx('ColumnToggler-caret')}>
@@ -7,6 +7,11 @@ import {observer} from 'mobx-react';
7
7
  import omit = require('lodash/omit');
8
8
  import {filter} from '../../utils/tpl';
9
9
  import {Badge} from '../../components/Badge';
10
+ import ColorScale from '../../utils/ColorScale';
11
+ import {
12
+ isPureVariable,
13
+ resolveVariableAndFilter
14
+ } from '../../utils/tpl-builtin';
10
15
 
11
16
  export interface TableCellProps extends RendererProps {
12
17
  wrapperComponent?: React.ReactType;
@@ -34,7 +39,7 @@ export class TableCell extends React.Component<RendererProps> {
34
39
  className,
35
40
  classNameExpr,
36
41
  render,
37
- style,
42
+ style = {},
38
43
  wrapperComponent: Component,
39
44
  column,
40
45
  value,
@@ -106,6 +111,39 @@ export class TableCell extends React.Component<RendererProps> {
106
111
  };
107
112
  }
108
113
 
114
+ if (column.backgroundScale) {
115
+ const backgroundScale = column.backgroundScale;
116
+ let min = backgroundScale.min;
117
+ let max = backgroundScale.max;
118
+
119
+ if (isPureVariable(min)) {
120
+ min = resolveVariableAndFilter(min, data, '| raw');
121
+ }
122
+ if (isPureVariable(max)) {
123
+ max = resolveVariableAndFilter(max, data, '| raw');
124
+ }
125
+
126
+ if (typeof min === 'undefined') {
127
+ min = Math.min(...data.rows.map((r: any) => r[column.name]));
128
+ }
129
+ if (typeof max === 'undefined') {
130
+ max = Math.max(...data.rows.map((r: any) => r[column.name]));
131
+ }
132
+
133
+ const colorScale = new ColorScale(
134
+ min,
135
+ max,
136
+ backgroundScale.colors || ['#FFEF9C', '#FF7127']
137
+ );
138
+ let value = data[column.name];
139
+ if (isPureVariable(backgroundScale.source)) {
140
+ value = resolveVariableAndFilter(backgroundScale.source, data, '| raw');
141
+ }
142
+
143
+ const color = colorScale.getColor(Number(value)).toHexString();
144
+ style.background = color;
145
+ }
146
+
109
147
  if (!Component) {
110
148
  return body as JSX.Element;
111
149
  }
@@ -370,6 +370,7 @@ export interface TableProps extends RendererProps {
370
370
  type ExportExcelToolbar = SchemaNode & {
371
371
  api?: SchemaApi;
372
372
  columns?: string[];
373
+ exportColumns?: any[];
373
374
  filename?: string;
374
375
  };
375
376
 
@@ -472,6 +473,7 @@ export default class Table extends React.Component<TableProps, object> {
472
473
  } = {};
473
474
  renderedToolbars: Array<string> = [];
474
475
  subForms: any = {};
476
+ timer: ReturnType<typeof setTimeout>;
475
477
 
476
478
  constructor(props: TableProps) {
477
479
  super(props);
@@ -659,7 +661,7 @@ export default class Table extends React.Component<TableProps, object> {
659
661
  const footToolbarHeight = footToolbar ? offset(footToolbar).height : 0;
660
662
  // 有时候会拿不到 footToolbar,等一下在执行
661
663
  if (!footToolbarHeight && footerToolbar && footerToolbar.length) {
662
- setTimeout(() => {
664
+ this.timer = setTimeout(() => {
663
665
  this.updateAutoFillHeight();
664
666
  }, 100);
665
667
  return;
@@ -777,6 +779,7 @@ export default class Table extends React.Component<TableProps, object> {
777
779
  this.unSensor && this.unSensor();
778
780
 
779
781
  formItem && isAlive(formItem) && formItem.setSubStore(null);
782
+ clearTimeout(this.timer);
780
783
  }
781
784
 
782
785
  subFormRef(form: any, x: number, y: number) {
@@ -1662,7 +1665,7 @@ export default class Table extends React.Component<TableProps, object> {
1662
1665
  {store.rows.length && multiple ? (
1663
1666
  <Checkbox
1664
1667
  classPrefix={ns}
1665
- partial={!store.allChecked}
1668
+ partial={store.someChecked && !store.allChecked}
1666
1669
  checked={store.someChecked}
1667
1670
  disabled={store.disabledHeadCheckbox}
1668
1671
  onChange={this.handleCheckAll}
@@ -2200,9 +2203,8 @@ export default class Table extends React.Component<TableProps, object> {
2200
2203
  classPrefix={ns}
2201
2204
  key="columns-toggable"
2202
2205
  size={config?.size || 'sm'}
2203
- label={
2204
- config?.label || <Icon icon="columns" className="icon m-r-none" />
2205
- }
2206
+ icon={config?.icon}
2207
+ label={config?.label}
2206
2208
  draggable={config?.draggable}
2207
2209
  columns={store.columnsData}
2208
2210
  onColumnToggle={this.handleColumnToggle}
@@ -2259,18 +2261,25 @@ export default class Table extends React.Component<TableProps, object> {
2259
2261
  classPrefix: ns,
2260
2262
  classnames: cx,
2261
2263
  translate: __,
2262
- columns,
2263
- data
2264
+ data,
2265
+ render
2264
2266
  } = this.props;
2265
2267
 
2268
+ let columns = store.filteredColumns || [];
2269
+
2266
2270
  if (!columns) {
2267
2271
  return null;
2268
2272
  }
2269
2273
 
2270
- return (
2271
- <Button
2272
- classPrefix={ns}
2273
- onClick={() => {
2274
+ return render(
2275
+ 'exportExcel',
2276
+ {
2277
+ label: __('CRUD.exportExcel'),
2278
+ ...(toolbar as any),
2279
+ type: 'button'
2280
+ },
2281
+ {
2282
+ onAction: () => {
2274
2283
  import('exceljs').then(async (ExcelJS: any) => {
2275
2284
  let rows = [];
2276
2285
  let tmpStore;
@@ -2310,10 +2319,28 @@ export default class Table extends React.Component<TableProps, object> {
2310
2319
  });
2311
2320
  worksheet.views = [{state: 'frozen', xSplit: 0, ySplit: 1}];
2312
2321
 
2313
- const filteredColumns = toolbar.columns
2322
+ let exportColumnNames = toolbar.columns;
2323
+
2324
+ if (isPureVariable(exportColumnNames)) {
2325
+ exportColumnNames = resolveVariableAndFilter(
2326
+ exportColumnNames,
2327
+ data,
2328
+ '| raw'
2329
+ );
2330
+ }
2331
+
2332
+ // 自定义导出列配置
2333
+ if (toolbar.exportColumns && Array.isArray(toolbar.exportColumns)) {
2334
+ columns = toolbar.exportColumns;
2335
+ }
2336
+
2337
+ const filteredColumns = exportColumnNames
2314
2338
  ? columns.filter(column => {
2315
- const filterColumnsNames = toolbar.columns!;
2316
- if (filterColumnsNames.indexOf(column.name) !== -1) {
2339
+ const filterColumnsNames = exportColumnNames!;
2340
+ if (
2341
+ column.name &&
2342
+ filterColumnsNames.indexOf(column.name) !== -1
2343
+ ) {
2317
2344
  return true;
2318
2345
  }
2319
2346
  return false;
@@ -2494,11 +2521,8 @@ export default class Table extends React.Component<TableProps, object> {
2494
2521
  saveAs(blob, filename + '.xlsx');
2495
2522
  }
2496
2523
  });
2497
- }}
2498
- size="sm"
2499
- >
2500
- {(toolbar as Schema).label || __('CRUD.exportExcel')}
2501
- </Button>
2524
+ }
2525
+ }
2502
2526
  );
2503
2527
  }
2504
2528