amis 1.4.2-beta.1 → 1.4.2-beta.15

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 (449) hide show
  1. package/lib/Schema.d.ts +11 -3
  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/Checkbox.d.ts +20 -20
  16. package/lib/components/Collapse.d.ts +51 -23
  17. package/lib/components/Collapse.js +69 -11
  18. package/lib/components/Collapse.js.map +2 -2
  19. package/lib/components/CollapseGroup.d.ts +88 -0
  20. package/lib/components/CollapseGroup.js +81 -0
  21. package/lib/components/CollapseGroup.js.map +13 -0
  22. package/lib/components/ColorPicker.d.ts +84 -84
  23. package/lib/components/DatePicker.d.ts +84 -84
  24. package/lib/components/DateRangePicker.d.ts +84 -84
  25. package/lib/components/Editor.d.ts +84 -84
  26. package/lib/components/GridNav.d.ts +52 -0
  27. package/lib/components/GridNav.js +123 -0
  28. package/lib/components/GridNav.js.map +13 -0
  29. package/lib/components/GroupedSelection.d.ts +907 -0
  30. package/lib/components/GroupedSelection.js +48 -0
  31. package/lib/components/GroupedSelection.js.map +13 -0
  32. package/lib/components/InputBox.d.ts +22 -21
  33. package/lib/components/InputBox.js +10 -2
  34. package/lib/components/InputBox.js.map +2 -2
  35. package/lib/components/Link.d.ts +29 -36
  36. package/lib/components/Link.js +14 -15
  37. package/lib/components/Link.js.map +2 -2
  38. package/lib/components/ListGroup.d.ts +21 -21
  39. package/lib/components/ModalManager.js +1 -1
  40. package/lib/components/ModalManager.js.map +2 -2
  41. package/lib/components/MonthRangePicker.d.ts +84 -84
  42. package/lib/components/NumberInput.d.ts +20 -20
  43. package/lib/components/PickerColumn.d.ts +514 -0
  44. package/lib/components/PickerColumn.js +279 -0
  45. package/lib/components/PickerColumn.js.map +13 -0
  46. package/lib/components/PickerContainer.d.ts +513 -0
  47. package/lib/components/PickerContainer.js +96 -0
  48. package/lib/components/PickerContainer.js.map +13 -0
  49. package/lib/components/Radios.d.ts +22 -21
  50. package/lib/components/Radios.js +1 -0
  51. package/lib/components/Radios.js.map +2 -2
  52. package/lib/components/Rating.d.ts +21 -21
  53. package/lib/components/ResultBox.d.ts +84 -84
  54. package/lib/components/ResultBox.js +10 -2
  55. package/lib/components/ResultBox.js.map +2 -2
  56. package/lib/components/SearchBox.d.ts +84 -84
  57. package/lib/components/SearchBox.js +4 -4
  58. package/lib/components/SearchBox.js.map +2 -2
  59. package/lib/components/Select.d.ts +245 -237
  60. package/lib/components/Select.js +25 -4
  61. package/lib/components/Select.js.map +2 -2
  62. package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
  63. package/lib/components/Selection.js +134 -0
  64. package/lib/components/Selection.js.map +13 -0
  65. package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
  66. package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
  67. package/lib/components/TableSelection.js.map +13 -0
  68. package/lib/components/Tabs.d.ts +20 -20
  69. package/lib/components/TabsTransfer.d.ts +84 -84
  70. package/lib/components/TabsTransfer.js +9 -9
  71. package/lib/components/TabsTransfer.js.map +2 -2
  72. package/lib/components/TabsTransferPicker.d.ts +489 -0
  73. package/lib/components/TabsTransferPicker.js +60 -0
  74. package/lib/components/TabsTransferPicker.js.map +13 -0
  75. package/lib/components/Toast.d.ts +86 -85
  76. package/lib/components/Toast.js +6 -3
  77. package/lib/components/Toast.js.map +2 -2
  78. package/lib/components/Transfer.d.ts +908 -274
  79. package/lib/components/Transfer.js +31 -24
  80. package/lib/components/Transfer.js.map +2 -2
  81. package/lib/components/TransferDropDown.d.ts +488 -0
  82. package/lib/components/TransferDropDown.js +59 -0
  83. package/lib/components/TransferDropDown.js.map +13 -0
  84. package/lib/components/TransferPicker.d.ts +493 -0
  85. package/lib/components/TransferPicker.js +60 -0
  86. package/lib/components/TransferPicker.js.map +13 -0
  87. package/lib/components/Tree.d.ts +115 -84
  88. package/lib/components/Tree.js +183 -30
  89. package/lib/components/Tree.js.map +2 -2
  90. package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
  91. package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
  92. package/lib/components/TreeSelection.js.map +13 -0
  93. package/lib/components/WithRemoteConfig.js +1 -1
  94. package/lib/components/WithRemoteConfig.js.map +2 -2
  95. package/lib/components/condition-builder/Field.js +5 -2
  96. package/lib/components/condition-builder/Field.js.map +2 -2
  97. package/lib/components/condition-builder/Func.js +2 -2
  98. package/lib/components/condition-builder/Func.js.map +2 -2
  99. package/lib/components/condition-builder/InputSwitch.js +2 -2
  100. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  101. package/lib/components/condition-builder/Item.js +3 -3
  102. package/lib/components/condition-builder/Item.js.map +2 -2
  103. package/lib/components/icons.js +2 -0
  104. package/lib/components/icons.js.map +2 -2
  105. package/lib/components/index.d.ts +8 -8
  106. package/lib/components/index.js +16 -16
  107. package/lib/components/index.js.map +2 -2
  108. package/lib/envOverwrite.d.ts +1 -1
  109. package/lib/envOverwrite.js +24 -9
  110. package/lib/envOverwrite.js.map +2 -2
  111. package/lib/factory.d.ts +15 -1
  112. package/lib/factory.js +35 -6
  113. package/lib/factory.js.map +2 -2
  114. package/lib/helper.css.map +1 -1
  115. package/lib/hooks/index.d.ts +5 -0
  116. package/lib/hooks/index.js +14 -0
  117. package/lib/hooks/index.js.map +13 -0
  118. package/lib/hooks/use-set-state.d.ts +2 -0
  119. package/lib/hooks/use-set-state.js +15 -0
  120. package/lib/hooks/use-set-state.js.map +13 -0
  121. package/lib/hooks/use-touch.d.ts +16 -0
  122. package/lib/hooks/use-touch.js +73 -0
  123. package/lib/hooks/use-touch.js.map +13 -0
  124. package/lib/hooks/use-update-effect.d.ts +3 -0
  125. package/lib/hooks/use-update-effect.js +17 -0
  126. package/lib/hooks/use-update-effect.js.map +13 -0
  127. package/lib/icons/download.js +7 -0
  128. package/lib/icons/drag-bar.js +10 -3
  129. package/lib/index.d.ts +5 -0
  130. package/lib/index.js +6 -1
  131. package/lib/index.js.map +2 -2
  132. package/lib/locale/de-DE.js +2 -0
  133. package/lib/locale/de-DE.js.map +2 -2
  134. package/lib/locale/en-US.js +3 -0
  135. package/lib/locale/en-US.js.map +2 -2
  136. package/lib/locale/zh-CN.js +5 -2
  137. package/lib/locale/zh-CN.js.map +2 -2
  138. package/lib/renderers/Action.d.ts +4 -3
  139. package/lib/renderers/Action.js +17 -4
  140. package/lib/renderers/Action.js.map +2 -2
  141. package/lib/renderers/AnchorNav.d.ts +1 -0
  142. package/lib/renderers/AnchorNav.js +2 -2
  143. package/lib/renderers/AnchorNav.js.map +2 -2
  144. package/lib/renderers/Avatar.js +3 -3
  145. package/lib/renderers/Avatar.js.map +2 -2
  146. package/lib/renderers/Breadcrumb.js +1 -1
  147. package/lib/renderers/Breadcrumb.js.map +2 -2
  148. package/lib/renderers/CRUD.d.ts +9 -0
  149. package/lib/renderers/CRUD.js +24 -4
  150. package/lib/renderers/CRUD.js.map +2 -2
  151. package/lib/renderers/Card.d.ts +4 -0
  152. package/lib/renderers/Card.js +29 -23
  153. package/lib/renderers/Card.js.map +2 -2
  154. package/lib/renderers/Chart.js +1 -1
  155. package/lib/renderers/Chart.js.map +2 -2
  156. package/lib/renderers/Collapse.d.ts +25 -20
  157. package/lib/renderers/Collapse.js +10 -72
  158. package/lib/renderers/Collapse.js.map +2 -2
  159. package/lib/renderers/CollapseGroup.d.ts +42 -0
  160. package/lib/renderers/CollapseGroup.js +33 -0
  161. package/lib/renderers/CollapseGroup.js.map +13 -0
  162. package/lib/renderers/DropDownButton.js +1 -1
  163. package/lib/renderers/DropDownButton.js.map +2 -2
  164. package/lib/renderers/Form/DiffEditor.d.ts +4 -3
  165. package/lib/renderers/Form/Editor.d.ts +3 -2
  166. package/lib/renderers/Form/InputCity.d.ts +84 -84
  167. package/lib/renderers/Form/InputCity.js +7 -6
  168. package/lib/renderers/Form/InputCity.js.map +2 -2
  169. package/lib/renderers/Form/InputColor.d.ts +84 -84
  170. package/lib/renderers/Form/InputFile.d.ts +6 -0
  171. package/lib/renderers/Form/InputFile.js +28 -8
  172. package/lib/renderers/Form/InputFile.js.map +2 -2
  173. package/lib/renderers/Form/InputImage.js +11 -4
  174. package/lib/renderers/Form/InputImage.js.map +2 -2
  175. package/lib/renderers/Form/Item.d.ts +1 -1
  176. package/lib/renderers/Form/Item.js +2 -1
  177. package/lib/renderers/Form/Item.js.map +2 -2
  178. package/lib/renderers/Form/Options.js +13 -3
  179. package/lib/renderers/Form/Options.js.map +2 -2
  180. package/lib/renderers/Form/Select.d.ts +42 -4
  181. package/lib/renderers/Form/Select.js +37 -3
  182. package/lib/renderers/Form/Select.js.map +2 -2
  183. package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
  184. package/lib/renderers/Form/TabsTransferPicker.js +29 -0
  185. package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
  186. package/lib/renderers/Form/Transfer.js +18 -3
  187. package/lib/renderers/Form/Transfer.js.map +2 -2
  188. package/lib/renderers/Form/TransferPicker.d.ts +52 -0
  189. package/lib/renderers/Form/TransferPicker.js +43 -0
  190. package/lib/renderers/Form/TransferPicker.js.map +13 -0
  191. package/lib/renderers/Form/TreeSelect.js +2 -2
  192. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  193. package/lib/renderers/Form/index.d.ts +5 -0
  194. package/lib/renderers/Form/index.js +5 -3
  195. package/lib/renderers/Form/index.js.map +2 -2
  196. package/lib/renderers/Form/wrapControl.js +13 -1
  197. package/lib/renderers/Form/wrapControl.js.map +2 -2
  198. package/lib/renderers/GridNav.d.ts +99 -0
  199. package/lib/renderers/GridNav.js +82 -0
  200. package/lib/renderers/GridNav.js.map +13 -0
  201. package/lib/renderers/IFrame.js +1 -3
  202. package/lib/renderers/IFrame.js.map +2 -2
  203. package/lib/renderers/Json.d.ts +4 -0
  204. package/lib/renderers/Json.js +4 -13
  205. package/lib/renderers/Json.js.map +2 -2
  206. package/lib/renderers/Link.d.ts +4 -2
  207. package/lib/renderers/Link.js +15 -6
  208. package/lib/renderers/Link.js.map +2 -2
  209. package/lib/renderers/List.js +1 -1
  210. package/lib/renderers/List.js.map +2 -2
  211. package/lib/renderers/Mapping.d.ts +9 -2
  212. package/lib/renderers/Mapping.js +18 -6
  213. package/lib/renderers/Mapping.js.map +2 -2
  214. package/lib/renderers/Nav.d.ts +21 -21
  215. package/lib/renderers/Nav.js +39 -21
  216. package/lib/renderers/Nav.js.map +2 -2
  217. package/lib/renderers/Portlet.d.ts +125 -0
  218. package/lib/renderers/Portlet.js +156 -0
  219. package/lib/renderers/Portlet.js.map +13 -0
  220. package/lib/renderers/Property.js +2 -1
  221. package/lib/renderers/Property.js.map +2 -2
  222. package/lib/renderers/SearchBox.d.ts +6 -1
  223. package/lib/renderers/SearchBox.js +19 -5
  224. package/lib/renderers/SearchBox.js.map +2 -2
  225. package/lib/renderers/Table/TableContent.d.ts +4 -1
  226. package/lib/renderers/Table/TableContent.js +21 -1
  227. package/lib/renderers/Table/TableContent.js.map +2 -2
  228. package/lib/renderers/Table/index.d.ts +5 -1
  229. package/lib/renderers/Table/index.js +65 -30
  230. package/lib/renderers/Table/index.js.map +2 -2
  231. package/lib/renderers/Tabs.js +9 -1
  232. package/lib/renderers/Tabs.js.map +2 -2
  233. package/lib/renderers/WebComponent.js +1 -1
  234. package/lib/renderers/WebComponent.js.map +2 -2
  235. package/lib/store/combo.d.ts +2 -16
  236. package/lib/store/crud.js +3 -7
  237. package/lib/store/crud.js.map +2 -2
  238. package/lib/store/form.d.ts +1 -1
  239. package/lib/store/form.js +5 -6
  240. package/lib/store/form.js.map +2 -2
  241. package/lib/store/formItem.js +44 -4
  242. package/lib/store/formItem.js.map +2 -2
  243. package/lib/store/service.js +5 -4
  244. package/lib/store/service.js.map +2 -2
  245. package/lib/store/table.d.ts +3 -2
  246. package/lib/store/table.js +35 -12
  247. package/lib/store/table.js.map +2 -2
  248. package/lib/themes/ang-ie11.css +689 -175
  249. package/lib/themes/ang.css +689 -175
  250. package/lib/themes/ang.css.map +1 -1
  251. package/lib/themes/antd-ie11.css +689 -175
  252. package/lib/themes/antd.css +689 -175
  253. package/lib/themes/antd.css.map +1 -1
  254. package/lib/themes/cxd-ie11.css +728 -213
  255. package/lib/themes/cxd.css +728 -213
  256. package/lib/themes/cxd.css.map +1 -1
  257. package/lib/themes/dark-ie11.css +689 -175
  258. package/lib/themes/dark.css +689 -175
  259. package/lib/themes/dark.css.map +1 -1
  260. package/lib/themes/default.css +728 -213
  261. package/lib/themes/default.css.map +1 -1
  262. package/lib/types.d.ts +38 -1
  263. package/lib/types.js +0 -5
  264. package/lib/types.js.map +2 -2
  265. package/lib/utils/api.d.ts +4 -2
  266. package/lib/utils/api.js +104 -17
  267. package/lib/utils/api.js.map +2 -2
  268. package/lib/utils/dom.d.ts +4 -0
  269. package/lib/utils/dom.js +11 -1
  270. package/lib/utils/dom.js.map +2 -2
  271. package/lib/utils/helper.d.ts +8 -0
  272. package/lib/utils/helper.js +28 -2
  273. package/lib/utils/helper.js.map +2 -2
  274. package/lib/utils/icon.js +3 -0
  275. package/lib/utils/icon.js.map +2 -2
  276. package/package.json +1 -1
  277. package/schema.json +3326 -836
  278. package/scss/_mixins.scss +1 -3
  279. package/scss/_properties.scss +25 -1
  280. package/scss/base/_common.scss +3 -0
  281. package/scss/base/_normalize.scss +2 -0
  282. package/scss/components/_anchor-nav.scss +89 -29
  283. package/scss/components/_card.scss +8 -14
  284. package/scss/components/_collapse-group.scss +11 -0
  285. package/scss/components/_collapse.scss +48 -22
  286. package/scss/components/_grid-nav.scss +128 -0
  287. package/scss/components/_input-box.scss +1 -0
  288. package/scss/components/_mapping.scss +6 -0
  289. package/scss/components/_nav.scss +2 -2
  290. package/scss/components/_picker-columns.scss +124 -0
  291. package/scss/components/_popover.scss +13 -0
  292. package/scss/components/_portlet.scss +51 -0
  293. package/scss/components/_result-box.scss +1 -0
  294. package/scss/components/_spinner.scss +5 -4
  295. package/scss/components/_status.scss +1 -1
  296. package/scss/components/_table.scss +32 -0
  297. package/scss/components/form/_checks.scss +0 -351
  298. package/scss/components/form/_combo.scss +4 -0
  299. package/scss/components/form/_fieldset.scss +5 -1
  300. package/scss/components/form/_file.scss +11 -0
  301. package/scss/components/form/_form.scss +48 -0
  302. package/scss/components/form/_selection.scss +354 -0
  303. package/scss/components/form/_transfer.scss +75 -18
  304. package/scss/components/form/_tree.scss +42 -0
  305. package/scss/themes/_common.scss +7 -0
  306. package/scss/themes/_cxd-variables.scss +8 -6
  307. package/scss/themes/cxd.scss +17 -12
  308. package/sdk/ang-ie11.css +786 -196
  309. package/sdk/ang.css +820 -213
  310. package/sdk/antd-ie11.css +786 -196
  311. package/sdk/antd.css +820 -213
  312. package/sdk/charts.js +13 -13
  313. package/sdk/color-picker.js +65 -69
  314. package/sdk/cropperjs.js +2 -2
  315. package/sdk/cxd-ie11.css +825 -236
  316. package/sdk/cxd.css +862 -254
  317. package/sdk/dark-ie11.css +787 -197
  318. package/sdk/dark.css +820 -213
  319. package/sdk/exceljs.js +1 -1
  320. package/sdk/helper.css.map +1 -1
  321. package/sdk/iconfont.svg +2513 -0
  322. package/sdk/iconfont.ttf +0 -0
  323. package/sdk/iconfont.woff +0 -0
  324. package/sdk/locale/de-DE.js +2 -0
  325. package/sdk/markdown.js +69 -69
  326. package/sdk/papaparse.js +1 -1
  327. package/sdk/renderers/Form/CityDB.js +1 -1
  328. package/sdk/rest.js +20 -28
  329. package/sdk/rich-text.js +62 -62
  330. package/sdk/sdk-ie11.css +825 -236
  331. package/sdk/sdk.css +862 -254
  332. package/sdk/sdk.js +1243 -1175
  333. package/sdk/thirds/hls.js/hls.js +1 -1
  334. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  335. package/sdk/tinymce.js +57 -57
  336. package/src/Schema.ts +19 -1
  337. package/src/components/AnchorNav.tsx +15 -4
  338. package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +43 -37
  339. package/src/components/Badge.tsx +3 -3
  340. package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
  341. package/src/components/Collapse.tsx +144 -20
  342. package/src/components/CollapseGroup.tsx +130 -0
  343. package/src/components/GridNav.tsx +233 -0
  344. package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
  345. package/src/components/InputBox.tsx +10 -9
  346. package/src/components/Link.tsx +28 -37
  347. package/src/components/ModalManager.ts +1 -1
  348. package/src/components/PickerColumn.tsx +429 -0
  349. package/src/components/PickerContainer.tsx +128 -0
  350. package/src/components/Radios.tsx +3 -8
  351. package/src/components/ResultBox.tsx +9 -9
  352. package/src/components/SearchBox.tsx +4 -5
  353. package/src/components/Select.tsx +57 -5
  354. package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
  355. package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
  356. package/src/components/TabsTransfer.tsx +13 -7
  357. package/src/components/TabsTransferPicker.tsx +85 -0
  358. package/src/components/Toast.tsx +23 -16
  359. package/src/components/Transfer.tsx +71 -50
  360. package/src/components/TransferDropDown.tsx +120 -0
  361. package/src/components/TransferPicker.tsx +91 -0
  362. package/src/components/Tree.tsx +194 -8
  363. package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
  364. package/src/components/WithRemoteConfig.tsx +7 -2
  365. package/src/components/condition-builder/Field.tsx +5 -5
  366. package/src/components/condition-builder/Func.tsx +3 -3
  367. package/src/components/condition-builder/InputSwitch.tsx +3 -3
  368. package/src/components/condition-builder/Item.tsx +5 -12
  369. package/src/components/icons.tsx +2 -0
  370. package/src/components/index.tsx +13 -13
  371. package/src/envOverwrite.ts +20 -8
  372. package/src/factory.tsx +70 -9
  373. package/src/hooks/index.ts +5 -0
  374. package/src/hooks/use-set-state.ts +19 -0
  375. package/src/hooks/use-touch.ts +100 -0
  376. package/src/hooks/use-update-effect.ts +16 -0
  377. package/src/icons/download.svg +4 -0
  378. package/src/icons/drag-bar.svg +12 -6
  379. package/src/index.tsx +5 -0
  380. package/src/locale/de-DE.ts +2 -0
  381. package/src/locale/en-US.ts +3 -0
  382. package/src/locale/zh-CN.ts +5 -2
  383. package/src/renderers/Action.tsx +28 -2
  384. package/src/renderers/AnchorNav.tsx +4 -0
  385. package/src/renderers/Avatar.tsx +8 -4
  386. package/src/renderers/Breadcrumb.tsx +5 -1
  387. package/src/renderers/CRUD.tsx +33 -3
  388. package/src/renderers/Card.tsx +63 -34
  389. package/src/renderers/Chart.tsx +6 -2
  390. package/src/renderers/Collapse.tsx +70 -115
  391. package/src/renderers/CollapseGroup.tsx +80 -0
  392. package/src/renderers/DropDownButton.tsx +1 -1
  393. package/src/renderers/Form/InputCity.tsx +4 -8
  394. package/src/renderers/Form/InputFile.tsx +65 -24
  395. package/src/renderers/Form/InputImage.tsx +11 -3
  396. package/src/renderers/Form/Item.tsx +3 -2
  397. package/src/renderers/Form/Options.tsx +16 -2
  398. package/src/renderers/Form/Select.tsx +162 -21
  399. package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
  400. package/src/renderers/Form/Transfer.tsx +19 -4
  401. package/src/renderers/Form/TransferPicker.tsx +145 -0
  402. package/src/renderers/Form/TreeSelect.tsx +25 -0
  403. package/src/renderers/Form/index.tsx +15 -2
  404. package/src/renderers/Form/wrapControl.tsx +26 -1
  405. package/src/renderers/GridNav.tsx +204 -0
  406. package/src/renderers/IFrame.tsx +2 -4
  407. package/src/renderers/Json.tsx +9 -9
  408. package/src/renderers/Link.tsx +27 -13
  409. package/src/renderers/List.tsx +1 -1
  410. package/src/renderers/Mapping.tsx +27 -11
  411. package/src/renderers/Nav.tsx +108 -60
  412. package/src/renderers/Portlet.tsx +423 -0
  413. package/src/renderers/Property.tsx +3 -2
  414. package/src/renderers/SearchBox.tsx +23 -4
  415. package/src/renderers/Table/TableContent.tsx +40 -2
  416. package/src/renderers/Table/index.tsx +88 -43
  417. package/src/renderers/Tabs.tsx +9 -1
  418. package/src/renderers/WebComponent.tsx +2 -2
  419. package/src/store/crud.ts +3 -8
  420. package/src/store/form.ts +5 -10
  421. package/src/store/formItem.ts +94 -2
  422. package/src/store/service.ts +5 -4
  423. package/src/store/table.ts +55 -14
  424. package/src/types.ts +58 -1
  425. package/src/utils/api.ts +133 -26
  426. package/src/utils/dom.tsx +12 -0
  427. package/src/utils/helper.ts +27 -0
  428. package/src/utils/icon.tsx +4 -0
  429. package/tsconfig-for-declaration.json +1 -1
  430. package/dump.rdb +0 -0
  431. package/lib/components/AssociatedCheckboxes.d.ts +0 -762
  432. package/lib/components/AssociatedCheckboxes.js +0 -90
  433. package/lib/components/AssociatedCheckboxes.js.map +0 -13
  434. package/lib/components/ChainedCheckboxes.js.map +0 -13
  435. package/lib/components/Checkboxes.js +0 -101
  436. package/lib/components/Checkboxes.js.map +0 -13
  437. package/lib/components/ListCheckboxes.d.ts +0 -739
  438. package/lib/components/ListCheckboxes.js +0 -48
  439. package/lib/components/ListCheckboxes.js.map +0 -13
  440. package/lib/components/ListRadios.d.ts +0 -763
  441. package/lib/components/ListRadios.js +0 -86
  442. package/lib/components/ListRadios.js.map +0 -13
  443. package/lib/components/TableCheckboxes.js.map +0 -13
  444. package/lib/components/TreeCheckboxes.js.map +0 -13
  445. package/lib/components/TreeRadios.d.ts +0 -838
  446. package/lib/components/TreeRadios.js +0 -116
  447. package/lib/components/TreeRadios.js.map +0 -13
  448. package/src/components/ListRadios.tsx +0 -159
  449. package/src/components/TreeRadios.tsx +0 -202
@@ -0,0 +1,128 @@
1
+ import React from 'react';
2
+ import {autobind} from '../utils/helper';
3
+ import Overlay from './Overlay';
4
+ import PopOver from './PopOver';
5
+ import {findDOMNode} from 'react-dom';
6
+ import Modal from './Modal';
7
+ import {themeable, ThemeProps} from '../theme';
8
+ import {localeable, LocaleProps} from '../locale';
9
+ import Button from './Button';
10
+
11
+ export interface PickerContainerProps extends ThemeProps, LocaleProps {
12
+ title?: string;
13
+ children: (props: {
14
+ onClick: (e: React.MouseEvent) => void;
15
+ isOpened: boolean;
16
+ }) => JSX.Element;
17
+ popOverRender: (props: {
18
+ onClose: () => void;
19
+ value: any;
20
+ onChange: (value: any) => void;
21
+ }) => JSX.Element;
22
+ value?: any;
23
+ onConfirm?: (value?: any) => void;
24
+ onCancel?: () => void;
25
+ popOverContainer?: any;
26
+ popOverClassName?: string;
27
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
28
+ }
29
+
30
+ export interface PickerContainerState {
31
+ isOpened: boolean;
32
+ value?: any;
33
+ }
34
+
35
+ export class PickerContainer extends React.Component<
36
+ PickerContainerProps,
37
+ PickerContainerState
38
+ > {
39
+ state: PickerContainerState = {
40
+ isOpened: false,
41
+ value: this.props.value
42
+ };
43
+
44
+ componentDidUpdate(prevProps: PickerContainerProps) {
45
+ const props = this.props;
46
+
47
+ if (props.value !== prevProps.value) {
48
+ this.setState({
49
+ value: props.value
50
+ });
51
+ }
52
+ }
53
+
54
+ @autobind
55
+ handleClick() {
56
+ this.setState({
57
+ isOpened: true
58
+ });
59
+ }
60
+
61
+ @autobind
62
+ close(e?: any, callback?: () => void) {
63
+ this.setState(
64
+ {
65
+ isOpened: false
66
+ },
67
+ callback || (() => this.props.onCancel?.())
68
+ );
69
+ }
70
+
71
+ @autobind
72
+ handleChange(value: any) {
73
+ this.setState({
74
+ value
75
+ });
76
+ }
77
+
78
+ @autobind
79
+ confirm() {
80
+ const {onConfirm} = this.props;
81
+
82
+ this.close(undefined, () => onConfirm?.(this.state.value));
83
+ }
84
+
85
+ render() {
86
+ const {
87
+ children,
88
+ popOverRender: dropdownRender,
89
+ title,
90
+ translate: __,
91
+ size
92
+ } = this.props;
93
+ return (
94
+ <>
95
+ {children({
96
+ isOpened: this.state.isOpened,
97
+ onClick: this.handleClick
98
+ })}
99
+
100
+ <Modal
101
+ size={size}
102
+ closeOnEsc
103
+ show={this.state.isOpened}
104
+ onHide={this.close}
105
+ >
106
+ <Modal.Header onClose={this.close}>
107
+ {__(title || 'Select.placeholder')}
108
+ </Modal.Header>
109
+ <Modal.Body>
110
+ {dropdownRender({
111
+ onClose: this.close,
112
+ value: this.state.value,
113
+ onChange: this.handleChange
114
+ })}
115
+ </Modal.Body>
116
+ <Modal.Footer>
117
+ <Button onClick={this.close}>{__('cancel')}</Button>
118
+ <Button onClick={this.confirm} level="primary">
119
+ {__('confirm')}
120
+ </Button>
121
+ </Modal.Footer>
122
+ </Modal>
123
+ </>
124
+ );
125
+ }
126
+ }
127
+
128
+ export default themeable(localeable(PickerContainer));
@@ -11,6 +11,7 @@
11
11
  * disabled: false
12
12
  * }
13
13
  * ]
14
+ *
14
15
  */
15
16
 
16
17
  import React from 'react';
@@ -48,14 +49,8 @@ export class Radios extends React.Component<RadioProps, any> {
48
49
  };
49
50
 
50
51
  toggleOption(option: Option) {
51
- const {
52
- value,
53
- onChange,
54
- valueField,
55
- clearable,
56
- delimiter,
57
- options
58
- } = this.props;
52
+ const {value, onChange, valueField, clearable, delimiter, options} =
53
+ this.props;
59
54
 
60
55
  let valueArray = value2array(value, {
61
56
  multiple: false,
@@ -4,7 +4,7 @@ import {InputBoxProps} from './InputBox';
4
4
  import {uncontrollable} from 'uncontrollable';
5
5
  import {Icon} from './icons';
6
6
  import Input from './Input';
7
- import {autobind} from '../utils/helper';
7
+ import {autobind, ucFirst} from '../utils/helper';
8
8
  import {LocaleProps, localeable} from '../locale';
9
9
 
10
10
  export interface ResultBoxProps
@@ -113,20 +113,20 @@ export class ResultBox extends React.Component<ResultBoxProps> {
113
113
  onKeyPress,
114
114
  onFocus,
115
115
  onBlur,
116
+ borderMode,
116
117
  ...rest
117
118
  } = this.props;
118
119
  const isFocused = this.state.isFocused;
119
120
 
120
121
  return (
121
122
  <div
122
- className={cx(
123
- 'ResultBox',
124
- className,
125
- isFocused ? 'is-focused' : '',
126
- disabled ? 'is-disabled' : '',
127
- hasError ? 'is-error' : '',
128
- onResultClick ? 'is-clickable' : ''
129
- )}
123
+ className={cx('ResultBox', className, {
124
+ 'is-focused': isFocused,
125
+ 'is-disabled': disabled,
126
+ 'is-error': hasError,
127
+ 'is-clickable': onResultClick,
128
+ [`ResultBox--border${ucFirst(borderMode)}`]: borderMode
129
+ })}
130
130
  onClick={onResultClick}
131
131
  tabIndex={!allowInput && !disabled && onFocus ? 0 : -1}
132
132
  onKeyPress={allowInput ? undefined : onKeyPress}
@@ -54,7 +54,7 @@ export class SearchBox extends React.Component<SearchBoxProps> {
54
54
 
55
55
  @autobind
56
56
  handleCancel() {
57
- const {onActiveChange, onChange, onCancel} = this.props;
57
+ const {onActiveChange, onCancel, onChange} = this.props;
58
58
  onActiveChange?.(false);
59
59
  onCancel?.();
60
60
  onChange?.('');
@@ -62,14 +62,14 @@ export class SearchBox extends React.Component<SearchBoxProps> {
62
62
 
63
63
  @autobind
64
64
  handleChange(e: React.ChangeEvent<HTMLInputElement>) {
65
- const {onChange, onSearch, searchImediately} = this.props;
65
+ const {searchImediately, onChange} = this.props;
66
66
  onChange?.(e.currentTarget.value);
67
67
  searchImediately && this.lazyEmitSearch();
68
68
  }
69
69
 
70
70
  @autobind
71
71
  handleSearch() {
72
- const {value, onSearch} = this.props;
72
+ const {onSearch, value} = this.props;
73
73
  onSearch?.(value || '');
74
74
  }
75
75
 
@@ -84,14 +84,13 @@ export class SearchBox extends React.Component<SearchBoxProps> {
84
84
  render() {
85
85
  const {
86
86
  classnames: cx,
87
- value,
88
87
  active,
89
88
  name,
90
89
  className,
91
- onChange,
92
90
  disabled,
93
91
  placeholder,
94
92
  mini,
93
+ value,
95
94
  translate: __
96
95
  } = this.props;
97
96
 
@@ -20,7 +20,8 @@ import {
20
20
  findTree,
21
21
  autobind,
22
22
  ucFirst,
23
- normalizeNodePath
23
+ normalizeNodePath,
24
+ isMobile
24
25
  } from '../utils/helper';
25
26
  import find from 'lodash/find';
26
27
  import isPlainObject from 'lodash/isPlainObject';
@@ -35,6 +36,7 @@ import {LocaleProps, localeable} from '../locale';
35
36
  import Spinner from './Spinner';
36
37
  import {Option, Options} from '../Schema';
37
38
  import {RemoteOptionsProps, withRemoteConfig} from './WithRemoteConfig';
39
+ import PickerColumn from './PickerColumn';
38
40
 
39
41
  export {Option, Options};
40
42
 
@@ -317,6 +319,7 @@ interface SelectProps extends OptionProps, ThemeProps, LocaleProps {
317
319
  defaultCheckAll?: boolean;
318
320
  simpleValue?: boolean;
319
321
  defaultOpen?: boolean;
322
+ useMobileUI?: boolean;
320
323
 
321
324
  /**
322
325
  * 边框模式,全边框,还是半边框,或者没边框。
@@ -326,6 +329,11 @@ interface SelectProps extends OptionProps, ThemeProps, LocaleProps {
326
329
  * 是否隐藏已选项
327
330
  */
328
331
  hideSelected?: boolean;
332
+
333
+ /**
334
+ * 移动端样式类名
335
+ */
336
+ mobileClassName?: string;
329
337
  }
330
338
 
331
339
  interface SelectState {
@@ -335,6 +343,7 @@ interface SelectState {
335
343
  inputValue: string;
336
344
  highlightedIndex: number;
337
345
  selection: Array<Option>;
346
+ pickerSelectItem: any;
338
347
  }
339
348
 
340
349
  export class Select extends React.Component<SelectProps, SelectState> {
@@ -368,6 +377,8 @@ export class Select extends React.Component<SelectProps, SelectState> {
368
377
 
369
378
  this.open = this.open.bind(this);
370
379
  this.close = this.close.bind(this);
380
+ this.confirm = this.confirm.bind(this);
381
+ this.handlePickerChange = this.handlePickerChange.bind(this);
371
382
  this.toggle = this.toggle.bind(this);
372
383
  this.onBlur = this.onBlur.bind(this);
373
384
  this.onFocus = this.onFocus.bind(this);
@@ -391,7 +402,8 @@ export class Select extends React.Component<SelectProps, SelectState> {
391
402
  inputValue: '',
392
403
  highlightedIndex: -1,
393
404
  selection: value2array(props.value, props),
394
- itemHeight: 35
405
+ itemHeight: 35,
406
+ pickerSelectItem: ''
395
407
  };
396
408
  }
397
409
 
@@ -435,6 +447,14 @@ export class Select extends React.Component<SelectProps, SelectState> {
435
447
  });
436
448
  }
437
449
 
450
+ confirm() {
451
+ // @ts-ignore
452
+ this.handleChange(this.state.pickerSelectItem);
453
+ this.setState({
454
+ isOpen: false
455
+ });
456
+ }
457
+
438
458
  toggle(e?: React.MouseEvent<HTMLDivElement>) {
439
459
  if (
440
460
  e &&
@@ -549,6 +569,16 @@ export class Select extends React.Component<SelectProps, SelectState> {
549
569
  );
550
570
  }
551
571
 
572
+ handlePickerChange(selectItem: any, index: number, confirm: boolean) {
573
+ this.setState({
574
+ pickerSelectItem: selectItem
575
+ });
576
+ // 直接选中选项
577
+ if (confirm) {
578
+ this.handleChange(selectItem);
579
+ }
580
+ }
581
+
552
582
  handleChange(selectItem: any) {
553
583
  const {onChange, multiple, simpleValue, valueField} = this.props;
554
584
  let {selection} = this.state;
@@ -716,6 +746,7 @@ export class Select extends React.Component<SelectProps, SelectState> {
716
746
  const {
717
747
  popOverContainer,
718
748
  options,
749
+ value,
719
750
  valueField,
720
751
  labelField,
721
752
  noResultsText,
@@ -737,7 +768,9 @@ export class Select extends React.Component<SelectProps, SelectState> {
737
768
  overlayPlacement,
738
769
  translate: __,
739
770
  hideSelected,
740
- renderMenu
771
+ renderMenu,
772
+ mobileClassName,
773
+ useMobileUI = false
741
774
  } = this.props;
742
775
  const {selection} = this.state;
743
776
 
@@ -882,7 +915,22 @@ export class Select extends React.Component<SelectProps, SelectState> {
882
915
  );
883
916
  };
884
917
 
885
- const menu = (
918
+ const mobileUI = isMobile() && useMobileUI;
919
+ const menu = mobileUI ? (
920
+ <PickerColumn
921
+ mobileClassName={mobileClassName}
922
+ labelField={'label'}
923
+ readonly={false}
924
+ className={'PickerColumns-column'}
925
+ value={value && value[0]}
926
+ swipeDuration={1000}
927
+ visibleItemCount={5}
928
+ options={filtedOptions}
929
+ onChange={checkAll ? noop : this.handlePickerChange}
930
+ onClose={this.close}
931
+ onConfirm={this.confirm}
932
+ ></PickerColumn>
933
+ ) : (
886
934
  <div
887
935
  ref={this.menu}
888
936
  className={cx('Select-menu', {
@@ -978,7 +1026,11 @@ export class Select extends React.Component<SelectProps, SelectState> {
978
1026
  >
979
1027
  <PopOver
980
1028
  overlay
981
- className={cx('Select-popover', popoverClassName)}
1029
+ className={cx(
1030
+ 'Select-popover',
1031
+ popoverClassName,
1032
+ mobileUI ? 'PopOver-isMobile' : ''
1033
+ )}
982
1034
  style={{
983
1035
  minWidth: this.target ? this.target.offsetWidth : 'auto'
984
1036
  }}
@@ -16,29 +16,33 @@ import isEqual from 'lodash/isEqual';
16
16
  import {LocaleProps, localeable} from '../locale';
17
17
  // import isPlainObject from 'lodash/isPlainObject';
18
18
 
19
- export interface BaseCheckboxesProps extends ThemeProps, LocaleProps {
19
+ export interface BaseSelectionProps extends ThemeProps, LocaleProps {
20
20
  options: Options;
21
21
  className?: string;
22
22
  placeholder?: string;
23
- value?: Array<any>;
24
- onChange?: (value: Array<Option>) => void;
23
+ value?: any | Array<any>;
24
+ multiple?: boolean;
25
+ clearable?: boolean;
26
+ onChange?: (value: Array<any> | any) => void;
25
27
  onDeferLoad?: (option: Option) => void;
26
28
  inline?: boolean;
27
29
  labelClassName?: string;
28
30
  option2value?: (option: Option) => any;
29
31
  itemClassName?: string;
30
32
  itemRender: (option: Option) => JSX.Element;
31
-
32
33
  disabled?: boolean;
34
+ onClick?: (e: React.MouseEvent) => void;
33
35
  }
34
36
 
35
- export class BaseCheckboxes<
36
- T extends BaseCheckboxesProps = BaseCheckboxesProps,
37
+ export class BaseSelection<
38
+ T extends BaseSelectionProps = BaseSelectionProps,
37
39
  S = any
38
40
  > extends React.Component<T, S> {
39
41
  static defaultProps = {
40
42
  placeholder: 'placeholder.noOption',
41
- itemRender: (option: Option) => <span>{option.label}</span>
43
+ itemRender: (option: Option) => <span>{option.label}</span>,
44
+ multiple: true,
45
+ clearable: false
42
46
  };
43
47
 
44
48
  static value2array(
@@ -62,36 +66,82 @@ export class BaseCheckboxes<
62
66
  });
63
67
  }
64
68
 
69
+ static resolveSelected(
70
+ value: any,
71
+ options: Options,
72
+ option2value: (option: Option) => any = (option: Option) => option
73
+ ) {
74
+ value = Array.isArray(value) ? value[0] : value;
75
+ return findTree(options, option => isEqual(option2value(option), value));
76
+ }
77
+
78
+ // 获取两个数组的交集
79
+ intersectArray(
80
+ arr1: undefined | Array<Option>,
81
+ arr2: undefined | Array<Option>
82
+ ): Array<Option> {
83
+ if (!Array.isArray(arr1) || !Array.isArray(arr2)) {
84
+ return [];
85
+ }
86
+ const len1 = arr1.length;
87
+ const len2 = arr2.length;
88
+ if (len1 < len2) {
89
+ return this.intersectArray(arr2, arr1);
90
+ }
91
+ return Array.from(new Set(arr1.filter(item => arr2.includes(item))));
92
+ }
93
+
65
94
  toggleOption(option: Option) {
66
- const {value, onChange, option2value, options, disabled} = this.props;
95
+ const {
96
+ value,
97
+ onChange,
98
+ option2value,
99
+ options,
100
+ disabled,
101
+ multiple,
102
+ clearable
103
+ } = this.props;
67
104
 
68
105
  if (disabled || option.disabled) {
69
106
  return;
70
107
  }
71
108
 
72
- let valueArray = BaseCheckboxes.value2array(value, options, option2value);
109
+ let valueArray = BaseSelection.value2array(value, options, option2value);
73
110
  let idx = valueArray.indexOf(option);
74
111
 
75
- if (~idx) {
112
+ if (~idx && (multiple || clearable)) {
76
113
  valueArray.splice(idx, 1);
77
- } else {
114
+ } else if (multiple) {
78
115
  valueArray.push(option);
116
+ } else {
117
+ valueArray = [option];
79
118
  }
80
119
 
81
120
  let newValue: string | Array<Option> = option2value
82
121
  ? valueArray.map(item => option2value(item))
83
122
  : valueArray;
84
123
 
85
- onChange && onChange(newValue);
124
+ onChange && onChange(multiple ? newValue : newValue[0]);
86
125
  }
87
126
 
88
127
  @autobind
89
128
  toggleAll() {
90
- const {value, onChange, option2value, options} = this.props;
129
+ const {value, onChange, option2value, options, multiple} = this.props;
130
+ if (multiple) {
131
+ return;
132
+ }
133
+
91
134
  let valueArray: Array<Option> = [];
92
135
 
93
- if (!Array.isArray(value) || !value.length) {
94
- valueArray = options.filter(option => !option.disabled);
136
+ const availableOptions = options.filter(option => !option.disabled);
137
+ const intersectOptions = this.intersectArray(value, availableOptions);
138
+
139
+ if (!Array.isArray(value)) {
140
+ valueArray = availableOptions;
141
+ } else if (intersectOptions.length < availableOptions.length) {
142
+ valueArray = Array.from(new Set([...value, ...availableOptions]));
143
+ } else {
144
+ valueArray = value.filter(item => !availableOptions.includes(item));
95
145
  }
96
146
 
97
147
  let newValue: string | Array<Option> = option2value
@@ -113,17 +163,20 @@ export class BaseCheckboxes<
113
163
  classnames: cx,
114
164
  option2value,
115
165
  itemClassName,
116
- itemRender
166
+ itemRender,
167
+ multiple,
168
+ onClick
117
169
  } = this.props;
118
170
 
119
171
  const __ = this.props.translate;
120
172
 
121
- let valueArray = BaseCheckboxes.value2array(value, options, option2value);
173
+ let valueArray = BaseSelection.value2array(value, options, option2value);
122
174
  let body: Array<React.ReactNode> = [];
123
175
 
124
176
  if (Array.isArray(options) && options.length) {
125
177
  body = options.map((option, key) => (
126
178
  <Checkbox
179
+ type={multiple ? 'checkbox' : 'radio'}
127
180
  className={cx(itemClassName, option.className)}
128
181
  key={key}
129
182
  onChange={() => this.toggleOption(option)}
@@ -140,10 +193,11 @@ export class BaseCheckboxes<
140
193
  return (
141
194
  <div
142
195
  className={cx(
143
- 'Checkboxes',
196
+ 'Selection',
144
197
  className,
145
- inline ? 'Checkboxes--inline' : ''
198
+ inline ? 'Selection--inline' : ''
146
199
  )}
200
+ onClick={onClick}
147
201
  >
148
202
  {body && body.length ? body : <div>{__(placeholder)}</div>}
149
203
  </div>
@@ -151,11 +205,11 @@ export class BaseCheckboxes<
151
205
  }
152
206
  }
153
207
 
154
- export class Checkboxes extends BaseCheckboxes {}
208
+ export class Selection extends BaseSelection {}
155
209
 
156
210
  export default themeable(
157
211
  localeable(
158
- uncontrollable(Checkboxes, {
212
+ uncontrollable(Selection, {
159
213
  value: 'onChange'
160
214
  })
161
215
  )