amis 1.4.2-beta.1 → 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 (381) hide show
  1. package/lib/Schema.d.ts +9 -2
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/components/AnchorNav.d.ts +22 -21
  4. package/lib/components/AnchorNav.js +7 -3
  5. package/lib/components/AnchorNav.js.map +2 -2
  6. package/lib/components/ArrayInput.d.ts +84 -84
  7. package/lib/components/AssociatedSelection.d.ts +930 -0
  8. package/lib/components/AssociatedSelection.js +89 -0
  9. package/lib/components/AssociatedSelection.js.map +13 -0
  10. package/lib/components/Badge.js +2 -2
  11. package/lib/components/Badge.js.map +2 -2
  12. package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
  13. package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
  14. package/lib/components/ChainedSelection.js.map +13 -0
  15. package/lib/components/ColorPicker.d.ts +84 -84
  16. package/lib/components/DatePicker.d.ts +84 -84
  17. package/lib/components/DateRangePicker.d.ts +84 -84
  18. package/lib/components/Editor.d.ts +84 -84
  19. package/lib/components/GroupedSelection.d.ts +907 -0
  20. package/lib/components/GroupedSelection.js +48 -0
  21. package/lib/components/GroupedSelection.js.map +13 -0
  22. package/lib/components/Link.d.ts +29 -36
  23. package/lib/components/Link.js +14 -15
  24. package/lib/components/Link.js.map +2 -2
  25. package/lib/components/ListGroup.d.ts +21 -21
  26. package/lib/components/ModalManager.js +1 -1
  27. package/lib/components/ModalManager.js.map +2 -2
  28. package/lib/components/MonthRangePicker.d.ts +84 -84
  29. package/lib/components/NumberInput.d.ts +20 -20
  30. package/lib/components/PickerColumn.d.ts +514 -0
  31. package/lib/components/PickerColumn.js +279 -0
  32. package/lib/components/PickerColumn.js.map +13 -0
  33. package/lib/components/PickerContainer.d.ts +513 -0
  34. package/lib/components/PickerContainer.js +96 -0
  35. package/lib/components/PickerContainer.js.map +13 -0
  36. package/lib/components/Radios.d.ts +22 -21
  37. package/lib/components/Radios.js +1 -0
  38. package/lib/components/Radios.js.map +2 -2
  39. package/lib/components/Rating.d.ts +21 -21
  40. package/lib/components/ResultBox.d.ts +84 -84
  41. package/lib/components/SearchBox.d.ts +84 -84
  42. package/lib/components/SearchBox.js +4 -4
  43. package/lib/components/SearchBox.js.map +2 -2
  44. package/lib/components/Select.d.ts +245 -237
  45. package/lib/components/Select.js +25 -4
  46. package/lib/components/Select.js.map +2 -2
  47. package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
  48. package/lib/components/Selection.js +134 -0
  49. package/lib/components/Selection.js.map +13 -0
  50. package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
  51. package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
  52. package/lib/components/TableSelection.js.map +13 -0
  53. package/lib/components/Tabs.d.ts +20 -20
  54. package/lib/components/TabsTransfer.d.ts +84 -84
  55. package/lib/components/TabsTransfer.js +9 -9
  56. package/lib/components/TabsTransfer.js.map +2 -2
  57. package/lib/components/TabsTransferPicker.d.ts +489 -0
  58. package/lib/components/TabsTransferPicker.js +60 -0
  59. package/lib/components/TabsTransferPicker.js.map +13 -0
  60. package/lib/components/Transfer.d.ts +908 -274
  61. package/lib/components/Transfer.js +31 -24
  62. package/lib/components/Transfer.js.map +2 -2
  63. package/lib/components/TransferDropDown.d.ts +487 -0
  64. package/lib/components/TransferDropDown.js +59 -0
  65. package/lib/components/TransferDropDown.js.map +13 -0
  66. package/lib/components/TransferPicker.d.ts +489 -0
  67. package/lib/components/TransferPicker.js +60 -0
  68. package/lib/components/TransferPicker.js.map +13 -0
  69. package/lib/components/Tree.d.ts +84 -84
  70. package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
  71. package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
  72. package/lib/components/TreeSelection.js.map +13 -0
  73. package/lib/components/WithRemoteConfig.js +1 -1
  74. package/lib/components/WithRemoteConfig.js.map +2 -2
  75. package/lib/components/condition-builder/Field.js +5 -2
  76. package/lib/components/condition-builder/Field.js.map +2 -2
  77. package/lib/components/condition-builder/Func.js +2 -2
  78. package/lib/components/condition-builder/Func.js.map +2 -2
  79. package/lib/components/condition-builder/InputSwitch.js +2 -2
  80. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  81. package/lib/components/condition-builder/Item.js +3 -3
  82. package/lib/components/condition-builder/Item.js.map +2 -2
  83. package/lib/components/index.d.ts +8 -8
  84. package/lib/components/index.js +16 -16
  85. package/lib/components/index.js.map +2 -2
  86. package/lib/envOverwrite.js.map +2 -2
  87. package/lib/factory.d.ts +4 -0
  88. package/lib/factory.js +4 -2
  89. package/lib/factory.js.map +2 -2
  90. package/lib/helper.css.map +1 -1
  91. package/lib/hooks/index.d.ts +5 -0
  92. package/lib/hooks/index.js +14 -0
  93. package/lib/hooks/index.js.map +13 -0
  94. package/lib/hooks/use-set-state.d.ts +2 -0
  95. package/lib/hooks/use-set-state.js +15 -0
  96. package/lib/hooks/use-set-state.js.map +13 -0
  97. package/lib/hooks/use-touch.d.ts +16 -0
  98. package/lib/hooks/use-touch.js +73 -0
  99. package/lib/hooks/use-touch.js.map +13 -0
  100. package/lib/hooks/use-update-effect.d.ts +3 -0
  101. package/lib/hooks/use-update-effect.js +17 -0
  102. package/lib/hooks/use-update-effect.js.map +13 -0
  103. package/lib/index.d.ts +3 -0
  104. package/lib/index.js +4 -1
  105. package/lib/index.js.map +2 -2
  106. package/lib/locale/de-DE.js +2 -0
  107. package/lib/locale/de-DE.js.map +2 -2
  108. package/lib/locale/en-US.js +2 -0
  109. package/lib/locale/en-US.js.map +2 -2
  110. package/lib/locale/zh-CN.js +4 -2
  111. package/lib/locale/zh-CN.js.map +2 -2
  112. package/lib/renderers/Action.d.ts +4 -3
  113. package/lib/renderers/Action.js +17 -4
  114. package/lib/renderers/Action.js.map +2 -2
  115. package/lib/renderers/AnchorNav.d.ts +1 -0
  116. package/lib/renderers/AnchorNav.js +2 -2
  117. package/lib/renderers/AnchorNav.js.map +2 -2
  118. package/lib/renderers/Avatar.js +3 -3
  119. package/lib/renderers/Avatar.js.map +2 -2
  120. package/lib/renderers/Breadcrumb.js +1 -1
  121. package/lib/renderers/Breadcrumb.js.map +2 -2
  122. package/lib/renderers/CRUD.d.ts +9 -0
  123. package/lib/renderers/CRUD.js +24 -4
  124. package/lib/renderers/CRUD.js.map +2 -2
  125. package/lib/renderers/Card.d.ts +4 -0
  126. package/lib/renderers/Card.js +29 -23
  127. package/lib/renderers/Card.js.map +2 -2
  128. package/lib/renderers/Chart.js +1 -1
  129. package/lib/renderers/Chart.js.map +2 -2
  130. package/lib/renderers/Collapse.js +3 -2
  131. package/lib/renderers/Collapse.js.map +2 -2
  132. package/lib/renderers/DropDownButton.js +1 -1
  133. package/lib/renderers/DropDownButton.js.map +2 -2
  134. package/lib/renderers/Form/DiffEditor.d.ts +4 -3
  135. package/lib/renderers/Form/Editor.d.ts +3 -2
  136. package/lib/renderers/Form/InputCity.d.ts +84 -84
  137. package/lib/renderers/Form/InputCity.js +7 -6
  138. package/lib/renderers/Form/InputCity.js.map +2 -2
  139. package/lib/renderers/Form/InputColor.d.ts +84 -84
  140. package/lib/renderers/Form/InputFile.js +10 -4
  141. package/lib/renderers/Form/InputFile.js.map +2 -2
  142. package/lib/renderers/Form/InputImage.js +11 -4
  143. package/lib/renderers/Form/InputImage.js.map +2 -2
  144. package/lib/renderers/Form/Item.d.ts +1 -1
  145. package/lib/renderers/Form/Item.js.map +1 -1
  146. package/lib/renderers/Form/Options.js +13 -3
  147. package/lib/renderers/Form/Options.js.map +2 -2
  148. package/lib/renderers/Form/Select.d.ts +41 -4
  149. package/lib/renderers/Form/Select.js +23 -3
  150. package/lib/renderers/Form/Select.js.map +2 -2
  151. package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
  152. package/lib/renderers/Form/TabsTransferPicker.js +29 -0
  153. package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
  154. package/lib/renderers/Form/Transfer.js +3 -2
  155. package/lib/renderers/Form/Transfer.js.map +2 -2
  156. package/lib/renderers/Form/TransferPicker.d.ts +48 -0
  157. package/lib/renderers/Form/TransferPicker.js +29 -0
  158. package/lib/renderers/Form/TransferPicker.js.map +13 -0
  159. package/lib/renderers/Form/TreeSelect.js +2 -2
  160. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  161. package/lib/renderers/Form/index.js +1 -1
  162. package/lib/renderers/Form/index.js.map +2 -2
  163. package/lib/renderers/Form/wrapControl.js +13 -1
  164. package/lib/renderers/Form/wrapControl.js.map +2 -2
  165. package/lib/renderers/IFrame.js +1 -3
  166. package/lib/renderers/IFrame.js.map +2 -2
  167. package/lib/renderers/Json.d.ts +4 -0
  168. package/lib/renderers/Json.js +4 -13
  169. package/lib/renderers/Json.js.map +2 -2
  170. package/lib/renderers/Link.d.ts +4 -2
  171. package/lib/renderers/Link.js +15 -6
  172. package/lib/renderers/Link.js.map +2 -2
  173. package/lib/renderers/List.js +1 -1
  174. package/lib/renderers/List.js.map +2 -2
  175. package/lib/renderers/Mapping.d.ts +9 -2
  176. package/lib/renderers/Mapping.js +18 -6
  177. package/lib/renderers/Mapping.js.map +2 -2
  178. package/lib/renderers/Nav.d.ts +21 -21
  179. package/lib/renderers/Nav.js +39 -21
  180. package/lib/renderers/Nav.js.map +2 -2
  181. package/lib/renderers/Portlet.d.ts +125 -0
  182. package/lib/renderers/Portlet.js +156 -0
  183. package/lib/renderers/Portlet.js.map +13 -0
  184. package/lib/renderers/Property.js +2 -1
  185. package/lib/renderers/Property.js.map +2 -2
  186. package/lib/renderers/SearchBox.d.ts +6 -1
  187. package/lib/renderers/SearchBox.js +19 -5
  188. package/lib/renderers/SearchBox.js.map +2 -2
  189. package/lib/renderers/Table/TableContent.d.ts +4 -1
  190. package/lib/renderers/Table/TableContent.js +21 -1
  191. package/lib/renderers/Table/TableContent.js.map +2 -2
  192. package/lib/renderers/Table/index.d.ts +5 -1
  193. package/lib/renderers/Table/index.js +64 -29
  194. package/lib/renderers/Table/index.js.map +2 -2
  195. package/lib/renderers/Tabs.js +9 -1
  196. package/lib/renderers/Tabs.js.map +2 -2
  197. package/lib/renderers/WebComponent.js +1 -1
  198. package/lib/renderers/WebComponent.js.map +2 -2
  199. package/lib/store/combo.d.ts +2 -16
  200. package/lib/store/crud.js +3 -7
  201. package/lib/store/crud.js.map +2 -2
  202. package/lib/store/form.d.ts +1 -1
  203. package/lib/store/form.js +5 -6
  204. package/lib/store/form.js.map +2 -2
  205. package/lib/store/service.js +5 -4
  206. package/lib/store/service.js.map +2 -2
  207. package/lib/store/table.d.ts +2 -2
  208. package/lib/themes/ang-ie11.css +422 -149
  209. package/lib/themes/ang.css +422 -149
  210. package/lib/themes/ang.css.map +1 -1
  211. package/lib/themes/antd-ie11.css +422 -149
  212. package/lib/themes/antd.css +422 -149
  213. package/lib/themes/antd.css.map +1 -1
  214. package/lib/themes/cxd-ie11.css +456 -182
  215. package/lib/themes/cxd.css +456 -182
  216. package/lib/themes/cxd.css.map +1 -1
  217. package/lib/themes/dark-ie11.css +422 -149
  218. package/lib/themes/dark.css +422 -149
  219. package/lib/themes/dark.css.map +1 -1
  220. package/lib/themes/default.css +456 -182
  221. package/lib/themes/default.css.map +1 -1
  222. package/lib/types.d.ts +37 -0
  223. package/lib/types.js +0 -5
  224. package/lib/types.js.map +2 -2
  225. package/lib/utils/api.d.ts +3 -2
  226. package/lib/utils/api.js +28 -12
  227. package/lib/utils/api.js.map +2 -2
  228. package/lib/utils/dom.d.ts +4 -0
  229. package/lib/utils/dom.js +11 -1
  230. package/lib/utils/dom.js.map +2 -2
  231. package/lib/utils/helper.d.ts +2 -0
  232. package/lib/utils/helper.js +11 -2
  233. package/lib/utils/helper.js.map +2 -2
  234. package/lib/utils/icon.js +3 -0
  235. package/lib/utils/icon.js.map +2 -2
  236. package/package.json +1 -1
  237. package/schema.json +3038 -790
  238. package/scss/_mixins.scss +1 -3
  239. package/scss/_properties.scss +25 -1
  240. package/scss/base/_normalize.scss +2 -0
  241. package/scss/components/_anchor-nav.scss +88 -29
  242. package/scss/components/_card.scss +8 -14
  243. package/scss/components/_collapse.scss +16 -1
  244. package/scss/components/_mapping.scss +6 -0
  245. package/scss/components/_nav.scss +1 -1
  246. package/scss/components/_picker-columns.scss +123 -0
  247. package/scss/components/_popover.scss +17 -0
  248. package/scss/components/_portlet.scss +51 -0
  249. package/scss/components/_status.scss +1 -1
  250. package/scss/components/_table.scss +26 -0
  251. package/scss/components/form/_checks.scss +0 -351
  252. package/scss/components/form/_fieldset.scss +5 -1
  253. package/scss/components/form/_selection.scss +354 -0
  254. package/scss/components/form/_transfer.scss +75 -18
  255. package/scss/themes/_common.scss +4 -0
  256. package/scss/themes/_cxd-variables.scss +4 -1
  257. package/scss/themes/cxd.scss +16 -12
  258. package/sdk/ang-ie11.css +457 -152
  259. package/sdk/ang.css +480 -154
  260. package/sdk/antd-ie11.css +456 -151
  261. package/sdk/antd.css +480 -154
  262. package/sdk/charts.js +13 -13
  263. package/sdk/color-picker.js +65 -69
  264. package/sdk/cropperjs.js +2 -2
  265. package/sdk/cxd-ie11.css +496 -194
  266. package/sdk/cxd.css +517 -190
  267. package/sdk/dark-ie11.css +457 -152
  268. package/sdk/dark.css +480 -154
  269. package/sdk/exceljs.js +1 -1
  270. package/sdk/helper.css.map +1 -1
  271. package/sdk/locale/de-DE.js +2 -0
  272. package/sdk/markdown.js +69 -69
  273. package/sdk/papaparse.js +1 -1
  274. package/sdk/renderers/Form/CityDB.js +1 -1
  275. package/sdk/rest.js +20 -28
  276. package/sdk/rich-text.js +62 -62
  277. package/sdk/sdk-ie11.css +496 -194
  278. package/sdk/sdk.css +517 -190
  279. package/sdk/sdk.js +1268 -1236
  280. package/sdk/thirds/hls.js/hls.js +1 -1
  281. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  282. package/sdk/tinymce.js +57 -57
  283. package/src/Schema.ts +14 -0
  284. package/src/components/AnchorNav.tsx +15 -4
  285. package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +41 -37
  286. package/src/components/Badge.tsx +3 -3
  287. package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
  288. package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
  289. package/src/components/Link.tsx +28 -37
  290. package/src/components/ModalManager.ts +1 -1
  291. package/src/components/PickerColumn.tsx +429 -0
  292. package/src/components/PickerContainer.tsx +128 -0
  293. package/src/components/Radios.tsx +3 -8
  294. package/src/components/SearchBox.tsx +4 -5
  295. package/src/components/Select.tsx +57 -5
  296. package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
  297. package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
  298. package/src/components/TabsTransfer.tsx +13 -7
  299. package/src/components/TabsTransferPicker.tsx +85 -0
  300. package/src/components/Transfer.tsx +71 -50
  301. package/src/components/TransferDropDown.tsx +117 -0
  302. package/src/components/TransferPicker.tsx +84 -0
  303. package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
  304. package/src/components/WithRemoteConfig.tsx +7 -2
  305. package/src/components/condition-builder/Field.tsx +5 -5
  306. package/src/components/condition-builder/Func.tsx +3 -3
  307. package/src/components/condition-builder/InputSwitch.tsx +3 -3
  308. package/src/components/condition-builder/Item.tsx +5 -12
  309. package/src/components/index.tsx +13 -13
  310. package/src/envOverwrite.ts +0 -1
  311. package/src/factory.tsx +18 -3
  312. package/src/hooks/index.ts +5 -0
  313. package/src/hooks/use-set-state.ts +19 -0
  314. package/src/hooks/use-touch.ts +100 -0
  315. package/src/hooks/use-update-effect.ts +16 -0
  316. package/src/index.tsx +3 -0
  317. package/src/locale/de-DE.ts +2 -0
  318. package/src/locale/en-US.ts +2 -0
  319. package/src/locale/zh-CN.ts +4 -2
  320. package/src/renderers/Action.tsx +28 -2
  321. package/src/renderers/AnchorNav.tsx +4 -0
  322. package/src/renderers/Avatar.tsx +8 -4
  323. package/src/renderers/Breadcrumb.tsx +5 -1
  324. package/src/renderers/CRUD.tsx +33 -3
  325. package/src/renderers/Card.tsx +63 -34
  326. package/src/renderers/Chart.tsx +6 -2
  327. package/src/renderers/Collapse.tsx +4 -2
  328. package/src/renderers/DropDownButton.tsx +1 -1
  329. package/src/renderers/Form/InputCity.tsx +4 -8
  330. package/src/renderers/Form/InputFile.tsx +29 -20
  331. package/src/renderers/Form/InputImage.tsx +11 -3
  332. package/src/renderers/Form/Item.tsx +1 -1
  333. package/src/renderers/Form/Options.tsx +16 -2
  334. package/src/renderers/Form/Select.tsx +144 -21
  335. package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
  336. package/src/renderers/Form/Transfer.tsx +3 -2
  337. package/src/renderers/Form/TransferPicker.tsx +123 -0
  338. package/src/renderers/Form/TreeSelect.tsx +25 -0
  339. package/src/renderers/Form/index.tsx +1 -1
  340. package/src/renderers/Form/wrapControl.tsx +26 -1
  341. package/src/renderers/IFrame.tsx +2 -4
  342. package/src/renderers/Json.tsx +9 -9
  343. package/src/renderers/Link.tsx +27 -13
  344. package/src/renderers/List.tsx +1 -1
  345. package/src/renderers/Mapping.tsx +27 -11
  346. package/src/renderers/Nav.tsx +108 -60
  347. package/src/renderers/Portlet.tsx +423 -0
  348. package/src/renderers/Property.tsx +3 -2
  349. package/src/renderers/SearchBox.tsx +23 -4
  350. package/src/renderers/Table/TableContent.tsx +40 -2
  351. package/src/renderers/Table/index.tsx +87 -41
  352. package/src/renderers/Tabs.tsx +9 -1
  353. package/src/renderers/WebComponent.tsx +2 -2
  354. package/src/store/crud.ts +3 -8
  355. package/src/store/form.ts +5 -10
  356. package/src/store/service.ts +5 -4
  357. package/src/types.ts +57 -0
  358. package/src/utils/api.ts +40 -20
  359. package/src/utils/dom.tsx +12 -0
  360. package/src/utils/helper.ts +8 -0
  361. package/src/utils/icon.tsx +4 -0
  362. package/dump.rdb +0 -0
  363. package/lib/components/AssociatedCheckboxes.d.ts +0 -762
  364. package/lib/components/AssociatedCheckboxes.js +0 -90
  365. package/lib/components/AssociatedCheckboxes.js.map +0 -13
  366. package/lib/components/ChainedCheckboxes.js.map +0 -13
  367. package/lib/components/Checkboxes.js +0 -101
  368. package/lib/components/Checkboxes.js.map +0 -13
  369. package/lib/components/ListCheckboxes.d.ts +0 -739
  370. package/lib/components/ListCheckboxes.js +0 -48
  371. package/lib/components/ListCheckboxes.js.map +0 -13
  372. package/lib/components/ListRadios.d.ts +0 -763
  373. package/lib/components/ListRadios.js +0 -86
  374. package/lib/components/ListRadios.js.map +0 -13
  375. package/lib/components/TableCheckboxes.js.map +0 -13
  376. package/lib/components/TreeCheckboxes.js.map +0 -13
  377. package/lib/components/TreeRadios.d.ts +0 -838
  378. package/lib/components/TreeRadios.js +0 -116
  379. package/lib/components/TreeRadios.js.map +0 -13
  380. package/src/components/ListRadios.tsx +0 -159
  381. package/src/components/TreeRadios.tsx +0 -202
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ /**
3
+ * @file Checkboxes
4
+ * @description 多选输入框
5
+ * @author fex
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.Selection = exports.BaseSelection = void 0;
9
+ var tslib_1 = require("tslib");
10
+ var react_1 = (0, tslib_1.__importDefault)(require("react"));
11
+ var uncontrollable_1 = require("uncontrollable");
12
+ var Checkbox_1 = (0, tslib_1.__importDefault)(require("./Checkbox"));
13
+ var theme_1 = require("../theme");
14
+ var helper_1 = require("../utils/helper");
15
+ var isEqual_1 = (0, tslib_1.__importDefault)(require("lodash/isEqual"));
16
+ var locale_1 = require("../locale");
17
+ var BaseSelection = /** @class */ (function (_super) {
18
+ (0, tslib_1.__extends)(BaseSelection, _super);
19
+ function BaseSelection() {
20
+ return _super !== null && _super.apply(this, arguments) || this;
21
+ }
22
+ BaseSelection.value2array = function (value, options, option2value) {
23
+ if (option2value === void 0) { option2value = function (option) { return option; }; }
24
+ if (value === void 0) {
25
+ return [];
26
+ }
27
+ if (!Array.isArray(value)) {
28
+ value = [value];
29
+ }
30
+ return value.map(function (value) {
31
+ var option = (0, helper_1.findTree)(options, function (option) {
32
+ return (0, isEqual_1.default)(option2value(option), value);
33
+ });
34
+ return option || value;
35
+ });
36
+ };
37
+ BaseSelection.resolveSelected = function (value, options, option2value) {
38
+ if (option2value === void 0) { option2value = function (option) { return option; }; }
39
+ value = Array.isArray(value) ? value[0] : value;
40
+ return (0, helper_1.findTree)(options, function (option) { return (0, isEqual_1.default)(option2value(option), value); });
41
+ };
42
+ // 获取两个数组的交集
43
+ BaseSelection.prototype.intersectArray = function (arr1, arr2) {
44
+ if (!Array.isArray(arr1) || !Array.isArray(arr2)) {
45
+ return [];
46
+ }
47
+ var len1 = arr1.length;
48
+ var len2 = arr2.length;
49
+ if (len1 < len2) {
50
+ return this.intersectArray(arr2, arr1);
51
+ }
52
+ return Array.from(new Set(arr1.filter(function (item) { return arr2.includes(item); })));
53
+ };
54
+ BaseSelection.prototype.toggleOption = function (option) {
55
+ var _a = this.props, value = _a.value, onChange = _a.onChange, option2value = _a.option2value, options = _a.options, disabled = _a.disabled, multiple = _a.multiple, clearable = _a.clearable;
56
+ if (disabled || option.disabled) {
57
+ return;
58
+ }
59
+ var valueArray = BaseSelection.value2array(value, options, option2value);
60
+ var idx = valueArray.indexOf(option);
61
+ if (~idx && (multiple || clearable)) {
62
+ valueArray.splice(idx, 1);
63
+ }
64
+ else if (multiple) {
65
+ valueArray.push(option);
66
+ }
67
+ else {
68
+ valueArray = [option];
69
+ }
70
+ var newValue = option2value
71
+ ? valueArray.map(function (item) { return option2value(item); })
72
+ : valueArray;
73
+ onChange && onChange(multiple ? newValue : newValue[0]);
74
+ };
75
+ BaseSelection.prototype.toggleAll = function () {
76
+ var _a = this.props, value = _a.value, onChange = _a.onChange, option2value = _a.option2value, options = _a.options, multiple = _a.multiple;
77
+ if (multiple) {
78
+ return;
79
+ }
80
+ var valueArray = [];
81
+ var availableOptions = options.filter(function (option) { return !option.disabled; });
82
+ var intersectOptions = this.intersectArray(value, availableOptions);
83
+ if (!Array.isArray(value)) {
84
+ valueArray = availableOptions;
85
+ }
86
+ else if (intersectOptions.length < availableOptions.length) {
87
+ valueArray = Array.from(new Set((0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], value, true), availableOptions, true)));
88
+ }
89
+ else {
90
+ valueArray = value.filter(function (item) { return !availableOptions.includes(item); });
91
+ }
92
+ var newValue = option2value
93
+ ? valueArray.map(function (item) { return option2value(item); })
94
+ : valueArray;
95
+ onChange && onChange(newValue);
96
+ };
97
+ BaseSelection.prototype.render = function () {
98
+ var _this = this;
99
+ var _a = this.props, value = _a.value, options = _a.options, className = _a.className, placeholder = _a.placeholder, inline = _a.inline, labelClassName = _a.labelClassName, disabled = _a.disabled, cx = _a.classnames, option2value = _a.option2value, itemClassName = _a.itemClassName, itemRender = _a.itemRender, multiple = _a.multiple, onClick = _a.onClick;
100
+ var __ = this.props.translate;
101
+ var valueArray = BaseSelection.value2array(value, options, option2value);
102
+ var body = [];
103
+ if (Array.isArray(options) && options.length) {
104
+ body = options.map(function (option, key) { return (react_1.default.createElement(Checkbox_1.default, { type: multiple ? 'checkbox' : 'radio', className: cx(itemClassName, option.className), key: key, onChange: function () { return _this.toggleOption(option); }, checked: !!~valueArray.indexOf(option), disabled: disabled || option.disabled, labelClassName: labelClassName, description: option.description }, itemRender(option))); });
105
+ }
106
+ return (react_1.default.createElement("div", { className: cx('Selection', className, inline ? 'Selection--inline' : ''), onClick: onClick }, body && body.length ? body : react_1.default.createElement("div", null, __(placeholder))));
107
+ };
108
+ BaseSelection.defaultProps = {
109
+ placeholder: 'placeholder.noOption',
110
+ itemRender: function (option) { return react_1.default.createElement("span", null, option.label); },
111
+ multiple: true,
112
+ clearable: true
113
+ };
114
+ (0, tslib_1.__decorate)([
115
+ helper_1.autobind,
116
+ (0, tslib_1.__metadata)("design:type", Function),
117
+ (0, tslib_1.__metadata)("design:paramtypes", []),
118
+ (0, tslib_1.__metadata)("design:returntype", void 0)
119
+ ], BaseSelection.prototype, "toggleAll", null);
120
+ return BaseSelection;
121
+ }(react_1.default.Component));
122
+ exports.BaseSelection = BaseSelection;
123
+ var Selection = /** @class */ (function (_super) {
124
+ (0, tslib_1.__extends)(Selection, _super);
125
+ function Selection() {
126
+ return _super !== null && _super.apply(this, arguments) || this;
127
+ }
128
+ return Selection;
129
+ }(BaseSelection));
130
+ exports.Selection = Selection;
131
+ exports.default = (0, theme_1.themeable)((0, locale_1.localeable)((0, uncontrollable_1.uncontrollable)(Selection, {
132
+ value: 'onChange'
133
+ })));
134
+ //# sourceMappingURL=./components/Selection.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "Selection.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/components/Selection.tsx"
7
+ ],
8
+ "names": [],
9
+ "mappings": "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",
10
+ "sourcesContent": [
11
+ "/**\n * @file Checkboxes\n * @description 多选输入框\n * @author fex\n */\n\nimport React from 'react';\nimport {uncontrollable} from 'uncontrollable';\nimport Checkbox from './Checkbox';\nimport chunk from 'lodash/chunk';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nimport {Option, value2array, Options} from './Select';\nimport find from 'lodash/find';\nimport {autobind, findTree} from '../utils/helper';\nimport isEqual from 'lodash/isEqual';\nimport {LocaleProps, localeable} from '../locale';\n// import isPlainObject from 'lodash/isPlainObject';\n\nexport interface BaseSelectionProps extends ThemeProps, LocaleProps {\n options: Options;\n className?: string;\n placeholder?: string;\n value?: any | Array<any>;\n multiple?: boolean;\n clearable?: boolean;\n onChange?: (value: Array<any> | any) => void;\n onDeferLoad?: (option: Option) => void;\n inline?: boolean;\n labelClassName?: string;\n option2value?: (option: Option) => any;\n itemClassName?: string;\n itemRender: (option: Option) => JSX.Element;\n disabled?: boolean;\n onClick?: (e: React.MouseEvent) => void;\n}\n\nexport class BaseSelection<\n T extends BaseSelectionProps = BaseSelectionProps,\n S = any\n> extends React.Component<T, S> {\n static defaultProps = {\n placeholder: 'placeholder.noOption',\n itemRender: (option: Option) => <span>{option.label}</span>,\n multiple: true,\n clearable: true\n };\n\n static value2array(\n value: any,\n options: Options,\n option2value: (option: Option) => any = (option: Option) => option\n ): Options {\n if (value === void 0) {\n return [];\n }\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n return value.map((value: any) => {\n const option = findTree(options, option =>\n isEqual(option2value(option), value)\n );\n return option || value;\n });\n }\n\n static resolveSelected(\n value: any,\n options: Options,\n option2value: (option: Option) => any = (option: Option) => option\n ) {\n value = Array.isArray(value) ? value[0] : value;\n return findTree(options, option => isEqual(option2value(option), value));\n }\n\n // 获取两个数组的交集\n intersectArray(\n arr1: undefined | Array<Option>,\n arr2: undefined | Array<Option>\n ): Array<Option> {\n if (!Array.isArray(arr1) || !Array.isArray(arr2)) {\n return [];\n }\n const len1 = arr1.length;\n const len2 = arr2.length;\n if (len1 < len2) {\n return this.intersectArray(arr2, arr1);\n }\n return Array.from(new Set(arr1.filter(item => arr2.includes(item))));\n }\n\n toggleOption(option: Option) {\n const {\n value,\n onChange,\n option2value,\n options,\n disabled,\n multiple,\n clearable\n } = this.props;\n\n if (disabled || option.disabled) {\n return;\n }\n\n let valueArray = BaseSelection.value2array(value, options, option2value);\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 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 @autobind\n toggleAll() {\n const {value, onChange, option2value, options, multiple} = this.props;\n if (multiple) {\n return;\n }\n\n let valueArray: Array<Option> = [];\n\n const availableOptions = options.filter(option => !option.disabled);\n const intersectOptions = this.intersectArray(value, availableOptions);\n\n if (!Array.isArray(value)) {\n valueArray = availableOptions;\n } else if (intersectOptions.length < availableOptions.length) {\n valueArray = Array.from(new Set([...value, ...availableOptions]));\n } else {\n valueArray = value.filter(item => !availableOptions.includes(item));\n }\n\n let newValue: string | Array<Option> = option2value\n ? valueArray.map(item => option2value(item))\n : valueArray;\n\n onChange && onChange(newValue);\n }\n\n render() {\n const {\n value,\n options,\n className,\n placeholder,\n inline,\n labelClassName,\n disabled,\n classnames: cx,\n option2value,\n itemClassName,\n itemRender,\n multiple,\n onClick\n } = this.props;\n\n const __ = this.props.translate;\n\n let 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) => (\n <Checkbox\n type={multiple ? 'checkbox' : 'radio'}\n className={cx(itemClassName, option.className)}\n key={key}\n onChange={() => this.toggleOption(option)}\n checked={!!~valueArray.indexOf(option)}\n disabled={disabled || option.disabled}\n labelClassName={labelClassName}\n description={option.description}\n >\n {itemRender(option)}\n </Checkbox>\n ));\n }\n\n return (\n <div\n className={cx(\n 'Selection',\n className,\n inline ? 'Selection--inline' : ''\n )}\n onClick={onClick}\n >\n {body && body.length ? body : <div>{__(placeholder)}</div>}\n </div>\n );\n }\n}\n\nexport class Selection extends BaseSelection {}\n\nexport default themeable(\n localeable(\n uncontrollable(Selection, {\n value: 'onChange'\n })\n )\n);\n"
12
+ ]
13
+ }