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
@@ -0,0 +1,117 @@
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 InputBox from './InputBox';
9
+ import PopOverContainer from './PopOverContainer';
10
+
11
+ export interface TransferDropDownProps extends TransferProps {
12
+ // 新的属性?
13
+ multiple?: boolean;
14
+ }
15
+
16
+ export class TransferDropDown extends Transfer<TransferDropDownProps> {
17
+ render() {
18
+ const {
19
+ classnames: cx,
20
+ value,
21
+ translate: __,
22
+ disabled,
23
+ className,
24
+ onChange,
25
+ onSearch,
26
+ multiple
27
+ } = this.props;
28
+ const {inputValue, searchResult} = this.state;
29
+
30
+ return (
31
+ <PopOverContainer
32
+ popOverClassName={cx('TransferDropDown-popover')}
33
+ popOverRender={({onClose}) => (
34
+ <div className={cx('TransferDropDown-content')}>
35
+ {onSearch ? (
36
+ <div className={cx('Transfer-search')}>
37
+ <InputBox
38
+ value={inputValue}
39
+ onChange={this.handleSearch}
40
+ placeholder={__('Transfer.searchKeyword')}
41
+ clearable={false}
42
+ onKeyDown={this.handleSearchKeyDown}
43
+ >
44
+ {searchResult !== null ? (
45
+ <a onClick={this.handleSeachCancel}>
46
+ <Icon icon="close" className="icon" />
47
+ </a>
48
+ ) : (
49
+ <Icon icon="search" className="icon" />
50
+ )}
51
+ </InputBox>
52
+ </div>
53
+ ) : null}
54
+ {searchResult !== null
55
+ ? this.renderSearchResult({
56
+ ...this.props,
57
+ value,
58
+ onChange: multiple
59
+ ? onChange
60
+ : (value: any) => {
61
+ onClose();
62
+ onChange?.(value);
63
+ },
64
+ multiple
65
+ })
66
+ : this.renderOptions({
67
+ ...this.props,
68
+ value,
69
+ onChange: multiple
70
+ ? onChange
71
+ : (value: any) => {
72
+ onClose();
73
+ onChange?.(value);
74
+ },
75
+ multiple
76
+ })}
77
+ </div>
78
+ )}
79
+ >
80
+ {({onClick, isOpened, ref}) => (
81
+ <ResultBox
82
+ className={cx(
83
+ 'TransferDropDown',
84
+ className,
85
+ isOpened ? 'is-active' : ''
86
+ )}
87
+ allowInput={false}
88
+ result={
89
+ multiple
90
+ ? value
91
+ : value?.[0]
92
+ ? this.props.itemRender(value[0])
93
+ : null
94
+ }
95
+ onResultChange={onChange}
96
+ onResultClick={onClick}
97
+ placeholder={__('Select.placeholder')}
98
+ disabled={disabled}
99
+ ref={ref}
100
+ >
101
+ <span className={cx('TransferDropDown-icon')}>
102
+ <Icon icon="caret" className="icon" />
103
+ </span>
104
+ </ResultBox>
105
+ )}
106
+ </PopOverContainer>
107
+ );
108
+ }
109
+ }
110
+
111
+ export default themeable(
112
+ localeable(
113
+ uncontrollable(TransferDropDown, {
114
+ value: 'onChange'
115
+ })
116
+ )
117
+ );
@@ -0,0 +1,84 @@
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
+ export class TransferPicker extends React.Component<TransferPickerProps> {
17
+ @autobind
18
+ handleClose() {
19
+ this.setState({
20
+ inputValue: '',
21
+ searchResult: null
22
+ });
23
+ }
24
+
25
+ @autobind
26
+ handleConfirm(value: any) {
27
+ this.props.onChange?.(value);
28
+ this.handleClose();
29
+ }
30
+
31
+ render() {
32
+ const {
33
+ classnames: cx,
34
+ value,
35
+ translate: __,
36
+ disabled,
37
+ className,
38
+ onChange,
39
+ size,
40
+ ...rest
41
+ } = this.props;
42
+
43
+ return (
44
+ <PickerContainer
45
+ title={__('Select.placeholder')}
46
+ popOverRender={({onClose, value, onChange}) => {
47
+ return <Transfer {...rest} value={value} onChange={onChange} />;
48
+ }}
49
+ value={value}
50
+ onConfirm={this.handleConfirm}
51
+ onCancel={this.handleClose}
52
+ size={size}
53
+ >
54
+ {({onClick, isOpened}) => (
55
+ <ResultBox
56
+ className={cx(
57
+ 'TransferPicker',
58
+ className,
59
+ isOpened ? 'is-active' : ''
60
+ )}
61
+ allowInput={false}
62
+ result={value}
63
+ onResultChange={onChange}
64
+ onResultClick={onClick}
65
+ placeholder={__('Select.placeholder')}
66
+ disabled={disabled}
67
+ >
68
+ <span className={cx('TransferPicker-icon')}>
69
+ <Icon icon="pencil" className="icon" />
70
+ </span>
71
+ </ResultBox>
72
+ )}
73
+ </PickerContainer>
74
+ );
75
+ }
76
+ }
77
+
78
+ export default themeable(
79
+ localeable(
80
+ uncontrollable(TransferPicker, {
81
+ value: 'onChange'
82
+ })
83
+ )
84
+ );
@@ -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
  )
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import React from 'react';
6
6
  import hoistNonReactStatic from 'hoist-non-react-statics';
7
+ import debounce from 'lodash/debounce';
7
8
  import {Api, Payload} from '../types';
8
9
  import {SchemaApi, SchemaTokenizeableString} from '../Schema';
9
10
  import {withStore} from './WithStore';
@@ -11,7 +12,12 @@ import {withStore} from './WithStore';
11
12
  import {EnvContext, RendererEnv} from '../env';
12
13
 
13
14
  import {flow, Instance, isAlive, types} from 'mobx-state-tree';
14
- import {buildApi, isEffectiveApi, normalizeApi} from '../utils/api';
15
+ import {
16
+ buildApi,
17
+ isEffectiveApi,
18
+ normalizeApi,
19
+ normalizeApiResponseData
20
+ } from '../utils/api';
15
21
  import {
16
22
  isPureVariable,
17
23
  resolveVariableAndFilter,
@@ -45,7 +51,7 @@ export const Store = types
45
51
  }
46
52
 
47
53
  if (ret.ok) {
48
- const data = ret.data || {};
54
+ const data = normalizeApiResponseData(ret.data);
49
55
  let options = config.adaptor
50
56
  ? config.adaptor(data, component.props)
51
57
  : data;
@@ -97,6 +103,7 @@ export interface OutterProps {
97
103
  env?: RendererEnv;
98
104
  data: any;
99
105
  source?: SchemaApi | SchemaTokenizeableString;
106
+ autoComplete?: SchemaApi | SchemaTokenizeableString;
100
107
  deferApi?: SchemaApi;
101
108
  remoteConfigRef?: (
102
109
  instance:
@@ -182,10 +189,16 @@ export function withRemoteConfig<P = any>(
182
189
  static displayName = `WithRemoteConfig(${
183
190
  ComposedComponent.displayName || ComposedComponent.name
184
191
  })`;
185
- static ComposedComponent = ComposedComponent as React.ComponentType<T>;
192
+ static ComposedComponent =
193
+ ComposedComponent as React.ComponentType<T>;
186
194
  static contextType = EnvContext;
187
195
  toDispose: Array<() => void> = [];
188
196
 
197
+ loadOptions = debounce(this.loadAutoComplete.bind(this), 250, {
198
+ trailing: true,
199
+ leading: false
200
+ });
201
+
189
202
  constructor(
190
203
  props: FinalOutterProps & {
191
204
  store: IStore;
@@ -250,6 +263,7 @@ export function withRemoteConfig<P = any>(
250
263
  this.toDispose = [];
251
264
 
252
265
  this.props.remoteConfigRef?.(undefined);
266
+ this.loadOptions.cancel();
253
267
  }
254
268
 
255
269
  async loadConfig(ctx = this.props.data) {
@@ -261,6 +275,28 @@ export function withRemoteConfig<P = any>(
261
275
  }
262
276
  }
263
277
 
278
+ loadAutoComplete(input: string) {
279
+ const env: RendererEnv = this.props.env || this.context;
280
+ const {autoComplete, data, store} = this.props;
281
+
282
+ if (!env || !env.fetcher) {
283
+ throw new Error('fetcher is required');
284
+ }
285
+
286
+ const ctx = createObject(data, {
287
+ term: input,
288
+ value: input
289
+ });
290
+
291
+ if (!isEffectiveApi(autoComplete, ctx)) {
292
+ return Promise.resolve({
293
+ options: []
294
+ });
295
+ }
296
+
297
+ return store.load(env, autoComplete, ctx, config);
298
+ }
299
+
264
300
  setConfig(value: any, ctx?: any) {
265
301
  const {store} = this.props;
266
302
  store.setConfig(value, config, ctx);
@@ -321,13 +357,14 @@ export function withRemoteConfig<P = any>(
321
357
 
322
358
  render() {
323
359
  const store = this.props.store;
360
+ const env: RendererEnv = this.props.env || this.context;
324
361
  const injectedProps: RemoteOptionsProps<P> = {
325
362
  config: store.config,
326
363
  loading: store.fetching,
327
364
  deferLoad: this.deferLoadConfig,
328
365
  updateConfig: this.setConfig
329
366
  };
330
- const {remoteConfigRef, ...rest} = this.props;
367
+ const {remoteConfigRef, autoComplete, ...rest} = this.props;
331
368
 
332
369
  return (
333
370
  <ComposedComponent
@@ -335,6 +372,9 @@ export function withRemoteConfig<P = any>(
335
372
  T,
336
373
  React.ComponentProps<T>
337
374
  >)}
375
+ {...(env && isEffectiveApi(autoComplete) && this.loadOptions
376
+ ? {loadOptions: this.loadOptions}
377
+ : {})}
338
378
  {...injectedProps}
339
379
  />
340
380
  );
@@ -100,8 +100,8 @@ export class CustomDaysView extends DaysView {
100
100
  confirm = () => {
101
101
  let date = (this.props.selectedDate || this.props.viewDate).clone();
102
102
 
103
- // 如果 minDate 是可用的,且比当前日期早,则用 minDate
104
- if (this.props.minDate?.isValid() && this.props.minDate?.isBefore(date)) {
103
+ // 如果 minDate 是可用的,且比当前日期晚,则用 minDate
104
+ if (this.props.minDate?.isValid() && this.props.minDate?.isAfter(date)) {
105
105
  date = this.props.minDate.clone();
106
106
  }
107
107
 
@@ -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';
@@ -33,7 +33,6 @@ export class ConditionField extends React.Component<
33
33
  options: props.options
34
34
  };
35
35
  this.onSearch = this.onSearch.bind(this);
36
- this.onSearch = this.onSearch.bind(this);
37
36
  }
38
37
 
39
38
  onSearch(text: string) {
@@ -51,7 +50,7 @@ export class ConditionField extends React.Component<
51
50
  });
52
51
  return children.length > 0
53
52
  ? Object.assign({}, item, {children}) // 需要copy一份,防止覆盖原始数据
54
- : false;
53
+ : false;
55
54
  } else {
56
55
  return item.name.toLowerCase().includes(txt) ||
57
56
  item.label.toLowerCase().includes(txt)
@@ -91,13 +90,13 @@ export class ConditionField extends React.Component<
91
90
  {searchable ? (
92
91
  <SearchBox mini={false} onSearch={this.onSearch} />
93
92
  ) : null}
94
- <ListRadios
93
+ <ListSelection
94
+ multiple={false}
95
95
  onClick={e => this.onPopClose(e, onClose)}
96
- showRadio={false}
97
96
  options={this.state.options}
98
- value={value}
97
+ value={[value]}
99
98
  option2value={option2value}
100
- onChange={onChange}
99
+ onChange={([value]: any) => onChange(value)}
101
100
  />
102
101
  </>
103
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
  )}