amis 1.3.5-beta.7 → 1.4.2-beta.11

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 (577) 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 +16 -3
  14. package/lib/components/Badge.js +54 -5
  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/Checkbox.d.ts +1 -1
  23. package/lib/components/Checkbox.js +1 -1
  24. package/lib/components/Checkbox.js.map +2 -2
  25. package/lib/components/Collapse.js +1 -1
  26. package/lib/components/Collapse.js.map +2 -2
  27. package/lib/components/ColorPicker.d.ts +84 -84
  28. package/lib/components/DatePicker.d.ts +84 -84
  29. package/lib/components/DatePicker.js +1 -1
  30. package/lib/components/DatePicker.js.map +2 -2
  31. package/lib/components/DateRangePicker.d.ts +84 -84
  32. package/lib/components/DateRangePicker.js +1 -1
  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/Editor.d.ts +84 -84
  37. package/lib/components/GroupedSelection.d.ts +907 -0
  38. package/lib/components/GroupedSelection.js +48 -0
  39. package/lib/components/GroupedSelection.js.map +13 -0
  40. package/lib/components/InputBox.js +1 -1
  41. package/lib/components/InputBox.js.map +2 -2
  42. package/lib/components/Link.d.ts +84 -0
  43. package/lib/components/Link.js +43 -0
  44. package/lib/components/Link.js.map +13 -0
  45. package/lib/components/ListGroup.d.ts +21 -21
  46. package/lib/components/Modal.js +1 -1
  47. package/lib/components/Modal.js.map +2 -2
  48. package/lib/components/ModalManager.js +1 -1
  49. package/lib/components/ModalManager.js.map +2 -2
  50. package/lib/components/MonthRangePicker.d.ts +84 -84
  51. package/lib/components/MonthRangePicker.js +1 -1
  52. package/lib/components/MonthRangePicker.js.map +2 -2
  53. package/lib/components/NumberInput.d.ts +20 -20
  54. package/lib/components/PickerColumn.d.ts +514 -0
  55. package/lib/components/PickerColumn.js +279 -0
  56. package/lib/components/PickerColumn.js.map +13 -0
  57. package/lib/components/PickerContainer.d.ts +513 -0
  58. package/lib/components/PickerContainer.js +96 -0
  59. package/lib/components/PickerContainer.js.map +13 -0
  60. package/lib/components/Radios.d.ts +22 -21
  61. package/lib/components/Radios.js +1 -0
  62. package/lib/components/Radios.js.map +2 -2
  63. package/lib/components/Rating.d.ts +21 -21
  64. package/lib/components/ResultBox.d.ts +84 -84
  65. package/lib/components/RichText.d.ts +6 -1
  66. package/lib/components/RichText.js +207 -8
  67. package/lib/components/RichText.js.map +2 -2
  68. package/lib/components/SearchBox.d.ts +84 -84
  69. package/lib/components/SearchBox.js +4 -4
  70. package/lib/components/SearchBox.js.map +2 -2
  71. package/lib/components/Select.d.ts +252 -237
  72. package/lib/components/Select.js +28 -4
  73. package/lib/components/Select.js.map +2 -2
  74. package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
  75. package/lib/components/Selection.js +134 -0
  76. package/lib/components/Selection.js.map +13 -0
  77. package/lib/components/SparkLine.d.ts +85 -84
  78. package/lib/components/SparkLine.js +2 -2
  79. package/lib/components/SparkLine.js.map +2 -2
  80. package/lib/components/Steps.d.ts +3 -3
  81. package/lib/components/Steps.js.map +1 -1
  82. package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
  83. package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
  84. package/lib/components/TableSelection.js.map +13 -0
  85. package/lib/components/Tabs.d.ts +20 -20
  86. package/lib/components/TabsTransfer.d.ts +84 -84
  87. package/lib/components/TabsTransfer.js +9 -9
  88. package/lib/components/TabsTransfer.js.map +2 -2
  89. package/lib/components/TabsTransferPicker.d.ts +489 -0
  90. package/lib/components/TabsTransferPicker.js +60 -0
  91. package/lib/components/TabsTransferPicker.js.map +13 -0
  92. package/lib/components/Toast.js +2 -2
  93. package/lib/components/Toast.js.map +2 -2
  94. package/lib/components/Transfer.d.ts +908 -274
  95. package/lib/components/Transfer.js +31 -24
  96. package/lib/components/Transfer.js.map +2 -2
  97. package/lib/components/TransferDropDown.d.ts +487 -0
  98. package/lib/components/TransferDropDown.js +59 -0
  99. package/lib/components/TransferDropDown.js.map +13 -0
  100. package/lib/components/TransferPicker.d.ts +489 -0
  101. package/lib/components/TransferPicker.js +60 -0
  102. package/lib/components/TransferPicker.js.map +13 -0
  103. package/lib/components/Tree.d.ts +84 -84
  104. package/lib/components/Tree.js +5 -3
  105. package/lib/components/Tree.js.map +2 -2
  106. package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
  107. package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
  108. package/lib/components/TreeSelection.js.map +13 -0
  109. package/lib/components/WithRemoteConfig.d.ts +8 -0
  110. package/lib/components/WithRemoteConfig.js +29 -3
  111. package/lib/components/WithRemoteConfig.js.map +2 -2
  112. package/lib/components/calendar/DaysView.js +2 -2
  113. package/lib/components/calendar/DaysView.js.map +2 -2
  114. package/lib/components/condition-builder/Field.js +5 -3
  115. package/lib/components/condition-builder/Field.js.map +2 -2
  116. package/lib/components/condition-builder/Func.js +2 -2
  117. package/lib/components/condition-builder/Func.js.map +2 -2
  118. package/lib/components/condition-builder/InputSwitch.js +2 -2
  119. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  120. package/lib/components/condition-builder/Item.js +3 -3
  121. package/lib/components/condition-builder/Item.js.map +2 -2
  122. package/lib/components/condition-builder/Value.js +2 -1
  123. package/lib/components/condition-builder/Value.js.map +2 -2
  124. package/lib/components/condition-builder/types.d.ts +5 -0
  125. package/lib/components/condition-builder/types.js.map +1 -1
  126. package/lib/components/icons.js +14 -0
  127. package/lib/components/icons.js.map +2 -2
  128. package/lib/components/index.d.ts +8 -8
  129. package/lib/components/index.js +16 -16
  130. package/lib/components/index.js.map +2 -2
  131. package/lib/envOverwrite.js.map +2 -2
  132. package/lib/factory.d.ts +9 -1
  133. package/lib/factory.js +13 -6
  134. package/lib/factory.js.map +2 -2
  135. package/lib/helper.css.map +1 -1
  136. package/lib/hooks/index.d.ts +5 -0
  137. package/lib/hooks/index.js +14 -0
  138. package/lib/hooks/index.js.map +13 -0
  139. package/lib/hooks/use-set-state.d.ts +2 -0
  140. package/lib/hooks/use-set-state.js +15 -0
  141. package/lib/hooks/use-set-state.js.map +13 -0
  142. package/lib/hooks/use-touch.d.ts +16 -0
  143. package/lib/hooks/use-touch.js +73 -0
  144. package/lib/hooks/use-touch.js.map +13 -0
  145. package/lib/hooks/use-update-effect.d.ts +3 -0
  146. package/lib/hooks/use-update-effect.js +17 -0
  147. package/lib/hooks/use-update-effect.js.map +13 -0
  148. package/lib/icons/clock.js +10 -0
  149. package/lib/icons/loading-outline.js +7 -0
  150. package/lib/icons/status-close.js +11 -0
  151. package/lib/icons/status-fail.js +11 -0
  152. package/lib/icons/status-info.js +10 -0
  153. package/lib/icons/status-success.js +11 -0
  154. package/lib/icons/status-warning.js +10 -0
  155. package/lib/index.d.ts +3 -0
  156. package/lib/index.js +4 -1
  157. package/lib/index.js.map +2 -2
  158. package/lib/locale/de-DE.js +5 -0
  159. package/lib/locale/de-DE.js.map +2 -2
  160. package/lib/locale/en-US.js +6 -1
  161. package/lib/locale/en-US.js.map +2 -2
  162. package/lib/locale/zh-CN.js +9 -4
  163. package/lib/locale/zh-CN.js.map +2 -2
  164. package/lib/renderers/Action.d.ts +17 -1
  165. package/lib/renderers/Action.js +21 -8
  166. package/lib/renderers/Action.js.map +2 -2
  167. package/lib/renderers/AnchorNav.d.ts +1 -0
  168. package/lib/renderers/AnchorNav.js +2 -2
  169. package/lib/renderers/AnchorNav.js.map +2 -2
  170. package/lib/renderers/Avatar.js +3 -3
  171. package/lib/renderers/Avatar.js.map +2 -2
  172. package/lib/renderers/Breadcrumb.js +1 -1
  173. package/lib/renderers/Breadcrumb.js.map +2 -2
  174. package/lib/renderers/CRUD.d.ts +9 -0
  175. package/lib/renderers/CRUD.js +48 -23
  176. package/lib/renderers/CRUD.js.map +2 -2
  177. package/lib/renderers/Card.d.ts +4 -0
  178. package/lib/renderers/Card.js +29 -23
  179. package/lib/renderers/Card.js.map +2 -2
  180. package/lib/renderers/Chart.js +1 -1
  181. package/lib/renderers/Chart.js.map +2 -2
  182. package/lib/renderers/Collapse.d.ts +1 -1
  183. package/lib/renderers/Collapse.js +8 -3
  184. package/lib/renderers/Collapse.js.map +2 -2
  185. package/lib/renderers/Dialog.d.ts +0 -252
  186. package/lib/renderers/Dialog.js +1 -4
  187. package/lib/renderers/Dialog.js.map +2 -2
  188. package/lib/renderers/Drawer.js +0 -3
  189. package/lib/renderers/Drawer.js.map +2 -2
  190. package/lib/renderers/DropDownButton.d.ts +13 -1
  191. package/lib/renderers/DropDownButton.js +9 -5
  192. package/lib/renderers/DropDownButton.js.map +2 -2
  193. package/lib/renderers/Form/Checkbox.d.ts +5 -0
  194. package/lib/renderers/Form/Checkbox.js +4 -0
  195. package/lib/renderers/Form/Checkbox.js.map +2 -2
  196. package/lib/renderers/Form/Combo.js +2 -2
  197. package/lib/renderers/Form/Combo.js.map +2 -2
  198. package/lib/renderers/Form/DiffEditor.d.ts +4 -5
  199. package/lib/renderers/Form/Editor.d.ts +3 -4
  200. package/lib/renderers/Form/Editor.js +1 -1
  201. package/lib/renderers/Form/Editor.js.map +2 -2
  202. package/lib/renderers/Form/InputCity.d.ts +84 -84
  203. package/lib/renderers/Form/InputCity.js +7 -6
  204. package/lib/renderers/Form/InputCity.js.map +2 -2
  205. package/lib/renderers/Form/InputColor.d.ts +84 -84
  206. package/lib/renderers/Form/InputExcel.d.ts +5 -0
  207. package/lib/renderers/Form/InputExcel.js +24 -3
  208. package/lib/renderers/Form/InputExcel.js.map +2 -2
  209. package/lib/renderers/Form/InputFile.js +12 -6
  210. package/lib/renderers/Form/InputFile.js.map +2 -2
  211. package/lib/renderers/Form/InputImage.d.ts +8 -0
  212. package/lib/renderers/Form/InputImage.js +18 -8
  213. package/lib/renderers/Form/InputImage.js.map +2 -2
  214. package/lib/renderers/Form/InputTable.d.ts +23 -5
  215. package/lib/renderers/Form/InputTable.js +32 -3
  216. package/lib/renderers/Form/InputTable.js.map +2 -2
  217. package/lib/renderers/Form/Item.d.ts +1 -1
  218. package/lib/renderers/Form/Item.js.map +1 -1
  219. package/lib/renderers/Form/Options.js +19 -6
  220. package/lib/renderers/Form/Options.js.map +2 -2
  221. package/lib/renderers/Form/Picker.js +2 -2
  222. package/lib/renderers/Form/Picker.js.map +2 -2
  223. package/lib/renderers/Form/Select.d.ts +41 -4
  224. package/lib/renderers/Form/Select.js +23 -3
  225. package/lib/renderers/Form/Select.js.map +2 -2
  226. package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
  227. package/lib/renderers/Form/TabsTransferPicker.js +29 -0
  228. package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
  229. package/lib/renderers/Form/Transfer.js +3 -2
  230. package/lib/renderers/Form/Transfer.js.map +2 -2
  231. package/lib/renderers/Form/TransferPicker.d.ts +48 -0
  232. package/lib/renderers/Form/TransferPicker.js +29 -0
  233. package/lib/renderers/Form/TransferPicker.js.map +13 -0
  234. package/lib/renderers/Form/TreeSelect.js +2 -2
  235. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  236. package/lib/renderers/Form/index.js +1 -1
  237. package/lib/renderers/Form/index.js.map +2 -2
  238. package/lib/renderers/Form/wrapControl.js +15 -3
  239. package/lib/renderers/Form/wrapControl.js.map +2 -2
  240. package/lib/renderers/IFrame.js +3 -5
  241. package/lib/renderers/IFrame.js.map +2 -2
  242. package/lib/renderers/Image.d.ts +1 -0
  243. package/lib/renderers/Image.js +15 -1
  244. package/lib/renderers/Image.js.map +2 -2
  245. package/lib/renderers/Json.d.ts +4 -0
  246. package/lib/renderers/Json.js +7 -12
  247. package/lib/renderers/Json.js.map +2 -2
  248. package/lib/renderers/Link.d.ts +18 -3
  249. package/lib/renderers/Link.js +27 -15
  250. package/lib/renderers/Link.js.map +2 -2
  251. package/lib/renderers/List.js +1 -1
  252. package/lib/renderers/List.js.map +2 -2
  253. package/lib/renderers/Log.d.ts +2 -2
  254. package/lib/renderers/Log.js +7 -1
  255. package/lib/renderers/Log.js.map +2 -2
  256. package/lib/renderers/Mapping.d.ts +9 -2
  257. package/lib/renderers/Mapping.js +18 -6
  258. package/lib/renderers/Mapping.js.map +2 -2
  259. package/lib/renderers/Nav.d.ts +81 -25
  260. package/lib/renderers/Nav.js +292 -31
  261. package/lib/renderers/Nav.js.map +2 -2
  262. package/lib/renderers/Page.js +4 -1
  263. package/lib/renderers/Page.js.map +2 -2
  264. package/lib/renderers/Portlet.d.ts +125 -0
  265. package/lib/renderers/Portlet.js +156 -0
  266. package/lib/renderers/Portlet.js.map +13 -0
  267. package/lib/renderers/Property.js +2 -1
  268. package/lib/renderers/Property.js.map +2 -2
  269. package/lib/renderers/SearchBox.d.ts +6 -1
  270. package/lib/renderers/SearchBox.js +19 -5
  271. package/lib/renderers/SearchBox.js.map +2 -2
  272. package/lib/renderers/Service.d.ts +10 -1
  273. package/lib/renderers/Service.js +85 -3
  274. package/lib/renderers/Service.js.map +2 -2
  275. package/lib/renderers/SparkLine.d.ts +4 -0
  276. package/lib/renderers/SparkLine.js.map +2 -2
  277. package/lib/renderers/Steps.d.ts +4 -4
  278. package/lib/renderers/Steps.js +5 -2
  279. package/lib/renderers/Steps.js.map +2 -2
  280. package/lib/renderers/Table/ColumnToggler.d.ts +113 -0
  281. package/lib/renderers/Table/ColumnToggler.js +216 -0
  282. package/lib/renderers/Table/ColumnToggler.js.map +13 -0
  283. package/lib/renderers/Table/ItemActionsWrapper.d.ts +11 -0
  284. package/lib/renderers/Table/ItemActionsWrapper.js +31 -0
  285. package/lib/renderers/Table/ItemActionsWrapper.js.map +13 -0
  286. package/lib/renderers/Table/TableBody.d.ts +5 -1
  287. package/lib/renderers/Table/TableBody.js.map +1 -1
  288. package/lib/renderers/Table/TableCell.js +3 -1
  289. package/lib/renderers/Table/TableCell.js.map +2 -2
  290. package/lib/renderers/Table/TableContent.d.ts +5 -2
  291. package/lib/renderers/Table/TableContent.js +21 -1
  292. package/lib/renderers/Table/TableContent.js.map +2 -2
  293. package/lib/renderers/Table/index.d.ts +27 -5
  294. package/lib/renderers/Table/index.js +251 -101
  295. package/lib/renderers/Table/index.js.map +2 -2
  296. package/lib/renderers/Tabs.js +9 -1
  297. package/lib/renderers/Tabs.js.map +2 -2
  298. package/lib/renderers/WebComponent.js +1 -1
  299. package/lib/renderers/WebComponent.js.map +2 -2
  300. package/lib/store/app.d.ts +0 -1
  301. package/lib/store/combo.d.ts +2 -18
  302. package/lib/store/crud.d.ts +0 -1
  303. package/lib/store/crud.js +3 -7
  304. package/lib/store/crud.js.map +2 -2
  305. package/lib/store/form.d.ts +1 -2
  306. package/lib/store/form.js +5 -6
  307. package/lib/store/form.js.map +2 -2
  308. package/lib/store/modal.d.ts +1 -1
  309. package/lib/store/modal.js +4 -0
  310. package/lib/store/modal.js.map +2 -2
  311. package/lib/store/root.d.ts +0 -1
  312. package/lib/store/service.d.ts +0 -1
  313. package/lib/store/service.js +5 -17
  314. package/lib/store/service.js.map +2 -2
  315. package/lib/store/table.d.ts +260 -5
  316. package/lib/store/table.js +83 -7
  317. package/lib/store/table.js.map +2 -2
  318. package/lib/themes/ang-ie11.css +1360 -244
  319. package/lib/themes/ang.css +1360 -244
  320. package/lib/themes/ang.css.map +1 -1
  321. package/lib/themes/antd-ie11.css +1360 -244
  322. package/lib/themes/antd.css +1360 -244
  323. package/lib/themes/antd.css.map +1 -1
  324. package/lib/themes/cxd-ie11.css +1960 -517
  325. package/lib/themes/cxd.css +1960 -517
  326. package/lib/themes/cxd.css.map +1 -1
  327. package/lib/themes/dark-ie11.css +1360 -244
  328. package/lib/themes/dark.css +1360 -244
  329. package/lib/themes/dark.css.map +1 -1
  330. package/lib/themes/default.css +1960 -517
  331. package/lib/themes/default.css.map +1 -1
  332. package/lib/types.d.ts +37 -0
  333. package/lib/types.js +0 -5
  334. package/lib/types.js.map +2 -2
  335. package/lib/utils/api.d.ts +3 -2
  336. package/lib/utils/api.js +43 -15
  337. package/lib/utils/api.js.map +2 -2
  338. package/lib/utils/attachmentAdpator.d.ts +7 -0
  339. package/lib/utils/attachmentAdpator.js +82 -0
  340. package/lib/utils/attachmentAdpator.js.map +13 -0
  341. package/lib/utils/dom.d.ts +4 -0
  342. package/lib/utils/dom.js +11 -1
  343. package/lib/utils/dom.js.map +2 -2
  344. package/lib/utils/handleAction.d.ts +7 -0
  345. package/lib/utils/handleAction.js +30 -0
  346. package/lib/utils/handleAction.js.map +13 -0
  347. package/lib/utils/helper.d.ts +3 -1
  348. package/lib/utils/helper.js +14 -5
  349. package/lib/utils/helper.js.map +2 -2
  350. package/lib/utils/icon.js +3 -0
  351. package/lib/utils/icon.js.map +2 -2
  352. package/lib/utils/tpl-builtin.d.ts +1 -1
  353. package/lib/utils/tpl-builtin.js +25 -15
  354. package/lib/utils/tpl-builtin.js.map +2 -2
  355. package/lib/utils/validations.js +62 -5
  356. package/lib/utils/validations.js.map +2 -2
  357. package/package.json +1 -2
  358. package/schema.json +3638 -1030
  359. package/scss/_mixins.scss +27 -0
  360. package/scss/_properties.scss +88 -13
  361. package/scss/_utilities.scss +4 -0
  362. package/scss/base/_normalize.scss +2 -0
  363. package/scss/components/_anchor-nav.scss +88 -29
  364. package/scss/components/_badge.scss +67 -2
  365. package/scss/components/_button.scss +34 -3
  366. package/scss/components/_card.scss +8 -14
  367. package/scss/components/_collapse.scss +41 -8
  368. package/scss/components/_column-toggler.scss +234 -0
  369. package/scss/components/_dropdown.scss +2 -1
  370. package/scss/components/_image-gallery.scss +1 -1
  371. package/scss/components/_images.scss +2 -1
  372. package/scss/components/_link.scss +6 -0
  373. package/scss/components/_mapping.scss +6 -0
  374. package/scss/components/_markdown.scss +266 -0
  375. package/scss/components/_nav.scss +236 -154
  376. package/scss/components/_page.scss +5 -4
  377. package/scss/components/_picker-columns.scss +123 -0
  378. package/scss/components/_popover.scss +17 -0
  379. package/scss/components/_portlet.scss +51 -0
  380. package/scss/components/_progress.scss +2 -0
  381. package/scss/components/_spinner.scss +6 -2
  382. package/scss/components/_status.scss +1 -1
  383. package/scss/components/_steps.scss +1 -1
  384. package/scss/components/_table.scss +51 -1
  385. package/scss/components/form/_checks.scss +0 -351
  386. package/scss/components/form/_color.scss +1 -0
  387. package/scss/components/form/_date-range.scss +2 -0
  388. package/scss/components/form/_date.scss +2 -0
  389. package/scss/components/form/_fieldset.scss +6 -3
  390. package/scss/components/form/_file.scss +5 -4
  391. package/scss/components/form/_group.scss +4 -0
  392. package/scss/components/form/_image.scss +7 -2
  393. package/scss/components/form/_list.scss +1 -0
  394. package/scss/components/form/_location.scss +1 -1
  395. package/scss/components/form/_selection.scss +354 -0
  396. package/scss/components/form/_text.scss +13 -0
  397. package/scss/components/form/_textarea.scss +10 -0
  398. package/scss/components/form/_transfer.scss +77 -18
  399. package/scss/themes/_common.scss +7 -0
  400. package/scss/themes/_cxd-colors.scss +56 -0
  401. package/scss/themes/_cxd-variables.scss +219 -91
  402. package/scss/themes/cxd.scss +370 -0
  403. package/sdk/ang-ie11.css +1752 -431
  404. package/sdk/ang.css +1706 -323
  405. package/sdk/antd-ie11.css +1739 -420
  406. package/sdk/antd.css +1706 -323
  407. package/sdk/charts.js +13 -13
  408. package/sdk/color-picker.js +65 -69
  409. package/sdk/cropperjs.js +2 -2
  410. package/sdk/cxd-ie11.css +3015 -1397
  411. package/sdk/cxd.css +2402 -651
  412. package/sdk/dark-ie11.css +1750 -429
  413. package/sdk/dark.css +1706 -323
  414. package/sdk/exceljs.js +1 -1
  415. package/sdk/helper.css.map +1 -1
  416. package/sdk/ie11-patch.css +1 -0
  417. package/sdk/locale/de-DE.js +5 -0
  418. package/sdk/markdown.js +69 -69
  419. package/sdk/papaparse.js +1 -1
  420. package/sdk/renderers/Form/CityDB.js +1 -1
  421. package/sdk/rest.js +20 -30
  422. package/sdk/rich-text.js +62 -64
  423. package/sdk/sdk-ie11.css +3015 -1397
  424. package/sdk/sdk.css +2402 -651
  425. package/sdk/sdk.js +1278 -1220
  426. package/sdk/thirds/hls.js/hls.js +1 -1
  427. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  428. package/sdk/tinymce.js +57 -57
  429. package/src/Schema.ts +32 -0
  430. package/src/components/Alert.tsx +3 -1
  431. package/src/components/AnchorNav.tsx +15 -4
  432. package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +41 -37
  433. package/src/components/Badge.tsx +126 -23
  434. package/src/components/Button.tsx +23 -7
  435. package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
  436. package/src/components/Checkbox.tsx +5 -2
  437. package/src/components/Collapse.tsx +14 -9
  438. package/src/components/DatePicker.tsx +1 -1
  439. package/src/components/DateRangePicker.tsx +23 -11
  440. package/src/components/Drawer.tsx +3 -2
  441. package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
  442. package/src/components/InputBox.tsx +1 -1
  443. package/src/components/Link.tsx +85 -0
  444. package/src/components/Modal.tsx +3 -2
  445. package/src/components/ModalManager.ts +1 -1
  446. package/src/components/MonthRangePicker.tsx +10 -2
  447. package/src/components/PickerColumn.tsx +429 -0
  448. package/src/components/PickerContainer.tsx +128 -0
  449. package/src/components/Radios.tsx +3 -8
  450. package/src/components/RichText.tsx +244 -3
  451. package/src/components/SearchBox.tsx +4 -5
  452. package/src/components/Select.tsx +61 -5
  453. package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
  454. package/src/components/SparkLine.tsx +4 -1
  455. package/src/components/Steps.tsx +3 -3
  456. package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
  457. package/src/components/TabsTransfer.tsx +13 -7
  458. package/src/components/TabsTransferPicker.tsx +85 -0
  459. package/src/components/Toast.tsx +5 -5
  460. package/src/components/Transfer.tsx +71 -50
  461. package/src/components/TransferDropDown.tsx +117 -0
  462. package/src/components/TransferPicker.tsx +84 -0
  463. package/src/components/Tree.tsx +6 -8
  464. package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
  465. package/src/components/WithRemoteConfig.tsx +44 -4
  466. package/src/components/calendar/DaysView.tsx +2 -2
  467. package/src/components/condition-builder/Field.tsx +6 -7
  468. package/src/components/condition-builder/Func.tsx +3 -3
  469. package/src/components/condition-builder/InputSwitch.tsx +3 -3
  470. package/src/components/condition-builder/Item.tsx +5 -12
  471. package/src/components/condition-builder/Value.tsx +3 -0
  472. package/src/components/condition-builder/types.ts +6 -0
  473. package/src/components/icons.tsx +15 -0
  474. package/src/components/index.tsx +13 -13
  475. package/src/envOverwrite.ts +0 -1
  476. package/src/factory.tsx +31 -6
  477. package/src/hooks/index.ts +5 -0
  478. package/src/hooks/use-set-state.ts +19 -0
  479. package/src/hooks/use-touch.ts +100 -0
  480. package/src/hooks/use-update-effect.ts +16 -0
  481. package/src/icons/clock.svg +1 -0
  482. package/src/icons/loading-outline.svg +4 -0
  483. package/src/icons/status-close.svg +10 -0
  484. package/src/icons/status-fail.svg +10 -0
  485. package/src/icons/status-info.svg +8 -0
  486. package/src/icons/status-success.svg +10 -0
  487. package/src/icons/status-warning.svg +8 -0
  488. package/src/index.tsx +3 -0
  489. package/src/locale/de-DE.ts +5 -0
  490. package/src/locale/en-US.ts +6 -1
  491. package/src/locale/zh-CN.ts +9 -4
  492. package/src/renderers/Action.tsx +99 -15
  493. package/src/renderers/AnchorNav.tsx +4 -0
  494. package/src/renderers/Avatar.tsx +8 -4
  495. package/src/renderers/Breadcrumb.tsx +5 -1
  496. package/src/renderers/CRUD.tsx +70 -56
  497. package/src/renderers/Card.tsx +63 -34
  498. package/src/renderers/Chart.tsx +6 -2
  499. package/src/renderers/Collapse.tsx +9 -3
  500. package/src/renderers/Dialog.tsx +1 -5
  501. package/src/renderers/Drawer.tsx +0 -4
  502. package/src/renderers/DropDownButton.tsx +34 -12
  503. package/src/renderers/Form/Checkbox.tsx +8 -0
  504. package/src/renderers/Form/Combo.tsx +2 -3
  505. package/src/renderers/Form/Editor.tsx +19 -20
  506. package/src/renderers/Form/InputCity.tsx +4 -8
  507. package/src/renderers/Form/InputExcel.tsx +28 -3
  508. package/src/renderers/Form/InputFile.tsx +30 -20
  509. package/src/renderers/Form/InputImage.tsx +39 -13
  510. package/src/renderers/Form/InputTable.tsx +88 -9
  511. package/src/renderers/Form/Item.tsx +1 -1
  512. package/src/renderers/Form/Options.tsx +32 -7
  513. package/src/renderers/Form/Picker.tsx +3 -2
  514. package/src/renderers/Form/Select.tsx +144 -21
  515. package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
  516. package/src/renderers/Form/Transfer.tsx +3 -2
  517. package/src/renderers/Form/TransferPicker.tsx +123 -0
  518. package/src/renderers/Form/TreeSelect.tsx +25 -0
  519. package/src/renderers/Form/index.tsx +1 -1
  520. package/src/renderers/Form/wrapControl.tsx +28 -3
  521. package/src/renderers/IFrame.tsx +4 -5
  522. package/src/renderers/Image.tsx +10 -0
  523. package/src/renderers/Json.tsx +19 -10
  524. package/src/renderers/Link.tsx +53 -14
  525. package/src/renderers/List.tsx +1 -1
  526. package/src/renderers/Log.tsx +16 -3
  527. package/src/renderers/Mapping.tsx +27 -11
  528. package/src/renderers/Nav.tsx +392 -60
  529. package/src/renderers/Page.tsx +3 -1
  530. package/src/renderers/Portlet.tsx +423 -0
  531. package/src/renderers/Property.tsx +3 -2
  532. package/src/renderers/SearchBox.tsx +23 -4
  533. package/src/renderers/Service.tsx +101 -3
  534. package/src/renderers/SparkLine.tsx +5 -0
  535. package/src/renderers/Steps.tsx +12 -9
  536. package/src/renderers/Table/ColumnToggler.tsx +544 -0
  537. package/src/renderers/Table/ItemActionsWrapper.tsx +44 -0
  538. package/src/renderers/Table/TableBody.tsx +1 -1
  539. package/src/renderers/Table/TableCell.tsx +16 -1
  540. package/src/renderers/Table/TableContent.tsx +41 -3
  541. package/src/renderers/Table/index.tsx +318 -92
  542. package/src/renderers/Tabs.tsx +9 -1
  543. package/src/renderers/WebComponent.tsx +2 -2
  544. package/src/store/crud.ts +3 -8
  545. package/src/store/form.ts +5 -10
  546. package/src/store/modal.ts +4 -0
  547. package/src/store/service.ts +5 -23
  548. package/src/store/table.ts +103 -4
  549. package/src/types.ts +57 -0
  550. package/src/utils/api.ts +63 -23
  551. package/src/utils/attachmentAdpator.ts +90 -0
  552. package/src/utils/dom.tsx +12 -0
  553. package/src/utils/handleAction.ts +41 -0
  554. package/src/utils/helper.ts +12 -3
  555. package/src/utils/icon.tsx +4 -0
  556. package/src/utils/tpl-builtin.ts +48 -17
  557. package/src/utils/validations.ts +80 -12
  558. package/dump.rdb +0 -0
  559. package/lib/components/AssociatedCheckboxes.d.ts +0 -762
  560. package/lib/components/AssociatedCheckboxes.js +0 -90
  561. package/lib/components/AssociatedCheckboxes.js.map +0 -13
  562. package/lib/components/ChainedCheckboxes.js.map +0 -13
  563. package/lib/components/Checkboxes.js +0 -101
  564. package/lib/components/Checkboxes.js.map +0 -13
  565. package/lib/components/ListCheckboxes.d.ts +0 -739
  566. package/lib/components/ListCheckboxes.js +0 -48
  567. package/lib/components/ListCheckboxes.js.map +0 -13
  568. package/lib/components/ListRadios.d.ts +0 -763
  569. package/lib/components/ListRadios.js +0 -86
  570. package/lib/components/ListRadios.js.map +0 -13
  571. package/lib/components/TableCheckboxes.js.map +0 -13
  572. package/lib/components/TreeCheckboxes.js.map +0 -13
  573. package/lib/components/TreeRadios.d.ts +0 -838
  574. package/lib/components/TreeRadios.js +0 -116
  575. package/lib/components/TreeRadios.js.map +0 -13
  576. package/src/components/ListRadios.tsx +0 -159
  577. 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
  }
@@ -1057,7 +1067,10 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1057
1067
  (!stopAutoRefreshWhen ||
1058
1068
  !(
1059
1069
  (stopAutoRefreshWhenModalIsOpen && store.hasModalOpened) ||
1060
- evalExpression(stopAutoRefreshWhen, createObject(store.data, store.query))
1070
+ evalExpression(
1071
+ stopAutoRefreshWhen,
1072
+ createObject(store.data, store.query)
1073
+ )
1061
1074
  )) &&
1062
1075
  (this.timer = setTimeout(
1063
1076
  silentPolling
@@ -1497,15 +1510,11 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1497
1510
  hasBulkActions() {
1498
1511
  const {bulkActions, itemActions, store} = this.props;
1499
1512
 
1500
- if (
1501
- (!bulkActions || !bulkActions.length) &&
1502
- (!itemActions || !itemActions.length)
1503
- ) {
1513
+ if (!bulkActions || !bulkActions.length) {
1504
1514
  return false;
1505
1515
  }
1506
1516
 
1507
1517
  let bulkBtns: Array<ActionSchema> = [];
1508
- let itemBtns: Array<ActionSchema> = [];
1509
1518
  const ctx = store.mergedData;
1510
1519
 
1511
1520
  if (bulkActions && bulkActions.length) {
@@ -1517,21 +1526,7 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1517
1526
  .filter(item => !item.hidden && item.visible !== false);
1518
1527
  }
1519
1528
 
1520
- const itemData = createObject(
1521
- store.data,
1522
- store.selectedItems.length ? store.selectedItems[0] : {}
1523
- );
1524
-
1525
- if (itemActions && itemActions.length) {
1526
- itemBtns = itemActions
1527
- .map(item => ({
1528
- ...item,
1529
- ...getExprProperties(item as Schema, itemData)
1530
- }))
1531
- .filter(item => !item.hidden && item.visible !== false);
1532
- }
1533
-
1534
- return bulkBtns.length || itemBtns.length;
1529
+ return bulkBtns.length;
1535
1530
  }
1536
1531
 
1537
1532
  renderBulkActions(childProps: any) {
@@ -1539,11 +1534,7 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1539
1534
 
1540
1535
  const items = childProps.items;
1541
1536
 
1542
- if (
1543
- !items.length ||
1544
- ((!bulkActions || !bulkActions.length) &&
1545
- (!itemActions || !itemActions.length))
1546
- ) {
1537
+ if (!items.length || !bulkActions || !bulkActions.length) {
1547
1538
  return null;
1548
1539
  }
1549
1540
 
@@ -1595,7 +1586,6 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1595
1586
  render(
1596
1587
  `bulk-action/${index}`,
1597
1588
  {
1598
- size: 'sm',
1599
1589
  ...omit(btn, ['visibleOn', 'hiddenOn', 'disabledOn']),
1600
1590
  type: 'button',
1601
1591
  ignoreConfirm: true
@@ -1619,7 +1609,6 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1619
1609
  render(
1620
1610
  `bulk-action/${index}`,
1621
1611
  {
1622
- size: 'sm',
1623
1612
  ...omit(btn, ['visibleOn', 'hiddenOn', 'disabledOn']),
1624
1613
  type: 'button'
1625
1614
  },
@@ -1813,6 +1802,7 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1813
1802
  return null;
1814
1803
  }
1815
1804
 
1805
+ const {render, store, translate: __} = this.props;
1816
1806
  const type = (toolbar as Schema).type || toolbar;
1817
1807
 
1818
1808
  if (type === 'bulkActions' || type === 'bulk-actions') {
@@ -1829,8 +1819,25 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1829
1819
  return this.renderFilterToggler();
1830
1820
  } else if (type === 'export-csv') {
1831
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
+ });
1832
1838
  } else if (Array.isArray(toolbar)) {
1833
1839
  const children: Array<any> = toolbar
1840
+ .filter((toolbar: any) => isVisible(toolbar, store.filterData))
1834
1841
  .map((toolbar, index) => ({
1835
1842
  dom: this.renderToolbar(toolbar, index, childProps, toolbarRenderer),
1836
1843
  toolbar
@@ -1872,7 +1879,6 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1872
1879
  return result;
1873
1880
  }
1874
1881
 
1875
- const {render, store} = this.props;
1876
1882
  const $$editable = childProps.$$editable;
1877
1883
 
1878
1884
  return render(`toolbar/${index}`, toolbar, {
@@ -2015,6 +2021,9 @@ export default class CRUD extends React.Component<CRUDProps, any> {
2015
2021
  popOverContainer,
2016
2022
  translate: __,
2017
2023
  onQuery,
2024
+ autoGenerateFilter,
2025
+ onSelect,
2026
+ autoFillHeight,
2018
2027
  ...rest
2019
2028
  } = this.props;
2020
2029
 
@@ -2065,6 +2074,8 @@ export default class CRUD extends React.Component<CRUDProps, any> {
2065
2074
  key: 'body',
2066
2075
  className: cx('Crud-body', bodyClassName),
2067
2076
  ref: this.controlRef,
2077
+ autoGenerateFilter: !filter && autoGenerateFilter,
2078
+ autoFillHeight: autoFillHeight,
2068
2079
  selectable: !!(
2069
2080
  (this.hasBulkActionsToolbar() && this.hasBulkActions()) ||
2070
2081
  pickerMode
@@ -2097,6 +2108,9 @@ export default class CRUD extends React.Component<CRUDProps, any> {
2097
2108
  onSelect: this.handleSelect,
2098
2109
  onPopOverOpened: this.handleChildPopOverOpen,
2099
2110
  onPopOverClosed: this.handleChildPopOverClose,
2111
+ onSearchableFromReset: this.handleFilterReset,
2112
+ onSearchableFromSubmit: this.handleFilterSubmit,
2113
+ onSearchableFromInit: this.handleFilterInit,
2100
2114
  headerToolbarRender: this.renderHeaderToolbar,
2101
2115
  footerToolbarRender: this.renderFooterToolbar,
2102
2116
  data: store.mergedData