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
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TreeCheckboxes = void 0;
3
+ exports.TreeSelection = void 0;
4
4
  var tslib_1 = require("tslib");
5
- var Checkboxes_1 = require("./Checkboxes");
5
+ var Selection_1 = require("./Selection");
6
6
  var theme_1 = require("../theme");
7
7
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
8
8
  var uncontrollable_1 = require("uncontrollable");
@@ -11,26 +11,26 @@ var helper_1 = require("../utils/helper");
11
11
  var Spinner_1 = (0, tslib_1.__importDefault)(require("./Spinner"));
12
12
  var locale_1 = require("../locale");
13
13
  var icons_1 = require("./icons");
14
- var TreeCheckboxes = /** @class */ (function (_super) {
15
- (0, tslib_1.__extends)(TreeCheckboxes, _super);
16
- function TreeCheckboxes() {
14
+ var TreeSelection = /** @class */ (function (_super) {
15
+ (0, tslib_1.__extends)(TreeSelection, _super);
16
+ function TreeSelection() {
17
17
  var _this = _super !== null && _super.apply(this, arguments) || this;
18
18
  _this.state = {
19
19
  expanded: []
20
20
  };
21
21
  return _this;
22
22
  }
23
- TreeCheckboxes.prototype.componentDidMount = function () {
23
+ TreeSelection.prototype.componentDidMount = function () {
24
24
  this.syncExpanded();
25
25
  };
26
- TreeCheckboxes.prototype.componentDidUpdate = function (prevProps) {
26
+ TreeSelection.prototype.componentDidUpdate = function (prevProps) {
27
27
  var props = this.props;
28
28
  if (!this.state.expanded.length &&
29
29
  (props.expand !== prevProps.expand || props.options !== prevProps.options)) {
30
30
  this.syncExpanded();
31
31
  }
32
32
  };
33
- TreeCheckboxes.prototype.syncExpanded = function () {
33
+ TreeSelection.prototype.syncExpanded = function () {
34
34
  var options = this.props.options;
35
35
  var mode = this.props.expand;
36
36
  var expanded = [];
@@ -56,8 +56,8 @@ var TreeCheckboxes = /** @class */ (function (_super) {
56
56
  }
57
57
  this.setState({ expanded: expanded });
58
58
  };
59
- TreeCheckboxes.prototype.toggleOption = function (option) {
60
- var _a = this.props, value = _a.value, onChange = _a.onChange, option2value = _a.option2value, options = _a.options, onDeferLoad = _a.onDeferLoad, disabled = _a.disabled;
59
+ TreeSelection.prototype.toggleOption = function (option) {
60
+ var _a = this.props, value = _a.value, onChange = _a.onChange, option2value = _a.option2value, options = _a.options, onDeferLoad = _a.onDeferLoad, disabled = _a.disabled, multiple = _a.multiple, clearable = _a.clearable;
61
61
  if (disabled || option.disabled) {
62
62
  return;
63
63
  }
@@ -65,10 +65,11 @@ var TreeCheckboxes = /** @class */ (function (_super) {
65
65
  onDeferLoad === null || onDeferLoad === void 0 ? void 0 : onDeferLoad(option);
66
66
  return;
67
67
  }
68
- var valueArray = Checkboxes_1.BaseCheckboxes.value2array(value, options, option2value);
68
+ var valueArray = Selection_1.BaseSelection.value2array(value, options, option2value);
69
69
  if (option.value === void 0 &&
70
70
  Array.isArray(option.children) &&
71
- option.children.length) {
71
+ option.children.length &&
72
+ multiple) {
72
73
  var someCheckedFn_1 = function (child) {
73
74
  return (Array.isArray(child.children) && child.children.length
74
75
  ? child.children.some(someCheckedFn_1)
@@ -92,19 +93,22 @@ var TreeCheckboxes = /** @class */ (function (_super) {
92
93
  }
93
94
  else {
94
95
  var idx = valueArray.indexOf(option);
95
- if (~idx) {
96
+ if (~idx && (multiple || clearable)) {
96
97
  valueArray.splice(idx, 1);
97
98
  }
98
- else {
99
+ else if (multiple) {
99
100
  valueArray.push(option);
100
101
  }
102
+ else {
103
+ valueArray = [option];
104
+ }
101
105
  }
102
106
  var newValue = option2value
103
107
  ? valueArray.map(function (item) { return option2value(item); })
104
108
  : valueArray;
105
- onChange && onChange(newValue);
109
+ onChange && onChange(multiple ? newValue : newValue[0]);
106
110
  };
107
- TreeCheckboxes.prototype.toggleCollapsed = function (option, index) {
111
+ TreeSelection.prototype.toggleCollapsed = function (option, index) {
108
112
  var onDeferLoad = this.props.onDeferLoad;
109
113
  var expanded = this.state.expanded.concat();
110
114
  var idx = expanded.indexOf(index);
@@ -118,10 +122,10 @@ var TreeCheckboxes = /** @class */ (function (_super) {
118
122
  expanded: expanded
119
123
  }, option.defer && onDeferLoad ? function () { return onDeferLoad(option); } : undefined);
120
124
  };
121
- TreeCheckboxes.prototype.renderItem = function (option, index, indexes) {
125
+ TreeSelection.prototype.renderItem = function (option, index, indexes) {
122
126
  var _this = this;
123
127
  if (indexes === void 0) { indexes = []; }
124
- var _a = this.props, labelClassName = _a.labelClassName, disabled = _a.disabled, cx = _a.classnames, itemClassName = _a.itemClassName, itemRender = _a.itemRender;
128
+ var _a = this.props, labelClassName = _a.labelClassName, disabled = _a.disabled, cx = _a.classnames, itemClassName = _a.itemClassName, itemRender = _a.itemRender, multiple = _a.multiple;
125
129
  var id = indexes.join('-');
126
130
  var valueArray = this.valueArray;
127
131
  var partial = false;
@@ -152,37 +156,37 @@ var TreeCheckboxes = /** @class */ (function (_super) {
152
156
  checked = !!~valueArray.indexOf(option);
153
157
  }
154
158
  var expaned = !!~this.state.expanded.indexOf(id);
155
- return (react_1.default.createElement("div", { key: index, className: cx('TreeCheckboxes-item', disabled || option.disabled || (option.defer && option.loading)
159
+ return (react_1.default.createElement("div", { key: index, className: cx('TreeSelection-item', disabled || option.disabled || (option.defer && option.loading)
156
160
  ? 'is-disabled'
157
161
  : '', expaned ? 'is-expanded' : '') },
158
- react_1.default.createElement("div", { className: cx('TreeCheckboxes-itemInner', itemClassName, option.className), onClick: function () { return _this.toggleOption(option); } },
162
+ react_1.default.createElement("div", { className: cx('TreeSelection-itemInner', itemClassName, option.className, checked ? 'is-active' : ''), onClick: function () { return _this.toggleOption(option); } },
159
163
  hasChildren || option.defer ? (react_1.default.createElement("a", { onClick: function (e) {
160
164
  e.stopPropagation();
161
165
  _this.toggleCollapsed(option, id);
162
166
  }, className: cx('Table-expandBtn', expaned ? 'is-active' : '') },
163
167
  react_1.default.createElement(icons_1.Icon, { icon: "right-arrow-bold", className: "icon" }))) : null,
164
- react_1.default.createElement("div", { className: cx('TreeCheckboxes-itemLabel') }, itemRender(option)),
168
+ react_1.default.createElement("div", { className: cx('TreeSelection-itemLabel') }, itemRender(option)),
165
169
  option.defer && option.loading ? react_1.default.createElement(Spinner_1.default, { show: true, size: "sm" }) : null,
166
- !option.defer || option.loaded ? (react_1.default.createElement(Checkbox_1.default, { size: "sm", checked: checked, partial: partial, disabled: disabled || option.disabled, labelClassName: labelClassName, description: option.description })) : null),
167
- hasChildren ? (react_1.default.createElement("div", { className: cx('TreeCheckboxes-sublist') }, option.children.map(function (option, key) {
170
+ multiple && (!option.defer || option.loaded) ? (react_1.default.createElement(Checkbox_1.default, { size: "sm", checked: checked, partial: partial, disabled: disabled || option.disabled, labelClassName: labelClassName, description: option.description })) : null),
171
+ hasChildren ? (react_1.default.createElement("div", { className: cx('TreeSelection-sublist') }, option.children.map(function (option, key) {
168
172
  return _this.renderItem(option, key, indexes.concat(key));
169
173
  }))) : null));
170
174
  };
171
- TreeCheckboxes.prototype.render = function () {
175
+ TreeSelection.prototype.render = function () {
172
176
  var _this = this;
173
177
  var _a = this.props, value = _a.value, options = _a.options, className = _a.className, placeholder = _a.placeholder, cx = _a.classnames, option2value = _a.option2value, __ = _a.translate;
174
- this.valueArray = Checkboxes_1.BaseCheckboxes.value2array(value, options, option2value);
178
+ this.valueArray = Selection_1.BaseSelection.value2array(value, options, option2value);
175
179
  var body = [];
176
180
  if (Array.isArray(options) && options.length) {
177
181
  body = options.map(function (option, key) { return _this.renderItem(option, key, [key]); });
178
182
  }
179
- return (react_1.default.createElement("div", { className: cx('TreeCheckboxes', className) }, body && body.length ? (body) : (react_1.default.createElement("div", { className: cx('TreeCheckboxes-placeholder') }, __(placeholder)))));
183
+ return (react_1.default.createElement("div", { className: cx('TreeSelection', className) }, body && body.length ? (body) : (react_1.default.createElement("div", { className: cx('TreeSelection-placeholder') }, __(placeholder)))));
180
184
  };
181
- TreeCheckboxes.defaultProps = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, Checkboxes_1.BaseCheckboxes.defaultProps), { expand: 'first' });
182
- return TreeCheckboxes;
183
- }(Checkboxes_1.BaseCheckboxes));
184
- exports.TreeCheckboxes = TreeCheckboxes;
185
- exports.default = (0, theme_1.themeable)((0, locale_1.localeable)((0, uncontrollable_1.uncontrollable)(TreeCheckboxes, {
185
+ TreeSelection.defaultProps = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, Selection_1.BaseSelection.defaultProps), { expand: 'first' });
186
+ return TreeSelection;
187
+ }(Selection_1.BaseSelection));
188
+ exports.TreeSelection = TreeSelection;
189
+ exports.default = (0, theme_1.themeable)((0, locale_1.localeable)((0, uncontrollable_1.uncontrollable)(TreeSelection, {
186
190
  value: 'onChange'
187
191
  })));
188
- //# sourceMappingURL=./components/TreeCheckboxes.js.map
192
+ //# sourceMappingURL=./components/TreeSelection.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "TreeSelection.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/components/TreeSelection.tsx"
7
+ ],
8
+ "names": [],
9
+ "mappings": "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",
10
+ "sourcesContent": [
11
+ "import {BaseSelection, BaseSelectionProps} from './Selection';\nimport {themeable} from '../theme';\nimport React from 'react';\nimport {uncontrollable} from 'uncontrollable';\nimport Checkbox from './Checkbox';\nimport {Option} from './Select';\nimport {autobind, eachTree, everyTree} from '../utils/helper';\nimport Spinner from './Spinner';\nimport {localeable} from '../locale';\nimport {Icon} from './icons';\n\nexport interface TreeSelectionProps extends BaseSelectionProps {\n expand?: 'all' | 'first' | 'root' | 'none';\n}\n\nexport interface TreeSelectionState {\n expanded: Array<string>;\n}\n\nexport class TreeSelection extends BaseSelection<\n TreeSelectionProps,\n TreeSelectionState\n> {\n valueArray: Array<Option>;\n state: TreeSelectionState = {\n expanded: []\n };\n\n static defaultProps = {\n ...BaseSelection.defaultProps,\n expand: 'first' as 'first'\n };\n\n componentDidMount() {\n this.syncExpanded();\n }\n\n componentDidUpdate(prevProps: TreeSelectionProps) {\n const props = this.props;\n\n if (\n !this.state.expanded.length &&\n (props.expand !== prevProps.expand || props.options !== prevProps.options)\n ) {\n this.syncExpanded();\n }\n }\n\n syncExpanded() {\n const options = this.props.options;\n const mode = this.props.expand;\n const expanded: Array<string> = [];\n\n if (!Array.isArray(options)) {\n return;\n }\n\n if (mode === 'first' || mode === 'root') {\n options.every((option, index) => {\n if (Array.isArray(option.children)) {\n expanded.push(`${index}`);\n return mode === 'root';\n }\n return true;\n });\n } else if (mode === 'all') {\n everyTree(options, (option, index, level, paths, indexes) => {\n if (Array.isArray(option.children)) {\n expanded.push(`${indexes.concat(index).join('-')}`);\n }\n return true;\n });\n }\n\n this.setState({expanded});\n }\n\n toggleOption(option: Option) {\n const {\n value,\n onChange,\n option2value,\n options,\n onDeferLoad,\n disabled,\n multiple,\n clearable\n } = this.props;\n\n if (disabled || option.disabled) {\n return;\n } else if (option.defer && !option.loaded) {\n onDeferLoad?.(option);\n return;\n }\n\n let valueArray = BaseSelection.value2array(value, options, option2value);\n\n if (\n option.value === void 0 &&\n Array.isArray(option.children) &&\n option.children.length &&\n multiple\n ) {\n const someCheckedFn = (child: Option) =>\n (Array.isArray(child.children) && child.children.length\n ? child.children.some(someCheckedFn)\n : false) ||\n (child.value !== void 0 && ~valueArray.indexOf(child));\n const someChecked = option.children.some(someCheckedFn);\n const eachFn = (child: Option) => {\n if (Array.isArray(child.children) && child.children.length) {\n child.children.forEach(eachFn);\n }\n\n if (child.value !== void 0) {\n const idx = valueArray.indexOf(child);\n\n ~idx && valueArray.splice(idx, 1);\n\n if (!someChecked) {\n valueArray.push(child);\n }\n }\n };\n option.children.forEach(eachFn);\n } else {\n let idx = valueArray.indexOf(option);\n\n if (~idx && (multiple || clearable)) {\n valueArray.splice(idx, 1);\n } else if (multiple) {\n valueArray.push(option);\n } else {\n valueArray = [option];\n }\n }\n\n let newValue: string | Array<Option> = option2value\n ? valueArray.map(item => option2value(item))\n : valueArray;\n\n onChange && onChange(multiple ? newValue : newValue[0]);\n }\n\n toggleCollapsed(option: Option, index: string) {\n const onDeferLoad = this.props.onDeferLoad;\n const expanded = this.state.expanded.concat();\n const idx = expanded.indexOf(index);\n\n if (~idx) {\n expanded.splice(idx, 1);\n } else {\n expanded.push(index);\n }\n\n this.setState(\n {\n expanded: expanded\n },\n option.defer && onDeferLoad ? () => onDeferLoad(option) : undefined\n );\n }\n\n renderItem(option: Option, index: number, indexes: Array<number> = []) {\n const {\n labelClassName,\n disabled,\n classnames: cx,\n itemClassName,\n itemRender,\n multiple\n } = this.props;\n const id = indexes.join('-');\n const valueArray = this.valueArray;\n let partial = false;\n let checked = false;\n let hasChildren = Array.isArray(option.children) && option.children.length;\n\n if (option.value === void 0 && hasChildren) {\n let allchecked = true;\n let partialChecked = false;\n const eachFn = (child: Option) => {\n if (Array.isArray(child.children) && child.children.length) {\n child.children.forEach(eachFn);\n }\n\n if (child.value !== void 0) {\n const isIn = !!~valueArray.indexOf(child);\n\n if (isIn && !partialChecked) {\n partialChecked = true;\n } else if (!isIn && allchecked) {\n allchecked = false;\n }\n\n checked = partialChecked;\n partial = partialChecked && !allchecked;\n }\n };\n\n option.children!.forEach(eachFn);\n } else {\n checked = !!~valueArray.indexOf(option);\n }\n\n const expaned = !!~this.state.expanded.indexOf(id);\n\n return (\n <div\n key={index}\n className={cx(\n 'TreeSelection-item',\n disabled || option.disabled || (option.defer && option.loading)\n ? 'is-disabled'\n : '',\n expaned ? 'is-expanded' : ''\n )}\n >\n <div\n className={cx(\n 'TreeSelection-itemInner',\n itemClassName,\n option.className,\n checked ? 'is-active' : ''\n )}\n onClick={() => this.toggleOption(option)}\n >\n {hasChildren || option.defer ? (\n <a\n onClick={(e: React.MouseEvent<any>) => {\n e.stopPropagation();\n this.toggleCollapsed(option, id);\n }}\n className={cx('Table-expandBtn', expaned ? 'is-active' : '')}\n >\n <Icon icon=\"right-arrow-bold\" className=\"icon\" />\n </a>\n ) : null}\n\n <div className={cx('TreeSelection-itemLabel')}>\n {itemRender(option)}\n </div>\n\n {option.defer && option.loading ? <Spinner show size=\"sm\" /> : null}\n\n {multiple && (!option.defer || option.loaded) ? (\n <Checkbox\n size=\"sm\"\n checked={checked}\n partial={partial}\n disabled={disabled || option.disabled}\n labelClassName={labelClassName}\n description={option.description}\n />\n ) : null}\n </div>\n {hasChildren ? (\n <div className={cx('TreeSelection-sublist')}>\n {option.children!.map((option, key) =>\n this.renderItem(option, key, indexes.concat(key))\n )}\n </div>\n ) : null}\n </div>\n );\n }\n\n render() {\n const {\n value,\n options,\n className,\n placeholder,\n classnames: cx,\n option2value,\n translate: __\n } = this.props;\n\n this.valueArray = BaseSelection.value2array(value, options, option2value);\n let body: Array<React.ReactNode> = [];\n\n if (Array.isArray(options) && options.length) {\n body = options.map((option, key) => this.renderItem(option, key, [key]));\n }\n\n return (\n <div className={cx('TreeSelection', className)}>\n {body && body.length ? (\n body\n ) : (\n <div className={cx('TreeSelection-placeholder')}>\n {__(placeholder)}\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(TreeSelection, {\n value: 'onChange'\n })\n )\n);\n"
12
+ ]
13
+ }
@@ -1,3 +1,4 @@
1
+ /// <reference types="lodash" />
1
2
  /**
2
3
  * 一个可以拉取远程配置的 HOC
3
4
  *
@@ -24,6 +25,7 @@ export interface OutterProps {
24
25
  env?: RendererEnv;
25
26
  data: any;
26
27
  source?: SchemaApi | SchemaTokenizeableString;
28
+ autoComplete?: SchemaApi | SchemaTokenizeableString;
27
29
  deferApi?: SchemaApi;
28
30
  remoteConfigRef?: (instance: {
29
31
  loadConfig: (ctx?: any) => Promise<any> | void;
@@ -205,12 +207,14 @@ export declare function withRemoteConfig<P = any>(config?: WithRemoteConfigSetti
205
207
  store: IStore;
206
208
  }): {
207
209
  toDispose: Array<() => void>;
210
+ loadOptions: import("lodash").DebouncedFunc<any>;
208
211
  componentDidMount(): void;
209
212
  componentDidUpdate(prevProps: any): void;
210
213
  componentWillUnmount(): void;
211
214
  loadConfig(ctx?: (JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, keyof RemoteOptionsProps<P>>> & OutterProps & {
212
215
  store: IStore;
213
216
  })["data"]): Promise<void>;
217
+ loadAutoComplete(input: string): Promise<any>;
214
218
  setConfig(value: any, ctx?: any): void;
215
219
  syncConfig(): void;
216
220
  deferLoadConfig(item: any): Promise<void>;
@@ -261,12 +265,14 @@ export declare function withRemoteConfig<P = any>(config?: WithRemoteConfigSetti
261
265
  store: IStore;
262
266
  }): {
263
267
  toDispose: Array<() => void>;
268
+ loadOptions: import("lodash").DebouncedFunc<any>;
264
269
  componentDidMount(): void;
265
270
  componentDidUpdate(prevProps: any): void;
266
271
  componentWillUnmount(): void;
267
272
  loadConfig(ctx?: (JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, keyof RemoteOptionsProps<P>>> & OutterProps & {
268
273
  store: IStore;
269
274
  })["data"]): Promise<void>;
275
+ loadAutoComplete(input: string): Promise<any>;
270
276
  setConfig(value: any, ctx?: any): void;
271
277
  syncConfig(): void;
272
278
  deferLoadConfig(item: any): Promise<void>;
@@ -316,12 +322,14 @@ export declare function withRemoteConfig<P = any>(config?: WithRemoteConfigSetti
316
322
  store: IStore;
317
323
  }): {
318
324
  toDispose: Array<() => void>;
325
+ loadOptions: import("lodash").DebouncedFunc<any>;
319
326
  componentDidMount(): void;
320
327
  componentDidUpdate(prevProps: any): void;
321
328
  componentWillUnmount(): void;
322
329
  loadConfig(ctx?: (JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, keyof RemoteOptionsProps<P>>> & OutterProps & {
323
330
  store: IStore;
324
331
  })["data"]): Promise<void>;
332
+ loadAutoComplete(input: string): Promise<any>;
325
333
  setConfig(value: any, ctx?: any): void;
326
334
  syncConfig(): void;
327
335
  deferLoadConfig(item: any): Promise<void>;
@@ -8,6 +8,7 @@ var tslib_1 = require("tslib");
8
8
  */
9
9
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
10
10
  var hoist_non_react_statics_1 = (0, tslib_1.__importDefault)(require("hoist-non-react-statics"));
11
+ var debounce_1 = (0, tslib_1.__importDefault)(require("lodash/debounce"));
11
12
  var WithStore_1 = require("./WithStore");
12
13
  var env_1 = require("../env");
13
14
  var mobx_state_tree_1 = require("mobx-state-tree");
@@ -41,7 +42,7 @@ exports.Store = mobx_state_tree_1.types
41
42
  return [2 /*return*/];
42
43
  }
43
44
  if (ret.ok) {
44
- data = ret.data || {};
45
+ data = (0, api_1.normalizeApiResponseData)(ret.data);
45
46
  options = config.adaptor
46
47
  ? config.adaptor(data, component.props)
47
48
  : data;
@@ -91,6 +92,10 @@ function withRemoteConfig(config) {
91
92
  var _a;
92
93
  var _this = _super.call(this, props) || this;
93
94
  _this.toDispose = [];
95
+ _this.loadOptions = (0, debounce_1.default)(_this.loadAutoComplete.bind(_this), 250, {
96
+ trailing: true,
97
+ leading: false
98
+ });
94
99
  _this.setConfig = _this.setConfig.bind(_this);
95
100
  props.store.setComponent(_this);
96
101
  _this.deferLoadConfig = _this.deferLoadConfig.bind(_this);
@@ -132,6 +137,7 @@ function withRemoteConfig(config) {
132
137
  this.toDispose.forEach(function (fn) { return fn(); });
133
138
  this.toDispose = [];
134
139
  (_b = (_a = this.props).remoteConfigRef) === null || _b === void 0 ? void 0 : _b.call(_a, undefined);
140
+ this.loadOptions.cancel();
135
141
  };
136
142
  class_1.prototype.loadConfig = function (ctx) {
137
143
  if (ctx === void 0) { ctx = this.props.data; }
@@ -152,6 +158,23 @@ function withRemoteConfig(config) {
152
158
  });
153
159
  });
154
160
  };
161
+ class_1.prototype.loadAutoComplete = function (input) {
162
+ var env = this.props.env || this.context;
163
+ var _a = this.props, autoComplete = _a.autoComplete, data = _a.data, store = _a.store;
164
+ if (!env || !env.fetcher) {
165
+ throw new Error('fetcher is required');
166
+ }
167
+ var ctx = (0, helper_1.createObject)(data, {
168
+ term: input,
169
+ value: input
170
+ });
171
+ if (!(0, api_1.isEffectiveApi)(autoComplete, ctx)) {
172
+ return Promise.resolve({
173
+ options: []
174
+ });
175
+ }
176
+ return store.load(env, autoComplete, ctx, config);
177
+ };
155
178
  class_1.prototype.setConfig = function (value, ctx) {
156
179
  var store = this.props.store;
157
180
  store.setConfig(value, config, ctx);
@@ -204,14 +227,17 @@ function withRemoteConfig(config) {
204
227
  };
205
228
  class_1.prototype.render = function () {
206
229
  var store = this.props.store;
230
+ var env = this.props.env || this.context;
207
231
  var injectedProps = {
208
232
  config: store.config,
209
233
  loading: store.fetching,
210
234
  deferLoad: this.deferLoadConfig,
211
235
  updateConfig: this.setConfig
212
236
  };
213
- var _a = this.props, remoteConfigRef = _a.remoteConfigRef, rest = (0, tslib_1.__rest)(_a, ["remoteConfigRef"]);
214
- return (react_1.default.createElement(ComposedComponent, (0, tslib_1.__assign)({}, rest, injectedProps)));
237
+ var _a = this.props, remoteConfigRef = _a.remoteConfigRef, autoComplete = _a.autoComplete, rest = (0, tslib_1.__rest)(_a, ["remoteConfigRef", "autoComplete"]);
238
+ return (react_1.default.createElement(ComposedComponent, (0, tslib_1.__assign)({}, rest, (env && (0, api_1.isEffectiveApi)(autoComplete) && this.loadOptions
239
+ ? { loadOptions: this.loadOptions }
240
+ : {}), injectedProps)));
215
241
  };
216
242
  return class_1;
217
243
  }(react_1.default.Component)),
@@ -6,8 +6,8 @@
6
6
  "/src/components/WithRemoteConfig.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "/**\n * 一个可以拉取远程配置的 HOC\n *\n */\nimport React from 'react';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport {Api, Payload} from '../types';\nimport {SchemaApi, SchemaTokenizeableString} from '../Schema';\nimport {withStore} from './WithStore';\n\nimport {EnvContext, RendererEnv} from '../env';\n\nimport {flow, Instance, isAlive, types} from 'mobx-state-tree';\nimport {buildApi, isEffectiveApi, normalizeApi} from '../utils/api';\nimport {\n isPureVariable,\n resolveVariableAndFilter,\n tokenize\n} from '../utils/tpl-builtin';\nimport {reaction} from 'mobx';\nimport {createObject, findIndex, findTreeIndex} from '../utils/helper';\n\nexport const Store = types\n .model('RemoteConfigStore')\n .props({\n fetching: false,\n errorMsg: '',\n config: types.frozen(),\n data: types.frozen({})\n })\n .actions(self => {\n let component: any = undefined;\n\n const load: (\n env: RendererEnv,\n api: Api,\n ctx: any,\n config: WithRemoteConfigSettings\n ) => Promise<any> = flow(function* (env, api, ctx, config = {}): any {\n try {\n self.fetching = true;\n const ret: Payload = yield env.fetcher(api, ctx);\n if (!isAlive(self)) {\n return;\n }\n\n if (ret.ok) {\n const data = ret.data || {};\n let options = config.adaptor\n ? config.adaptor(data, component.props)\n : data;\n (self as any).setConfig(options, config, 'remote');\n config.afterLoad?.(data, self.config, component.props);\n return ret;\n } else {\n throw new Error(ret.msg || 'fetch error');\n }\n } catch (e) {\n isAlive(self) && (self.errorMsg = e.message);\n } finally {\n isAlive(self) && (self.fetching = false);\n }\n });\n\n return {\n setComponent(c: any) {\n component = c;\n },\n\n load,\n setData(data: any) {\n self.data = data || {};\n },\n setConfig(\n options: any,\n config: WithRemoteConfigSettings,\n motivation?: any\n ) {\n if (config.normalizeConfig) {\n options =\n config.normalizeConfig(\n options,\n self.config,\n component.props,\n motivation\n ) || options;\n }\n\n self.config = options;\n }\n };\n });\n\nexport type IStore = Instance<typeof Store>;\n\nexport interface OutterProps {\n env?: RendererEnv;\n data: any;\n source?: SchemaApi | SchemaTokenizeableString;\n deferApi?: SchemaApi;\n remoteConfigRef?: (\n instance:\n | {\n loadConfig: (ctx?: any) => Promise<any> | void;\n setConfig: (value: any) => void;\n }\n | undefined\n ) => void;\n}\n\nexport interface RemoteOptionsProps<T = any> {\n config: T;\n loading?: boolean;\n deferLoad: (item: any) => Promise<any>;\n updateConfig: (value: T, ctx?: any) => void;\n}\n\nexport interface WithRemoteConfigSettings {\n /**\n * 从接口返回数据适配到配置\n */\n adaptor?: (json: any, props: any) => any;\n\n /**\n * 配置格式化\n */\n normalizeConfig?: (\n config: any,\n origin: any,\n props: any,\n motivation?: any\n ) => any;\n\n /**\n * 请求返回后的回调\n */\n afterLoad?: (ret: any, config: any, props: any) => void;\n\n /**\n * 懒加载选项相关,开始懒加载的回调\n */\n beforeDeferLoad?: (\n item: any,\n indexes: Array<number>,\n config: any,\n props: any\n ) => any;\n\n /**\n * 懒加载选项相关,结束懒加载的回调\n */\n afterDeferLoad?: (\n item: any,\n indexes: Array<number>,\n reponse: Payload,\n config: any,\n props: any\n ) => any;\n}\n\nexport function withRemoteConfig<P = any>(\n config: WithRemoteConfigSettings = {}\n) {\n return function <\n T extends React.ComponentType<\n React.ComponentProps<T> & RemoteOptionsProps<P>\n >\n >(ComposedComponent: T) {\n type FinalOutterProps = JSX.LibraryManagedAttributes<\n T,\n Omit<React.ComponentProps<T>, keyof RemoteOptionsProps<P>>\n > &\n OutterProps;\n\n const result = hoistNonReactStatic(\n withStore(() => Store.create())(\n class extends React.Component<\n FinalOutterProps & {\n store: IStore;\n }\n > {\n static displayName = `WithRemoteConfig(${\n ComposedComponent.displayName || ComposedComponent.name\n })`;\n static ComposedComponent = ComposedComponent as React.ComponentType<T>;\n static contextType = EnvContext;\n toDispose: Array<() => void> = [];\n\n constructor(\n props: FinalOutterProps & {\n store: IStore;\n }\n ) {\n super(props);\n\n this.setConfig = this.setConfig.bind(this);\n props.store.setComponent(this);\n this.deferLoadConfig = this.deferLoadConfig.bind(this);\n props.remoteConfigRef?.(this);\n }\n\n componentDidMount() {\n const env: RendererEnv = this.props.env || this.context;\n const {store, source, data} = this.props;\n\n store.setData(data);\n\n if (isPureVariable(source)) {\n this.syncConfig();\n this.toDispose.push(\n reaction(\n () =>\n resolveVariableAndFilter(\n source as string,\n store.data,\n '| raw'\n ),\n () => this.syncConfig()\n )\n );\n } else if (env && isEffectiveApi(source, data)) {\n this.loadConfig();\n source.autoRefresh !== false &&\n this.toDispose.push(\n reaction(\n () => {\n const api = normalizeApi(source as string);\n return api.trackExpression\n ? tokenize(api.trackExpression, store.data)\n : buildApi(api, store.data, {\n ignoreData: true\n }).url;\n },\n () => this.loadConfig()\n )\n );\n }\n }\n\n componentDidUpdate(prevProps: any) {\n const props = this.props;\n\n if (props.data !== prevProps.data) {\n props.store.setData(props.data);\n }\n }\n\n componentWillUnmount() {\n this.toDispose.forEach(fn => fn());\n this.toDispose = [];\n\n this.props.remoteConfigRef?.(undefined);\n }\n\n async loadConfig(ctx = this.props.data) {\n const env: RendererEnv = this.props.env || this.context;\n const {store, source} = this.props;\n\n if (env && isEffectiveApi(source, ctx)) {\n await store.load(env, source, ctx, config);\n }\n }\n\n setConfig(value: any, ctx?: any) {\n const {store} = this.props;\n store.setConfig(value, config, ctx);\n }\n\n syncConfig() {\n const {store, source, data} = this.props;\n\n if (isPureVariable(source)) {\n store.setConfig(\n resolveVariableAndFilter(source as string, data, '| raw') || [],\n config,\n 'syncConfig'\n );\n }\n }\n\n async deferLoadConfig(item: any) {\n const {store, source, data, deferApi} = this.props;\n const env: RendererEnv = this.props.env || this.context;\n const indexes = findTreeIndex(store.config, a => a === item)!;\n\n const ret = config.beforeDeferLoad?.(\n item,\n indexes,\n store.config,\n this.props\n );\n\n ret && store.setConfig(ret, config, 'before-defer-load');\n let response: Payload;\n try {\n if (!isEffectiveApi(item.deferApi || deferApi || source)) {\n throw new Error('deferApi is required');\n }\n\n response = await env.fetcher(\n item.deferApi || deferApi || source,\n createObject(data, item)\n );\n } catch (e) {\n response = {\n ok: false,\n msg: e.message,\n status: 500,\n data: undefined\n };\n }\n const ret2 = config.afterDeferLoad?.(\n item,\n indexes, // 只能假定还是那个 index 了\n response,\n store.config,\n this.props\n );\n ret2 && store.setConfig(ret2, config, 'after-defer-load');\n }\n\n render() {\n const store = this.props.store;\n const injectedProps: RemoteOptionsProps<P> = {\n config: store.config,\n loading: store.fetching,\n deferLoad: this.deferLoadConfig,\n updateConfig: this.setConfig\n };\n const {remoteConfigRef, ...rest} = this.props;\n\n return (\n <ComposedComponent\n {...(rest as JSX.LibraryManagedAttributes<\n T,\n React.ComponentProps<T>\n >)}\n {...injectedProps}\n />\n );\n }\n }\n ),\n ComposedComponent\n );\n\n return result as typeof result & {\n ComposedComponent: T;\n };\n };\n}\n"
11
+ "/**\n * 一个可以拉取远程配置的 HOC\n *\n */\nimport React from 'react';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport debounce from 'lodash/debounce';\nimport {Api, Payload} from '../types';\nimport {SchemaApi, SchemaTokenizeableString} from '../Schema';\nimport {withStore} from './WithStore';\n\nimport {EnvContext, RendererEnv} from '../env';\n\nimport {flow, Instance, isAlive, types} from 'mobx-state-tree';\nimport {\n buildApi,\n isEffectiveApi,\n normalizeApi,\n normalizeApiResponseData\n} from '../utils/api';\nimport {\n isPureVariable,\n resolveVariableAndFilter,\n tokenize\n} from '../utils/tpl-builtin';\nimport {reaction} from 'mobx';\nimport {createObject, findIndex, findTreeIndex} from '../utils/helper';\n\nexport const Store = types\n .model('RemoteConfigStore')\n .props({\n fetching: false,\n errorMsg: '',\n config: types.frozen(),\n data: types.frozen({})\n })\n .actions(self => {\n let component: any = undefined;\n\n const load: (\n env: RendererEnv,\n api: Api,\n ctx: any,\n config: WithRemoteConfigSettings\n ) => Promise<any> = flow(function* (env, api, ctx, config = {}): any {\n try {\n self.fetching = true;\n const ret: Payload = yield env.fetcher(api, ctx);\n if (!isAlive(self)) {\n return;\n }\n\n if (ret.ok) {\n const data = normalizeApiResponseData(ret.data);\n let options = config.adaptor\n ? config.adaptor(data, component.props)\n : data;\n (self as any).setConfig(options, config, 'remote');\n config.afterLoad?.(data, self.config, component.props);\n return ret;\n } else {\n throw new Error(ret.msg || 'fetch error');\n }\n } catch (e) {\n isAlive(self) && (self.errorMsg = e.message);\n } finally {\n isAlive(self) && (self.fetching = false);\n }\n });\n\n return {\n setComponent(c: any) {\n component = c;\n },\n\n load,\n setData(data: any) {\n self.data = data || {};\n },\n setConfig(\n options: any,\n config: WithRemoteConfigSettings,\n motivation?: any\n ) {\n if (config.normalizeConfig) {\n options =\n config.normalizeConfig(\n options,\n self.config,\n component.props,\n motivation\n ) || options;\n }\n\n self.config = options;\n }\n };\n });\n\nexport type IStore = Instance<typeof Store>;\n\nexport interface OutterProps {\n env?: RendererEnv;\n data: any;\n source?: SchemaApi | SchemaTokenizeableString;\n autoComplete?: SchemaApi | SchemaTokenizeableString;\n deferApi?: SchemaApi;\n remoteConfigRef?: (\n instance:\n | {\n loadConfig: (ctx?: any) => Promise<any> | void;\n setConfig: (value: any) => void;\n }\n | undefined\n ) => void;\n}\n\nexport interface RemoteOptionsProps<T = any> {\n config: T;\n loading?: boolean;\n deferLoad: (item: any) => Promise<any>;\n updateConfig: (value: T, ctx?: any) => void;\n}\n\nexport interface WithRemoteConfigSettings {\n /**\n * 从接口返回数据适配到配置\n */\n adaptor?: (json: any, props: any) => any;\n\n /**\n * 配置格式化\n */\n normalizeConfig?: (\n config: any,\n origin: any,\n props: any,\n motivation?: any\n ) => any;\n\n /**\n * 请求返回后的回调\n */\n afterLoad?: (ret: any, config: any, props: any) => void;\n\n /**\n * 懒加载选项相关,开始懒加载的回调\n */\n beforeDeferLoad?: (\n item: any,\n indexes: Array<number>,\n config: any,\n props: any\n ) => any;\n\n /**\n * 懒加载选项相关,结束懒加载的回调\n */\n afterDeferLoad?: (\n item: any,\n indexes: Array<number>,\n reponse: Payload,\n config: any,\n props: any\n ) => any;\n}\n\nexport function withRemoteConfig<P = any>(\n config: WithRemoteConfigSettings = {}\n) {\n return function <\n T extends React.ComponentType<\n React.ComponentProps<T> & RemoteOptionsProps<P>\n >\n >(ComposedComponent: T) {\n type FinalOutterProps = JSX.LibraryManagedAttributes<\n T,\n Omit<React.ComponentProps<T>, keyof RemoteOptionsProps<P>>\n > &\n OutterProps;\n\n const result = hoistNonReactStatic(\n withStore(() => Store.create())(\n class extends React.Component<\n FinalOutterProps & {\n store: IStore;\n }\n > {\n static displayName = `WithRemoteConfig(${\n ComposedComponent.displayName || ComposedComponent.name\n })`;\n static ComposedComponent =\n ComposedComponent as React.ComponentType<T>;\n static contextType = EnvContext;\n toDispose: Array<() => void> = [];\n\n loadOptions = debounce(this.loadAutoComplete.bind(this), 250, {\n trailing: true,\n leading: false\n });\n\n constructor(\n props: FinalOutterProps & {\n store: IStore;\n }\n ) {\n super(props);\n\n this.setConfig = this.setConfig.bind(this);\n props.store.setComponent(this);\n this.deferLoadConfig = this.deferLoadConfig.bind(this);\n props.remoteConfigRef?.(this);\n }\n\n componentDidMount() {\n const env: RendererEnv = this.props.env || this.context;\n const {store, source, data} = this.props;\n\n store.setData(data);\n\n if (isPureVariable(source)) {\n this.syncConfig();\n this.toDispose.push(\n reaction(\n () =>\n resolveVariableAndFilter(\n source as string,\n store.data,\n '| raw'\n ),\n () => this.syncConfig()\n )\n );\n } else if (env && isEffectiveApi(source, data)) {\n this.loadConfig();\n source.autoRefresh !== false &&\n this.toDispose.push(\n reaction(\n () => {\n const api = normalizeApi(source as string);\n return api.trackExpression\n ? tokenize(api.trackExpression, store.data)\n : buildApi(api, store.data, {\n ignoreData: true\n }).url;\n },\n () => this.loadConfig()\n )\n );\n }\n }\n\n componentDidUpdate(prevProps: any) {\n const props = this.props;\n\n if (props.data !== prevProps.data) {\n props.store.setData(props.data);\n }\n }\n\n componentWillUnmount() {\n this.toDispose.forEach(fn => fn());\n this.toDispose = [];\n\n this.props.remoteConfigRef?.(undefined);\n this.loadOptions.cancel();\n }\n\n async loadConfig(ctx = this.props.data) {\n const env: RendererEnv = this.props.env || this.context;\n const {store, source} = this.props;\n\n if (env && isEffectiveApi(source, ctx)) {\n await store.load(env, source, ctx, config);\n }\n }\n\n loadAutoComplete(input: string) {\n const env: RendererEnv = this.props.env || this.context;\n const {autoComplete, data, store} = this.props;\n\n if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n const ctx = createObject(data, {\n term: input,\n value: input\n });\n\n if (!isEffectiveApi(autoComplete, ctx)) {\n return Promise.resolve({\n options: []\n });\n }\n\n return store.load(env, autoComplete, ctx, config);\n }\n\n setConfig(value: any, ctx?: any) {\n const {store} = this.props;\n store.setConfig(value, config, ctx);\n }\n\n syncConfig() {\n const {store, source, data} = this.props;\n\n if (isPureVariable(source)) {\n store.setConfig(\n resolveVariableAndFilter(source as string, data, '| raw') || [],\n config,\n 'syncConfig'\n );\n }\n }\n\n async deferLoadConfig(item: any) {\n const {store, source, data, deferApi} = this.props;\n const env: RendererEnv = this.props.env || this.context;\n const indexes = findTreeIndex(store.config, a => a === item)!;\n\n const ret = config.beforeDeferLoad?.(\n item,\n indexes,\n store.config,\n this.props\n );\n\n ret && store.setConfig(ret, config, 'before-defer-load');\n let response: Payload;\n try {\n if (!isEffectiveApi(item.deferApi || deferApi || source)) {\n throw new Error('deferApi is required');\n }\n\n response = await env.fetcher(\n item.deferApi || deferApi || source,\n createObject(data, item)\n );\n } catch (e) {\n response = {\n ok: false,\n msg: e.message,\n status: 500,\n data: undefined\n };\n }\n const ret2 = config.afterDeferLoad?.(\n item,\n indexes, // 只能假定还是那个 index 了\n response,\n store.config,\n this.props\n );\n ret2 && store.setConfig(ret2, config, 'after-defer-load');\n }\n\n render() {\n const store = this.props.store;\n const env: RendererEnv = this.props.env || this.context;\n const injectedProps: RemoteOptionsProps<P> = {\n config: store.config,\n loading: store.fetching,\n deferLoad: this.deferLoadConfig,\n updateConfig: this.setConfig\n };\n const {remoteConfigRef, autoComplete, ...rest} = this.props;\n\n return (\n <ComposedComponent\n {...(rest as JSX.LibraryManagedAttributes<\n T,\n React.ComponentProps<T>\n >)}\n {...(env && isEffectiveApi(autoComplete) && this.loadOptions\n ? {loadOptions: this.loadOptions}\n : {})}\n {...injectedProps}\n />\n );\n }\n }\n ),\n ComposedComponent\n );\n\n return result as typeof result & {\n ComposedComponent: T;\n };\n };\n}\n"
12
12
  ]
13
13
  }
@@ -53,8 +53,8 @@ var CustomDaysView = /** @class */ (function (_super) {
53
53
  _this.confirm = function () {
54
54
  var _a, _b;
55
55
  var date = (_this.props.selectedDate || _this.props.viewDate).clone();
56
- // 如果 minDate 是可用的,且比当前日期早,则用 minDate
57
- if (((_a = _this.props.minDate) === null || _a === void 0 ? void 0 : _a.isValid()) && ((_b = _this.props.minDate) === null || _b === void 0 ? void 0 : _b.isBefore(date))) {
56
+ // 如果 minDate 是可用的,且比当前日期晚,则用 minDate
57
+ if (((_a = _this.props.minDate) === null || _a === void 0 ? void 0 : _a.isValid()) && ((_b = _this.props.minDate) === null || _b === void 0 ? void 0 : _b.isAfter(date))) {
58
58
  date = _this.props.minDate.clone();
59
59
  }
60
60
  _this.props.setDateTimeState({
@@ -6,8 +6,8 @@
6
6
  "/src/components/calendar/DaysView.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import moment from 'moment';\n// @ts-ignore\nimport DaysView from 'react-datetime/src/DaysView';\nimport React from 'react';\nimport Downshift from 'downshift';\nimport {LocaleProps, localeable} from '../../locale';\nimport {ClassNamesFn} from '../../theme';\n\ninterface CustomDaysViewProps extends LocaleProps {\n classPrefix?: string;\n prevIcon?: string;\n nextIcon?: string;\n viewDate: moment.Moment;\n selectedDate: moment.Moment;\n minDate: moment.Moment;\n timeFormat: string;\n requiredConfirm?: boolean;\n isEndDate?: boolean;\n renderDay?: Function;\n onClose?: () => void;\n onChange: (value: moment.Moment) => void;\n setDateTimeState: (state: any) => void;\n setTime: (type: string, amount: number) => void;\n subtractTime: (\n amount: number,\n type: string,\n toSelected?: moment.Moment\n ) => () => void;\n addTime: (\n amount: number,\n type: string,\n toSelected?: moment.Moment\n ) => () => void;\n isValidDate?: (\n currentDate: moment.Moment,\n selected?: moment.Moment\n ) => boolean;\n showView: (view: string) => () => void;\n updateSelectedDate: (event: React.MouseEvent<any>, close?: boolean) => void;\n handleClickOutside: () => void;\n classnames: ClassNamesFn;\n}\n\nexport class CustomDaysView extends DaysView {\n props: CustomDaysViewProps;\n getDaysOfWeek: (locale: any) => any;\n renderDays: () => JSX.Element;\n\n updateSelectedDate = (event: React.MouseEvent<any>) => {\n // need confirm\n if (this.props.requiredConfirm) {\n const viewDate = this.props.viewDate.clone();\n const currentDate = this.props.selectedDate || viewDate;\n\n const target = event.target as HTMLElement;\n let modifier = 0;\n\n if (~target.className.indexOf('rdtNew')) {\n modifier = 1;\n }\n if (~target.className.indexOf('rdtOld')) {\n modifier = -1;\n }\n\n viewDate\n .month(viewDate.month() + modifier)\n .date(parseInt(target.getAttribute('data-value') as string, 10))\n .hours(currentDate.hours())\n .minutes(currentDate.minutes())\n .seconds(currentDate.seconds())\n .milliseconds(currentDate.milliseconds());\n\n this.props.setDateTimeState({\n viewDate,\n selectedDate: viewDate.clone()\n });\n return;\n }\n\n this.props.updateSelectedDate(event, true);\n };\n\n setTime = (\n type: 'hours' | 'minutes' | 'seconds' | 'milliseconds',\n value: number\n ) => {\n const date = (this.props.selectedDate || this.props.viewDate).clone();\n date[type](value);\n\n this.props.setDateTimeState({\n viewDate: date.clone(),\n selectedDate: date.clone()\n });\n\n if (!this.props.requiredConfirm) {\n this.props.onChange(date);\n }\n };\n\n confirm = () => {\n let date = (this.props.selectedDate || this.props.viewDate).clone();\n\n // 如果 minDate 是可用的,且比当前日期早,则用 minDate\n if (this.props.minDate?.isValid() && this.props.minDate?.isBefore(date)) {\n date = this.props.minDate.clone();\n }\n\n this.props.setDateTimeState({\n selectedDate: date\n });\n this.props.onChange(date);\n this.props.onClose && this.props.onClose();\n };\n\n cancel = () => {\n this.props.onClose && this.props.onClose();\n };\n\n renderDay = (props: any, currentDate: moment.Moment) => {\n return <td {...props}>{currentDate.date()}</td>;\n };\n\n computedTimeOptions(total: number) {\n const times: {label: string; value: string}[] = [];\n\n for (let t = 0; t < total; t++) {\n const label = t < 10 ? `0${t}` : `${t}`;\n times.push({label, value: label});\n }\n\n return times;\n }\n\n renderTimes = () => {\n const {\n timeFormat,\n selectedDate,\n viewDate,\n isEndDate,\n classnames: cx\n } = this.props;\n\n const date = selectedDate || (isEndDate ? viewDate.endOf('day') : viewDate);\n const inputs: Array<React.ReactNode> = [];\n\n timeFormat.split(':').forEach((format, i) => {\n const type = /h/i.test(format)\n ? 'hours'\n : /m/.test(format)\n ? 'minutes'\n : /s/.test(format)\n ? 'seconds'\n : '';\n if (type) {\n const min = 0;\n const max = type === 'hours' ? 23 : 59;\n const hours = this.computedTimeOptions(24);\n const times = this.computedTimeOptions(60);\n const options = type === 'hours' ? hours : times;\n const formatMap = {\n hours: 'HH',\n minutes: 'mm',\n seconds: 'ss'\n };\n\n inputs.push(\n <Downshift\n key={i + 'input'}\n inputValue={date.format(formatMap[type])}\n >\n {({isOpen, getInputProps, openMenu, closeMenu}) => {\n const inputProps = getInputProps({\n onFocus: () => openMenu(),\n onChange: (e: any) =>\n this.setTime(\n type,\n Math.max(\n min,\n Math.min(\n parseInt(\n e.currentTarget.value.replace(/\\D/g, ''),\n 10\n ) || 0,\n max\n )\n )\n )\n });\n return (\n <div className={cx('CalendarInputWrapper')}>\n <input\n type=\"text\"\n value={date.format(formatMap[type])}\n className={cx('CalendarInput')}\n min={min}\n max={max}\n {...inputProps}\n />\n {isOpen ? (\n <div className={cx('CalendarInput-sugs')}>\n {options.map(option => {\n return (\n <div\n key={option.value}\n className={cx('CalendarInput-sugsItem', {\n 'is-highlight':\n option.value === date.format(formatMap[type])\n })}\n onClick={() => {\n this.setTime(type, parseInt(option.value, 10));\n closeMenu();\n }}\n >\n {option.value}\n </div>\n );\n })}\n </div>\n ) : null}\n </div>\n );\n }}\n </Downshift>\n );\n\n inputs.push(<span key={i + 'divider'}>:</span>);\n }\n });\n\n inputs.length && inputs.pop();\n\n return <div>{inputs}</div>;\n };\n\n renderFooter = () => {\n if (!this.props.timeFormat && !this.props.requiredConfirm) {\n return null;\n }\n\n const {translate: __, classnames: cx} = this.props;\n\n return (\n <tfoot key=\"tf\">\n <tr>\n <td colSpan={7}>\n {this.props.timeFormat ? this.renderTimes() : null}\n {this.props.requiredConfirm ? (\n <div key=\"button\" className=\"rdtActions\">\n <a\n className={cx('Button', 'Button--default')}\n onClick={this.cancel}\n >\n {__('cancel')}\n </a>\n <a\n className={cx('Button', 'Button--primary', 'm-l-sm')}\n onClick={this.confirm}\n >\n {__('confirm')}\n </a>\n </div>\n ) : null}\n </td>\n </tr>\n </tfoot>\n );\n };\n\n render() {\n const footer = this.renderFooter();\n const date = this.props.viewDate;\n const locale = date.localeData();\n const __ = this.props.translate;\n\n const tableChildren = [\n <thead key=\"th\">\n <tr>\n <th colSpan={7}>\n <div className=\"rdtHeader\">\n <a\n className=\"rdtPrev\"\n onClick={this.props.subtractTime(1, 'years')}\n >\n &laquo;\n </a>\n <a\n className=\"rdtPrev\"\n onClick={this.props.subtractTime(1, 'months')}\n >\n &lsaquo;\n </a>\n\n <div className=\"rdtCenter\">\n <a className=\"rdtSwitch\" onClick={this.props.showView('years')}>\n {date.format(__('dateformat.year'))}\n </a>\n <a\n className=\"rdtSwitch\"\n onClick={this.props.showView('months')}\n >\n {date.format(__('MMM'))}\n </a>\n </div>\n\n <a className=\"rdtNext\" onClick={this.props.addTime(1, 'months')}>\n &rsaquo;\n </a>\n <a className=\"rdtNext\" onClick={this.props.addTime(1, 'years')}>\n &raquo;\n </a>\n </div>\n </th>\n </tr>\n <tr>\n {this.getDaysOfWeek(locale).map((day: number, index: number) => (\n <th key={day + index} className=\"dow\">\n {day}\n </th>\n ))}\n </tr>\n </thead>,\n\n <tbody key=\"tb\">{this.renderDays()}</tbody>\n ];\n\n footer && tableChildren.push(footer);\n\n return (\n <div className=\"rdtDays\">\n <table>{tableChildren}</table>\n </div>\n );\n }\n}\n\nexport default localeable(\n CustomDaysView as any as React.ComponentClass<CustomDaysViewProps>\n);\n"
11
+ "import moment from 'moment';\n// @ts-ignore\nimport DaysView from 'react-datetime/src/DaysView';\nimport React from 'react';\nimport Downshift from 'downshift';\nimport {LocaleProps, localeable} from '../../locale';\nimport {ClassNamesFn} from '../../theme';\n\ninterface CustomDaysViewProps extends LocaleProps {\n classPrefix?: string;\n prevIcon?: string;\n nextIcon?: string;\n viewDate: moment.Moment;\n selectedDate: moment.Moment;\n minDate: moment.Moment;\n timeFormat: string;\n requiredConfirm?: boolean;\n isEndDate?: boolean;\n renderDay?: Function;\n onClose?: () => void;\n onChange: (value: moment.Moment) => void;\n setDateTimeState: (state: any) => void;\n setTime: (type: string, amount: number) => void;\n subtractTime: (\n amount: number,\n type: string,\n toSelected?: moment.Moment\n ) => () => void;\n addTime: (\n amount: number,\n type: string,\n toSelected?: moment.Moment\n ) => () => void;\n isValidDate?: (\n currentDate: moment.Moment,\n selected?: moment.Moment\n ) => boolean;\n showView: (view: string) => () => void;\n updateSelectedDate: (event: React.MouseEvent<any>, close?: boolean) => void;\n handleClickOutside: () => void;\n classnames: ClassNamesFn;\n}\n\nexport class CustomDaysView extends DaysView {\n props: CustomDaysViewProps;\n getDaysOfWeek: (locale: any) => any;\n renderDays: () => JSX.Element;\n\n updateSelectedDate = (event: React.MouseEvent<any>) => {\n // need confirm\n if (this.props.requiredConfirm) {\n const viewDate = this.props.viewDate.clone();\n const currentDate = this.props.selectedDate || viewDate;\n\n const target = event.target as HTMLElement;\n let modifier = 0;\n\n if (~target.className.indexOf('rdtNew')) {\n modifier = 1;\n }\n if (~target.className.indexOf('rdtOld')) {\n modifier = -1;\n }\n\n viewDate\n .month(viewDate.month() + modifier)\n .date(parseInt(target.getAttribute('data-value') as string, 10))\n .hours(currentDate.hours())\n .minutes(currentDate.minutes())\n .seconds(currentDate.seconds())\n .milliseconds(currentDate.milliseconds());\n\n this.props.setDateTimeState({\n viewDate,\n selectedDate: viewDate.clone()\n });\n return;\n }\n\n this.props.updateSelectedDate(event, true);\n };\n\n setTime = (\n type: 'hours' | 'minutes' | 'seconds' | 'milliseconds',\n value: number\n ) => {\n const date = (this.props.selectedDate || this.props.viewDate).clone();\n date[type](value);\n\n this.props.setDateTimeState({\n viewDate: date.clone(),\n selectedDate: date.clone()\n });\n\n if (!this.props.requiredConfirm) {\n this.props.onChange(date);\n }\n };\n\n confirm = () => {\n let date = (this.props.selectedDate || this.props.viewDate).clone();\n\n // 如果 minDate 是可用的,且比当前日期晚,则用 minDate\n if (this.props.minDate?.isValid() && this.props.minDate?.isAfter(date)) {\n date = this.props.minDate.clone();\n }\n\n this.props.setDateTimeState({\n selectedDate: date\n });\n this.props.onChange(date);\n this.props.onClose && this.props.onClose();\n };\n\n cancel = () => {\n this.props.onClose && this.props.onClose();\n };\n\n renderDay = (props: any, currentDate: moment.Moment) => {\n return <td {...props}>{currentDate.date()}</td>;\n };\n\n computedTimeOptions(total: number) {\n const times: {label: string; value: string}[] = [];\n\n for (let t = 0; t < total; t++) {\n const label = t < 10 ? `0${t}` : `${t}`;\n times.push({label, value: label});\n }\n\n return times;\n }\n\n renderTimes = () => {\n const {\n timeFormat,\n selectedDate,\n viewDate,\n isEndDate,\n classnames: cx\n } = this.props;\n\n const date = selectedDate || (isEndDate ? viewDate.endOf('day') : viewDate);\n const inputs: Array<React.ReactNode> = [];\n\n timeFormat.split(':').forEach((format, i) => {\n const type = /h/i.test(format)\n ? 'hours'\n : /m/.test(format)\n ? 'minutes'\n : /s/.test(format)\n ? 'seconds'\n : '';\n if (type) {\n const min = 0;\n const max = type === 'hours' ? 23 : 59;\n const hours = this.computedTimeOptions(24);\n const times = this.computedTimeOptions(60);\n const options = type === 'hours' ? hours : times;\n const formatMap = {\n hours: 'HH',\n minutes: 'mm',\n seconds: 'ss'\n };\n\n inputs.push(\n <Downshift\n key={i + 'input'}\n inputValue={date.format(formatMap[type])}\n >\n {({isOpen, getInputProps, openMenu, closeMenu}) => {\n const inputProps = getInputProps({\n onFocus: () => openMenu(),\n onChange: (e: any) =>\n this.setTime(\n type,\n Math.max(\n min,\n Math.min(\n parseInt(\n e.currentTarget.value.replace(/\\D/g, ''),\n 10\n ) || 0,\n max\n )\n )\n )\n });\n return (\n <div className={cx('CalendarInputWrapper')}>\n <input\n type=\"text\"\n value={date.format(formatMap[type])}\n className={cx('CalendarInput')}\n min={min}\n max={max}\n {...inputProps}\n />\n {isOpen ? (\n <div className={cx('CalendarInput-sugs')}>\n {options.map(option => {\n return (\n <div\n key={option.value}\n className={cx('CalendarInput-sugsItem', {\n 'is-highlight':\n option.value === date.format(formatMap[type])\n })}\n onClick={() => {\n this.setTime(type, parseInt(option.value, 10));\n closeMenu();\n }}\n >\n {option.value}\n </div>\n );\n })}\n </div>\n ) : null}\n </div>\n );\n }}\n </Downshift>\n );\n\n inputs.push(<span key={i + 'divider'}>:</span>);\n }\n });\n\n inputs.length && inputs.pop();\n\n return <div>{inputs}</div>;\n };\n\n renderFooter = () => {\n if (!this.props.timeFormat && !this.props.requiredConfirm) {\n return null;\n }\n\n const {translate: __, classnames: cx} = this.props;\n\n return (\n <tfoot key=\"tf\">\n <tr>\n <td colSpan={7}>\n {this.props.timeFormat ? this.renderTimes() : null}\n {this.props.requiredConfirm ? (\n <div key=\"button\" className=\"rdtActions\">\n <a\n className={cx('Button', 'Button--default')}\n onClick={this.cancel}\n >\n {__('cancel')}\n </a>\n <a\n className={cx('Button', 'Button--primary', 'm-l-sm')}\n onClick={this.confirm}\n >\n {__('confirm')}\n </a>\n </div>\n ) : null}\n </td>\n </tr>\n </tfoot>\n );\n };\n\n render() {\n const footer = this.renderFooter();\n const date = this.props.viewDate;\n const locale = date.localeData();\n const __ = this.props.translate;\n\n const tableChildren = [\n <thead key=\"th\">\n <tr>\n <th colSpan={7}>\n <div className=\"rdtHeader\">\n <a\n className=\"rdtPrev\"\n onClick={this.props.subtractTime(1, 'years')}\n >\n &laquo;\n </a>\n <a\n className=\"rdtPrev\"\n onClick={this.props.subtractTime(1, 'months')}\n >\n &lsaquo;\n </a>\n\n <div className=\"rdtCenter\">\n <a className=\"rdtSwitch\" onClick={this.props.showView('years')}>\n {date.format(__('dateformat.year'))}\n </a>\n <a\n className=\"rdtSwitch\"\n onClick={this.props.showView('months')}\n >\n {date.format(__('MMM'))}\n </a>\n </div>\n\n <a className=\"rdtNext\" onClick={this.props.addTime(1, 'months')}>\n &rsaquo;\n </a>\n <a className=\"rdtNext\" onClick={this.props.addTime(1, 'years')}>\n &raquo;\n </a>\n </div>\n </th>\n </tr>\n <tr>\n {this.getDaysOfWeek(locale).map((day: number, index: number) => (\n <th key={day + index} className=\"dow\">\n {day}\n </th>\n ))}\n </tr>\n </thead>,\n\n <tbody key=\"tb\">{this.renderDays()}</tbody>\n ];\n\n footer && tableChildren.push(footer);\n\n return (\n <div className=\"rdtDays\">\n <table>{tableChildren}</table>\n </div>\n );\n }\n}\n\nexport default localeable(\n CustomDaysView as any as React.ComponentClass<CustomDaysViewProps>\n);\n"
12
12
  ]
13
13
  }
@@ -4,7 +4,7 @@ exports.ConditionField = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
6
  var PopOverContainer_1 = (0, tslib_1.__importDefault)(require("../PopOverContainer"));
7
- var ListRadios_1 = (0, tslib_1.__importDefault)(require("../ListRadios"));
7
+ var GroupedSelection_1 = (0, tslib_1.__importDefault)(require("../GroupedSelection"));
8
8
  var ResultBox_1 = (0, tslib_1.__importDefault)(require("../ResultBox"));
9
9
  var theme_1 = require("../../theme");
10
10
  var icons_1 = require("../icons");
@@ -20,7 +20,6 @@ var ConditionField = /** @class */ (function (_super) {
20
20
  options: props.options
21
21
  };
22
22
  _this.onSearch = _this.onSearch.bind(_this);
23
- _this.onSearch = _this.onSearch.bind(_this);
24
23
  return _this;
25
24
  }
26
25
  ConditionField.prototype.onSearch = function (text) {
@@ -63,7 +62,10 @@ var ConditionField = /** @class */ (function (_super) {
63
62
  var onClose = _a.onClose;
64
63
  return (react_1.default.createElement(react_1.default.Fragment, null,
65
64
  searchable ? (react_1.default.createElement(SearchBox_1.default, { mini: false, onSearch: _this.onSearch })) : null,
66
- react_1.default.createElement(ListRadios_1.default, { onClick: function (e) { return _this.onPopClose(e, onClose); }, showRadio: false, options: _this.state.options, value: value, option2value: option2value, onChange: onChange })));
65
+ react_1.default.createElement(GroupedSelection_1.default, { multiple: false, onClick: function (e) { return _this.onPopClose(e, onClose); }, options: _this.state.options, value: [value], option2value: option2value, onChange: function (_a) {
66
+ var value = _a[0];
67
+ return onChange(value);
68
+ } })));
67
69
  } }, function (_a) {
68
70
  var _b;
69
71
  var onClick = _a.onClick, ref = _a.ref, isOpened = _a.isOpened;