amis 1.4.1 → 1.4.2-beta.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (516) 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 +2 -2
  14. package/lib/components/Badge.js +13 -7
  15. package/lib/components/Badge.js.map +2 -2
  16. package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
  17. package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
  18. package/lib/components/ChainedSelection.js.map +13 -0
  19. package/lib/components/Collapse.js +1 -1
  20. package/lib/components/Collapse.js.map +2 -2
  21. package/lib/components/ColorPicker.d.ts +84 -84
  22. package/lib/components/DatePicker.d.ts +84 -84
  23. package/lib/components/DatePicker.js +1 -1
  24. package/lib/components/DatePicker.js.map +2 -2
  25. package/lib/components/DateRangePicker.d.ts +84 -84
  26. package/lib/components/DateRangePicker.js +1 -1
  27. package/lib/components/DateRangePicker.js.map +2 -2
  28. package/lib/components/Editor.d.ts +84 -84
  29. package/lib/components/GroupedSelection.d.ts +907 -0
  30. package/lib/components/GroupedSelection.js +48 -0
  31. package/lib/components/GroupedSelection.js.map +13 -0
  32. package/lib/components/InputBox.d.ts +22 -21
  33. package/lib/components/InputBox.js +11 -3
  34. package/lib/components/InputBox.js.map +2 -2
  35. package/lib/components/Link.d.ts +84 -0
  36. package/lib/components/Link.js +43 -0
  37. package/lib/components/Link.js.map +13 -0
  38. package/lib/components/ListGroup.d.ts +21 -21
  39. package/lib/components/ModalManager.js +1 -1
  40. package/lib/components/ModalManager.js.map +2 -2
  41. package/lib/components/MonthRangePicker.d.ts +84 -84
  42. package/lib/components/MonthRangePicker.js +1 -1
  43. package/lib/components/MonthRangePicker.js.map +2 -2
  44. package/lib/components/NumberInput.d.ts +20 -20
  45. package/lib/components/PickerColumn.d.ts +514 -0
  46. package/lib/components/PickerColumn.js +279 -0
  47. package/lib/components/PickerColumn.js.map +13 -0
  48. package/lib/components/PickerContainer.d.ts +513 -0
  49. package/lib/components/PickerContainer.js +96 -0
  50. package/lib/components/PickerContainer.js.map +13 -0
  51. package/lib/components/Radios.d.ts +22 -21
  52. package/lib/components/Radios.js +1 -0
  53. package/lib/components/Radios.js.map +2 -2
  54. package/lib/components/Rating.d.ts +21 -21
  55. package/lib/components/ResultBox.d.ts +84 -84
  56. package/lib/components/ResultBox.js +10 -2
  57. package/lib/components/ResultBox.js.map +2 -2
  58. package/lib/components/RichText.js +17 -53
  59. package/lib/components/RichText.js.map +2 -2
  60. package/lib/components/SearchBox.d.ts +84 -84
  61. package/lib/components/SearchBox.js +4 -4
  62. package/lib/components/SearchBox.js.map +2 -2
  63. package/lib/components/Select.d.ts +245 -237
  64. package/lib/components/Select.js +28 -4
  65. package/lib/components/Select.js.map +2 -2
  66. package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
  67. package/lib/components/Selection.js +134 -0
  68. package/lib/components/Selection.js.map +13 -0
  69. package/lib/components/SparkLine.d.ts +85 -84
  70. package/lib/components/SparkLine.js +2 -2
  71. package/lib/components/SparkLine.js.map +2 -2
  72. package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
  73. package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
  74. package/lib/components/TableSelection.js.map +13 -0
  75. package/lib/components/Tabs.d.ts +20 -20
  76. package/lib/components/TabsTransfer.d.ts +84 -84
  77. package/lib/components/TabsTransfer.js +9 -9
  78. package/lib/components/TabsTransfer.js.map +2 -2
  79. package/lib/components/TabsTransferPicker.d.ts +489 -0
  80. package/lib/components/TabsTransferPicker.js +60 -0
  81. package/lib/components/TabsTransferPicker.js.map +13 -0
  82. package/lib/components/Toast.js +2 -2
  83. package/lib/components/Toast.js.map +2 -2
  84. package/lib/components/Transfer.d.ts +908 -274
  85. package/lib/components/Transfer.js +31 -24
  86. package/lib/components/Transfer.js.map +2 -2
  87. package/lib/components/TransferDropDown.d.ts +488 -0
  88. package/lib/components/TransferDropDown.js +59 -0
  89. package/lib/components/TransferDropDown.js.map +13 -0
  90. package/lib/components/TransferPicker.d.ts +493 -0
  91. package/lib/components/TransferPicker.js +60 -0
  92. package/lib/components/TransferPicker.js.map +13 -0
  93. package/lib/components/Tree.d.ts +84 -84
  94. package/lib/components/Tree.js +5 -3
  95. package/lib/components/Tree.js.map +2 -2
  96. package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
  97. package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
  98. package/lib/components/TreeSelection.js.map +13 -0
  99. package/lib/components/WithRemoteConfig.js +1 -1
  100. package/lib/components/WithRemoteConfig.js.map +2 -2
  101. package/lib/components/condition-builder/Field.js +5 -2
  102. package/lib/components/condition-builder/Field.js.map +2 -2
  103. package/lib/components/condition-builder/Func.js +2 -2
  104. package/lib/components/condition-builder/Func.js.map +2 -2
  105. package/lib/components/condition-builder/InputSwitch.js +2 -2
  106. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  107. package/lib/components/condition-builder/Item.js +3 -3
  108. package/lib/components/condition-builder/Item.js.map +2 -2
  109. package/lib/components/icons.js +14 -0
  110. package/lib/components/icons.js.map +2 -2
  111. package/lib/components/index.d.ts +8 -8
  112. package/lib/components/index.js +16 -16
  113. package/lib/components/index.js.map +2 -2
  114. package/lib/envOverwrite.js.map +2 -2
  115. package/lib/factory.d.ts +4 -0
  116. package/lib/factory.js +4 -2
  117. package/lib/factory.js.map +2 -2
  118. package/lib/helper.css.map +1 -1
  119. package/lib/hooks/index.d.ts +5 -0
  120. package/lib/hooks/index.js +14 -0
  121. package/lib/hooks/index.js.map +13 -0
  122. package/lib/hooks/use-set-state.d.ts +2 -0
  123. package/lib/hooks/use-set-state.js +15 -0
  124. package/lib/hooks/use-set-state.js.map +13 -0
  125. package/lib/hooks/use-touch.d.ts +16 -0
  126. package/lib/hooks/use-touch.js +73 -0
  127. package/lib/hooks/use-touch.js.map +13 -0
  128. package/lib/hooks/use-update-effect.d.ts +3 -0
  129. package/lib/hooks/use-update-effect.js +17 -0
  130. package/lib/hooks/use-update-effect.js.map +13 -0
  131. package/lib/icons/clock.js +10 -0
  132. package/lib/icons/download.js +7 -0
  133. package/lib/icons/status-close.js +11 -0
  134. package/lib/icons/status-fail.js +11 -0
  135. package/lib/icons/status-info.js +10 -0
  136. package/lib/icons/status-success.js +11 -0
  137. package/lib/icons/status-warning.js +10 -0
  138. package/lib/index.d.ts +3 -0
  139. package/lib/index.js +4 -1
  140. package/lib/index.js.map +2 -2
  141. package/lib/locale/de-DE.js +4 -0
  142. package/lib/locale/de-DE.js.map +2 -2
  143. package/lib/locale/en-US.js +5 -0
  144. package/lib/locale/en-US.js.map +2 -2
  145. package/lib/locale/zh-CN.js +8 -3
  146. package/lib/locale/zh-CN.js.map +2 -2
  147. package/lib/renderers/Action.d.ts +8 -0
  148. package/lib/renderers/Action.js +17 -4
  149. package/lib/renderers/Action.js.map +2 -2
  150. package/lib/renderers/AnchorNav.d.ts +1 -0
  151. package/lib/renderers/AnchorNav.js +2 -2
  152. package/lib/renderers/AnchorNav.js.map +2 -2
  153. package/lib/renderers/Avatar.js +3 -3
  154. package/lib/renderers/Avatar.js.map +2 -2
  155. package/lib/renderers/Breadcrumb.js +1 -1
  156. package/lib/renderers/Breadcrumb.js.map +2 -2
  157. package/lib/renderers/CRUD.d.ts +9 -0
  158. package/lib/renderers/CRUD.js +43 -8
  159. package/lib/renderers/CRUD.js.map +2 -2
  160. package/lib/renderers/Card.d.ts +4 -0
  161. package/lib/renderers/Card.js +29 -23
  162. package/lib/renderers/Card.js.map +2 -2
  163. package/lib/renderers/Chart.js +1 -1
  164. package/lib/renderers/Chart.js.map +2 -2
  165. package/lib/renderers/Collapse.js +3 -2
  166. package/lib/renderers/Collapse.js.map +2 -2
  167. package/lib/renderers/Dialog.js +0 -3
  168. package/lib/renderers/Dialog.js.map +2 -2
  169. package/lib/renderers/Drawer.js +0 -3
  170. package/lib/renderers/Drawer.js.map +2 -2
  171. package/lib/renderers/DropDownButton.d.ts +5 -1
  172. package/lib/renderers/DropDownButton.js +8 -6
  173. package/lib/renderers/DropDownButton.js.map +2 -2
  174. package/lib/renderers/Form/Checkbox.d.ts +5 -0
  175. package/lib/renderers/Form/Checkbox.js +4 -0
  176. package/lib/renderers/Form/Checkbox.js.map +2 -2
  177. package/lib/renderers/Form/Combo.js +2 -2
  178. package/lib/renderers/Form/Combo.js.map +2 -2
  179. package/lib/renderers/Form/DiffEditor.d.ts +4 -3
  180. package/lib/renderers/Form/Editor.d.ts +3 -2
  181. package/lib/renderers/Form/InputCity.d.ts +84 -84
  182. package/lib/renderers/Form/InputCity.js +7 -6
  183. package/lib/renderers/Form/InputCity.js.map +2 -2
  184. package/lib/renderers/Form/InputColor.d.ts +84 -84
  185. package/lib/renderers/Form/InputFile.d.ts +6 -0
  186. package/lib/renderers/Form/InputFile.js +30 -10
  187. package/lib/renderers/Form/InputFile.js.map +2 -2
  188. package/lib/renderers/Form/InputImage.js +16 -7
  189. package/lib/renderers/Form/InputImage.js.map +2 -2
  190. package/lib/renderers/Form/Item.d.ts +1 -1
  191. package/lib/renderers/Form/Item.js.map +1 -1
  192. package/lib/renderers/Form/Options.js +19 -6
  193. package/lib/renderers/Form/Options.js.map +2 -2
  194. package/lib/renderers/Form/Picker.js +2 -2
  195. package/lib/renderers/Form/Picker.js.map +2 -2
  196. package/lib/renderers/Form/Select.d.ts +42 -4
  197. package/lib/renderers/Form/Select.js +37 -3
  198. package/lib/renderers/Form/Select.js.map +2 -2
  199. package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
  200. package/lib/renderers/Form/TabsTransferPicker.js +29 -0
  201. package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
  202. package/lib/renderers/Form/Transfer.js +18 -3
  203. package/lib/renderers/Form/Transfer.js.map +2 -2
  204. package/lib/renderers/Form/TransferPicker.d.ts +52 -0
  205. package/lib/renderers/Form/TransferPicker.js +43 -0
  206. package/lib/renderers/Form/TransferPicker.js.map +13 -0
  207. package/lib/renderers/Form/TreeSelect.js +2 -2
  208. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  209. package/lib/renderers/Form/index.d.ts +5 -0
  210. package/lib/renderers/Form/index.js +5 -3
  211. package/lib/renderers/Form/index.js.map +2 -2
  212. package/lib/renderers/Form/wrapControl.js +15 -3
  213. package/lib/renderers/Form/wrapControl.js.map +2 -2
  214. package/lib/renderers/IFrame.js +3 -5
  215. package/lib/renderers/IFrame.js.map +2 -2
  216. package/lib/renderers/Image.d.ts +1 -0
  217. package/lib/renderers/Image.js +15 -1
  218. package/lib/renderers/Image.js.map +2 -2
  219. package/lib/renderers/Json.d.ts +4 -0
  220. package/lib/renderers/Json.js +4 -13
  221. package/lib/renderers/Json.js.map +2 -2
  222. package/lib/renderers/Link.d.ts +18 -3
  223. package/lib/renderers/Link.js +27 -15
  224. package/lib/renderers/Link.js.map +2 -2
  225. package/lib/renderers/List.js +1 -1
  226. package/lib/renderers/List.js.map +2 -2
  227. package/lib/renderers/Log.d.ts +2 -2
  228. package/lib/renderers/Log.js +7 -1
  229. package/lib/renderers/Log.js.map +2 -2
  230. package/lib/renderers/Mapping.d.ts +9 -2
  231. package/lib/renderers/Mapping.js +18 -6
  232. package/lib/renderers/Mapping.js.map +2 -2
  233. package/lib/renderers/Nav.d.ts +62 -36
  234. package/lib/renderers/Nav.js +272 -96
  235. package/lib/renderers/Nav.js.map +2 -2
  236. package/lib/renderers/Portlet.d.ts +125 -0
  237. package/lib/renderers/Portlet.js +156 -0
  238. package/lib/renderers/Portlet.js.map +13 -0
  239. package/lib/renderers/Property.js +2 -1
  240. package/lib/renderers/Property.js.map +2 -2
  241. package/lib/renderers/SearchBox.d.ts +6 -1
  242. package/lib/renderers/SearchBox.js +19 -5
  243. package/lib/renderers/SearchBox.js.map +2 -2
  244. package/lib/renderers/SparkLine.d.ts +4 -0
  245. package/lib/renderers/SparkLine.js.map +2 -2
  246. package/lib/renderers/Table/ColumnToggler.d.ts +113 -0
  247. package/lib/renderers/Table/ColumnToggler.js +216 -0
  248. package/lib/renderers/Table/ColumnToggler.js.map +13 -0
  249. package/lib/renderers/Table/ItemActionsWrapper.d.ts +11 -0
  250. package/lib/renderers/Table/ItemActionsWrapper.js +31 -0
  251. package/lib/renderers/Table/ItemActionsWrapper.js.map +13 -0
  252. package/lib/renderers/Table/TableBody.d.ts +4 -0
  253. package/lib/renderers/Table/TableCell.js +3 -1
  254. package/lib/renderers/Table/TableCell.js.map +2 -2
  255. package/lib/renderers/Table/TableContent.d.ts +4 -1
  256. package/lib/renderers/Table/TableContent.js +21 -1
  257. package/lib/renderers/Table/TableContent.js.map +2 -2
  258. package/lib/renderers/Table/index.d.ts +19 -2
  259. package/lib/renderers/Table/index.js +172 -57
  260. package/lib/renderers/Table/index.js.map +2 -2
  261. package/lib/renderers/Tabs.js +9 -1
  262. package/lib/renderers/Tabs.js.map +2 -2
  263. package/lib/renderers/WebComponent.js +1 -1
  264. package/lib/renderers/WebComponent.js.map +2 -2
  265. package/lib/store/combo.d.ts +2 -16
  266. package/lib/store/crud.js +3 -7
  267. package/lib/store/crud.js.map +2 -2
  268. package/lib/store/form.d.ts +1 -1
  269. package/lib/store/form.js +5 -6
  270. package/lib/store/form.js.map +2 -2
  271. package/lib/store/service.js +5 -4
  272. package/lib/store/service.js.map +2 -2
  273. package/lib/store/table.d.ts +260 -3
  274. package/lib/store/table.js +69 -11
  275. package/lib/store/table.js.map +2 -2
  276. package/lib/themes/ang-ie11.css +888 -238
  277. package/lib/themes/ang.css +888 -238
  278. package/lib/themes/ang.css.map +1 -1
  279. package/lib/themes/antd-ie11.css +888 -238
  280. package/lib/themes/antd.css +888 -238
  281. package/lib/themes/antd.css.map +1 -1
  282. package/lib/themes/cxd-ie11.css +1446 -457
  283. package/lib/themes/cxd.css +1446 -457
  284. package/lib/themes/cxd.css.map +1 -1
  285. package/lib/themes/dark-ie11.css +888 -238
  286. package/lib/themes/dark.css +888 -238
  287. package/lib/themes/dark.css.map +1 -1
  288. package/lib/themes/default.css +1446 -457
  289. package/lib/themes/default.css.map +1 -1
  290. package/lib/types.d.ts +37 -0
  291. package/lib/types.js +0 -5
  292. package/lib/types.js.map +2 -2
  293. package/lib/utils/api.d.ts +3 -2
  294. package/lib/utils/api.js +31 -15
  295. package/lib/utils/api.js.map +2 -2
  296. package/lib/utils/dom.d.ts +4 -0
  297. package/lib/utils/dom.js +11 -1
  298. package/lib/utils/dom.js.map +2 -2
  299. package/lib/utils/handleAction.d.ts +7 -0
  300. package/lib/utils/handleAction.js +30 -0
  301. package/lib/utils/handleAction.js.map +13 -0
  302. package/lib/utils/helper.d.ts +3 -1
  303. package/lib/utils/helper.js +14 -5
  304. package/lib/utils/helper.js.map +2 -2
  305. package/lib/utils/icon.js +3 -0
  306. package/lib/utils/icon.js.map +2 -2
  307. package/lib/utils/tpl-builtin.d.ts +1 -1
  308. package/lib/utils/tpl-builtin.js +25 -15
  309. package/lib/utils/tpl-builtin.js.map +2 -2
  310. package/package.json +1 -1
  311. package/schema.json +3341 -998
  312. package/scss/_mixins.scss +1 -3
  313. package/scss/_properties.scss +63 -4
  314. package/scss/_utilities.scss +4 -0
  315. package/scss/base/_common.scss +3 -0
  316. package/scss/base/_normalize.scss +2 -0
  317. package/scss/components/_anchor-nav.scss +88 -29
  318. package/scss/components/_button.scss +4 -5
  319. package/scss/components/_card.scss +8 -14
  320. package/scss/components/_collapse.scss +41 -8
  321. package/scss/components/_column-toggler.scss +234 -0
  322. package/scss/components/_dropdown.scss +2 -1
  323. package/scss/components/_images.scss +2 -1
  324. package/scss/components/_input-box.scss +1 -0
  325. package/scss/components/_link.scss +6 -0
  326. package/scss/components/_mapping.scss +6 -0
  327. package/scss/components/_nav.scss +231 -223
  328. package/scss/components/_page.scss +5 -4
  329. package/scss/components/_picker-columns.scss +124 -0
  330. package/scss/components/_popover.scss +13 -0
  331. package/scss/components/_portlet.scss +51 -0
  332. package/scss/components/_progress.scss +2 -0
  333. package/scss/components/_result-box.scss +1 -0
  334. package/scss/components/_status.scss +1 -1
  335. package/scss/components/_steps.scss +1 -1
  336. package/scss/components/_table.scss +51 -1
  337. package/scss/components/form/_checks.scss +0 -351
  338. package/scss/components/form/_color.scss +1 -0
  339. package/scss/components/form/_date-range.scss +2 -0
  340. package/scss/components/form/_date.scss +2 -0
  341. package/scss/components/form/_fieldset.scss +6 -3
  342. package/scss/components/form/_file.scss +16 -4
  343. package/scss/components/form/_form.scss +48 -0
  344. package/scss/components/form/_image.scss +7 -2
  345. package/scss/components/form/_list.scss +1 -0
  346. package/scss/components/form/_location.scss +1 -1
  347. package/scss/components/form/_selection.scss +354 -0
  348. package/scss/components/form/_text.scss +13 -0
  349. package/scss/components/form/_textarea.scss +10 -0
  350. package/scss/components/form/_transfer.scss +77 -18
  351. package/scss/themes/_common.scss +7 -0
  352. package/scss/themes/_cxd-colors.scss +56 -0
  353. package/scss/themes/_cxd-variables.scss +217 -89
  354. package/scss/themes/cxd.scss +370 -0
  355. package/sdk/ang-ie11.css +1117 -392
  356. package/sdk/ang.css +1110 -342
  357. package/sdk/antd-ie11.css +1105 -380
  358. package/sdk/antd.css +1110 -342
  359. package/sdk/charts.js +13 -13
  360. package/sdk/color-picker.js +65 -69
  361. package/sdk/cropperjs.js +2 -2
  362. package/sdk/cxd-ie11.css +2086 -1062
  363. package/sdk/cxd.css +1643 -495
  364. package/sdk/dark-ie11.css +1117 -392
  365. package/sdk/dark.css +1110 -342
  366. package/sdk/exceljs.js +1 -1
  367. package/sdk/helper.css.map +1 -1
  368. package/sdk/iconfont.svg +2513 -0
  369. package/sdk/iconfont.ttf +0 -0
  370. package/sdk/iconfont.woff +0 -0
  371. package/sdk/ie11-patch.css +1 -0
  372. package/sdk/locale/de-DE.js +4 -0
  373. package/sdk/markdown.js +69 -69
  374. package/sdk/papaparse.js +1 -1
  375. package/sdk/renderers/Form/CityDB.js +1 -1
  376. package/sdk/rest.js +20 -28
  377. package/sdk/rich-text.js +62 -62
  378. package/sdk/sdk-ie11.css +2086 -1062
  379. package/sdk/sdk.css +1643 -495
  380. package/sdk/sdk.js +1219 -1165
  381. package/sdk/thirds/hls.js/hls.js +1 -1
  382. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  383. package/sdk/tinymce.js +57 -57
  384. package/src/Schema.ts +32 -0
  385. package/src/components/Alert.tsx +3 -1
  386. package/src/components/AnchorNav.tsx +15 -4
  387. package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +41 -37
  388. package/src/components/Badge.tsx +38 -26
  389. package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
  390. package/src/components/Collapse.tsx +14 -9
  391. package/src/components/DatePicker.tsx +1 -1
  392. package/src/components/DateRangePicker.tsx +23 -11
  393. package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
  394. package/src/components/InputBox.tsx +11 -10
  395. package/src/components/Link.tsx +85 -0
  396. package/src/components/ModalManager.ts +1 -1
  397. package/src/components/MonthRangePicker.tsx +10 -2
  398. package/src/components/PickerColumn.tsx +429 -0
  399. package/src/components/PickerContainer.tsx +128 -0
  400. package/src/components/Radios.tsx +3 -8
  401. package/src/components/ResultBox.tsx +9 -9
  402. package/src/components/RichText.tsx +17 -57
  403. package/src/components/SearchBox.tsx +4 -5
  404. package/src/components/Select.tsx +60 -5
  405. package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
  406. package/src/components/SparkLine.tsx +4 -1
  407. package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
  408. package/src/components/TabsTransfer.tsx +13 -7
  409. package/src/components/TabsTransferPicker.tsx +85 -0
  410. package/src/components/Toast.tsx +5 -5
  411. package/src/components/Transfer.tsx +71 -50
  412. package/src/components/TransferDropDown.tsx +120 -0
  413. package/src/components/TransferPicker.tsx +91 -0
  414. package/src/components/Tree.tsx +6 -8
  415. package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
  416. package/src/components/WithRemoteConfig.tsx +7 -2
  417. package/src/components/condition-builder/Field.tsx +5 -5
  418. package/src/components/condition-builder/Func.tsx +3 -3
  419. package/src/components/condition-builder/InputSwitch.tsx +3 -3
  420. package/src/components/condition-builder/Item.tsx +5 -12
  421. package/src/components/icons.tsx +15 -0
  422. package/src/components/index.tsx +13 -13
  423. package/src/envOverwrite.ts +0 -1
  424. package/src/factory.tsx +18 -3
  425. package/src/hooks/index.ts +5 -0
  426. package/src/hooks/use-set-state.ts +19 -0
  427. package/src/hooks/use-touch.ts +100 -0
  428. package/src/hooks/use-update-effect.ts +16 -0
  429. package/src/icons/clock.svg +1 -0
  430. package/src/icons/download.svg +4 -0
  431. package/src/icons/status-close.svg +10 -0
  432. package/src/icons/status-fail.svg +10 -0
  433. package/src/icons/status-info.svg +8 -0
  434. package/src/icons/status-success.svg +10 -0
  435. package/src/icons/status-warning.svg +8 -0
  436. package/src/index.tsx +3 -0
  437. package/src/locale/de-DE.ts +4 -0
  438. package/src/locale/en-US.ts +5 -0
  439. package/src/locale/zh-CN.ts +8 -3
  440. package/src/renderers/Action.tsx +33 -2
  441. package/src/renderers/AnchorNav.tsx +4 -0
  442. package/src/renderers/Avatar.tsx +8 -4
  443. package/src/renderers/Breadcrumb.tsx +5 -1
  444. package/src/renderers/CRUD.tsx +63 -28
  445. package/src/renderers/Card.tsx +63 -34
  446. package/src/renderers/Chart.tsx +6 -2
  447. package/src/renderers/Collapse.tsx +4 -2
  448. package/src/renderers/Dialog.tsx +0 -4
  449. package/src/renderers/Drawer.tsx +0 -4
  450. package/src/renderers/DropDownButton.tsx +18 -13
  451. package/src/renderers/Form/Checkbox.tsx +8 -0
  452. package/src/renderers/Form/Combo.tsx +2 -3
  453. package/src/renderers/Form/InputCity.tsx +4 -8
  454. package/src/renderers/Form/InputFile.tsx +66 -24
  455. package/src/renderers/Form/InputImage.tsx +16 -5
  456. package/src/renderers/Form/Item.tsx +3 -2
  457. package/src/renderers/Form/Options.tsx +32 -7
  458. package/src/renderers/Form/Picker.tsx +3 -2
  459. package/src/renderers/Form/Select.tsx +162 -21
  460. package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
  461. package/src/renderers/Form/Transfer.tsx +19 -4
  462. package/src/renderers/Form/TransferPicker.tsx +145 -0
  463. package/src/renderers/Form/TreeSelect.tsx +25 -0
  464. package/src/renderers/Form/index.tsx +15 -2
  465. package/src/renderers/Form/wrapControl.tsx +28 -3
  466. package/src/renderers/IFrame.tsx +4 -5
  467. package/src/renderers/Image.tsx +10 -0
  468. package/src/renderers/Json.tsx +9 -9
  469. package/src/renderers/Link.tsx +53 -14
  470. package/src/renderers/List.tsx +1 -1
  471. package/src/renderers/Log.tsx +16 -3
  472. package/src/renderers/Mapping.tsx +27 -11
  473. package/src/renderers/Nav.tsx +325 -122
  474. package/src/renderers/Portlet.tsx +423 -0
  475. package/src/renderers/Property.tsx +3 -2
  476. package/src/renderers/SearchBox.tsx +23 -4
  477. package/src/renderers/SparkLine.tsx +5 -0
  478. package/src/renderers/Table/ColumnToggler.tsx +544 -0
  479. package/src/renderers/Table/ItemActionsWrapper.tsx +44 -0
  480. package/src/renderers/Table/TableCell.tsx +16 -1
  481. package/src/renderers/Table/TableContent.tsx +40 -2
  482. package/src/renderers/Table/index.tsx +257 -80
  483. package/src/renderers/Tabs.tsx +9 -1
  484. package/src/renderers/WebComponent.tsx +2 -2
  485. package/src/store/crud.ts +3 -8
  486. package/src/store/form.ts +5 -10
  487. package/src/store/service.ts +5 -4
  488. package/src/store/table.ts +103 -11
  489. package/src/types.ts +57 -0
  490. package/src/utils/api.ts +52 -23
  491. package/src/utils/dom.tsx +12 -0
  492. package/src/utils/handleAction.ts +41 -0
  493. package/src/utils/helper.ts +12 -4
  494. package/src/utils/icon.tsx +4 -0
  495. package/src/utils/tpl-builtin.ts +48 -17
  496. package/dump.rdb +0 -0
  497. package/lib/components/AssociatedCheckboxes.d.ts +0 -762
  498. package/lib/components/AssociatedCheckboxes.js +0 -90
  499. package/lib/components/AssociatedCheckboxes.js.map +0 -13
  500. package/lib/components/ChainedCheckboxes.js.map +0 -13
  501. package/lib/components/Checkboxes.js +0 -101
  502. package/lib/components/Checkboxes.js.map +0 -13
  503. package/lib/components/ListCheckboxes.d.ts +0 -739
  504. package/lib/components/ListCheckboxes.js +0 -48
  505. package/lib/components/ListCheckboxes.js.map +0 -13
  506. package/lib/components/ListRadios.d.ts +0 -763
  507. package/lib/components/ListRadios.js +0 -86
  508. package/lib/components/ListRadios.js.map +0 -13
  509. package/lib/components/TableCheckboxes.js.map +0 -13
  510. package/lib/components/TreeCheckboxes.js.map +0 -13
  511. package/lib/components/TreeRadios.d.ts +0 -838
  512. package/lib/components/TreeRadios.js +0 -116
  513. package/lib/components/TreeRadios.js.map +0 -13
  514. package/sdk.zip +0 -0
  515. package/src/components/ListRadios.tsx +0 -159
  516. package/src/components/TreeRadios.tsx +0 -202
@@ -0,0 +1,91 @@
1
+ import {localeable} from '../locale';
2
+ import {themeable} from '../theme';
3
+ import Transfer, {TransferProps} from './Transfer';
4
+ import {uncontrollable} from 'uncontrollable';
5
+ import React from 'react';
6
+ import ResultBox from './ResultBox';
7
+ import {Icon} from './icons';
8
+ import PickerContainer from './PickerContainer';
9
+ import {autobind} from '../utils/helper';
10
+
11
+ export interface TransferPickerProps extends Omit<TransferProps, 'itemRender'> {
12
+ // 新的属性?
13
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
14
+
15
+ /**
16
+ * 边框模式,全边框,还是半边框,或者没边框。
17
+ */
18
+ borderMode?: 'full' | 'half' | 'none';
19
+ }
20
+
21
+ export class TransferPicker extends React.Component<TransferPickerProps> {
22
+ @autobind
23
+ handleClose() {
24
+ this.setState({
25
+ inputValue: '',
26
+ searchResult: null
27
+ });
28
+ }
29
+
30
+ @autobind
31
+ handleConfirm(value: any) {
32
+ this.props.onChange?.(value);
33
+ this.handleClose();
34
+ }
35
+
36
+ render() {
37
+ const {
38
+ classnames: cx,
39
+ value,
40
+ translate: __,
41
+ disabled,
42
+ className,
43
+ onChange,
44
+ size,
45
+ borderMode,
46
+ ...rest
47
+ } = this.props;
48
+
49
+ return (
50
+ <PickerContainer
51
+ title={__('Select.placeholder')}
52
+ popOverRender={({onClose, value, onChange}) => {
53
+ return <Transfer {...rest} value={value} onChange={onChange} />;
54
+ }}
55
+ value={value}
56
+ onConfirm={this.handleConfirm}
57
+ onCancel={this.handleClose}
58
+ size={size}
59
+ >
60
+ {({onClick, isOpened}) => (
61
+ <ResultBox
62
+ className={cx(
63
+ 'TransferPicker',
64
+ className,
65
+ isOpened ? 'is-active' : ''
66
+ )}
67
+ allowInput={false}
68
+ result={value}
69
+ onResultChange={onChange}
70
+ onResultClick={onClick}
71
+ placeholder={__('Select.placeholder')}
72
+ disabled={disabled}
73
+ borderMode={borderMode}
74
+ >
75
+ <span className={cx('TransferPicker-icon')}>
76
+ <Icon icon="pencil" className="icon" />
77
+ </span>
78
+ </ResultBox>
79
+ )}
80
+ </PickerContainer>
81
+ );
82
+ }
83
+ }
84
+
85
+ export default themeable(
86
+ localeable(
87
+ uncontrollable(TransferPicker, {
88
+ value: 'onChange'
89
+ })
90
+ )
91
+ );
@@ -19,7 +19,7 @@ import {
19
19
  import {Option, Options, value2array} from './Select';
20
20
  import {ClassNamesFn, themeable, ThemeProps} from '../theme';
21
21
  import {highlight} from '../renderers/Form/Options';
22
- import {Icon} from './icons';
22
+ import {Icon, getIcon} from './icons';
23
23
  import Checkbox from './Checkbox';
24
24
  import {LocaleProps, localeable} from '../locale';
25
25
  import Spinner from './Spinner';
@@ -710,6 +710,8 @@ export class TreeSelector extends React.Component<
710
710
  const isLeaf =
711
711
  (!item.children || !item.children.length) && !item.placeholder;
712
712
 
713
+ const iconValue = item[iconField] || (childrenItems ? 'folder' : 'file');
714
+
713
715
  return (
714
716
  <li
715
717
  key={key}
@@ -754,7 +756,6 @@ export class TreeSelector extends React.Component<
754
756
  <i
755
757
  className={cx(
756
758
  `Tree-itemIcon ${
757
- item[iconField] ||
758
759
  (childrenItems ? 'Tree-folderIcon' : 'Tree-leafIcon')
759
760
  }`
760
761
  )}
@@ -765,12 +766,9 @@ export class TreeSelector extends React.Component<
765
766
  : this.handleSelect(item))
766
767
  }
767
768
  >
768
- {item[iconField] ? null : (
769
- <Icon
770
- icon={childrenItems ? 'folder' : 'file'}
771
- className="icon"
772
- />
773
- )}
769
+ {getIcon(iconValue)
770
+ ? <Icon icon={iconValue} className="icon"/>
771
+ : <i className={iconValue}></i>}
774
772
  </i>
775
773
  ) : null}
776
774
 
@@ -1,4 +1,4 @@
1
- import {BaseCheckboxes, BaseCheckboxesProps} from './Checkboxes';
1
+ import {BaseSelection, BaseSelectionProps} from './Selection';
2
2
  import {themeable} from '../theme';
3
3
  import React from 'react';
4
4
  import {uncontrollable} from 'uncontrollable';
@@ -9,25 +9,25 @@ import Spinner from './Spinner';
9
9
  import {localeable} from '../locale';
10
10
  import {Icon} from './icons';
11
11
 
12
- export interface TreeCheckboxesProps extends BaseCheckboxesProps {
12
+ export interface TreeSelectionProps extends BaseSelectionProps {
13
13
  expand?: 'all' | 'first' | 'root' | 'none';
14
14
  }
15
15
 
16
- export interface TreeCheckboxesState {
16
+ export interface TreeSelectionState {
17
17
  expanded: Array<string>;
18
18
  }
19
19
 
20
- export class TreeCheckboxes extends BaseCheckboxes<
21
- TreeCheckboxesProps,
22
- TreeCheckboxesState
20
+ export class TreeSelection extends BaseSelection<
21
+ TreeSelectionProps,
22
+ TreeSelectionState
23
23
  > {
24
24
  valueArray: Array<Option>;
25
- state: TreeCheckboxesState = {
25
+ state: TreeSelectionState = {
26
26
  expanded: []
27
27
  };
28
28
 
29
29
  static defaultProps = {
30
- ...BaseCheckboxes.defaultProps,
30
+ ...BaseSelection.defaultProps,
31
31
  expand: 'first' as 'first'
32
32
  };
33
33
 
@@ -35,7 +35,7 @@ export class TreeCheckboxes extends BaseCheckboxes<
35
35
  this.syncExpanded();
36
36
  }
37
37
 
38
- componentDidUpdate(prevProps: TreeCheckboxesProps) {
38
+ componentDidUpdate(prevProps: TreeSelectionProps) {
39
39
  const props = this.props;
40
40
 
41
41
  if (
@@ -82,7 +82,9 @@ export class TreeCheckboxes extends BaseCheckboxes<
82
82
  option2value,
83
83
  options,
84
84
  onDeferLoad,
85
- disabled
85
+ disabled,
86
+ multiple,
87
+ clearable
86
88
  } = this.props;
87
89
 
88
90
  if (disabled || option.disabled) {
@@ -92,12 +94,13 @@ export class TreeCheckboxes extends BaseCheckboxes<
92
94
  return;
93
95
  }
94
96
 
95
- let valueArray = BaseCheckboxes.value2array(value, options, option2value);
97
+ let valueArray = BaseSelection.value2array(value, options, option2value);
96
98
 
97
99
  if (
98
100
  option.value === void 0 &&
99
101
  Array.isArray(option.children) &&
100
- option.children.length
102
+ option.children.length &&
103
+ multiple
101
104
  ) {
102
105
  const someCheckedFn = (child: Option) =>
103
106
  (Array.isArray(child.children) && child.children.length
@@ -124,10 +127,12 @@ export class TreeCheckboxes extends BaseCheckboxes<
124
127
  } else {
125
128
  let idx = valueArray.indexOf(option);
126
129
 
127
- if (~idx) {
130
+ if (~idx && (multiple || clearable)) {
128
131
  valueArray.splice(idx, 1);
129
- } else {
132
+ } else if (multiple) {
130
133
  valueArray.push(option);
134
+ } else {
135
+ valueArray = [option];
131
136
  }
132
137
  }
133
138
 
@@ -135,7 +140,7 @@ export class TreeCheckboxes extends BaseCheckboxes<
135
140
  ? valueArray.map(item => option2value(item))
136
141
  : valueArray;
137
142
 
138
- onChange && onChange(newValue);
143
+ onChange && onChange(multiple ? newValue : newValue[0]);
139
144
  }
140
145
 
141
146
  toggleCollapsed(option: Option, index: string) {
@@ -163,7 +168,8 @@ export class TreeCheckboxes extends BaseCheckboxes<
163
168
  disabled,
164
169
  classnames: cx,
165
170
  itemClassName,
166
- itemRender
171
+ itemRender,
172
+ multiple
167
173
  } = this.props;
168
174
  const id = indexes.join('-');
169
175
  const valueArray = this.valueArray;
@@ -204,7 +210,7 @@ export class TreeCheckboxes extends BaseCheckboxes<
204
210
  <div
205
211
  key={index}
206
212
  className={cx(
207
- 'TreeCheckboxes-item',
213
+ 'TreeSelection-item',
208
214
  disabled || option.disabled || (option.defer && option.loading)
209
215
  ? 'is-disabled'
210
216
  : '',
@@ -213,9 +219,10 @@ export class TreeCheckboxes extends BaseCheckboxes<
213
219
  >
214
220
  <div
215
221
  className={cx(
216
- 'TreeCheckboxes-itemInner',
222
+ 'TreeSelection-itemInner',
217
223
  itemClassName,
218
- option.className
224
+ option.className,
225
+ checked ? 'is-active' : ''
219
226
  )}
220
227
  onClick={() => this.toggleOption(option)}
221
228
  >
@@ -231,13 +238,13 @@ export class TreeCheckboxes extends BaseCheckboxes<
231
238
  </a>
232
239
  ) : null}
233
240
 
234
- <div className={cx('TreeCheckboxes-itemLabel')}>
241
+ <div className={cx('TreeSelection-itemLabel')}>
235
242
  {itemRender(option)}
236
243
  </div>
237
244
 
238
245
  {option.defer && option.loading ? <Spinner show size="sm" /> : null}
239
246
 
240
- {!option.defer || option.loaded ? (
247
+ {multiple && (!option.defer || option.loaded) ? (
241
248
  <Checkbox
242
249
  size="sm"
243
250
  checked={checked}
@@ -249,7 +256,7 @@ export class TreeCheckboxes extends BaseCheckboxes<
249
256
  ) : null}
250
257
  </div>
251
258
  {hasChildren ? (
252
- <div className={cx('TreeCheckboxes-sublist')}>
259
+ <div className={cx('TreeSelection-sublist')}>
253
260
  {option.children!.map((option, key) =>
254
261
  this.renderItem(option, key, indexes.concat(key))
255
262
  )}
@@ -270,7 +277,7 @@ export class TreeCheckboxes extends BaseCheckboxes<
270
277
  translate: __
271
278
  } = this.props;
272
279
 
273
- this.valueArray = BaseCheckboxes.value2array(value, options, option2value);
280
+ this.valueArray = BaseSelection.value2array(value, options, option2value);
274
281
  let body: Array<React.ReactNode> = [];
275
282
 
276
283
  if (Array.isArray(options) && options.length) {
@@ -278,11 +285,11 @@ export class TreeCheckboxes extends BaseCheckboxes<
278
285
  }
279
286
 
280
287
  return (
281
- <div className={cx('TreeCheckboxes', className)}>
288
+ <div className={cx('TreeSelection', className)}>
282
289
  {body && body.length ? (
283
290
  body
284
291
  ) : (
285
- <div className={cx('TreeCheckboxes-placeholder')}>
292
+ <div className={cx('TreeSelection-placeholder')}>
286
293
  {__(placeholder)}
287
294
  </div>
288
295
  )}
@@ -293,7 +300,7 @@ export class TreeCheckboxes extends BaseCheckboxes<
293
300
 
294
301
  export default themeable(
295
302
  localeable(
296
- uncontrollable(TreeCheckboxes, {
303
+ uncontrollable(TreeSelection, {
297
304
  value: 'onChange'
298
305
  })
299
306
  )
@@ -12,7 +12,12 @@ import {withStore} from './WithStore';
12
12
  import {EnvContext, RendererEnv} from '../env';
13
13
 
14
14
  import {flow, Instance, isAlive, types} from 'mobx-state-tree';
15
- import {buildApi, isEffectiveApi, normalizeApi} from '../utils/api';
15
+ import {
16
+ buildApi,
17
+ isEffectiveApi,
18
+ normalizeApi,
19
+ normalizeApiResponseData
20
+ } from '../utils/api';
16
21
  import {
17
22
  isPureVariable,
18
23
  resolveVariableAndFilter,
@@ -46,7 +51,7 @@ export const Store = types
46
51
  }
47
52
 
48
53
  if (ret.ok) {
49
- const data = ret.data || {};
54
+ const data = normalizeApiResponseData(ret.data);
50
55
  let options = config.adaptor
51
56
  ? config.adaptor(data, component.props)
52
57
  : data;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import PopOverContainer from '../PopOverContainer';
3
- import ListRadios from '../ListRadios';
3
+ import ListSelection from '../GroupedSelection';
4
4
  import ResultBox from '../ResultBox';
5
5
  import {ClassNamesFn, ThemeProps, themeable} from '../../theme';
6
6
  import {Icon} from '../icons';
@@ -90,13 +90,13 @@ export class ConditionField extends React.Component<
90
90
  {searchable ? (
91
91
  <SearchBox mini={false} onSearch={this.onSearch} />
92
92
  ) : null}
93
- <ListRadios
93
+ <ListSelection
94
+ multiple={false}
94
95
  onClick={e => this.onPopClose(e, onClose)}
95
- showRadio={false}
96
96
  options={this.state.options}
97
- value={value}
97
+ value={[value]}
98
98
  option2value={option2value}
99
- onChange={onChange}
99
+ onChange={([value]: any) => onChange(value)}
100
100
  />
101
101
  </>
102
102
  )}
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import {Func, ExpressionFunc, Field, Funcs} from './types';
3
3
  import {ThemeProps, themeable} from '../../theme';
4
4
  import PopOverContainer from '../PopOverContainer';
5
- import ListRadios from '../ListRadios';
5
+ import GroupedSelection from '../GroupedSelection';
6
6
  import {autobind, findTree, noop} from '../../utils/helper';
7
7
  import ResultBox from '../ResultBox';
8
8
  import {Icon} from '../icons';
@@ -77,13 +77,13 @@ export class ConditionFunc extends React.Component<ConditionFuncProps> {
77
77
  <div className={cx('CBFunc')}>
78
78
  <PopOverContainer
79
79
  popOverRender={({onClose}) => (
80
- <ListRadios
80
+ <GroupedSelection
81
81
  onClick={onClose}
82
- showRadio={false}
83
82
  options={funcs!}
84
83
  value={(func as Func)?.type}
85
84
  option2value={option2value}
86
85
  onChange={this.handleFuncChange}
86
+ multiple={false}
87
87
  />
88
88
  )}
89
89
  >
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import PopOverContainer from '../PopOverContainer';
3
3
  import {Icon} from '../icons';
4
- import ListRadios from '../ListRadios';
4
+ import GroupedSelection from '../GroupedSelection';
5
5
  import {ClassNamesFn, themeable, ThemeProps} from '../../theme';
6
6
 
7
7
  export interface InputSwitchProps extends ThemeProps {
@@ -23,13 +23,13 @@ export function InputSwitch({
23
23
  return (
24
24
  <PopOverContainer
25
25
  popOverRender={({onClose}) => (
26
- <ListRadios
26
+ <GroupedSelection
27
27
  onClick={onClose}
28
28
  option2value={option2value}
29
29
  onChange={onChange}
30
30
  options={options}
31
31
  value={value}
32
- showRadio={false}
32
+ multiple={false}
33
33
  disabled={disabled}
34
34
  />
35
35
  )}
@@ -18,7 +18,7 @@ import {autobind, findTree, noop} from '../../utils/helper';
18
18
  import Expression from './Expression';
19
19
  import {Config, OperationMap} from './config';
20
20
  import PopOverContainer from '../PopOverContainer';
21
- import ListRadios from '../ListRadios';
21
+ import GroupedSelection from '../GroupedSelection';
22
22
  import ResultBox from '../ResultBox';
23
23
  import {localeable, LocaleProps} from '../../locale';
24
24
 
@@ -100,15 +100,8 @@ export class ConditionItem extends React.Component<ConditionItemProps> {
100
100
  }
101
101
 
102
102
  renderLeft() {
103
- const {
104
- value,
105
- fields,
106
- funcs,
107
- config,
108
- disabled,
109
- fieldClassName,
110
- searchable
111
- } = this.props;
103
+ const {value, fields, funcs, config, disabled, fieldClassName, searchable} =
104
+ this.props;
112
105
  return (
113
106
  <Expression
114
107
  config={config}
@@ -158,7 +151,7 @@ export class ConditionItem extends React.Component<ConditionItemProps> {
158
151
  return (
159
152
  <PopOverContainer
160
153
  popOverRender={({onClose}) => (
161
- <ListRadios
154
+ <GroupedSelection
162
155
  onClick={onClose}
163
156
  option2value={option2value}
164
157
  onChange={this.handleOperatorChange}
@@ -167,7 +160,7 @@ export class ConditionItem extends React.Component<ConditionItemProps> {
167
160
  value: operator
168
161
  }))}
169
162
  value={value.op}
170
- showRadio={false}
163
+ multiple={false}
171
164
  />
172
165
  )}
173
166
  >
@@ -6,6 +6,7 @@
6
6
  import React from 'react';
7
7
 
8
8
  import CloseIcon from '../icons/close.svg';
9
+ import StatusCloseIcon from '../icons/status-close.svg';
9
10
  import UnDoIcon from '../icons/undo.svg';
10
11
  import ReDoIcon from '../icons/redo.svg';
11
12
  import EnterIcon from '../icons/enter.svg';
@@ -23,7 +24,12 @@ import ViewIcon from '../icons/view.svg';
23
24
  import RemoveIcon from '../icons/remove.svg';
24
25
  import RetryIcon from '../icons/retry.svg';
25
26
  import UploadIcon from '../icons/upload.svg';
27
+ import DownloadIcon from '../icons/download.svg';
26
28
  import FileIcon from '../icons/file.svg';
29
+ import StatusSuccessIcon from '../icons/status-success.svg';
30
+ import StatusFailIcon from '../icons/status-fail.svg';
31
+ import StatusInfoIcon from '../icons/status-info.svg';
32
+ import StatusWarningIcon from '../icons/status-warning.svg';
27
33
  import SuccessIcon from '../icons/success.svg';
28
34
  import FailIcon from '../icons/fail.svg';
29
35
  import SearchIcon from '../icons/search.svg';
@@ -36,6 +42,8 @@ import ReloadIcon from '../icons/reload.svg';
36
42
  import ExchangeIcon from '../icons/exchange.svg';
37
43
  import ColmunsIcon from '../icons/columns.svg';
38
44
  import CalendarIcon from '../icons/calendar.svg';
45
+ import ClockIcon from '../icons/clock.svg';
46
+
39
47
  import CopyIcon from '../icons/copy.svg';
40
48
  import FilterIcon from '../icons/filter.svg';
41
49
  import CaretIcon from '../icons/caret.svg';
@@ -92,6 +100,7 @@ export function registerIcon(key: string, component: React.ReactType<{}>) {
92
100
  }
93
101
 
94
102
  registerIcon('close', CloseIcon);
103
+ registerIcon('status-close', StatusCloseIcon);
95
104
  registerIcon('undo', UnDoIcon);
96
105
  registerIcon('redo', ReDoIcon);
97
106
  registerIcon('enter', EnterIcon);
@@ -112,7 +121,12 @@ registerIcon('view', ViewIcon);
112
121
  registerIcon('remove', RemoveIcon);
113
122
  registerIcon('retry', RetryIcon);
114
123
  registerIcon('upload', UploadIcon);
124
+ registerIcon('download', DownloadIcon);
115
125
  registerIcon('file', FileIcon);
126
+ registerIcon('status-success', StatusSuccessIcon);
127
+ registerIcon('status-fail', StatusFailIcon);
128
+ registerIcon('status-info', StatusInfoIcon);
129
+ registerIcon('status-warning', StatusWarningIcon);
116
130
  registerIcon('success', SuccessIcon);
117
131
  registerIcon('fail', FailIcon);
118
132
  registerIcon('warning', WarningIcon);
@@ -128,6 +142,7 @@ registerIcon('reload', ReloadIcon);
128
142
  registerIcon('exchange', ExchangeIcon);
129
143
  registerIcon('columns', ColmunsIcon);
130
144
  registerIcon('calendar', CalendarIcon);
145
+ registerIcon('clock', ClockIcon);
131
146
  registerIcon('copy', CopyIcon);
132
147
  registerIcon('filter', FilterIcon);
133
148
  registerIcon('column-filter', ColumnFilterIcon);
@@ -10,7 +10,7 @@ import {default as ContextMenu, openContextMenus} from './ContextMenu';
10
10
  import AsideNav from './AsideNav';
11
11
  import Button from './Button';
12
12
  import Checkbox from './Checkbox';
13
- import Checkboxes from './Checkboxes';
13
+ import Checkboxes from './Selection';
14
14
  import Collapse from './Collapse';
15
15
  import DatePicker from './DatePicker';
16
16
  import DateRangePicker from './DateRangePicker';
@@ -41,19 +41,19 @@ import Tree from './Tree';
41
41
  import Alert2 from './Alert2';
42
42
  import Transfer from './Transfer';
43
43
  import TabsTransfer from './TabsTransfer';
44
- import ListCheckboxes from './ListCheckboxes';
45
- import TableCheckboxes from './TableCheckboxes';
46
- import TreeCheckboxes from './TreeCheckboxes';
47
- import ChainedCheckboxes from './ChainedCheckboxes';
48
44
  import ResultBox from './ResultBox';
49
45
  import InputBox from './InputBox';
50
- import ListRadios from './ListRadios';
51
- import TreeRadios from './TreeRadios';
52
46
  import ListGroup from './ListGroup';
53
47
  import NumberInput from './NumberInput';
54
48
  import ArrayInput from './ArrayInput';
55
49
  import SearchBox from './SearchBox';
56
50
  import AnchorNav from './AnchorNav';
51
+ import Selection from './Selection';
52
+ import GroupedSelection from './GroupedSelection';
53
+ import ChainedSelection from './ChainedSelection';
54
+ import TableSelection from './TableSelection';
55
+ import TreeSelection from './TreeSelection';
56
+ import AssociatedSelection from './AssociatedSelection';
57
57
 
58
58
  export {
59
59
  NotFound,
@@ -99,15 +99,15 @@ export {
99
99
  Tree,
100
100
  Transfer,
101
101
  TabsTransfer,
102
- ListCheckboxes,
103
- TableCheckboxes,
104
- TreeCheckboxes,
105
- ChainedCheckboxes,
102
+ Selection,
103
+ GroupedSelection,
104
+ ChainedSelection,
105
+ TableSelection,
106
+ TreeSelection,
107
+ AssociatedSelection,
106
108
  ResultBox,
107
109
  InputBox,
108
- ListRadios,
109
110
  SearchBox,
110
- TreeRadios,
111
111
  ListGroup,
112
112
  NumberInput,
113
113
  ArrayInput,
@@ -4,7 +4,6 @@
4
4
 
5
5
  import {SchemaNode, Schema} from './types';
6
6
  import {RendererProps, RendererConfig, addSchemaFilter} from './factory';
7
-
8
7
  const isMobile = (window as any).matchMedia?.('(max-width: 768px)').matches
9
8
  ? true
10
9
  : false;
package/src/factory.tsx CHANGED
@@ -4,7 +4,16 @@ import {getEnv, destroy} from 'mobx-state-tree';
4
4
  import {wrapFetcher} from './utils/api';
5
5
  import {normalizeLink} from './utils/normalizeLink';
6
6
  import {findIndex, promisify, qsparse, string2regExp} from './utils/helper';
7
- import {Api, fetcherResult, Payload, SchemaNode, Schema, Action} from './types';
7
+ import {
8
+ Api,
9
+ fetcherResult,
10
+ Payload,
11
+ SchemaNode,
12
+ Schema,
13
+ Action,
14
+ EventTrack,
15
+ PlainObject
16
+ } from './types';
8
17
  import {observer} from 'mobx-react';
9
18
  import Scoped from './Scoped';
10
19
  import {getTheme, ThemeInstance, ThemeProps} from './theme';
@@ -58,6 +67,10 @@ export interface RendererProps extends ThemeProps, LocaleProps {
58
67
  };
59
68
  defaultData?: object;
60
69
  className?: any;
70
+ /**
71
+ * 是否使用移动端交互
72
+ */
73
+ useMobileUI?: boolean;
61
74
  [propName: string]: any;
62
75
  }
63
76
 
@@ -320,6 +333,8 @@ const defaultOptions: RenderOptions = {
320
333
  copy(contents: string) {
321
334
  console.error('copy contents', contents);
322
335
  },
336
+ // 用于跟踪用户在界面中的各种操作
337
+ tracker(eventTrack: EventTrack, props: PlainObject) {},
323
338
  rendererResolver: resolveRenderer
324
339
  };
325
340
  let stores: {
@@ -345,7 +360,7 @@ export function render(
345
360
  ...defaultOptions,
346
361
  ...options,
347
362
  fetcher: options.fetcher
348
- ? wrapFetcher(options.fetcher)
363
+ ? wrapFetcher(options.fetcher, options.tracker)
349
364
  : defaultOptions.fetcher,
350
365
  confirm: promisify(
351
366
  options.confirm || defaultOptions.confirm || window.confirm
@@ -416,7 +431,7 @@ export function updateEnv(options: Partial<RenderOptions>, session = 'global') {
416
431
  };
417
432
 
418
433
  if (options.fetcher) {
419
- options.fetcher = wrapFetcher(options.fetcher) as any;
434
+ options.fetcher = wrapFetcher(options.fetcher, options.tracker) as any;
420
435
  }
421
436
 
422
437
  if (options.confirm) {
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @file 常用 hooks
3
+ */
4
+ export {default as useSetState} from './use-set-state';
5
+ export {default as useUpdateEffect} from './use-update-effect';
@@ -0,0 +1,19 @@
1
+ import {useCallback, useState} from 'react';
2
+ import isFunction from 'lodash/isFunction';
3
+
4
+ const useSetState = <T extends object>(
5
+ initialState: T = {} as T
6
+ ): [T, (patch: Partial<T> | ((prevState: T) => Partial<T>)) => void] => {
7
+ const [state, setState] = useState<T>(initialState);
8
+
9
+ const setMergeState = useCallback(patch => {
10
+ setState(prevState => ({
11
+ ...prevState,
12
+ ...(isFunction(patch) ? patch(prevState) : patch)
13
+ }));
14
+ }, []);
15
+
16
+ return [state, setMergeState];
17
+ };
18
+
19
+ export default useSetState;