amis 1.4.0 → 1.4.2-beta.12

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 (520) hide show
  1. package/README.md +1 -1
  2. package/lib/Schema.d.ts +26 -2
  3. package/lib/Schema.js.map +1 -1
  4. package/lib/components/Alert.js +3 -1
  5. package/lib/components/Alert.js.map +2 -2
  6. package/lib/components/AnchorNav.d.ts +22 -21
  7. package/lib/components/AnchorNav.js +7 -3
  8. package/lib/components/AnchorNav.js.map +2 -2
  9. package/lib/components/ArrayInput.d.ts +84 -84
  10. package/lib/components/AssociatedSelection.d.ts +930 -0
  11. package/lib/components/AssociatedSelection.js +89 -0
  12. package/lib/components/AssociatedSelection.js.map +13 -0
  13. package/lib/components/Badge.d.ts +4 -3
  14. package/lib/components/Badge.js +42 -7
  15. package/lib/components/Badge.js.map +2 -2
  16. package/lib/components/Button.d.ts +24 -22
  17. package/lib/components/Button.js +13 -7
  18. package/lib/components/Button.js.map +2 -2
  19. package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
  20. package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
  21. package/lib/components/ChainedSelection.js.map +13 -0
  22. package/lib/components/Collapse.js +1 -1
  23. package/lib/components/Collapse.js.map +2 -2
  24. package/lib/components/ColorPicker.d.ts +84 -84
  25. package/lib/components/DatePicker.d.ts +84 -84
  26. package/lib/components/DatePicker.js +1 -1
  27. package/lib/components/DatePicker.js.map +2 -2
  28. package/lib/components/DateRangePicker.d.ts +84 -84
  29. package/lib/components/DateRangePicker.js +1 -1
  30. package/lib/components/DateRangePicker.js.map +2 -2
  31. package/lib/components/Editor.d.ts +84 -84
  32. package/lib/components/GroupedSelection.d.ts +907 -0
  33. package/lib/components/GroupedSelection.js +48 -0
  34. package/lib/components/GroupedSelection.js.map +13 -0
  35. package/lib/components/InputBox.js +1 -1
  36. package/lib/components/InputBox.js.map +2 -2
  37. package/lib/components/Link.d.ts +84 -0
  38. package/lib/components/Link.js +43 -0
  39. package/lib/components/Link.js.map +13 -0
  40. package/lib/components/ListGroup.d.ts +21 -21
  41. package/lib/components/ModalManager.js +1 -1
  42. package/lib/components/ModalManager.js.map +2 -2
  43. package/lib/components/MonthRangePicker.d.ts +84 -84
  44. package/lib/components/MonthRangePicker.js +1 -1
  45. package/lib/components/MonthRangePicker.js.map +2 -2
  46. package/lib/components/NumberInput.d.ts +20 -20
  47. package/lib/components/PickerColumn.d.ts +514 -0
  48. package/lib/components/PickerColumn.js +279 -0
  49. package/lib/components/PickerColumn.js.map +13 -0
  50. package/lib/components/PickerContainer.d.ts +513 -0
  51. package/lib/components/PickerContainer.js +96 -0
  52. package/lib/components/PickerContainer.js.map +13 -0
  53. package/lib/components/Radios.d.ts +22 -21
  54. package/lib/components/Radios.js +1 -0
  55. package/lib/components/Radios.js.map +2 -2
  56. package/lib/components/Rating.d.ts +21 -21
  57. package/lib/components/ResultBox.d.ts +84 -84
  58. package/lib/components/RichText.d.ts +6 -1
  59. package/lib/components/RichText.js +207 -8
  60. package/lib/components/RichText.js.map +2 -2
  61. package/lib/components/SearchBox.d.ts +84 -84
  62. package/lib/components/SearchBox.js +4 -4
  63. package/lib/components/SearchBox.js.map +2 -2
  64. package/lib/components/Select.d.ts +245 -237
  65. package/lib/components/Select.js +28 -4
  66. package/lib/components/Select.js.map +2 -2
  67. package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
  68. package/lib/components/Selection.js +134 -0
  69. package/lib/components/Selection.js.map +13 -0
  70. package/lib/components/SparkLine.d.ts +85 -84
  71. package/lib/components/SparkLine.js +2 -2
  72. package/lib/components/SparkLine.js.map +2 -2
  73. package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
  74. package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
  75. package/lib/components/TableSelection.js.map +13 -0
  76. package/lib/components/Tabs.d.ts +20 -20
  77. package/lib/components/TabsTransfer.d.ts +84 -84
  78. package/lib/components/TabsTransfer.js +9 -9
  79. package/lib/components/TabsTransfer.js.map +2 -2
  80. package/lib/components/TabsTransferPicker.d.ts +489 -0
  81. package/lib/components/TabsTransferPicker.js +60 -0
  82. package/lib/components/TabsTransferPicker.js.map +13 -0
  83. package/lib/components/Toast.js +2 -2
  84. package/lib/components/Toast.js.map +2 -2
  85. package/lib/components/Transfer.d.ts +908 -274
  86. package/lib/components/Transfer.js +31 -24
  87. package/lib/components/Transfer.js.map +2 -2
  88. package/lib/components/TransferDropDown.d.ts +487 -0
  89. package/lib/components/TransferDropDown.js +59 -0
  90. package/lib/components/TransferDropDown.js.map +13 -0
  91. package/lib/components/TransferPicker.d.ts +489 -0
  92. package/lib/components/TransferPicker.js +60 -0
  93. package/lib/components/TransferPicker.js.map +13 -0
  94. package/lib/components/Tree.d.ts +84 -84
  95. package/lib/components/Tree.js +5 -3
  96. package/lib/components/Tree.js.map +2 -2
  97. package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
  98. package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
  99. package/lib/components/TreeSelection.js.map +13 -0
  100. package/lib/components/WithRemoteConfig.js +1 -1
  101. package/lib/components/WithRemoteConfig.js.map +2 -2
  102. package/lib/components/calendar/DaysView.js +2 -2
  103. package/lib/components/calendar/DaysView.js.map +2 -2
  104. package/lib/components/condition-builder/Field.js +5 -2
  105. package/lib/components/condition-builder/Field.js.map +2 -2
  106. package/lib/components/condition-builder/Func.js +2 -2
  107. package/lib/components/condition-builder/Func.js.map +2 -2
  108. package/lib/components/condition-builder/InputSwitch.js +2 -2
  109. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  110. package/lib/components/condition-builder/Item.js +3 -3
  111. package/lib/components/condition-builder/Item.js.map +2 -2
  112. package/lib/components/icons.js +14 -0
  113. package/lib/components/icons.js.map +2 -2
  114. package/lib/components/index.d.ts +8 -8
  115. package/lib/components/index.js +16 -16
  116. package/lib/components/index.js.map +2 -2
  117. package/lib/envOverwrite.js.map +2 -2
  118. package/lib/factory.d.ts +4 -0
  119. package/lib/factory.js +4 -2
  120. package/lib/factory.js.map +2 -2
  121. package/lib/helper.css.map +1 -1
  122. package/lib/hooks/index.d.ts +5 -0
  123. package/lib/hooks/index.js +14 -0
  124. package/lib/hooks/index.js.map +13 -0
  125. package/lib/hooks/use-set-state.d.ts +2 -0
  126. package/lib/hooks/use-set-state.js +15 -0
  127. package/lib/hooks/use-set-state.js.map +13 -0
  128. package/lib/hooks/use-touch.d.ts +16 -0
  129. package/lib/hooks/use-touch.js +73 -0
  130. package/lib/hooks/use-touch.js.map +13 -0
  131. package/lib/hooks/use-update-effect.d.ts +3 -0
  132. package/lib/hooks/use-update-effect.js +17 -0
  133. package/lib/hooks/use-update-effect.js.map +13 -0
  134. package/lib/icons/clock.js +10 -0
  135. package/lib/icons/loading-outline.js +7 -0
  136. package/lib/icons/status-close.js +11 -0
  137. package/lib/icons/status-fail.js +11 -0
  138. package/lib/icons/status-info.js +10 -0
  139. package/lib/icons/status-success.js +11 -0
  140. package/lib/icons/status-warning.js +10 -0
  141. package/lib/index.d.ts +3 -0
  142. package/lib/index.js +4 -1
  143. package/lib/index.js.map +2 -2
  144. package/lib/locale/de-DE.js +4 -0
  145. package/lib/locale/de-DE.js.map +2 -2
  146. package/lib/locale/en-US.js +4 -0
  147. package/lib/locale/en-US.js.map +2 -2
  148. package/lib/locale/zh-CN.js +7 -3
  149. package/lib/locale/zh-CN.js.map +2 -2
  150. package/lib/renderers/Action.d.ts +17 -1
  151. package/lib/renderers/Action.js +21 -8
  152. package/lib/renderers/Action.js.map +2 -2
  153. package/lib/renderers/AnchorNav.d.ts +1 -0
  154. package/lib/renderers/AnchorNav.js +2 -2
  155. package/lib/renderers/AnchorNav.js.map +2 -2
  156. package/lib/renderers/Avatar.js +3 -3
  157. package/lib/renderers/Avatar.js.map +2 -2
  158. package/lib/renderers/Breadcrumb.js +1 -1
  159. package/lib/renderers/Breadcrumb.js.map +2 -2
  160. package/lib/renderers/CRUD.d.ts +9 -0
  161. package/lib/renderers/CRUD.js +43 -8
  162. package/lib/renderers/CRUD.js.map +2 -2
  163. package/lib/renderers/Card.d.ts +4 -0
  164. package/lib/renderers/Card.js +29 -23
  165. package/lib/renderers/Card.js.map +2 -2
  166. package/lib/renderers/Chart.js +1 -1
  167. package/lib/renderers/Chart.js.map +2 -2
  168. package/lib/renderers/Collapse.js +3 -2
  169. package/lib/renderers/Collapse.js.map +2 -2
  170. package/lib/renderers/Dialog.js +0 -3
  171. package/lib/renderers/Dialog.js.map +2 -2
  172. package/lib/renderers/Drawer.js +0 -3
  173. package/lib/renderers/Drawer.js.map +2 -2
  174. package/lib/renderers/DropDownButton.d.ts +9 -1
  175. package/lib/renderers/DropDownButton.js +8 -4
  176. package/lib/renderers/DropDownButton.js.map +2 -2
  177. package/lib/renderers/Form/Checkbox.d.ts +5 -0
  178. package/lib/renderers/Form/Checkbox.js +4 -0
  179. package/lib/renderers/Form/Checkbox.js.map +2 -2
  180. package/lib/renderers/Form/Combo.js +2 -2
  181. package/lib/renderers/Form/Combo.js.map +2 -2
  182. package/lib/renderers/Form/DiffEditor.d.ts +4 -3
  183. package/lib/renderers/Form/Editor.d.ts +3 -2
  184. package/lib/renderers/Form/InputCity.d.ts +84 -84
  185. package/lib/renderers/Form/InputCity.js +7 -6
  186. package/lib/renderers/Form/InputCity.js.map +2 -2
  187. package/lib/renderers/Form/InputColor.d.ts +84 -84
  188. package/lib/renderers/Form/InputFile.js +12 -6
  189. package/lib/renderers/Form/InputFile.js.map +2 -2
  190. package/lib/renderers/Form/InputImage.js +16 -7
  191. package/lib/renderers/Form/InputImage.js.map +2 -2
  192. package/lib/renderers/Form/Item.d.ts +1 -1
  193. package/lib/renderers/Form/Item.js.map +1 -1
  194. package/lib/renderers/Form/Options.js +19 -6
  195. package/lib/renderers/Form/Options.js.map +2 -2
  196. package/lib/renderers/Form/Picker.js +2 -2
  197. package/lib/renderers/Form/Picker.js.map +2 -2
  198. package/lib/renderers/Form/Select.d.ts +41 -4
  199. package/lib/renderers/Form/Select.js +37 -3
  200. package/lib/renderers/Form/Select.js.map +2 -2
  201. package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
  202. package/lib/renderers/Form/TabsTransferPicker.js +29 -0
  203. package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
  204. package/lib/renderers/Form/Transfer.js +18 -3
  205. package/lib/renderers/Form/Transfer.js.map +2 -2
  206. package/lib/renderers/Form/TransferPicker.d.ts +48 -0
  207. package/lib/renderers/Form/TransferPicker.js +43 -0
  208. package/lib/renderers/Form/TransferPicker.js.map +13 -0
  209. package/lib/renderers/Form/TreeSelect.js +2 -2
  210. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  211. package/lib/renderers/Form/index.d.ts +5 -0
  212. package/lib/renderers/Form/index.js +5 -3
  213. package/lib/renderers/Form/index.js.map +2 -2
  214. package/lib/renderers/Form/wrapControl.js +15 -3
  215. package/lib/renderers/Form/wrapControl.js.map +2 -2
  216. package/lib/renderers/IFrame.js +3 -5
  217. package/lib/renderers/IFrame.js.map +2 -2
  218. package/lib/renderers/Image.d.ts +1 -0
  219. package/lib/renderers/Image.js +15 -1
  220. package/lib/renderers/Image.js.map +2 -2
  221. package/lib/renderers/Json.d.ts +4 -0
  222. package/lib/renderers/Json.js +4 -13
  223. package/lib/renderers/Json.js.map +2 -2
  224. package/lib/renderers/Link.d.ts +18 -3
  225. package/lib/renderers/Link.js +27 -15
  226. package/lib/renderers/Link.js.map +2 -2
  227. package/lib/renderers/List.js +1 -1
  228. package/lib/renderers/List.js.map +2 -2
  229. package/lib/renderers/Log.d.ts +2 -2
  230. package/lib/renderers/Log.js +7 -1
  231. package/lib/renderers/Log.js.map +2 -2
  232. package/lib/renderers/Mapping.d.ts +9 -2
  233. package/lib/renderers/Mapping.js +18 -6
  234. package/lib/renderers/Mapping.js.map +2 -2
  235. package/lib/renderers/Nav.d.ts +81 -25
  236. package/lib/renderers/Nav.js +292 -31
  237. package/lib/renderers/Nav.js.map +2 -2
  238. package/lib/renderers/Page.js +1 -1
  239. package/lib/renderers/Page.js.map +2 -2
  240. package/lib/renderers/Portlet.d.ts +125 -0
  241. package/lib/renderers/Portlet.js +156 -0
  242. package/lib/renderers/Portlet.js.map +13 -0
  243. package/lib/renderers/Property.js +2 -1
  244. package/lib/renderers/Property.js.map +2 -2
  245. package/lib/renderers/SearchBox.d.ts +6 -1
  246. package/lib/renderers/SearchBox.js +19 -5
  247. package/lib/renderers/SearchBox.js.map +2 -2
  248. package/lib/renderers/SparkLine.d.ts +4 -0
  249. package/lib/renderers/SparkLine.js.map +2 -2
  250. package/lib/renderers/Table/ColumnToggler.d.ts +113 -0
  251. package/lib/renderers/Table/ColumnToggler.js +216 -0
  252. package/lib/renderers/Table/ColumnToggler.js.map +13 -0
  253. package/lib/renderers/Table/ItemActionsWrapper.d.ts +11 -0
  254. package/lib/renderers/Table/ItemActionsWrapper.js +31 -0
  255. package/lib/renderers/Table/ItemActionsWrapper.js.map +13 -0
  256. package/lib/renderers/Table/TableBody.d.ts +4 -0
  257. package/lib/renderers/Table/TableCell.js +3 -1
  258. package/lib/renderers/Table/TableCell.js.map +2 -2
  259. package/lib/renderers/Table/TableContent.d.ts +4 -1
  260. package/lib/renderers/Table/TableContent.js +21 -1
  261. package/lib/renderers/Table/TableContent.js.map +2 -2
  262. package/lib/renderers/Table/index.d.ts +19 -2
  263. package/lib/renderers/Table/index.js +172 -57
  264. package/lib/renderers/Table/index.js.map +2 -2
  265. package/lib/renderers/Tabs.js +9 -1
  266. package/lib/renderers/Tabs.js.map +2 -2
  267. package/lib/renderers/WebComponent.js +1 -1
  268. package/lib/renderers/WebComponent.js.map +2 -2
  269. package/lib/store/combo.d.ts +2 -16
  270. package/lib/store/crud.js +3 -7
  271. package/lib/store/crud.js.map +2 -2
  272. package/lib/store/form.d.ts +1 -1
  273. package/lib/store/form.js +5 -6
  274. package/lib/store/form.js.map +2 -2
  275. package/lib/store/service.js +5 -4
  276. package/lib/store/service.js.map +2 -2
  277. package/lib/store/table.d.ts +260 -3
  278. package/lib/store/table.js +64 -6
  279. package/lib/store/table.js.map +2 -2
  280. package/lib/themes/ang-ie11.css +1175 -255
  281. package/lib/themes/ang.css +1175 -255
  282. package/lib/themes/ang.css.map +1 -1
  283. package/lib/themes/antd-ie11.css +1175 -255
  284. package/lib/themes/antd.css +1175 -255
  285. package/lib/themes/antd.css.map +1 -1
  286. package/lib/themes/cxd-ie11.css +1761 -514
  287. package/lib/themes/cxd.css +1761 -514
  288. package/lib/themes/cxd.css.map +1 -1
  289. package/lib/themes/dark-ie11.css +1175 -255
  290. package/lib/themes/dark.css +1175 -255
  291. package/lib/themes/dark.css.map +1 -1
  292. package/lib/themes/default.css +1761 -514
  293. package/lib/themes/default.css.map +1 -1
  294. package/lib/types.d.ts +37 -0
  295. package/lib/types.js +0 -5
  296. package/lib/types.js.map +2 -2
  297. package/lib/utils/api.d.ts +3 -2
  298. package/lib/utils/api.js +31 -15
  299. package/lib/utils/api.js.map +2 -2
  300. package/lib/utils/dom.d.ts +4 -0
  301. package/lib/utils/dom.js +11 -1
  302. package/lib/utils/dom.js.map +2 -2
  303. package/lib/utils/handleAction.d.ts +7 -0
  304. package/lib/utils/handleAction.js +30 -0
  305. package/lib/utils/handleAction.js.map +13 -0
  306. package/lib/utils/helper.d.ts +3 -1
  307. package/lib/utils/helper.js +14 -5
  308. package/lib/utils/helper.js.map +2 -2
  309. package/lib/utils/icon.js +3 -0
  310. package/lib/utils/icon.js.map +2 -2
  311. package/lib/utils/tpl-builtin.d.ts +1 -1
  312. package/lib/utils/tpl-builtin.js +25 -15
  313. package/lib/utils/tpl-builtin.js.map +2 -2
  314. package/package.json +1 -2
  315. package/schema.json +3534 -1028
  316. package/scss/_mixins.scss +27 -0
  317. package/scss/_properties.scss +84 -13
  318. package/scss/_utilities.scss +4 -0
  319. package/scss/base/_normalize.scss +2 -0
  320. package/scss/components/_anchor-nav.scss +88 -29
  321. package/scss/components/_badge.scss +52 -1
  322. package/scss/components/_button.scss +34 -3
  323. package/scss/components/_card.scss +8 -14
  324. package/scss/components/_collapse.scss +41 -8
  325. package/scss/components/_column-toggler.scss +234 -0
  326. package/scss/components/_dropdown.scss +2 -1
  327. package/scss/components/_image-gallery.scss +1 -1
  328. package/scss/components/_images.scss +2 -1
  329. package/scss/components/_link.scss +6 -0
  330. package/scss/components/_mapping.scss +6 -0
  331. package/scss/components/_nav.scss +236 -154
  332. package/scss/components/_page.scss +5 -4
  333. package/scss/components/_picker-columns.scss +123 -0
  334. package/scss/components/_popover.scss +17 -0
  335. package/scss/components/_portlet.scss +51 -0
  336. package/scss/components/_progress.scss +2 -0
  337. package/scss/components/_status.scss +1 -1
  338. package/scss/components/_steps.scss +1 -1
  339. package/scss/components/_table.scss +51 -1
  340. package/scss/components/form/_checks.scss +0 -351
  341. package/scss/components/form/_color.scss +1 -0
  342. package/scss/components/form/_date-range.scss +2 -0
  343. package/scss/components/form/_date.scss +2 -0
  344. package/scss/components/form/_fieldset.scss +6 -3
  345. package/scss/components/form/_file.scss +5 -4
  346. package/scss/components/form/_form.scss +48 -0
  347. package/scss/components/form/_image.scss +7 -2
  348. package/scss/components/form/_list.scss +1 -0
  349. package/scss/components/form/_location.scss +1 -1
  350. package/scss/components/form/_selection.scss +354 -0
  351. package/scss/components/form/_text.scss +13 -0
  352. package/scss/components/form/_textarea.scss +10 -0
  353. package/scss/components/form/_transfer.scss +77 -18
  354. package/scss/themes/_common.scss +6 -0
  355. package/scss/themes/_cxd-colors.scss +56 -0
  356. package/scss/themes/_cxd-variables.scss +219 -91
  357. package/scss/themes/cxd.scss +370 -0
  358. package/sdk/ang-ie11.css +1596 -515
  359. package/sdk/ang.css +1395 -256
  360. package/sdk/antd-ie11.css +1397 -318
  361. package/sdk/antd.css +1395 -256
  362. package/sdk/charts.js +13 -13
  363. package/sdk/color-picker.js +65 -65
  364. package/sdk/cropperjs.js +2 -2
  365. package/sdk/cxd-ie11.css +2739 -1361
  366. package/sdk/cxd.css +2095 -588
  367. package/sdk/dark-ie11.css +1593 -512
  368. package/sdk/dark.css +1395 -256
  369. package/sdk/exceljs.js +1 -1
  370. package/sdk/helper.css.map +1 -1
  371. package/sdk/iconfont.svg +2513 -0
  372. package/sdk/iconfont.ttf +0 -0
  373. package/sdk/iconfont.woff +0 -0
  374. package/sdk/ie11-patch.css +1 -0
  375. package/sdk/locale/de-DE.js +4 -0
  376. package/sdk/markdown.js +69 -69
  377. package/sdk/papaparse.js +1 -1
  378. package/sdk/renderers/Form/CityDB.js +1 -1
  379. package/sdk/rest.js +18 -32
  380. package/sdk/rich-text.js +62 -64
  381. package/sdk/sdk-ie11.css +2739 -1361
  382. package/sdk/sdk.css +2095 -588
  383. package/sdk/sdk.js +1189 -1133
  384. package/sdk/thirds/hls.js/hls.js +1 -1
  385. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  386. package/sdk/tinymce.js +57 -57
  387. package/src/Schema.ts +32 -0
  388. package/src/components/Alert.tsx +3 -1
  389. package/src/components/AnchorNav.tsx +15 -4
  390. package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +41 -37
  391. package/src/components/Badge.tsx +96 -28
  392. package/src/components/Button.tsx +23 -7
  393. package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
  394. package/src/components/Collapse.tsx +14 -9
  395. package/src/components/DatePicker.tsx +1 -1
  396. package/src/components/DateRangePicker.tsx +23 -11
  397. package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
  398. package/src/components/InputBox.tsx +1 -1
  399. package/src/components/Link.tsx +85 -0
  400. package/src/components/ModalManager.ts +1 -1
  401. package/src/components/MonthRangePicker.tsx +10 -2
  402. package/src/components/PickerColumn.tsx +429 -0
  403. package/src/components/PickerContainer.tsx +128 -0
  404. package/src/components/Radios.tsx +3 -8
  405. package/src/components/RichText.tsx +244 -3
  406. package/src/components/SearchBox.tsx +4 -5
  407. package/src/components/Select.tsx +60 -5
  408. package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
  409. package/src/components/SparkLine.tsx +4 -1
  410. package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
  411. package/src/components/TabsTransfer.tsx +13 -7
  412. package/src/components/TabsTransferPicker.tsx +85 -0
  413. package/src/components/Toast.tsx +5 -5
  414. package/src/components/Transfer.tsx +71 -50
  415. package/src/components/TransferDropDown.tsx +117 -0
  416. package/src/components/TransferPicker.tsx +84 -0
  417. package/src/components/Tree.tsx +6 -8
  418. package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
  419. package/src/components/WithRemoteConfig.tsx +7 -2
  420. package/src/components/calendar/DaysView.tsx +2 -2
  421. package/src/components/condition-builder/Field.tsx +5 -5
  422. package/src/components/condition-builder/Func.tsx +3 -3
  423. package/src/components/condition-builder/InputSwitch.tsx +3 -3
  424. package/src/components/condition-builder/Item.tsx +5 -12
  425. package/src/components/icons.tsx +15 -0
  426. package/src/components/index.tsx +13 -13
  427. package/src/envOverwrite.ts +0 -1
  428. package/src/factory.tsx +18 -3
  429. package/src/hooks/index.ts +5 -0
  430. package/src/hooks/use-set-state.ts +19 -0
  431. package/src/hooks/use-touch.ts +100 -0
  432. package/src/hooks/use-update-effect.ts +16 -0
  433. package/src/icons/clock.svg +1 -0
  434. package/src/icons/loading-outline.svg +4 -0
  435. package/src/icons/status-close.svg +10 -0
  436. package/src/icons/status-fail.svg +10 -0
  437. package/src/icons/status-info.svg +8 -0
  438. package/src/icons/status-success.svg +10 -0
  439. package/src/icons/status-warning.svg +8 -0
  440. package/src/index.tsx +3 -0
  441. package/src/locale/de-DE.ts +4 -0
  442. package/src/locale/en-US.ts +4 -0
  443. package/src/locale/zh-CN.ts +7 -3
  444. package/src/renderers/Action.tsx +99 -15
  445. package/src/renderers/AnchorNav.tsx +4 -0
  446. package/src/renderers/Avatar.tsx +8 -4
  447. package/src/renderers/Breadcrumb.tsx +5 -1
  448. package/src/renderers/CRUD.tsx +63 -28
  449. package/src/renderers/Card.tsx +63 -34
  450. package/src/renderers/Chart.tsx +6 -2
  451. package/src/renderers/Collapse.tsx +4 -2
  452. package/src/renderers/Dialog.tsx +0 -4
  453. package/src/renderers/Drawer.tsx +0 -4
  454. package/src/renderers/DropDownButton.tsx +26 -12
  455. package/src/renderers/Form/Checkbox.tsx +8 -0
  456. package/src/renderers/Form/Combo.tsx +2 -3
  457. package/src/renderers/Form/InputCity.tsx +4 -8
  458. package/src/renderers/Form/InputFile.tsx +30 -20
  459. package/src/renderers/Form/InputImage.tsx +16 -5
  460. package/src/renderers/Form/Item.tsx +1 -1
  461. package/src/renderers/Form/Options.tsx +32 -7
  462. package/src/renderers/Form/Picker.tsx +3 -2
  463. package/src/renderers/Form/Select.tsx +158 -21
  464. package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
  465. package/src/renderers/Form/Transfer.tsx +19 -4
  466. package/src/renderers/Form/TransferPicker.tsx +139 -0
  467. package/src/renderers/Form/TreeSelect.tsx +25 -0
  468. package/src/renderers/Form/index.tsx +16 -2
  469. package/src/renderers/Form/wrapControl.tsx +28 -3
  470. package/src/renderers/IFrame.tsx +4 -5
  471. package/src/renderers/Image.tsx +10 -0
  472. package/src/renderers/Json.tsx +9 -9
  473. package/src/renderers/Link.tsx +53 -14
  474. package/src/renderers/List.tsx +1 -1
  475. package/src/renderers/Log.tsx +16 -3
  476. package/src/renderers/Mapping.tsx +27 -11
  477. package/src/renderers/Nav.tsx +392 -60
  478. package/src/renderers/Page.tsx +1 -1
  479. package/src/renderers/Portlet.tsx +423 -0
  480. package/src/renderers/Property.tsx +3 -2
  481. package/src/renderers/SearchBox.tsx +23 -4
  482. package/src/renderers/SparkLine.tsx +5 -0
  483. package/src/renderers/Table/ColumnToggler.tsx +544 -0
  484. package/src/renderers/Table/ItemActionsWrapper.tsx +44 -0
  485. package/src/renderers/Table/TableCell.tsx +16 -1
  486. package/src/renderers/Table/TableContent.tsx +40 -2
  487. package/src/renderers/Table/index.tsx +257 -80
  488. package/src/renderers/Tabs.tsx +9 -1
  489. package/src/renderers/WebComponent.tsx +2 -2
  490. package/src/store/crud.ts +3 -8
  491. package/src/store/form.ts +5 -10
  492. package/src/store/service.ts +5 -4
  493. package/src/store/table.ts +94 -6
  494. package/src/types.ts +57 -0
  495. package/src/utils/api.ts +52 -23
  496. package/src/utils/dom.tsx +12 -0
  497. package/src/utils/handleAction.ts +41 -0
  498. package/src/utils/helper.ts +12 -3
  499. package/src/utils/icon.tsx +4 -0
  500. package/src/utils/tpl-builtin.ts +48 -17
  501. package/dump.rdb +0 -0
  502. package/lib/components/AssociatedCheckboxes.d.ts +0 -762
  503. package/lib/components/AssociatedCheckboxes.js +0 -90
  504. package/lib/components/AssociatedCheckboxes.js.map +0 -13
  505. package/lib/components/ChainedCheckboxes.js.map +0 -13
  506. package/lib/components/Checkboxes.js +0 -101
  507. package/lib/components/Checkboxes.js.map +0 -13
  508. package/lib/components/ListCheckboxes.d.ts +0 -739
  509. package/lib/components/ListCheckboxes.js +0 -48
  510. package/lib/components/ListCheckboxes.js.map +0 -13
  511. package/lib/components/ListRadios.d.ts +0 -763
  512. package/lib/components/ListRadios.js +0 -86
  513. package/lib/components/ListRadios.js.map +0 -13
  514. package/lib/components/TableCheckboxes.js.map +0 -13
  515. package/lib/components/TreeCheckboxes.js.map +0 -13
  516. package/lib/components/TreeRadios.d.ts +0 -838
  517. package/lib/components/TreeRadios.js +0 -116
  518. package/lib/components/TreeRadios.js.map +0 -13
  519. package/src/components/ListRadios.tsx +0 -159
  520. package/src/components/TreeRadios.tsx +0 -202
@@ -4,8 +4,14 @@ import {Renderer, RendererProps} from '../factory';
4
4
  import {filter} from '../utils/tpl';
5
5
  import Button from '../components/Button';
6
6
  import pick from 'lodash/pick';
7
+ import omit from 'lodash/omit';
7
8
 
8
9
  export interface ButtonSchema extends BaseSchema {
10
+ /**
11
+ * 主要用于用户行为跟踪里区分是哪个按钮
12
+ */
13
+ id?: string;
14
+
9
15
  /**
10
16
  * 是否为块状展示,默认为内联。
11
17
  */
@@ -35,6 +41,10 @@ export interface ButtonSchema extends BaseSchema {
35
41
  * 右侧 icon 上的 css 类名
36
42
  */
37
43
  rightIconClassName?: SchemaClassName;
44
+ /**
45
+ * loading 上的css 类名
46
+ */
47
+ loadingClassName?: SchemaClassName;
38
48
 
39
49
  /**
40
50
  * 按钮文字
@@ -131,6 +141,15 @@ export interface ButtonSchema extends BaseSchema {
131
141
  * 键盘快捷键
132
142
  */
133
143
  hotKey?: string;
144
+ /**
145
+ * 是否显示loading效果
146
+ */
147
+ loadingOn?: string;
148
+
149
+ /**
150
+ * 自定义事件处理函数
151
+ */
152
+ onClick?: string | any;
134
153
  }
135
154
 
136
155
  export interface AjaxActionSchema extends ButtonSchema {
@@ -319,6 +338,7 @@ export type ActionSchema =
319
338
  | VanillaAction;
320
339
 
321
340
  const ActionProps = [
341
+ 'id',
322
342
  'dialog',
323
343
  'drawer',
324
344
  'url',
@@ -416,44 +436,80 @@ export const createSyntheticEvent = <T extends Element, E extends Event>(
416
436
  export interface ActionProps
417
437
  extends Omit<
418
438
  ButtonSchema,
419
- 'className' | 'iconClassName' | 'rightIconClassName'
439
+ 'className' | 'iconClassName' | 'rightIconClassName' | 'loadingClassName'
420
440
  >,
421
441
  ThemeProps,
422
442
  Omit<
423
443
  AjaxActionSchema,
424
- 'type' | 'className' | 'iconClassName' | 'rightIconClassName'
444
+ | 'type'
445
+ | 'className'
446
+ | 'iconClassName'
447
+ | 'rightIconClassName'
448
+ | 'loadingClassName'
425
449
  >,
426
450
  Omit<
427
451
  UrlActionSchema,
428
- 'type' | 'className' | 'iconClassName' | 'rightIconClassName'
452
+ | 'type'
453
+ | 'className'
454
+ | 'iconClassName'
455
+ | 'rightIconClassName'
456
+ | 'loadingClassName'
429
457
  >,
430
458
  Omit<
431
459
  LinkActionSchema,
432
- 'type' | 'className' | 'iconClassName' | 'rightIconClassName'
460
+ | 'type'
461
+ | 'className'
462
+ | 'iconClassName'
463
+ | 'rightIconClassName'
464
+ | 'loadingClassName'
433
465
  >,
434
466
  Omit<
435
467
  DialogActionSchema,
436
- 'type' | 'className' | 'iconClassName' | 'rightIconClassName'
468
+ | 'type'
469
+ | 'className'
470
+ | 'iconClassName'
471
+ | 'rightIconClassName'
472
+ | 'loadingClassName'
437
473
  >,
438
474
  Omit<
439
475
  DrawerActionSchema,
440
- 'type' | 'className' | 'iconClassName' | 'rightIconClassName'
476
+ | 'type'
477
+ | 'className'
478
+ | 'iconClassName'
479
+ | 'rightIconClassName'
480
+ | 'loadingClassName'
441
481
  >,
442
482
  Omit<
443
483
  CopyActionSchema,
444
- 'type' | 'className' | 'iconClassName' | 'rightIconClassName'
484
+ | 'type'
485
+ | 'className'
486
+ | 'iconClassName'
487
+ | 'rightIconClassName'
488
+ | 'loadingClassName'
445
489
  >,
446
490
  Omit<
447
491
  ReloadActionSchema,
448
- 'type' | 'className' | 'iconClassName' | 'rightIconClassName'
492
+ | 'type'
493
+ | 'className'
494
+ | 'iconClassName'
495
+ | 'rightIconClassName'
496
+ | 'loadingClassName'
449
497
  >,
450
498
  Omit<
451
499
  EmailActionSchema,
452
- 'type' | 'className' | 'iconClassName' | 'rightIconClassName'
500
+ | 'type'
501
+ | 'className'
502
+ | 'iconClassName'
503
+ | 'rightIconClassName'
504
+ | 'loadingClassName'
453
505
  >,
454
506
  Omit<
455
507
  OtherActionSchema,
456
- 'type' | 'className' | 'iconClassName' | 'rightIconClassName'
508
+ | 'type'
509
+ | 'className'
510
+ | 'iconClassName'
511
+ | 'rightIconClassName'
512
+ | 'loadingClassName'
457
513
  > {
458
514
  actionType: any;
459
515
  onAction?: (
@@ -521,7 +577,8 @@ export class Action extends React.Component<ActionProps, ActionState> {
521
577
 
522
578
  @autobind
523
579
  async handleAction(e: React.MouseEvent<any>) {
524
- const {onAction, disabled, countDown} = this.props;
580
+ const {onAction, disabled, countDown, env} = this.props;
581
+
525
582
  // https://reactjs.org/docs/legacy-event-pooling.html
526
583
  e.persist();
527
584
  let onClick = this.props.onClick;
@@ -543,9 +600,26 @@ export class Action extends React.Component<ActionProps, ActionState> {
543
600
 
544
601
  e.preventDefault();
545
602
  const action = pick(this.props, ActionProps) as ActionSchema;
603
+ const actionType = action.actionType;
604
+
605
+ // ajax 会在 wrapFetcher 里记录,这里再处理就重复了,因此去掉
606
+ // add 一般是 input-table 之类的,会触发 formItemChange,为了避免重复也去掉
607
+ if (
608
+ actionType !== 'ajax' &&
609
+ actionType !== 'download' &&
610
+ actionType !== 'add'
611
+ ) {
612
+ env?.tracker(
613
+ {
614
+ eventType: actionType || this.props.type || 'click',
615
+ eventData: omit(action, ['type', 'actionType', 'tooltipPlacement'])
616
+ },
617
+ this.props
618
+ );
619
+ }
546
620
 
547
621
  // download 是一种 ajax 的简写
548
- if (action.actionType === 'download') {
622
+ if (actionType === 'download') {
549
623
  action.actionType = 'ajax';
550
624
  const api = normalizeApi((action as AjaxActionSchema).api);
551
625
  api.responseType = 'blob';
@@ -619,6 +693,7 @@ export class Action extends React.Component<ActionProps, ActionState> {
619
693
  iconClassName,
620
694
  rightIcon,
621
695
  rightIconClassName,
696
+ loadingClassName,
622
697
  primary,
623
698
  size,
624
699
  level,
@@ -638,7 +713,10 @@ export class Action extends React.Component<ActionProps, ActionState> {
638
713
  isMenuItem,
639
714
  active,
640
715
  activeLevel,
716
+ tooltipTrigger,
641
717
  tooltipContainer,
718
+ tooltipRootClose,
719
+ loading,
642
720
  classnames: cx
643
721
  } = this.props;
644
722
 
@@ -678,6 +756,8 @@ export class Action extends React.Component<ActionProps, ActionState> {
678
756
  ? activeLevel
679
757
  : level || (primary ? 'primary' : undefined)
680
758
  }
759
+ loadingClassName={loadingClassName}
760
+ loading={loading}
681
761
  onClick={this.handleAction}
682
762
  type={type && ~allowedType.indexOf(type) ? type : 'button'}
683
763
  disabled={disabled}
@@ -685,12 +765,14 @@ export class Action extends React.Component<ActionProps, ActionState> {
685
765
  overrideClassName={isMenuItem}
686
766
  tooltip={filterContents(tooltip, data)}
687
767
  disabledTip={filterContents(disabledTip, data)}
688
- placement={tooltipPlacement}
768
+ tooltipPlacement={tooltipPlacement}
689
769
  tooltipContainer={tooltipContainer}
770
+ tooltipTrigger={tooltipTrigger}
771
+ tooltipRootClose={tooltipRootClose}
690
772
  block={block}
691
773
  iconOnly={!!(icon && !label && level !== 'link')}
692
774
  >
693
- {iconElement}
775
+ {!loading ? iconElement : ''}
694
776
  {label ? <span>{filter(String(label), data)}</span> : null}
695
777
  {rightIconElement}
696
778
  </Button>
@@ -736,13 +818,15 @@ export class ActionRenderer extends React.Component<
736
818
  }
737
819
 
738
820
  render() {
739
- const {env, disabled, btnDisabled, ...rest} = this.props;
821
+ const {env, disabled, btnDisabled, loading, ...rest} = this.props;
740
822
 
741
823
  return (
742
824
  <Action
743
825
  {...(rest as any)}
826
+ env={env}
744
827
  disabled={disabled || btnDisabled}
745
828
  onAction={this.handleAction}
829
+ loading={loading}
746
830
  isCurrentUrl={this.isCurrentAction}
747
831
  tooltipContainer={
748
832
  env.getModalContainer ? env.getModalContainer : undefined
@@ -65,6 +65,8 @@ export interface AnchorNavSchema extends BaseSchema {
65
65
  * 楼层样式名
66
66
  */
67
67
  sectionClassName?: SchemaClassName;
68
+
69
+ direction?: 'vertical' | 'horizontal';
68
70
  }
69
71
 
70
72
  export interface AnchorNavProps
@@ -148,6 +150,7 @@ export default class AnchorNav extends React.Component<
148
150
  className,
149
151
  linkClassName,
150
152
  sectionClassName,
153
+ direction,
151
154
  sectionRender,
152
155
  render,
153
156
  data
@@ -187,6 +190,7 @@ export default class AnchorNav extends React.Component<
187
190
  sectionClassName={sectionClassName}
188
191
  onSelect={this.handleSelect}
189
192
  active={this.state.active}
193
+ direction={direction}
190
194
  >
191
195
  {children}
192
196
  </CAnchorNav>
@@ -10,7 +10,11 @@ import {
10
10
  SchemaUrlPath
11
11
  } from '../Schema';
12
12
  import {BadgeSchema, withBadge} from '../components/Badge';
13
- import {isPureVariable, resolveVariable, resolveVariableAndFilter} from '../utils/tpl-builtin';
13
+ import {
14
+ isPureVariable,
15
+ resolveVariable,
16
+ resolveVariableAndFilter
17
+ } from '../utils/tpl-builtin';
14
18
 
15
19
  /**
16
20
  * Avatar 用户头像显示
@@ -102,15 +106,15 @@ export class AvatarField extends React.Component<AvatarProps, object> {
102
106
  };
103
107
 
104
108
  if (isPureVariable(text)) {
105
- text = resolveVariable(text, data);
109
+ text = resolveVariableAndFilter(text, data);
106
110
  }
107
111
 
108
112
  if (isPureVariable(src)) {
109
- src = resolveVariable(src, data);
113
+ src = resolveVariableAndFilter(src, data, '| raw');
110
114
  }
111
115
 
112
116
  if (isPureVariable(icon)) {
113
- icon = resolveVariable(icon, data);
117
+ icon = resolveVariableAndFilter(icon, data);
114
118
  }
115
119
 
116
120
  let avatar = <i className={icon} />;
@@ -77,7 +77,11 @@ export class BreadcrumbField extends React.Component<BreadcrumbProps, object> {
77
77
 
78
78
  const crumbItems = items
79
79
  ? items
80
- : (resolveVariable(source, data) as Array<BreadcrumbItemSchema>);
80
+ : (resolveVariableAndFilter(
81
+ source,
82
+ data,
83
+ '| raw'
84
+ ) as Array<BreadcrumbItemSchema>);
81
85
 
82
86
  const crumbs = crumbItems
83
87
  .map<React.ReactNode>((item, index) => (
@@ -1,43 +1,28 @@
1
1
  import React from 'react';
2
2
 
3
- import PropTypes from 'prop-types';
4
3
  import {Renderer, RendererProps} from '../factory';
5
- import {
6
- SchemaNode,
7
- Schema,
8
- Action,
9
- Api,
10
- ApiObject,
11
- PlainObject
12
- } from '../types';
4
+ import {SchemaNode, Schema, Action, PlainObject} from '../types';
13
5
  import {CRUDStore, ICRUDStore} from '../store/crud';
14
6
  import {
15
7
  createObject,
16
8
  extendObject,
17
9
  anyChanged,
18
10
  isObjectShallowModified,
19
- noop,
20
11
  isVisible,
21
12
  getPropValue,
22
13
  getVariable,
23
14
  qsstringify,
24
- qsparse
15
+ qsparse,
16
+ isArrayChildrenModified
25
17
  } from '../utils/helper';
26
- import {observer} from 'mobx-react';
27
- import partition from 'lodash/partition';
28
- import Scoped, {ScopedContext, IScopedContext} from '../Scoped';
18
+ import {ScopedContext, IScopedContext} from '../Scoped';
29
19
  import Button from '../components/Button';
30
20
  import Select from '../components/Select';
31
21
  import getExprProperties from '../utils/filter-schema';
32
22
  import pick from 'lodash/pick';
33
23
  import {findDOMNode} from 'react-dom';
34
24
  import {evalExpression, filter} from '../utils/tpl';
35
- import {
36
- isValidApi,
37
- buildApi,
38
- isEffectiveApi,
39
- isApiOutdated
40
- } from '../utils/api';
25
+ import {isEffectiveApi, isApiOutdated, str2function} from '../utils/api';
41
26
  import omit from 'lodash/omit';
42
27
  import find from 'lodash/find';
43
28
  import findIndex from 'lodash/findIndex';
@@ -48,7 +33,6 @@ import {
48
33
  BaseSchema,
49
34
  SchemaApi,
50
35
  SchemaClassName,
51
- SchemaCollection,
52
36
  SchemaExpression,
53
37
  SchemaMessage,
54
38
  SchemaName,
@@ -298,6 +282,16 @@ export interface CRUDCommonSchema extends BaseSchema {
298
282
  * 默认只有当分页数大于 1 是才显示,如果总是想显示请配置。
299
283
  */
300
284
  alwaysShowPagination?: boolean;
285
+
286
+ /**
287
+ * 开启查询区域,会根据列元素的searchable属性值,自动生成查询条件表单
288
+ */
289
+ autoGenerateFilter?: boolean;
290
+
291
+ /**
292
+ * 内容区域占满屏幕剩余空间
293
+ */
294
+ autoFillHeight?: boolean;
301
295
  }
302
296
 
303
297
  export type CRUDCardsSchema = CRUDCommonSchema & {
@@ -362,6 +356,7 @@ export default class CRUD extends React.Component<CRUDProps, any> {
362
356
  'footerToolbar',
363
357
  'filterTogglable',
364
358
  'filterDefaultVisible',
359
+ 'autoGenerateFilter',
365
360
  'syncResponse2Query',
366
361
  'keepItemSelectionOnPageChange',
367
362
  'labelTpl',
@@ -376,7 +371,8 @@ export default class CRUD extends React.Component<CRUDProps, any> {
376
371
  'onInit',
377
372
  'onSaved',
378
373
  'onQuery',
379
- 'formStore'
374
+ 'formStore',
375
+ 'autoFillHeight'
380
376
  ];
381
377
  static defaultProps = {
382
378
  toolbarInline: true,
@@ -392,7 +388,8 @@ export default class CRUD extends React.Component<CRUDProps, any> {
392
388
  filterTogglable: false,
393
389
  filterDefaultVisible: true,
394
390
  loadDataOnce: false,
395
- loadDataOnceFetchOnFilter: true
391
+ loadDataOnceFetchOnFilter: true,
392
+ autoFillHeight: false
396
393
  };
397
394
 
398
395
  control: any;
@@ -478,8 +475,8 @@ export default class CRUD extends React.Component<CRUDProps, any> {
478
475
  this.handleFilterInit({});
479
476
  }
480
477
 
481
- const val = getPropValue(this.props);
482
- if (this.props.pickerMode && val) {
478
+ let val: any;
479
+ if (this.props.pickerMode && (val = getPropValue(this.props))) {
483
480
  store.setSelectedItems(val);
484
481
  }
485
482
  }
@@ -500,8 +497,14 @@ export default class CRUD extends React.Component<CRUDProps, any> {
500
497
  this.renderFooterToolbar = this.renderFooterToolbar.bind(this);
501
498
  }
502
499
 
503
- const val = getPropValue(this.props);
504
- if (this.props.pickerMode && val !== getPropValue(prevProps)) {
500
+ let val: any;
501
+ if (
502
+ this.props.pickerMode &&
503
+ isArrayChildrenModified(
504
+ (val = getPropValue(this.props)),
505
+ getPropValue(prevProps)
506
+ )
507
+ ) {
505
508
  store.setSelectedItems(val);
506
509
  }
507
510
 
@@ -654,6 +657,13 @@ export default class CRUD extends React.Component<CRUDProps, any> {
654
657
  return Promise.resolve({
655
658
  items: store.selectedItems.concat()
656
659
  });
660
+ } else if (action.onClick) {
661
+ store.setCurrentAction(action);
662
+ let onClick = action.onClick;
663
+ if (typeof onClick === 'string') {
664
+ onClick = str2function(onClick, 'event', 'props', 'data');
665
+ }
666
+ onClick && onClick(e, this.props, ctx);
657
667
  } else {
658
668
  onAction(e, action, ctx, throwErrors, delegate || this.context);
659
669
  }
@@ -1792,6 +1802,7 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1792
1802
  return null;
1793
1803
  }
1794
1804
 
1805
+ const {render, store, translate: __} = this.props;
1795
1806
  const type = (toolbar as Schema).type || toolbar;
1796
1807
 
1797
1808
  if (type === 'bulkActions' || type === 'bulk-actions') {
@@ -1808,8 +1819,25 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1808
1819
  return this.renderFilterToggler();
1809
1820
  } else if (type === 'export-csv') {
1810
1821
  return this.renderExportCSV(toolbar as Schema);
1822
+ } else if (type === 'reload') {
1823
+ let reloadButton = {
1824
+ label: '',
1825
+ icon: 'fa fa-sync',
1826
+ tooltip: __('reload'),
1827
+ tooltipPlacement: 'top',
1828
+ type: 'button'
1829
+ };
1830
+ if (typeof toolbar === 'object') {
1831
+ reloadButton = {...reloadButton, ...omit(toolbar, ['type', 'align'])};
1832
+ }
1833
+ return render(`toolbar/${index}`, reloadButton, {
1834
+ onAction: () => {
1835
+ this.reload();
1836
+ }
1837
+ });
1811
1838
  } else if (Array.isArray(toolbar)) {
1812
1839
  const children: Array<any> = toolbar
1840
+ .filter((toolbar: any) => isVisible(toolbar, store.filterData))
1813
1841
  .map((toolbar, index) => ({
1814
1842
  dom: this.renderToolbar(toolbar, index, childProps, toolbarRenderer),
1815
1843
  toolbar
@@ -1851,7 +1879,6 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1851
1879
  return result;
1852
1880
  }
1853
1881
 
1854
- const {render, store} = this.props;
1855
1882
  const $$editable = childProps.$$editable;
1856
1883
 
1857
1884
  return render(`toolbar/${index}`, toolbar, {
@@ -1994,6 +2021,9 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1994
2021
  popOverContainer,
1995
2022
  translate: __,
1996
2023
  onQuery,
2024
+ autoGenerateFilter,
2025
+ onSelect,
2026
+ autoFillHeight,
1997
2027
  ...rest
1998
2028
  } = this.props;
1999
2029
 
@@ -2044,6 +2074,8 @@ export default class CRUD extends React.Component<CRUDProps, any> {
2044
2074
  key: 'body',
2045
2075
  className: cx('Crud-body', bodyClassName),
2046
2076
  ref: this.controlRef,
2077
+ autoGenerateFilter: !filter && autoGenerateFilter,
2078
+ autoFillHeight: autoFillHeight,
2047
2079
  selectable: !!(
2048
2080
  (this.hasBulkActionsToolbar() && this.hasBulkActions()) ||
2049
2081
  pickerMode
@@ -2076,6 +2108,9 @@ export default class CRUD extends React.Component<CRUDProps, any> {
2076
2108
  onSelect: this.handleSelect,
2077
2109
  onPopOverOpened: this.handleChildPopOverOpen,
2078
2110
  onPopOverClosed: this.handleChildPopOverClose,
2111
+ onSearchableFromReset: this.handleFilterReset,
2112
+ onSearchableFromSubmit: this.handleFilterSubmit,
2113
+ onSearchableFromInit: this.handleFilterInit,
2079
2114
  headerToolbarRender: this.renderHeaderToolbar,
2080
2115
  footerToolbarRender: this.renderFooterToolbar,
2081
2116
  data: store.mergedData