amis 1.7.0 → 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 (469) hide show
  1. package/lib/Schema.d.ts +10 -2
  2. package/lib/Schema.js +0 -1
  3. package/lib/Schema.js.map +2 -2
  4. package/lib/SchemaRenderer.js +19 -3
  5. package/lib/SchemaRenderer.js.map +2 -2
  6. package/lib/WithRootStore.d.ts +18 -0
  7. package/lib/WithStore.js +2 -1
  8. package/lib/WithStore.js.map +2 -2
  9. package/lib/actions/CmptAction.js +26 -4
  10. package/lib/actions/CmptAction.js.map +2 -2
  11. package/lib/actions/PageAction.d.ts +32 -0
  12. package/lib/actions/PageAction.js +72 -0
  13. package/lib/actions/PageAction.js.map +13 -0
  14. package/lib/actions/index.d.ts +1 -0
  15. package/lib/actions/index.js +1 -0
  16. package/lib/actions/index.js.map +2 -2
  17. package/lib/components/Alert2.js +4 -2
  18. package/lib/components/Alert2.js.map +2 -2
  19. package/lib/components/AssociatedSelection.js +9 -2
  20. package/lib/components/AssociatedSelection.js.map +2 -2
  21. package/lib/components/Avatar.d.ts +20 -20
  22. package/lib/components/BarCode.js +1 -1
  23. package/lib/components/BarCode.js.map +2 -2
  24. package/lib/components/CalendarMobile.d.ts +84 -84
  25. package/lib/components/Card.d.ts +20 -20
  26. package/lib/components/Cascader.d.ts +2 -0
  27. package/lib/components/Cascader.js +28 -12
  28. package/lib/components/Cascader.js.map +2 -2
  29. package/lib/components/Checkbox.d.ts +24 -23
  30. package/lib/components/Checkbox.js +5 -1
  31. package/lib/components/Checkbox.js.map +2 -2
  32. package/lib/components/CityArea.js +3 -0
  33. package/lib/components/CityArea.js.map +2 -2
  34. package/lib/components/Collapse.d.ts +20 -20
  35. package/lib/components/DatePicker.d.ts +87 -84
  36. package/lib/components/DatePicker.js +48 -11
  37. package/lib/components/DatePicker.js.map +2 -2
  38. package/lib/components/DateRangePicker.d.ts +285 -171
  39. package/lib/components/DateRangePicker.js +471 -66
  40. package/lib/components/DateRangePicker.js.map +2 -2
  41. package/lib/components/Drawer.js +1 -1
  42. package/lib/components/Drawer.js.map +2 -2
  43. package/lib/components/ListGroup.d.ts +21 -21
  44. package/lib/components/Modal.js +1 -1
  45. package/lib/components/Modal.js.map +2 -2
  46. package/lib/components/MonthRangePicker.d.ts +84 -84
  47. package/lib/components/Overlay.d.ts +1 -0
  48. package/lib/components/Overlay.js +4 -3
  49. package/lib/components/Overlay.js.map +2 -2
  50. package/lib/components/Progress.d.ts +29 -24
  51. package/lib/components/Progress.js +52 -21
  52. package/lib/components/Progress.js.map +2 -2
  53. package/lib/components/PullRefresh.d.ts +86 -0
  54. package/lib/components/PullRefresh.js +135 -0
  55. package/lib/components/PullRefresh.js.map +13 -0
  56. package/lib/components/Radios.d.ts +22 -22
  57. package/lib/components/Radios.js +3 -5
  58. package/lib/components/Radios.js.map +2 -2
  59. package/lib/components/Range.d.ts +2 -2
  60. package/lib/components/Range.js +24 -11
  61. package/lib/components/Range.js.map +2 -2
  62. package/lib/components/Spinner.d.ts +200 -107
  63. package/lib/components/Spinner.js +30 -26
  64. package/lib/components/Spinner.js.map +2 -2
  65. package/lib/components/Steps.d.ts +6 -0
  66. package/lib/components/Steps.js +13 -9
  67. package/lib/components/Steps.js.map +2 -2
  68. package/lib/components/Tabs.d.ts +27 -23
  69. package/lib/components/Tabs.js +37 -22
  70. package/lib/components/Tabs.js.map +2 -2
  71. package/lib/components/Tooltip.d.ts +4 -0
  72. package/lib/components/Tooltip.js +6 -4
  73. package/lib/components/Tooltip.js.map +2 -2
  74. package/lib/components/TooltipWrapper.d.ts +87 -24
  75. package/lib/components/TooltipWrapper.js +40 -8
  76. package/lib/components/TooltipWrapper.js.map +2 -2
  77. package/lib/components/Transfer.d.ts +84 -84
  78. package/lib/components/TransferDropDown.d.ts +84 -84
  79. package/lib/components/Tree.d.ts +87 -85
  80. package/lib/components/Tree.js +13 -5
  81. package/lib/components/Tree.js.map +2 -2
  82. package/lib/components/TreeSelection.d.ts +84 -84
  83. package/lib/components/calendar/Calendar.js +3 -12
  84. package/lib/components/calendar/Calendar.js.map +2 -2
  85. package/lib/components/calendar/TimeView.d.ts +1 -0
  86. package/lib/components/calendar/TimeView.js +7 -0
  87. package/lib/components/calendar/TimeView.js.map +2 -2
  88. package/lib/components/calendar/YearsView.js +3 -3
  89. package/lib/components/calendar/YearsView.js.map +2 -2
  90. package/lib/components/condition-builder/Expression.d.ts +1 -0
  91. package/lib/components/condition-builder/Expression.js +4 -4
  92. package/lib/components/condition-builder/Expression.js.map +2 -2
  93. package/lib/components/condition-builder/Field.d.ts +1 -0
  94. package/lib/components/condition-builder/Field.js +3 -2
  95. package/lib/components/condition-builder/Field.js.map +2 -2
  96. package/lib/components/condition-builder/Group.d.ts +1 -0
  97. package/lib/components/condition-builder/Group.js +2 -2
  98. package/lib/components/condition-builder/Group.js.map +2 -2
  99. package/lib/components/condition-builder/GroupOrItem.d.ts +1 -0
  100. package/lib/components/condition-builder/GroupOrItem.js +2 -2
  101. package/lib/components/condition-builder/GroupOrItem.js.map +2 -2
  102. package/lib/components/condition-builder/InputSwitch.d.ts +2 -1
  103. package/lib/components/condition-builder/InputSwitch.js +2 -2
  104. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  105. package/lib/components/condition-builder/Item.d.ts +1 -0
  106. package/lib/components/condition-builder/Item.js +9 -8
  107. package/lib/components/condition-builder/Item.js.map +2 -2
  108. package/lib/components/condition-builder/Value.d.ts +1 -0
  109. package/lib/components/condition-builder/Value.js +5 -5
  110. package/lib/components/condition-builder/Value.js.map +2 -2
  111. package/lib/components/condition-builder/index.d.ts +1 -0
  112. package/lib/components/condition-builder/index.js +2 -2
  113. package/lib/components/condition-builder/index.js.map +2 -2
  114. package/lib/components/formula/Editor.d.ts +90 -86
  115. package/lib/components/formula/Editor.js +26 -4
  116. package/lib/components/formula/Editor.js.map +2 -2
  117. package/lib/components/formula/Picker.d.ts +5 -0
  118. package/lib/components/formula/Picker.js +21 -4
  119. package/lib/components/formula/Picker.js.map +2 -2
  120. package/lib/components/icons.js +2 -0
  121. package/lib/components/icons.js.map +2 -2
  122. package/lib/factory.d.ts +5 -0
  123. package/lib/factory.js +24 -3
  124. package/lib/factory.js.map +2 -2
  125. package/lib/icons/trash.js +10 -0
  126. package/lib/index.d.ts +1 -0
  127. package/lib/index.js +2 -1
  128. package/lib/index.js.map +2 -2
  129. package/lib/locale/de-DE.js +18 -1
  130. package/lib/locale/de-DE.js.map +2 -2
  131. package/lib/locale/en-US.js +18 -1
  132. package/lib/locale/en-US.js.map +2 -2
  133. package/lib/locale/zh-CN.js +18 -1
  134. package/lib/locale/zh-CN.js.map +2 -2
  135. package/lib/renderers/Action.d.ts +3 -1
  136. package/lib/renderers/Action.js +23 -5
  137. package/lib/renderers/Action.js.map +2 -2
  138. package/lib/renderers/App.d.ts +1 -0
  139. package/lib/renderers/App.js +3 -0
  140. package/lib/renderers/App.js.map +2 -2
  141. package/lib/renderers/ButtonGroup.d.ts +2 -2
  142. package/lib/renderers/ButtonGroup.js.map +1 -1
  143. package/lib/renderers/CRUD.d.ts +8 -0
  144. package/lib/renderers/CRUD.js +12 -5
  145. package/lib/renderers/CRUD.js.map +2 -2
  146. package/lib/renderers/Carousel.d.ts +1 -0
  147. package/lib/renderers/Carousel.js +13 -1
  148. package/lib/renderers/Carousel.js.map +2 -2
  149. package/lib/renderers/Chart.d.ts +1 -0
  150. package/lib/renderers/Chart.js +3 -0
  151. package/lib/renderers/Chart.js.map +2 -2
  152. package/lib/renderers/Dialog.d.ts +5 -0
  153. package/lib/renderers/Dialog.js +7 -3
  154. package/lib/renderers/Dialog.js.map +2 -2
  155. package/lib/renderers/Drawer.d.ts +1 -0
  156. package/lib/renderers/Drawer.js +6 -1
  157. package/lib/renderers/Drawer.js.map +2 -2
  158. package/lib/renderers/DropDownButton.d.ts +2 -0
  159. package/lib/renderers/DropDownButton.js +13 -4
  160. package/lib/renderers/DropDownButton.js.map +2 -2
  161. package/lib/renderers/Form/Checkbox.d.ts +5 -2
  162. package/lib/renderers/Form/Checkbox.js +2 -2
  163. package/lib/renderers/Form/Checkbox.js.map +2 -2
  164. package/lib/renderers/Form/Checkboxes.d.ts +7 -2
  165. package/lib/renderers/Form/Checkboxes.js +101 -12
  166. package/lib/renderers/Form/Checkboxes.js.map +2 -2
  167. package/lib/renderers/Form/Combo.d.ts +6 -4
  168. package/lib/renderers/Form/Combo.js +132 -45
  169. package/lib/renderers/Form/Combo.js.map +2 -2
  170. package/lib/renderers/Form/DiffEditor.d.ts +3 -2
  171. package/lib/renderers/Form/Editor.d.ts +2 -2
  172. package/lib/renderers/Form/InputCity.d.ts +87 -84
  173. package/lib/renderers/Form/InputCity.js +48 -3
  174. package/lib/renderers/Form/InputCity.js.map +2 -2
  175. package/lib/renderers/Form/InputDate.js +10 -3
  176. package/lib/renderers/Form/InputDate.js.map +2 -2
  177. package/lib/renderers/Form/InputDateRange.d.ts +5 -0
  178. package/lib/renderers/Form/InputDateRange.js +12 -3
  179. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  180. package/lib/renderers/Form/InputFile.js +19 -8
  181. package/lib/renderers/Form/InputFile.js.map +2 -2
  182. package/lib/renderers/Form/InputFormula.d.ts +4 -0
  183. package/lib/renderers/Form/InputFormula.js +2 -2
  184. package/lib/renderers/Form/InputFormula.js.map +2 -2
  185. package/lib/renderers/Form/InputImage.js +18 -7
  186. package/lib/renderers/Form/InputImage.js.map +2 -2
  187. package/lib/renderers/Form/InputMonthRange.js +5 -1
  188. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  189. package/lib/renderers/Form/InputRange.d.ts +2 -2
  190. package/lib/renderers/Form/InputRange.js +13 -14
  191. package/lib/renderers/Form/InputRange.js.map +2 -2
  192. package/lib/renderers/Form/InputTable.js +4 -2
  193. package/lib/renderers/Form/InputTable.js.map +2 -2
  194. package/lib/renderers/Form/InputText.d.ts +1 -1
  195. package/lib/renderers/Form/InputText.js +8 -10
  196. package/lib/renderers/Form/InputText.js.map +2 -2
  197. package/lib/renderers/Form/InputTree.d.ts +5 -0
  198. package/lib/renderers/Form/InputTree.js +51 -2
  199. package/lib/renderers/Form/InputTree.js.map +2 -2
  200. package/lib/renderers/Form/Item.d.ts +79 -76
  201. package/lib/renderers/Form/Item.js +3 -1
  202. package/lib/renderers/Form/Item.js.map +2 -2
  203. package/lib/renderers/Form/NestedSelect.d.ts +4 -0
  204. package/lib/renderers/Form/NestedSelect.js +14 -5
  205. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  206. package/lib/renderers/Form/Options.js +61 -27
  207. package/lib/renderers/Form/Options.js.map +2 -2
  208. package/lib/renderers/Form/Select.js +4 -2
  209. package/lib/renderers/Form/Select.js.map +2 -2
  210. package/lib/renderers/Form/Textarea.js +2 -1
  211. package/lib/renderers/Form/Textarea.js.map +2 -2
  212. package/lib/renderers/Form/TreeSelect.d.ts +11 -2
  213. package/lib/renderers/Form/TreeSelect.js +56 -10
  214. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  215. package/lib/renderers/Form/index.d.ts +3 -0
  216. package/lib/renderers/Form/index.js +53 -16
  217. package/lib/renderers/Form/index.js.map +2 -2
  218. package/lib/renderers/Form/wrapControl.d.ts +10 -0
  219. package/lib/renderers/Form/wrapControl.js +41 -19
  220. package/lib/renderers/Form/wrapControl.js.map +2 -2
  221. package/lib/renderers/Nav.d.ts +82 -67
  222. package/lib/renderers/Nav.js +49 -13
  223. package/lib/renderers/Nav.js.map +2 -2
  224. package/lib/renderers/Page.d.ts +21 -0
  225. package/lib/renderers/Page.js +56 -17
  226. package/lib/renderers/Page.js.map +2 -2
  227. package/lib/renderers/Progress.d.ts +4 -7
  228. package/lib/renderers/Progress.js +3 -3
  229. package/lib/renderers/Progress.js.map +2 -2
  230. package/lib/renderers/Service.d.ts +3 -0
  231. package/lib/renderers/Service.js +55 -20
  232. package/lib/renderers/Service.js.map +2 -2
  233. package/lib/renderers/Spinner.d.ts +58 -2
  234. package/lib/renderers/Spinner.js +8 -1
  235. package/lib/renderers/Spinner.js.map +2 -2
  236. package/lib/renderers/Steps.d.ts +8 -0
  237. package/lib/renderers/Steps.js +2 -2
  238. package/lib/renderers/Steps.js.map +2 -2
  239. package/lib/renderers/Table/ColumnToggler.d.ts +4 -0
  240. package/lib/renderers/Table/ColumnToggler.js +11 -6
  241. package/lib/renderers/Table/ColumnToggler.js.map +2 -2
  242. package/lib/renderers/Table/TableCell.js +27 -1
  243. package/lib/renderers/Table/TableCell.js.map +2 -2
  244. package/lib/renderers/Table/TableRow.js +1 -1
  245. package/lib/renderers/Table/TableRow.js.map +2 -2
  246. package/lib/renderers/Table/index.d.ts +2 -0
  247. package/lib/renderers/Table/index.js +23 -10
  248. package/lib/renderers/Table/index.js.map +2 -2
  249. package/lib/renderers/Tabs.d.ts +14 -2
  250. package/lib/renderers/Tabs.js +24 -8
  251. package/lib/renderers/Tabs.js.map +2 -2
  252. package/lib/renderers/TooltipWrapper.d.ts +133 -0
  253. package/lib/renderers/TooltipWrapper.js +70 -0
  254. package/lib/renderers/TooltipWrapper.js.map +13 -0
  255. package/lib/renderers/Wizard.d.ts +7 -3
  256. package/lib/renderers/Wizard.js +269 -152
  257. package/lib/renderers/Wizard.js.map +2 -2
  258. package/lib/store/combo.d.ts +2 -2
  259. package/lib/store/crud.d.ts +1 -0
  260. package/lib/store/crud.js +55 -19
  261. package/lib/store/crud.js.map +2 -2
  262. package/lib/store/form.d.ts +1 -1
  263. package/lib/store/form.js +5 -1
  264. package/lib/store/form.js.map +2 -2
  265. package/lib/store/formItem.js +1 -1
  266. package/lib/store/formItem.js.map +2 -2
  267. package/lib/store/index.d.ts +5 -0
  268. package/lib/store/index.js +14 -0
  269. package/lib/store/index.js.map +2 -2
  270. package/lib/store/table.d.ts +2 -2
  271. package/lib/store/table.js +4 -4
  272. package/lib/store/table.js.map +2 -2
  273. package/lib/themes/ang-ie11.css +965 -210
  274. package/lib/themes/ang.css +955 -175
  275. package/lib/themes/ang.css.map +1 -1
  276. package/lib/themes/antd-ie11.css +1080 -325
  277. package/lib/themes/antd.css +956 -176
  278. package/lib/themes/antd.css.map +1 -1
  279. package/lib/themes/cxd-ie11.css +1048 -293
  280. package/lib/themes/cxd.css +961 -180
  281. package/lib/themes/cxd.css.map +1 -1
  282. package/lib/themes/dark-ie11.css +965 -210
  283. package/lib/themes/dark.css +955 -175
  284. package/lib/themes/dark.css.map +1 -1
  285. package/lib/themes/default-ie11.css +1048 -293
  286. package/lib/themes/default.css +961 -180
  287. package/lib/themes/default.css.map +1 -1
  288. package/lib/types.d.ts +3 -1
  289. package/lib/types.js.map +1 -1
  290. package/lib/utils/ColorScale.d.ts +19 -0
  291. package/lib/utils/ColorScale.js +104 -0
  292. package/lib/utils/ColorScale.js.map +13 -0
  293. package/lib/utils/api.js +20 -4
  294. package/lib/utils/api.js.map +2 -2
  295. package/lib/utils/columnsSplit.d.ts +1 -0
  296. package/lib/utils/columnsSplit.js +40 -0
  297. package/lib/utils/columnsSplit.js.map +13 -0
  298. package/lib/utils/debug.d.ts +1 -1
  299. package/lib/utils/debug.js +16 -22
  300. package/lib/utils/debug.js.map +2 -2
  301. package/lib/utils/dom.d.ts +1 -1
  302. package/lib/utils/dom.js +7 -5
  303. package/lib/utils/dom.js.map +2 -2
  304. package/lib/utils/position.js +0 -1
  305. package/lib/utils/position.js.map +2 -2
  306. package/lib/utils/scrollPosition.d.ts +6 -0
  307. package/lib/utils/scrollPosition.js +31 -0
  308. package/lib/utils/scrollPosition.js.map +13 -0
  309. package/package.json +3 -2
  310. package/schema.json +30213 -29222
  311. package/scss/_properties.scss +67 -25
  312. package/scss/components/_alert.scss +1 -1
  313. package/scss/components/_barcode.scss +1 -1
  314. package/scss/components/_button-group.scss +15 -0
  315. package/scss/components/_carousel.scss +1 -0
  316. package/scss/components/_column-toggler.scss +21 -11
  317. package/scss/components/_debug.scss +3 -3
  318. package/scss/components/_formula.scss +19 -1
  319. package/scss/components/_nav.scss +51 -6
  320. package/scss/components/_progress.scss +7 -14
  321. package/scss/components/_pull-refresh.scss +25 -0
  322. package/scss/components/_spinner.scss +134 -56
  323. package/scss/components/_steps.scss +199 -8
  324. package/scss/components/_tabs.scss +145 -13
  325. package/scss/components/_tooltip.scss +76 -9
  326. package/scss/components/form/_checks.scss +125 -2
  327. package/scss/components/form/_combo.scss +13 -1
  328. package/scss/components/form/_date-range.scss +27 -2
  329. package/scss/components/form/_date.scss +25 -0
  330. package/scss/components/form/_editor.scss +2 -1
  331. package/scss/components/form/_file.scss +4 -0
  332. package/scss/components/form/_form.scss +31 -8
  333. package/scss/components/form/_number.scss +5 -2
  334. package/scss/components/form/_select.scss +0 -1
  335. package/scss/components/form/_textarea.scss +1 -23
  336. package/scss/components/form/_transfer.scss +3 -2
  337. package/scss/themes/_antd-variables.scss +1 -1
  338. package/scss/themes/_common.scss +1 -0
  339. package/scss/themes/_cxd-variables.scss +6 -5
  340. package/sdk/ang-ie11.css +1059 -198
  341. package/sdk/ang.css +1050 -164
  342. package/sdk/antd-ie11.css +1167 -306
  343. package/sdk/antd.css +1051 -165
  344. package/sdk/barcode.js +51 -51
  345. package/sdk/charts.js +14 -14
  346. package/sdk/codemirror.js +7 -7
  347. package/sdk/color-picker.js +65 -65
  348. package/sdk/cropperjs.js +2 -2
  349. package/sdk/cxd-ie11.css +1145 -284
  350. package/sdk/cxd.css +1056 -169
  351. package/sdk/dark-ie11.css +1056 -195
  352. package/sdk/dark.css +1050 -164
  353. package/sdk/exceljs.js +1 -1
  354. package/sdk/locale/de-DE.js +18 -1
  355. package/sdk/markdown.js +69 -69
  356. package/sdk/papaparse.js +1 -1
  357. package/sdk/renderers/Form/CityDB.js +1 -1
  358. package/sdk/rest.js +17 -17
  359. package/sdk/rich-text.js +62 -62
  360. package/sdk/sdk-ie11.css +1145 -284
  361. package/sdk/sdk.css +1056 -169
  362. package/sdk/sdk.js +1321 -1273
  363. package/sdk/thirds/hls.js/hls.js +1 -1
  364. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  365. package/sdk/tinymce.js +57 -57
  366. package/src/Schema.ts +15 -2
  367. package/src/SchemaRenderer.tsx +32 -14
  368. package/src/WithStore.tsx +3 -1
  369. package/src/actions/CmptAction.ts +28 -0
  370. package/src/actions/PageAction.ts +62 -0
  371. package/src/actions/index.ts +1 -0
  372. package/src/components/Alert2.tsx +9 -3
  373. package/src/components/AssociatedSelection.tsx +9 -3
  374. package/src/components/BarCode.tsx +2 -2
  375. package/src/components/Cascader.tsx +37 -11
  376. package/src/components/Checkbox.tsx +11 -5
  377. package/src/components/CityArea.tsx +3 -0
  378. package/src/components/DatePicker.tsx +68 -22
  379. package/src/components/DateRangePicker.tsx +551 -88
  380. package/src/components/Drawer.tsx +1 -0
  381. package/src/components/Modal.tsx +1 -0
  382. package/src/components/Overlay.tsx +6 -3
  383. package/src/components/Progress.tsx +64 -33
  384. package/src/components/PullRefresh.tsx +197 -0
  385. package/src/components/Radios.tsx +6 -17
  386. package/src/components/Range.tsx +26 -12
  387. package/src/components/Spinner.tsx +77 -42
  388. package/src/components/Steps.tsx +28 -27
  389. package/src/components/Tabs.tsx +51 -21
  390. package/src/components/Tooltip.tsx +12 -3
  391. package/src/components/TooltipWrapper.tsx +140 -33
  392. package/src/components/Tree.tsx +19 -5
  393. package/src/components/calendar/Calendar.tsx +4 -13
  394. package/src/components/calendar/TimeView.tsx +12 -0
  395. package/src/components/calendar/YearsView.tsx +3 -4
  396. package/src/components/condition-builder/Expression.tsx +6 -1
  397. package/src/components/condition-builder/Field.tsx +5 -1
  398. package/src/components/condition-builder/Group.tsx +4 -1
  399. package/src/components/condition-builder/GroupOrItem.tsx +4 -1
  400. package/src/components/condition-builder/InputSwitch.tsx +4 -1
  401. package/src/components/condition-builder/Item.tsx +28 -4
  402. package/src/components/condition-builder/Value.tsx +7 -1
  403. package/src/components/condition-builder/index.tsx +4 -2
  404. package/src/components/formula/Editor.tsx +46 -10
  405. package/src/components/formula/Picker.tsx +32 -1
  406. package/src/components/icons.tsx +2 -0
  407. package/src/factory.tsx +31 -3
  408. package/src/icons/trash.svg +8 -0
  409. package/src/index.tsx +1 -0
  410. package/src/locale/de-DE.ts +18 -1
  411. package/src/locale/en-US.ts +18 -1
  412. package/src/locale/zh-CN.ts +18 -1
  413. package/src/renderers/Action.tsx +24 -2
  414. package/src/renderers/App.tsx +4 -0
  415. package/src/renderers/ButtonGroup.tsx +2 -2
  416. package/src/renderers/CRUD.tsx +23 -5
  417. package/src/renderers/Carousel.tsx +8 -0
  418. package/src/renderers/Chart.tsx +4 -0
  419. package/src/renderers/Dialog.tsx +21 -3
  420. package/src/renderers/Drawer.tsx +14 -2
  421. package/src/renderers/DropDownButton.tsx +14 -3
  422. package/src/renderers/Form/Checkbox.tsx +11 -2
  423. package/src/renderers/Form/Checkboxes.tsx +106 -23
  424. package/src/renderers/Form/Combo.tsx +179 -66
  425. package/src/renderers/Form/InputCity.tsx +46 -5
  426. package/src/renderers/Form/InputDate.tsx +18 -4
  427. package/src/renderers/Form/InputDateRange.tsx +27 -3
  428. package/src/renderers/Form/InputFile.tsx +23 -7
  429. package/src/renderers/Form/InputFormula.tsx +7 -0
  430. package/src/renderers/Form/InputImage.tsx +22 -6
  431. package/src/renderers/Form/InputMonthRange.tsx +7 -1
  432. package/src/renderers/Form/InputRange.tsx +20 -22
  433. package/src/renderers/Form/InputTable.tsx +6 -2
  434. package/src/renderers/Form/InputText.tsx +14 -4
  435. package/src/renderers/Form/InputTree.tsx +40 -2
  436. package/src/renderers/Form/Item.tsx +7 -0
  437. package/src/renderers/Form/NestedSelect.tsx +23 -4
  438. package/src/renderers/Form/Options.tsx +26 -7
  439. package/src/renderers/Form/Select.tsx +5 -3
  440. package/src/renderers/Form/Textarea.tsx +3 -1
  441. package/src/renderers/Form/TreeSelect.tsx +47 -9
  442. package/src/renderers/Form/index.tsx +56 -25
  443. package/src/renderers/Form/wrapControl.tsx +23 -12
  444. package/src/renderers/Nav.tsx +231 -33
  445. package/src/renderers/Page.tsx +97 -35
  446. package/src/renderers/Progress.tsx +9 -11
  447. package/src/renderers/Service.tsx +66 -27
  448. package/src/renderers/Spinner.tsx +85 -3
  449. package/src/renderers/Steps.tsx +14 -0
  450. package/src/renderers/Table/ColumnToggler.tsx +36 -11
  451. package/src/renderers/Table/TableCell.tsx +39 -1
  452. package/src/renderers/Table/TableRow.tsx +1 -1
  453. package/src/renderers/Table/index.tsx +43 -19
  454. package/src/renderers/Tabs.tsx +90 -31
  455. package/src/renderers/TooltipWrapper.tsx +262 -0
  456. package/src/renderers/Wizard.tsx +169 -93
  457. package/src/store/crud.ts +50 -5
  458. package/src/store/form.ts +8 -3
  459. package/src/store/formItem.ts +1 -2
  460. package/src/store/index.ts +20 -0
  461. package/src/store/table.ts +4 -4
  462. package/src/types.ts +8 -1
  463. package/src/utils/ColorScale.ts +138 -0
  464. package/src/utils/api.ts +26 -4
  465. package/src/utils/columnsSplit.tsx +57 -0
  466. package/src/utils/debug.tsx +17 -24
  467. package/src/utils/dom.tsx +7 -6
  468. package/src/utils/position.ts +0 -1
  469. package/src/utils/scrollPosition.ts +29 -0
@@ -17,6 +17,7 @@ export interface ValueProps extends ThemeProps, LocaleProps {
17
17
  op?: OperatorType;
18
18
  disabled?: boolean;
19
19
  formula?: FormulaPickerProps;
20
+ popOverContainer?: any;
20
21
  }
21
22
 
22
23
  export class Value extends React.Component<ValueProps> {
@@ -30,7 +31,8 @@ export class Value extends React.Component<ValueProps> {
30
31
  translate: __,
31
32
  data,
32
33
  disabled,
33
- formula
34
+ formula,
35
+ popOverContainer
34
36
  } = this.props;
35
37
  let input: JSX.Element | undefined = undefined;
36
38
  if (formula) {
@@ -76,6 +78,7 @@ export class Value extends React.Component<ValueProps> {
76
78
  onChange={onChange}
77
79
  timeFormat=""
78
80
  disabled={disabled}
81
+ popOverContainer={popOverContainer}
79
82
  />
80
83
  );
81
84
  } else if (field.type === 'time') {
@@ -90,6 +93,7 @@ export class Value extends React.Component<ValueProps> {
90
93
  dateFormat=""
91
94
  timeFormat={field.format || 'HH:mm'}
92
95
  disabled={disabled}
96
+ popOverContainer={popOverContainer}
93
97
  />
94
98
  );
95
99
  } else if (field.type === 'datetime') {
@@ -102,6 +106,7 @@ export class Value extends React.Component<ValueProps> {
102
106
  onChange={onChange}
103
107
  timeFormat={field.timeFormat || 'HH:mm'}
104
108
  disabled={disabled}
109
+ popOverContainer={popOverContainer}
105
110
  />
106
111
  );
107
112
  } else if (field.type === 'select') {
@@ -119,6 +124,7 @@ export class Value extends React.Component<ValueProps> {
119
124
  onChange={onChange}
120
125
  multiple={op === 'select_any_in' || op === 'select_not_any_in'}
121
126
  disabled={disabled}
127
+ popOverContainer={popOverContainer}
122
128
  />
123
129
  );
124
130
  } else if (field.type === 'boolean') {
@@ -13,7 +13,6 @@ import {
13
13
  mapTree,
14
14
  guid
15
15
  } from '../../utils/helper';
16
- import {findDOMNode} from 'react-dom';
17
16
  import animtion from '../../utils/Animation';
18
17
  import {FormulaPickerProps} from '../formula/Picker';
19
18
 
@@ -31,6 +30,7 @@ export interface ConditionBuilderProps extends ThemeProps, LocaleProps {
31
30
  searchable?: boolean;
32
31
  fieldClassName?: string;
33
32
  formula?: FormulaPickerProps;
33
+ popOverContainer?: any;
34
34
  }
35
35
 
36
36
  export class QueryBuilder extends React.Component<ConditionBuilderProps> {
@@ -210,7 +210,8 @@ export class QueryBuilder extends React.Component<ConditionBuilderProps> {
210
210
  disabled,
211
211
  searchable,
212
212
  builderMode,
213
- formula
213
+ formula,
214
+ popOverContainer
214
215
  } = this.props;
215
216
 
216
217
  const normalizedValue = Array.isArray(value?.children)
@@ -247,6 +248,7 @@ export class QueryBuilder extends React.Component<ConditionBuilderProps> {
247
248
  disabled={disabled}
248
249
  searchable={searchable}
249
250
  formula={formula}
251
+ popOverContainer={popOverContainer}
250
252
  />
251
253
  );
252
254
  }
@@ -10,7 +10,7 @@ import {FormulaPlugin, editorFactory} from './plugin';
10
10
  import FuncList from './FuncList';
11
11
  import {VariableList} from './VariableList';
12
12
  import CodeMirrorEditor from '../CodeMirror';
13
- import {autobind} from '../../utils/helper';
13
+ import {autobind, eachTree} from '../../utils/helper';
14
14
  import {themeable, ThemeProps} from '../../theme';
15
15
  import {localeable, LocaleProps} from '../../locale';
16
16
 
@@ -29,7 +29,9 @@ export interface FuncGroup {
29
29
  }
30
30
 
31
31
  export interface FuncItem {
32
- name: string;
32
+ name: string; // 函数名
33
+ example?: string; // 示例
34
+ description?: string; // 描述
33
35
  [propName: string]: any;
34
36
  }
35
37
 
@@ -119,11 +121,7 @@ export class FormulaEditor extends React.Component<
119
121
  return funcs;
120
122
  }
121
123
 
122
- static defaultProps: Pick<
123
- FormulaEditorProps,
124
- 'functions' | 'variables' | 'evalMode'
125
- > = {
126
- functions: FormulaEditor.buildDefaultFunctions(doc),
124
+ static defaultProps: Pick<FormulaEditorProps, 'variables' | 'evalMode'> = {
127
125
  variables: [],
128
126
  evalMode: true
129
127
  };
@@ -133,8 +131,40 @@ export class FormulaEditor extends React.Component<
133
131
  variables: Array<VariableItem>,
134
132
  functions: Array<FuncGroup>
135
133
  ) {
136
- // todo 高亮原始文本
137
- return value;
134
+ if (!Array.isArray(variables) || !variables.length || !value) {
135
+ return;
136
+ }
137
+
138
+ const varMap: {
139
+ [propname: string]: string;
140
+ } = {};
141
+
142
+ eachTree(
143
+ variables,
144
+ item => item.value && (varMap[item.value] = item.label)
145
+ );
146
+ const vars = Object.keys(varMap)
147
+ .filter(item => item)
148
+ .sort((a, b) => b.length - a.length);
149
+
150
+ const content = value || '';
151
+ let html = '';
152
+
153
+ // 标记方法调用
154
+ html = content.replace(/([A-Z]+)\s*\(/g, (_, func, pos) => {
155
+ return _?.replace(func, `<span class="c-func">${func}</span>`);
156
+ });
157
+
158
+ vars.forEach(v => {
159
+ let from = 0;
160
+ let idx = -1;
161
+ while (~(idx = content.indexOf(v, from))) {
162
+ html = content.replace(v, `<span class="c-field">${varMap[v]}</span>`);
163
+ from = idx + v.length;
164
+ }
165
+ });
166
+
167
+ return {html};
138
168
  }
139
169
 
140
170
  componentWillUnmount() {
@@ -223,6 +253,12 @@ export class FormulaEditor extends React.Component<
223
253
  classPrefix
224
254
  } = this.props;
225
255
  const {focused} = this.state;
256
+ const customFunctions = Array.isArray(functions) ? functions : [];
257
+ const functionList = [
258
+ ...FormulaEditor.buildDefaultFunctions(doc),
259
+ ...customFunctions
260
+ ];
261
+
226
262
  return (
227
263
  <div
228
264
  className={cx(`FormulaEditor`, {
@@ -268,7 +304,7 @@ export class FormulaEditor extends React.Component<
268
304
  <FuncList
269
305
  className={functionClassName}
270
306
  title={__('FormulaEditor.function')}
271
- data={functions}
307
+ data={functionList}
272
308
  onSelect={this.handleFunctionSelect}
273
309
  />
274
310
  </section>
@@ -69,6 +69,11 @@ export interface FormulaPickerProps extends FormulaEditorProps {
69
69
  */
70
70
  disabled?: boolean;
71
71
 
72
+ /**
73
+ * 是否允许输入,否需要点击fx在弹窗中输入
74
+ */
75
+ allowInput?: boolean;
76
+
72
77
  /**
73
78
  * 占位文本
74
79
  */
@@ -96,12 +101,28 @@ export class FormulaPicker extends React.Component<FormulaPickerProps> {
96
101
  this.props.onChange?.(value);
97
102
  }
98
103
 
104
+ @autobind
105
+ renderFormulaValue(item: any) {
106
+ const {allowInput, classnames: cx} = this.props;
107
+ const html = {__html: item.html};
108
+ if (allowInput) {
109
+ return '';
110
+ }
111
+ return (
112
+ <div
113
+ className={cx('FormulaPicker-ResultBox')}
114
+ dangerouslySetInnerHTML={html}
115
+ ></div>
116
+ );
117
+ }
118
+
99
119
  render() {
100
120
  let {
101
121
  classnames: cx,
102
122
  value,
103
123
  translate: __,
104
124
  disabled,
125
+ allowInput,
105
126
  className,
106
127
  onChange,
107
128
  size,
@@ -186,9 +207,19 @@ export class FormulaPicker extends React.Component<FormulaPickerProps> {
186
207
  'FormulaPicker-input',
187
208
  isOpened ? 'is-active' : ''
188
209
  )}
189
- allowInput
210
+ allowInput={allowInput}
190
211
  clearable={clearable}
191
212
  value={value}
213
+ result={
214
+ allowInput
215
+ ? void 0
216
+ : FormulaEditor.highlightValue(
217
+ value,
218
+ variables,
219
+ functions
220
+ )
221
+ }
222
+ itemRender={this.renderFormulaValue}
192
223
  onResultChange={noop}
193
224
  onChange={this.handleConfirm}
194
225
  disabled={disabled}
@@ -83,6 +83,7 @@ import AlertDanger from '../icons/alert-danger.svg';
83
83
  import FunctionIcon from '../icons/function.svg';
84
84
  import InputClearIcon from '../icons/input-clear.svg';
85
85
  import SliderHandleIcon from '../icons/slider-handle-icon.svg';
86
+ import TrashIcon from '../icons/trash.svg';
86
87
 
87
88
  // 兼容原来的用法,后续不直接试用。
88
89
 
@@ -192,6 +193,7 @@ registerIcon('slider-handle', SliderHandleIcon);
192
193
  registerIcon('cloud-upload', CloudUploadIcon);
193
194
  registerIcon('image', ImageIcon);
194
195
  registerIcon('refresh', RefreshIcon);
196
+ registerIcon('trash', TrashIcon);
195
197
 
196
198
  export function Icon({
197
199
  icon,
package/src/factory.tsx CHANGED
@@ -42,6 +42,7 @@ import {
42
42
  RendererEvent
43
43
  } from './utils/renderer-event';
44
44
  import {runActions} from './actions/Action';
45
+ import {enableDebug} from './utils/debug';
45
46
 
46
47
  export interface TestFunc {
47
48
  (
@@ -102,6 +103,7 @@ export interface RenderSchemaFilter {
102
103
 
103
104
  export interface wsObject {
104
105
  url: string;
106
+ responseKey?: string;
105
107
  body?: any;
106
108
  }
107
109
 
@@ -152,6 +154,10 @@ export interface RenderOptions {
152
154
  * 过滤 html 标签,可用来添加 xss 保护逻辑
153
155
  */
154
156
  filterHtml?: (input: string) => string;
157
+ /**
158
+ * 是否开启 amis 调试
159
+ */
160
+ enableAMISDebug?: boolean;
155
161
  [propName: string]: any;
156
162
  }
157
163
 
@@ -271,6 +277,10 @@ const defaultOptions: RenderOptions = {
271
277
  affixOffsetBottom: 0,
272
278
  richTextToken: '',
273
279
  useMobileUI: true, // 是否启用移动端原生 UI
280
+ enableAMISDebug:
281
+ (window as any).enableAMISDebug ??
282
+ location.search.indexOf('amisDebug=1') !== -1 ??
283
+ false,
274
284
  loadRenderer,
275
285
  rendererEventListeners: [],
276
286
  fetcher() {
@@ -287,7 +297,18 @@ const defaultOptions: RenderOptions = {
287
297
  };
288
298
  socket.onmessage = event => {
289
299
  if (event.data) {
290
- onMessage(JSON.parse(event.data));
300
+ let data;
301
+ try {
302
+ data = JSON.parse(event.data);
303
+ } catch (error) {}
304
+ if (typeof data !== 'object') {
305
+ let key = ws.responseKey || 'data';
306
+ data = {
307
+ [key]: event.data
308
+ };
309
+ }
310
+
311
+ onMessage(data);
291
312
  }
292
313
  };
293
314
  socket.onerror = onError;
@@ -492,6 +513,13 @@ export function render(
492
513
  translate
493
514
  } as any;
494
515
 
516
+ if (options.enableAMISDebug) {
517
+ // 因为里面还有 render
518
+ setTimeout(() => {
519
+ enableDebug();
520
+ }, 10);
521
+ }
522
+
495
523
  store = RendererStore.create({}, options);
496
524
  stores[options.session || 'global'] = store;
497
525
  }
@@ -518,13 +546,13 @@ export function render(
518
546
  // 进行文本替换
519
547
  if (env.replaceText && isObject(env.replaceText)) {
520
548
  const replaceKeys = Object.keys(env.replaceText);
521
- replaceKeys.sort().reverse(); // 避免用户将短的放前面
549
+ replaceKeys.sort((a, b) => b.length - a.length); // 避免用户将短的放前面
522
550
  const replaceTextIgnoreKeys = new Set(env.replaceTextIgnoreKeys || []);
523
551
  JSONTraverse(schema, (value: any, key: string, object: any) => {
524
552
  if (typeof value === 'string' && !replaceTextIgnoreKeys.has(key)) {
525
553
  for (const replaceKey of replaceKeys) {
526
554
  if (~value.indexOf(replaceKey)) {
527
- object[key] = value.replaceAll(
555
+ value = object[key] = value.replaceAll(
528
556
  replaceKey,
529
557
  env.replaceText[replaceKey]
530
558
  );
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <title>4.图标元件/3.操作/删除</title>
4
+ <g id="4.图标元件/3.操作/删除" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
5
+ <rect id="矩形" stroke="#979797" fill="#D8D8D8" opacity="0" x="0.5" y="0.5" width="15" height="15"></rect>
6
+ <path d="M14,3.499 L14,4.5 L12.497,4.5 L12.498,14.5 L3.498,14.5 L3.497,4.5 L2,4.5 L2,3.499 L14,3.499 Z M11.498,4.5 L4.497,4.5 L4.497,13.5 L11.498,13.5 L11.498,4.5 Z M6.998,7.499 L6.998,11.499 L5.998,11.499 L5.998,7.499 L6.998,7.499 Z M9.998,7.499 L9.998,11.499 L8.998,11.499 L8.998,7.499 L9.998,7.499 Z M9.999,1.5 L9.999,2.499 L5.998,2.499 L5.998,1.5 L9.999,1.5 Z" id="形状结合" fill="#151B26"></path>
7
+ </g>
8
+ </svg>
package/src/index.tsx CHANGED
@@ -175,6 +175,7 @@ import './renderers/TableView';
175
175
  import './renderers/Code';
176
176
  import './renderers/WebComponent';
177
177
  import './renderers/GridNav';
178
+ import './renderers/TooltipWrapper';
178
179
 
179
180
  import Scoped, {ScopedContext} from './Scoped';
180
181
 
@@ -75,6 +75,19 @@ register('de-DE', {
75
75
  'Date.weekslater': '{{weeks}} Wochen später',
76
76
  'Date.yesterday': 'Gestern',
77
77
  'dateformat.year': 'YYYY',
78
+ 'DateRange.daysago': 'letzten {{days}} Tage',
79
+ 'DateRange.dayslater': 'innerhalb von {{days}} Tagen',
80
+ 'DateRange.weeksago': 'letzten {{weeks}} Wochen',
81
+ 'DateRange.weekslater': 'innerhalb von {{weeks}} Wochen',
82
+ 'DateRange.monthsago': 'letzten {{months}} Monate',
83
+ 'DateRange.monthslater': 'innerhalb von {{months}} Monaten',
84
+ 'DateRange.quartersago': 'letzten {{quarters}} Quartale',
85
+ 'DateRange.quarterslater': 'innerhalb von {{quarters}} Quartalen',
86
+ 'DateRange.yearsago': 'letzten {{years}} Jahre',
87
+ 'DateRange.yearslater': '{{years}} Jahren',
88
+ 'DateRange.hoursago': 'letzten {{hours}} Stunden',
89
+ 'DateRange.hourslater': 'innerhalb von {{hours}} Stunden',
90
+ 'DateRange.1dayago': 'Vor 1 Tag',
78
91
  'DateRange.1daysago': 'Vor 1 Tag',
79
92
  'DateRange.7daysago': 'Vor 7 Tagen',
80
93
  'DateRange.30daysago': 'Vor 30 Tagen',
@@ -276,5 +289,9 @@ register('de-DE', {
276
289
  'FormulaEditor.btnLabel': 'Formel Bearbeiten',
277
290
  'FormulaEditor.title': 'Formel Editor',
278
291
  'FormulaEditor.variable': 'Variable',
279
- 'FormulaEditor.function': 'Funktion'
292
+ 'FormulaEditor.function': 'Funktion',
293
+ 'pullRefresh.pullingText': 'Zum Aktualisieren nach unten ziehen...',
294
+ 'pullRefresh.loosingText': 'Zum Aktualisieren freigeben...',
295
+ 'pullRefresh.loadingText': 'Laden...',
296
+ 'pullRefresh.successText': 'Laden erfolgreich'
280
297
  });
@@ -72,6 +72,19 @@ register('en-US', {
72
72
  'Date.weekslater': '{{weeks}} week(s) later',
73
73
  'Date.yesterday': 'Yesterday',
74
74
  'dateformat.year': 'YYYY',
75
+ 'DateRange.daysago': 'Last {{days}} day(s)',
76
+ 'DateRange.dayslater': 'Within {{days}} day(s)',
77
+ 'DateRange.weeksago': 'Last {{weeks}} week(s)',
78
+ 'DateRange.weekslater': 'Within {{weeks}} week(s)',
79
+ 'DateRange.monthsago': 'Last {{months}} month(s)',
80
+ 'DateRange.monthslater': 'Within {{months}} month(s)',
81
+ 'DateRange.quartersago': 'Last {{quarters}} quarter(s)',
82
+ 'DateRange.quarterslater': 'Within {{quarters}} quarter(s)',
83
+ 'DateRange.yearsago': 'Last {{years}} year(s)',
84
+ 'DateRange.yearslater': 'Within {{years}} year(s)',
85
+ 'DateRange.hoursago': 'Last {{hours}} hour(s)',
86
+ 'DateRange.hourslater': 'Within {{hours}} hour(s)',
87
+ 'DateRange.1dayago': '1 day ago',
75
88
  'DateRange.1daysago': '1 day ago',
76
89
  'DateRange.7daysago': '7 days ago',
77
90
  'DateRange.30daysago': '30 days ago',
@@ -278,5 +291,9 @@ register('en-US', {
278
291
  'FormulaEditor.btnLabel': 'Formula Edit',
279
292
  'FormulaEditor.title': 'Formula Editor',
280
293
  'FormulaEditor.variable': 'Variable',
281
- 'FormulaEditor.function': 'Function'
294
+ 'FormulaEditor.function': 'Function',
295
+ 'pullRefresh.pullingText': 'Pull down to refresh...',
296
+ 'pullRefresh.loosingText': 'Release to refresh...',
297
+ 'pullRefresh.loadingText': 'Loading...',
298
+ 'pullRefresh.successText': 'Loading success'
282
299
  });
@@ -75,7 +75,20 @@ register('zh-CN', {
75
75
  'Date.weekslater': '{{weeks}}周后',
76
76
  'Date.yesterday': '昨天',
77
77
  'dateformat.year': 'YYYY年',
78
+ 'DateRange.daysago': '最近{{days}}天',
79
+ 'DateRange.dayslater': '{{days}}天以内',
80
+ 'DateRange.weeksago': '最近{{weeks}}周',
81
+ 'DateRange.weekslater': '{{weeks}}周以内',
82
+ 'DateRange.monthsago': '最近{{months}}月',
83
+ 'DateRange.monthslater': '{{months}}月以内',
84
+ 'DateRange.quartersago': '最近{{quarters}}季度',
85
+ 'DateRange.quarterslater': '{{quarters}}季度以内',
86
+ 'DateRange.yearsago': '最近{{years}}年',
87
+ 'DateRange.yearslater': '{{years}}年以内',
88
+ 'DateRange.hoursago': '最近{{hours}}小时',
89
+ 'DateRange.hourslater': '{{hours}}小时以内',
78
90
  'DateRange.1daysago': '最近1天',
91
+ 'DateRange.1dayago': '最近1天',
79
92
  'DateRange.7daysago': '最近7天',
80
93
  'DateRange.30daysago': '最近30天',
81
94
  'DateRange.90daysago': '最近90天',
@@ -285,5 +298,9 @@ register('zh-CN', {
285
298
  'FormulaEditor.btnLabel': '公式编辑',
286
299
  'FormulaEditor.title': '公式编辑器',
287
300
  'FormulaEditor.variable': '变量',
288
- 'FormulaEditor.function': '函数'
301
+ 'FormulaEditor.function': '函数',
302
+ 'pullRefresh.pullingText': '下拉即可刷新...',
303
+ 'pullRefresh.loosingText': '释放即可刷新...',
304
+ 'pullRefresh.loadingText': '加载中...',
305
+ 'pullRefresh.successText': '加载成功'
289
306
  });
@@ -62,7 +62,8 @@ export interface ButtonSchema extends BaseSchema {
62
62
  | 'link'
63
63
  | 'primary'
64
64
  | 'dark'
65
- | 'light';
65
+ | 'light'
66
+ | 'secondary';
66
67
 
67
68
  /**
68
69
  * @deprecated 通过 level 来配置
@@ -752,6 +753,8 @@ export class Action extends React.Component<ActionProps, ActionState> {
752
753
  loading,
753
754
  body,
754
755
  render,
756
+ onMouseEnter,
757
+ onMouseLeave,
755
758
  classnames: cx,
756
759
  classPrefix: ns
757
760
  } = this.props;
@@ -767,7 +770,12 @@ export class Action extends React.Component<ActionProps, ActionState> {
767
770
  trigger={tooltipTrigger}
768
771
  rootClose={tooltipRootClose}
769
772
  >
770
- <div className={cx('Action', className)} onClick={this.handleAction}>
773
+ <div
774
+ className={cx('Action', className)}
775
+ onClick={this.handleAction}
776
+ onMouseEnter={onMouseEnter}
777
+ onMouseLeave={onMouseLeave}
778
+ >
771
779
  {render('body', body) as JSX.Element}
772
780
  </div>
773
781
  </TooltipWrapper>
@@ -813,6 +821,8 @@ export class Action extends React.Component<ActionProps, ActionState> {
813
821
  loadingClassName={loadingClassName}
814
822
  loading={loading}
815
823
  onClick={this.handleAction}
824
+ onMouseEnter={onMouseEnter}
825
+ onMouseLeave={onMouseLeave}
816
826
  type={type && ~allowedType.indexOf(type) ? type : 'button'}
817
827
  disabled={disabled}
818
828
  componentClass={isMenuItem ? 'a' : componentClass}
@@ -876,6 +886,16 @@ export class ActionRenderer extends React.Component<
876
886
  }
877
887
  }
878
888
 
889
+ @autobind
890
+ handleMouseEnter(e: React.MouseEvent<any>) {
891
+ this.props.dispatchEvent(e, this.props.data);
892
+ }
893
+
894
+ @autobind
895
+ handleMouseLeave(e: React.MouseEvent<any>) {
896
+ this.props.dispatchEvent(e, this.props.data);
897
+ }
898
+
879
899
  @autobind
880
900
  isCurrentAction(link: string) {
881
901
  const {env, data} = this.props;
@@ -891,6 +911,8 @@ export class ActionRenderer extends React.Component<
891
911
  env={env}
892
912
  disabled={disabled || btnDisabled}
893
913
  onAction={this.handleAction}
914
+ onMouseEnter={this.handleMouseEnter}
915
+ onMouseLeave={this.handleMouseLeave}
894
916
  loading={loading}
895
917
  isCurrentUrl={this.isCurrentAction}
896
918
  tooltipContainer={
@@ -417,4 +417,8 @@ export class AppRenderer extends App {
417
417
  scoped.unRegisterComponent(this);
418
418
  super.componentWillUnmount();
419
419
  }
420
+
421
+ setData(values: object) {
422
+ return this.props.store.updateData(values);
423
+ }
420
424
  }
@@ -15,12 +15,12 @@ export interface ButtonGroupSchema extends BaseSchema {
15
15
  type: 'button-group';
16
16
 
17
17
  /**
18
- * 给 Button 配置 className
18
+ * @deprecated 给 Button 配置 className。建议用btnLevel
19
19
  */
20
20
  btnClassName?: SchemaClassName;
21
21
 
22
22
  /**
23
- * 给选中态 Button 配置 className
23
+ * @deprecated 给选中态 Button 配置 className。建议用btnActiveLevel
24
24
  */
25
25
  btnActiveClassName: string;
26
26
 
@@ -105,6 +105,16 @@ export interface CRUDCommonSchema extends BaseSchema {
105
105
  */
106
106
  perPage?: number;
107
107
 
108
+ /**
109
+ * 默认排序字段
110
+ */
111
+ orderBy?: string;
112
+
113
+ /**
114
+ * 默认排序方向
115
+ */
116
+ orderDir?: 'asc' | 'desc';
117
+
108
118
  /**
109
119
  * 可以默认给定初始参数如: {\"perPage\": 24}
110
120
  */
@@ -772,11 +782,17 @@ export default class CRUD extends React.Component<CRUDProps, any> {
772
782
  }
773
783
 
774
784
  handleFilterInit(values: object) {
775
- const {defaultParams, data, store} = this.props;
785
+ const {defaultParams, data, store, orderBy, orderDir} = this.props;
786
+ const params = {...defaultParams};
787
+
788
+ if (orderBy) {
789
+ params['orderBy'] = orderBy;
790
+ params['orderDir'] = orderDir || 'asc';
791
+ }
776
792
 
777
793
  this.handleFilterSubmit(
778
794
  {
779
- ...defaultParams,
795
+ ...params,
780
796
  ...values,
781
797
  ...store.query
782
798
  },
@@ -1025,7 +1041,8 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1025
1041
  env,
1026
1042
  loadDataOnce,
1027
1043
  loadDataOnceFetchOnFilter,
1028
- source
1044
+ source,
1045
+ columns
1029
1046
  } = this.props;
1030
1047
 
1031
1048
  // reload 需要清空用户选择。
@@ -1066,7 +1083,8 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1066
1083
  pageField,
1067
1084
  perPageField,
1068
1085
  loadDataMode,
1069
- syncResponse2Query
1086
+ syncResponse2Query,
1087
+ columns: store.columns ?? columns
1070
1088
  })
1071
1089
  .then(value => {
1072
1090
  interval &&
@@ -1592,7 +1610,7 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1592
1610
  `bulk-action/${index}`,
1593
1611
  {
1594
1612
  ...omit(btn, ['visibleOn', 'hiddenOn', 'disabledOn']),
1595
- type: 'button',
1613
+ type: btn.type || 'button',
1596
1614
  ignoreConfirm: true
1597
1615
  },
1598
1616
  {
@@ -278,6 +278,13 @@ export class Carousel extends React.Component<CarouselProps, CarouselState> {
278
278
  clearTimeout(this.durationTimeout as number);
279
279
  }
280
280
 
281
+ @autobind
282
+ changeSlide(index: number) {
283
+ this.setState({
284
+ current: index
285
+ });
286
+ }
287
+
281
288
  renderDots() {
282
289
  const {classnames: cx} = this.props;
283
290
  const {current, options} = this.state;
@@ -290,6 +297,7 @@ export class Carousel extends React.Component<CarouselProps, CarouselState> {
290
297
  {Array.from({length: options.length}).map((_, i) => (
291
298
  <span
292
299
  key={i}
300
+ onClick={() => this.changeSlide(i)}
293
301
  className={cx('Carousel-dot', current === i ? 'is-active' : '')}
294
302
  />
295
303
  ))}
@@ -489,4 +489,8 @@ export class ChartRenderer extends Chart {
489
489
  const scoped = this.context as IScopedContext;
490
490
  scoped.unRegisterComponent(this);
491
491
  }
492
+
493
+ setData(values: object) {
494
+ return this.props.store.updateData(values);
495
+ }
492
496
  }