amis 1.4.2-beta.6 → 1.5.0

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 (488) hide show
  1. package/lib/Schema.d.ts +11 -3
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/components/Alert2.d.ts +26 -21
  4. package/lib/components/Alert2.js +11 -4
  5. package/lib/components/Alert2.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.js +2 -2
  14. package/lib/components/Badge.js.map +2 -2
  15. package/lib/components/Button.js +1 -1
  16. package/lib/components/Button.js.map +2 -2
  17. package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
  18. package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
  19. package/lib/components/ChainedSelection.js.map +13 -0
  20. package/lib/components/Checkbox.d.ts +20 -20
  21. package/lib/components/Collapse.d.ts +51 -23
  22. package/lib/components/Collapse.js +70 -11
  23. package/lib/components/Collapse.js.map +2 -2
  24. package/lib/components/CollapseGroup.d.ts +88 -0
  25. package/lib/components/CollapseGroup.js +81 -0
  26. package/lib/components/CollapseGroup.js.map +13 -0
  27. package/lib/components/ColorPicker.d.ts +89 -85
  28. package/lib/components/ColorPicker.js +17 -4
  29. package/lib/components/ColorPicker.js.map +2 -2
  30. package/lib/components/DatePicker.d.ts +84 -84
  31. package/lib/components/DateRangePicker.d.ts +84 -84
  32. package/lib/components/Drawer.js +2 -2
  33. package/lib/components/Drawer.js.map +2 -2
  34. package/lib/components/Editor.d.ts +84 -84
  35. package/lib/components/GridNav.d.ts +52 -0
  36. package/lib/components/GridNav.js +123 -0
  37. package/lib/components/GridNav.js.map +13 -0
  38. package/lib/components/GroupedSelection.d.ts +907 -0
  39. package/lib/components/GroupedSelection.js +48 -0
  40. package/lib/components/GroupedSelection.js.map +13 -0
  41. package/lib/components/InputBox.d.ts +22 -21
  42. package/lib/components/InputBox.js +10 -2
  43. package/lib/components/InputBox.js.map +2 -2
  44. package/lib/components/Link.d.ts +29 -36
  45. package/lib/components/Link.js +14 -15
  46. package/lib/components/Link.js.map +2 -2
  47. package/lib/components/ListGroup.d.ts +21 -21
  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/NumberInput.d.ts +20 -20
  52. package/lib/components/Overlay.js +5 -0
  53. package/lib/components/Overlay.js.map +2 -2
  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/PopOver.d.ts +1 -0
  61. package/lib/components/PopOver.js +12 -1
  62. package/lib/components/PopOver.js.map +2 -2
  63. package/lib/components/Progress.d.ts +85 -0
  64. package/lib/components/Progress.js +81 -0
  65. package/lib/components/Progress.js.map +13 -0
  66. package/lib/components/Radios.d.ts +22 -21
  67. package/lib/components/Radios.js +1 -0
  68. package/lib/components/Radios.js.map +2 -2
  69. package/lib/components/Rating.d.ts +21 -21
  70. package/lib/components/ResultBox.d.ts +84 -84
  71. package/lib/components/ResultBox.js +10 -2
  72. package/lib/components/ResultBox.js.map +2 -2
  73. package/lib/components/SearchBox.d.ts +84 -84
  74. package/lib/components/Select.d.ts +245 -237
  75. package/lib/components/Select.js +25 -4
  76. package/lib/components/Select.js.map +2 -2
  77. package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
  78. package/lib/components/Selection.js +134 -0
  79. package/lib/components/Selection.js.map +13 -0
  80. package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
  81. package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
  82. package/lib/components/TableSelection.js.map +13 -0
  83. package/lib/components/Tabs.d.ts +20 -20
  84. package/lib/components/TabsTransfer.d.ts +84 -84
  85. package/lib/components/TabsTransfer.js +9 -9
  86. package/lib/components/TabsTransfer.js.map +2 -2
  87. package/lib/components/TabsTransferPicker.d.ts +489 -0
  88. package/lib/components/TabsTransferPicker.js +60 -0
  89. package/lib/components/TabsTransferPicker.js.map +13 -0
  90. package/lib/components/Toast.d.ts +90 -87
  91. package/lib/components/Toast.js +15 -5
  92. package/lib/components/Toast.js.map +2 -2
  93. package/lib/components/Transfer.d.ts +908 -274
  94. package/lib/components/Transfer.js +31 -24
  95. package/lib/components/Transfer.js.map +2 -2
  96. package/lib/components/TransferDropDown.d.ts +488 -0
  97. package/lib/components/TransferDropDown.js +59 -0
  98. package/lib/components/TransferDropDown.js.map +13 -0
  99. package/lib/components/TransferPicker.d.ts +493 -0
  100. package/lib/components/TransferPicker.js +60 -0
  101. package/lib/components/TransferPicker.js.map +13 -0
  102. package/lib/components/Tree.d.ts +115 -84
  103. package/lib/components/Tree.js +183 -30
  104. package/lib/components/Tree.js.map +2 -2
  105. package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
  106. package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
  107. package/lib/components/TreeSelection.js.map +13 -0
  108. package/lib/components/condition-builder/Field.js +4 -2
  109. package/lib/components/condition-builder/Field.js.map +2 -2
  110. package/lib/components/condition-builder/Func.js +2 -2
  111. package/lib/components/condition-builder/Func.js.map +2 -2
  112. package/lib/components/condition-builder/InputSwitch.js +2 -2
  113. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  114. package/lib/components/condition-builder/Item.js +3 -3
  115. package/lib/components/condition-builder/Item.js.map +2 -2
  116. package/lib/components/icons.js +10 -0
  117. package/lib/components/icons.js.map +2 -2
  118. package/lib/components/index.d.ts +8 -8
  119. package/lib/components/index.js +16 -16
  120. package/lib/components/index.js.map +2 -2
  121. package/lib/envOverwrite.d.ts +1 -1
  122. package/lib/envOverwrite.js +24 -9
  123. package/lib/envOverwrite.js.map +2 -2
  124. package/lib/factory.d.ts +15 -1
  125. package/lib/factory.js +35 -6
  126. package/lib/factory.js.map +2 -2
  127. package/lib/helper.css.map +1 -1
  128. package/lib/hooks/index.d.ts +5 -0
  129. package/lib/hooks/index.js +14 -0
  130. package/lib/hooks/index.js.map +13 -0
  131. package/lib/hooks/use-set-state.d.ts +2 -0
  132. package/lib/hooks/use-set-state.js +15 -0
  133. package/lib/hooks/use-set-state.js.map +13 -0
  134. package/lib/hooks/use-touch.d.ts +16 -0
  135. package/lib/hooks/use-touch.js +73 -0
  136. package/lib/hooks/use-touch.js.map +13 -0
  137. package/lib/hooks/use-update-effect.d.ts +3 -0
  138. package/lib/hooks/use-update-effect.js +17 -0
  139. package/lib/hooks/use-update-effect.js.map +13 -0
  140. package/lib/icons/alert-danger.js +7 -0
  141. package/lib/icons/alert-info.js +7 -0
  142. package/lib/icons/alert-success.js +7 -0
  143. package/lib/icons/alert-warning.js +7 -0
  144. package/lib/icons/download.js +7 -0
  145. package/lib/icons/drag-bar.js +10 -3
  146. package/lib/index.d.ts +5 -0
  147. package/lib/index.js +6 -1
  148. package/lib/index.js.map +2 -2
  149. package/lib/locale/de-DE.js +2 -0
  150. package/lib/locale/de-DE.js.map +2 -2
  151. package/lib/locale/en-US.js +3 -0
  152. package/lib/locale/en-US.js.map +2 -2
  153. package/lib/locale/zh-CN.js +5 -2
  154. package/lib/locale/zh-CN.js.map +2 -2
  155. package/lib/renderers/Action.d.ts +10 -5
  156. package/lib/renderers/Action.js +23 -5
  157. package/lib/renderers/Action.js.map +2 -2
  158. package/lib/renderers/Alert.d.ts +21 -1
  159. package/lib/renderers/Alert.js.map +2 -2
  160. package/lib/renderers/AnchorNav.d.ts +1 -0
  161. package/lib/renderers/AnchorNav.js +2 -2
  162. package/lib/renderers/AnchorNav.js.map +2 -2
  163. package/lib/renderers/Avatar.js +3 -3
  164. package/lib/renderers/Avatar.js.map +2 -2
  165. package/lib/renderers/Breadcrumb.js +1 -1
  166. package/lib/renderers/Breadcrumb.js.map +2 -2
  167. package/lib/renderers/CRUD.d.ts +5 -0
  168. package/lib/renderers/CRUD.js +25 -4
  169. package/lib/renderers/CRUD.js.map +2 -2
  170. package/lib/renderers/Card.d.ts +5 -0
  171. package/lib/renderers/Card.js +34 -23
  172. package/lib/renderers/Card.js.map +2 -2
  173. package/lib/renderers/Collapse.d.ts +25 -20
  174. package/lib/renderers/Collapse.js +10 -72
  175. package/lib/renderers/Collapse.js.map +2 -2
  176. package/lib/renderers/CollapseGroup.d.ts +42 -0
  177. package/lib/renderers/CollapseGroup.js +33 -0
  178. package/lib/renderers/CollapseGroup.js.map +13 -0
  179. package/lib/renderers/Form/ConditionBuilder.js +2 -2
  180. package/lib/renderers/Form/ConditionBuilder.js.map +2 -2
  181. package/lib/renderers/Form/DiffEditor.d.ts +4 -3
  182. package/lib/renderers/Form/Editor.d.ts +3 -2
  183. package/lib/renderers/Form/InputCity.d.ts +84 -84
  184. package/lib/renderers/Form/InputCity.js +7 -6
  185. package/lib/renderers/Form/InputCity.js.map +2 -2
  186. package/lib/renderers/Form/InputColor.d.ts +86 -85
  187. package/lib/renderers/Form/InputColor.js +1 -1
  188. package/lib/renderers/Form/InputColor.js.map +2 -2
  189. package/lib/renderers/Form/InputFile.d.ts +6 -0
  190. package/lib/renderers/Form/InputFile.js +28 -8
  191. package/lib/renderers/Form/InputFile.js.map +2 -2
  192. package/lib/renderers/Form/InputImage.js +11 -4
  193. package/lib/renderers/Form/InputImage.js.map +2 -2
  194. package/lib/renderers/Form/Item.d.ts +1 -1
  195. package/lib/renderers/Form/Item.js +2 -1
  196. package/lib/renderers/Form/Item.js.map +2 -2
  197. package/lib/renderers/Form/Options.js +25 -4
  198. package/lib/renderers/Form/Options.js.map +2 -2
  199. package/lib/renderers/Form/Select.d.ts +42 -4
  200. package/lib/renderers/Form/Select.js +37 -3
  201. package/lib/renderers/Form/Select.js.map +2 -2
  202. package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
  203. package/lib/renderers/Form/TabsTransferPicker.js +29 -0
  204. package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
  205. package/lib/renderers/Form/Transfer.js +18 -3
  206. package/lib/renderers/Form/Transfer.js.map +2 -2
  207. package/lib/renderers/Form/TransferPicker.d.ts +52 -0
  208. package/lib/renderers/Form/TransferPicker.js +43 -0
  209. package/lib/renderers/Form/TransferPicker.js.map +13 -0
  210. package/lib/renderers/Form/TreeSelect.js +2 -2
  211. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  212. package/lib/renderers/Form/index.d.ts +5 -0
  213. package/lib/renderers/Form/index.js +5 -3
  214. package/lib/renderers/Form/index.js.map +2 -2
  215. package/lib/renderers/Form/wrapControl.js +13 -1
  216. package/lib/renderers/Form/wrapControl.js.map +2 -2
  217. package/lib/renderers/GridNav.d.ts +99 -0
  218. package/lib/renderers/GridNav.js +82 -0
  219. package/lib/renderers/GridNav.js.map +13 -0
  220. package/lib/renderers/IFrame.js +1 -3
  221. package/lib/renderers/IFrame.js.map +2 -2
  222. package/lib/renderers/Image.js +7 -5
  223. package/lib/renderers/Image.js.map +2 -2
  224. package/lib/renderers/Json.d.ts +4 -0
  225. package/lib/renderers/Json.js +4 -13
  226. package/lib/renderers/Json.js.map +2 -2
  227. package/lib/renderers/Link.d.ts +4 -2
  228. package/lib/renderers/Link.js +15 -8
  229. package/lib/renderers/Link.js.map +2 -2
  230. package/lib/renderers/List.js +1 -1
  231. package/lib/renderers/List.js.map +2 -2
  232. package/lib/renderers/Nav.d.ts +21 -21
  233. package/lib/renderers/Nav.js +37 -19
  234. package/lib/renderers/Nav.js.map +2 -2
  235. package/lib/renderers/Page.d.ts +18 -0
  236. package/lib/renderers/Page.js +53 -9
  237. package/lib/renderers/Page.js.map +2 -2
  238. package/lib/renderers/Portlet.d.ts +125 -0
  239. package/lib/renderers/Portlet.js +156 -0
  240. package/lib/renderers/Portlet.js.map +13 -0
  241. package/lib/renderers/Progress.d.ts +23 -3
  242. package/lib/renderers/Progress.js +15 -19
  243. package/lib/renderers/Progress.js.map +2 -2
  244. package/lib/renderers/Property.js +1 -1
  245. package/lib/renderers/Property.js.map +2 -2
  246. package/lib/renderers/Table/ColumnToggler.js +1 -1
  247. package/lib/renderers/Table/ColumnToggler.js.map +2 -2
  248. package/lib/renderers/Table/TableContent.d.ts +4 -1
  249. package/lib/renderers/Table/TableContent.js +21 -1
  250. package/lib/renderers/Table/TableContent.js.map +2 -2
  251. package/lib/renderers/Table/index.d.ts +5 -1
  252. package/lib/renderers/Table/index.js +65 -30
  253. package/lib/renderers/Table/index.js.map +2 -2
  254. package/lib/renderers/Tabs.js +9 -1
  255. package/lib/renderers/Tabs.js.map +2 -2
  256. package/lib/renderers/WebComponent.js +1 -1
  257. package/lib/renderers/WebComponent.js.map +2 -2
  258. package/lib/store/combo.d.ts +2 -2
  259. package/lib/store/form.d.ts +1 -1
  260. package/lib/store/form.js +3 -5
  261. package/lib/store/form.js.map +2 -2
  262. package/lib/store/formItem.js +44 -4
  263. package/lib/store/formItem.js.map +2 -2
  264. package/lib/store/table.d.ts +3 -2
  265. package/lib/store/table.js +35 -12
  266. package/lib/store/table.js.map +2 -2
  267. package/lib/themes/ang-ie11.css +934 -222
  268. package/lib/themes/ang.css +934 -222
  269. package/lib/themes/ang.css.map +1 -1
  270. package/lib/themes/antd-ie11.css +934 -222
  271. package/lib/themes/antd.css +934 -222
  272. package/lib/themes/antd.css.map +1 -1
  273. package/lib/themes/cxd-ie11.css +970 -260
  274. package/lib/themes/cxd.css +970 -260
  275. package/lib/themes/cxd.css.map +1 -1
  276. package/lib/themes/dark-ie11.css +934 -222
  277. package/lib/themes/dark.css +934 -222
  278. package/lib/themes/dark.css.map +1 -1
  279. package/lib/themes/default.css +970 -260
  280. package/lib/themes/default.css.map +1 -1
  281. package/lib/types.d.ts +38 -1
  282. package/lib/types.js +0 -5
  283. package/lib/types.js.map +2 -2
  284. package/lib/utils/api.d.ts +3 -2
  285. package/lib/utils/api.js +90 -17
  286. package/lib/utils/api.js.map +2 -2
  287. package/lib/utils/dom.d.ts +4 -0
  288. package/lib/utils/dom.js +11 -1
  289. package/lib/utils/dom.js.map +2 -2
  290. package/lib/utils/helper.d.ts +12 -23
  291. package/lib/utils/helper.js +62 -166
  292. package/lib/utils/helper.js.map +2 -2
  293. package/lib/utils/tpl-builtin.d.ts +2 -20
  294. package/lib/utils/tpl-builtin.js +25 -743
  295. package/lib/utils/tpl-builtin.js.map +2 -2
  296. package/lib/utils/tpl.js +24 -0
  297. package/lib/utils/tpl.js.map +2 -2
  298. package/package.json +5 -2
  299. package/schema.json +3966 -1263
  300. package/scss/_mixins.scss +1 -3
  301. package/scss/_properties.scss +42 -13
  302. package/scss/base/_common.scss +3 -0
  303. package/scss/base/_normalize.scss +2 -0
  304. package/scss/components/_alert.scss +28 -5
  305. package/scss/components/_anchor-nav.scss +89 -29
  306. package/scss/components/_button.scss +12 -0
  307. package/scss/components/_card.scss +9 -15
  308. package/scss/components/_collapse-group.scss +15 -0
  309. package/scss/components/_collapse.scss +48 -23
  310. package/scss/components/_grid-nav.scss +128 -0
  311. package/scss/components/_images.scss +1 -0
  312. package/scss/components/_input-box.scss +1 -0
  313. package/scss/components/_nav.scss +2 -7
  314. package/scss/components/_page.scss +35 -2
  315. package/scss/components/_picker-columns.scss +124 -0
  316. package/scss/components/_popover.scss +13 -0
  317. package/scss/components/_portlet.scss +51 -0
  318. package/scss/components/_progress.scss +141 -33
  319. package/scss/components/_result-box.scss +1 -0
  320. package/scss/components/_spinner.scss +5 -4
  321. package/scss/components/_status.scss +1 -1
  322. package/scss/components/_table.scss +32 -0
  323. package/scss/components/_toast.scss +41 -11
  324. package/scss/components/form/_checks.scss +0 -351
  325. package/scss/components/form/_color.scss +32 -3
  326. package/scss/components/form/_combo.scss +4 -0
  327. package/scss/components/form/_fieldset.scss +6 -1
  328. package/scss/components/form/_file.scss +11 -0
  329. package/scss/components/form/_form.scss +48 -0
  330. package/scss/components/form/_selection.scss +354 -0
  331. package/scss/components/form/_transfer.scss +76 -18
  332. package/scss/components/form/_tree.scss +42 -0
  333. package/scss/themes/_common.scss +6 -0
  334. package/scss/themes/_cxd-variables.scss +13 -6
  335. package/scss/themes/cxd.scss +19 -20
  336. package/sdk/ang-ie11.css +1065 -246
  337. package/sdk/ang.css +1069 -230
  338. package/sdk/antd-ie11.css +1068 -249
  339. package/sdk/antd.css +1069 -230
  340. package/sdk/charts.js +17 -17
  341. package/sdk/color-picker.js +65 -69
  342. package/sdk/cropperjs.js +3 -3
  343. package/sdk/cxd-ie11.css +1081 -268
  344. package/sdk/cxd.css +1116 -279
  345. package/sdk/dark-ie11.css +1069 -250
  346. package/sdk/dark.css +1069 -230
  347. package/sdk/exceljs.js +1 -1
  348. package/sdk/helper.css.map +1 -1
  349. package/sdk/iconfont.svg +2513 -0
  350. package/sdk/iconfont.ttf +0 -0
  351. package/sdk/iconfont.woff +0 -0
  352. package/sdk/locale/de-DE.js +2 -0
  353. package/sdk/markdown.js +69 -69
  354. package/sdk/papaparse.js +1 -1
  355. package/sdk/renderers/Form/CityDB.js +1 -1
  356. package/sdk/rest.js +20 -28
  357. package/sdk/rich-text.js +62 -62
  358. package/sdk/sdk-ie11.css +1081 -268
  359. package/sdk/sdk.css +1116 -279
  360. package/sdk/sdk.js +1371 -1189
  361. package/sdk/thirds/hls.js/hls.js +18 -18
  362. package/sdk/thirds/mpegts.js/mpegts.js +2 -2
  363. package/sdk/tinymce.js +57 -57
  364. package/src/Schema.ts +19 -1
  365. package/src/components/Alert2.tsx +32 -4
  366. package/src/components/AnchorNav.tsx +15 -4
  367. package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +43 -37
  368. package/src/components/Badge.tsx +3 -3
  369. package/src/components/Button.tsx +1 -0
  370. package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
  371. package/src/components/Collapse.tsx +139 -20
  372. package/src/components/CollapseGroup.tsx +130 -0
  373. package/src/components/ColorPicker.tsx +32 -10
  374. package/src/components/Drawer.tsx +8 -6
  375. package/src/components/GridNav.tsx +233 -0
  376. package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
  377. package/src/components/InputBox.tsx +10 -9
  378. package/src/components/Link.tsx +28 -37
  379. package/src/components/ModalManager.ts +1 -1
  380. package/src/components/Overlay.tsx +6 -0
  381. package/src/components/PickerColumn.tsx +429 -0
  382. package/src/components/PickerContainer.tsx +128 -0
  383. package/src/components/PopOver.tsx +15 -1
  384. package/src/components/Progress.tsx +140 -0
  385. package/src/components/Radios.tsx +3 -8
  386. package/src/components/ResultBox.tsx +9 -9
  387. package/src/components/Select.tsx +57 -5
  388. package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
  389. package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
  390. package/src/components/TabsTransfer.tsx +13 -7
  391. package/src/components/TabsTransferPicker.tsx +85 -0
  392. package/src/components/Toast.tsx +48 -21
  393. package/src/components/Transfer.tsx +71 -50
  394. package/src/components/TransferDropDown.tsx +120 -0
  395. package/src/components/TransferPicker.tsx +91 -0
  396. package/src/components/Tree.tsx +194 -8
  397. package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
  398. package/src/components/condition-builder/Field.tsx +7 -5
  399. package/src/components/condition-builder/Func.tsx +3 -3
  400. package/src/components/condition-builder/InputSwitch.tsx +3 -3
  401. package/src/components/condition-builder/Item.tsx +5 -12
  402. package/src/components/icons.tsx +10 -0
  403. package/src/components/index.tsx +13 -13
  404. package/src/envOverwrite.ts +20 -8
  405. package/src/factory.tsx +70 -9
  406. package/src/hooks/index.ts +5 -0
  407. package/src/hooks/use-set-state.ts +19 -0
  408. package/src/hooks/use-touch.ts +100 -0
  409. package/src/hooks/use-update-effect.ts +16 -0
  410. package/src/icons/alert-danger.svg +1 -0
  411. package/src/icons/alert-info.svg +1 -0
  412. package/src/icons/alert-success.svg +1 -0
  413. package/src/icons/alert-warning.svg +1 -0
  414. package/src/icons/download.svg +4 -0
  415. package/src/icons/drag-bar.svg +12 -6
  416. package/src/index.tsx +5 -0
  417. package/src/locale/de-DE.ts +2 -0
  418. package/src/locale/en-US.ts +3 -0
  419. package/src/locale/zh-CN.ts +5 -2
  420. package/src/renderers/Action.tsx +58 -3
  421. package/src/renderers/Alert.tsx +31 -1
  422. package/src/renderers/AnchorNav.tsx +4 -0
  423. package/src/renderers/Avatar.tsx +8 -4
  424. package/src/renderers/Breadcrumb.tsx +5 -1
  425. package/src/renderers/CRUD.tsx +29 -3
  426. package/src/renderers/Card.tsx +76 -36
  427. package/src/renderers/Collapse.tsx +70 -115
  428. package/src/renderers/CollapseGroup.tsx +80 -0
  429. package/src/renderers/Form/ConditionBuilder.tsx +2 -2
  430. package/src/renderers/Form/InputCity.tsx +4 -8
  431. package/src/renderers/Form/InputColor.tsx +4 -2
  432. package/src/renderers/Form/InputFile.tsx +65 -24
  433. package/src/renderers/Form/InputImage.tsx +11 -3
  434. package/src/renderers/Form/Item.tsx +3 -2
  435. package/src/renderers/Form/Options.tsx +29 -3
  436. package/src/renderers/Form/Select.tsx +162 -21
  437. package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
  438. package/src/renderers/Form/Transfer.tsx +19 -4
  439. package/src/renderers/Form/TransferPicker.tsx +145 -0
  440. package/src/renderers/Form/TreeSelect.tsx +25 -0
  441. package/src/renderers/Form/index.tsx +15 -2
  442. package/src/renderers/Form/wrapControl.tsx +26 -1
  443. package/src/renderers/GridNav.tsx +204 -0
  444. package/src/renderers/IFrame.tsx +2 -4
  445. package/src/renderers/Image.tsx +19 -15
  446. package/src/renderers/Json.tsx +9 -9
  447. package/src/renderers/Link.tsx +29 -16
  448. package/src/renderers/List.tsx +1 -1
  449. package/src/renderers/Nav.tsx +105 -56
  450. package/src/renderers/Page.tsx +62 -1
  451. package/src/renderers/Portlet.tsx +423 -0
  452. package/src/renderers/Progress.tsx +56 -38
  453. package/src/renderers/Property.tsx +6 -4
  454. package/src/renderers/Table/ColumnToggler.tsx +1 -1
  455. package/src/renderers/Table/TableContent.tsx +40 -2
  456. package/src/renderers/Table/index.tsx +88 -43
  457. package/src/renderers/Tabs.tsx +9 -1
  458. package/src/renderers/WebComponent.tsx +2 -2
  459. package/src/store/form.ts +3 -9
  460. package/src/store/formItem.ts +94 -2
  461. package/src/store/table.ts +55 -14
  462. package/src/types.ts +58 -1
  463. package/src/utils/api.ts +120 -26
  464. package/src/utils/dom.tsx +12 -0
  465. package/src/utils/helper.ts +55 -185
  466. package/src/utils/tpl-builtin.ts +40 -866
  467. package/src/utils/tpl.ts +33 -0
  468. package/tsconfig-for-declaration.json +1 -1
  469. package/dump.rdb +0 -0
  470. package/lib/components/AssociatedCheckboxes.d.ts +0 -762
  471. package/lib/components/AssociatedCheckboxes.js +0 -90
  472. package/lib/components/AssociatedCheckboxes.js.map +0 -13
  473. package/lib/components/ChainedCheckboxes.js.map +0 -13
  474. package/lib/components/Checkboxes.js +0 -101
  475. package/lib/components/Checkboxes.js.map +0 -13
  476. package/lib/components/ListCheckboxes.d.ts +0 -739
  477. package/lib/components/ListCheckboxes.js +0 -48
  478. package/lib/components/ListCheckboxes.js.map +0 -13
  479. package/lib/components/ListRadios.d.ts +0 -763
  480. package/lib/components/ListRadios.js +0 -86
  481. package/lib/components/ListRadios.js.map +0 -13
  482. package/lib/components/TableCheckboxes.js.map +0 -13
  483. package/lib/components/TreeCheckboxes.js.map +0 -13
  484. package/lib/components/TreeRadios.d.ts +0 -838
  485. package/lib/components/TreeRadios.js +0 -116
  486. package/lib/components/TreeRadios.js.map +0 -13
  487. package/src/components/ListRadios.tsx +0 -159
  488. package/src/components/TreeRadios.tsx +0 -202
@@ -84,8 +84,9 @@ var BaseTransferRenderer = /** @class */ (function (_super) {
84
84
  regexp_1 = (0, helper_1.string2regExp)(term);
85
85
  return [2 /*return*/, (0, helper_1.filterTree)(options, function (option) {
86
86
  return !!((Array.isArray(option.children) && option.children.length) ||
87
- regexp_1.test(option[labelField || 'label']) ||
88
- regexp_1.test(option[valueField || 'value']));
87
+ (option[valueField || 'value'] &&
88
+ (regexp_1.test(option[labelField || 'label']) ||
89
+ regexp_1.test(option[valueField || 'value']))));
89
90
  }, 0, true)];
90
91
  }
91
92
  else {
@@ -105,7 +106,21 @@ var BaseTransferRenderer = /** @class */ (function (_super) {
105
106
  });
106
107
  };
107
108
  BaseTransferRenderer.prototype.render = function () {
108
- var _a = this.props, className = _a.className, cx = _a.classnames, options = _a.options, selectedOptions = _a.selectedOptions, showArrow = _a.showArrow, sortable = _a.sortable, selectMode = _a.selectMode, columns = _a.columns, loading = _a.loading, searchable = _a.searchable, searchResultMode = _a.searchResultMode, searchResultColumns = _a.searchResultColumns, deferLoad = _a.deferLoad, leftOptions = _a.leftOptions, leftMode = _a.leftMode, rightMode = _a.rightMode, disabled = _a.disabled, selectTitle = _a.selectTitle, resultTitle = _a.resultTitle, optionItemRender = _a.optionItemRender, resultItemRender = _a.resultItemRender;
109
+ var _a;
110
+ var _b = this.props, className = _b.className, cx = _b.classnames, selectedOptions = _b.selectedOptions, showArrow = _b.showArrow, sortable = _b.sortable, selectMode = _b.selectMode, columns = _b.columns, loading = _b.loading, searchable = _b.searchable, searchResultMode = _b.searchResultMode, searchResultColumns = _b.searchResultColumns, deferLoad = _b.deferLoad, leftMode = _b.leftMode, rightMode = _b.rightMode, disabled = _b.disabled, selectTitle = _b.selectTitle, resultTitle = _b.resultTitle, optionItemRender = _b.optionItemRender, resultItemRender = _b.resultItemRender;
111
+ // 目前 LeftOptions 没有接口可以动态加载
112
+ // 为了方便可以快速实现动态化,让选项的第一个成员携带
113
+ // LeftOptions 信息
114
+ var _c = this.props, options = _c.options, leftOptions = _c.leftOptions, leftDefaultValue = _c.leftDefaultValue;
115
+ if (selectMode === 'associated' &&
116
+ options &&
117
+ options.length === 1 &&
118
+ options[0].leftOptions &&
119
+ Array.isArray(options[0].children)) {
120
+ leftOptions = options[0].leftOptions;
121
+ leftDefaultValue = (_a = options[0].leftDefaultValue) !== null && _a !== void 0 ? _a : leftDefaultValue;
122
+ options = options[0].children;
123
+ }
109
124
  return (react_1.default.createElement("div", { className: cx('TransferControl', className) },
110
125
  react_1.default.createElement(Transfer_1.default, { value: selectedOptions, options: options, disabled: disabled, onChange: this.handleChange, option2value: this.option2value, sortable: sortable, showArrow: showArrow, selectMode: selectMode, searchResultMode: searchResultMode, searchResultColumns: searchResultColumns, columns: columns, onSearch: searchable ? this.handleSearch : undefined, onDeferLoad: deferLoad, leftOptions: leftOptions, leftMode: leftMode, rightMode: rightMode, cellRender: this.renderCell, selectTitle: selectTitle, resultTitle: resultTitle, optionItemRender: optionItemRender, resultItemRender: resultItemRender }),
111
126
  react_1.default.createElement(Spinner_1.default, { overlay: true, key: "info", show: loading })));
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/Transfer.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import {\n OptionsControlProps,\n OptionsControl,\n FormOptionsControl\n} from './Options';\nimport React from 'react';\nimport Transfer from '../../components/Transfer';\nimport {Option} from './Options';\nimport {\n autobind,\n filterTree,\n string2regExp,\n createObject,\n findTree\n} from '../../utils/helper';\nimport {Api} from '../../types';\nimport Spinner from '../../components/Spinner';\nimport find from 'lodash/find';\nimport {optionValueCompare} from '../../components/Select';\nimport {resolveVariable} from '../../utils/tpl-builtin';\nimport {SchemaApi} from '../../Schema';\n\n/**\n * Transfer\n * 文档:https://baidu.gitee.io/amis/docs/components/form/transfer\n */\nexport interface TransferControlSchema extends FormOptionsControl {\n type: 'transfer';\n\n /**\n * 是否显示剪头\n */\n showArrow?: boolean;\n\n /**\n * 可排序?\n */\n sortable?: boolean;\n\n /**\n * 勾选展示模式\n */\n selectMode?: 'table' | 'list' | 'tree' | 'chained' | 'associated';\n\n /**\n * 当 selectMode 为 associated 时用来定义左侧的选项\n */\n leftOptions?: Array<Option>;\n\n /**\n * 当 selectMode 为 associated 时用来定义左侧的选择模式\n */\n leftMode?: 'tree' | 'list';\n\n /**\n * 当 selectMode 为 associated 时用来定义右侧的选择模式\n */\n rightMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 搜索结果展示模式\n */\n searchResultMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 当 selectMode 为 table 时定义表格列信息。\n */\n columns?: Array<any>;\n\n /**\n * 当 searchResultMode 为 table 时定义表格列信息。\n */\n searchResultColumns?: Array<any>;\n\n /**\n * 可搜索?\n */\n searchable?: boolean;\n\n /**\n * 搜索 API\n */\n searchApi?: SchemaApi;\n\n /**\n * 左侧的标题文字\n */\n selectTitle?: string;\n\n /**\n * 右侧结果的标题文字\n */\n resultTitle?: string;\n}\n\nexport interface BaseTransferProps\n extends OptionsControlProps,\n Omit<\n TransferControlSchema,\n | 'type'\n | 'options'\n | 'className'\n | 'descriptionClassName'\n | 'inputClassName'\n > {\n optionItemRender?: (option: Option) => JSX.Element;\n resultItemRender?: (option: Option) => JSX.Element;\n}\n\nexport class BaseTransferRenderer<\n T extends OptionsControlProps = BaseTransferProps\n> extends React.Component<T> {\n @autobind\n handleChange(value: Array<Option>) {\n const {\n onChange,\n joinValues,\n delimiter,\n valueField,\n extractValue,\n options,\n setOptions\n } = this.props;\n let newValue: any = value;\n let newOptions = options.concat();\n\n if (Array.isArray(value)) {\n if (joinValues || extractValue) {\n newValue = value.map(item => {\n const resolved = findTree(\n options,\n optionValueCompare(\n item[(valueField as string) || 'value'],\n (valueField as string) || 'value'\n )\n );\n\n if (!resolved) {\n newOptions.push(item);\n }\n\n return item[(valueField as string) || 'value'];\n });\n }\n\n if (joinValues) {\n newValue = newValue.join(delimiter || ',');\n }\n }\n\n newOptions.length > options.length && setOptions(newOptions, true);\n onChange(newValue);\n }\n\n @autobind\n option2value(option: Option) {\n return option;\n }\n\n @autobind\n async handleSearch(term: string, cancelExecutor: Function) {\n const {searchApi, options, labelField, valueField, env, data} = this.props;\n\n if (searchApi) {\n try {\n const payload = await env.fetcher(\n searchApi,\n createObject(data, {term}),\n {\n cancelExecutor\n }\n );\n\n if (!payload.ok) {\n throw new Error(payload.msg || '搜索请求异常');\n }\n\n const result =\n payload.data.options || payload.data.items || payload.data;\n if (!Array.isArray(result)) {\n throw new Error('CRUD.invalidArray');\n }\n\n return result.map(item => {\n let resolved: any = null;\n const value = item[valueField || 'value'];\n\n // 只有 value 值有意义的时候,再去找;否则直接返回\n if (Array.isArray(options) && value !== null && value !== undefined) {\n resolved = find(options, optionValueCompare(value, valueField));\n }\n\n return resolved || item;\n });\n } catch (e) {\n if (!env.isCancel(e)) {\n env.notify('error', e.message);\n }\n\n return [];\n }\n } else if (term) {\n const regexp = string2regExp(term);\n\n return filterTree(\n options,\n (option: Option) => {\n return !!(\n (Array.isArray(option.children) && option.children.length) ||\n regexp.test(option[(labelField as string) || 'label']) ||\n regexp.test(option[(valueField as string) || 'value'])\n );\n },\n 0,\n true\n );\n } else {\n return options;\n }\n }\n\n @autobind\n renderCell(\n column: {\n name: string;\n label: string;\n [propName: string]: any;\n },\n option: Option,\n colIndex: number,\n rowIndex: number\n ) {\n const {render, data} = this.props;\n return render(\n `cell/${colIndex}/${rowIndex}`,\n {\n type: 'text',\n ...column\n },\n {\n value: resolveVariable(column.name, option),\n data: createObject(data, option)\n }\n );\n }\n\n render() {\n const {\n className,\n classnames: cx,\n options,\n selectedOptions,\n showArrow,\n sortable,\n selectMode,\n columns,\n loading,\n searchable,\n searchResultMode,\n searchResultColumns,\n deferLoad,\n leftOptions,\n leftMode,\n rightMode,\n disabled,\n selectTitle,\n resultTitle,\n optionItemRender,\n resultItemRender\n } = this.props;\n\n return (\n <div className={cx('TransferControl', className)}>\n <Transfer\n value={selectedOptions}\n options={options}\n disabled={disabled}\n onChange={this.handleChange}\n option2value={this.option2value}\n sortable={sortable}\n showArrow={showArrow}\n selectMode={selectMode}\n searchResultMode={searchResultMode}\n searchResultColumns={searchResultColumns}\n columns={columns}\n onSearch={searchable ? this.handleSearch : undefined}\n onDeferLoad={deferLoad}\n leftOptions={leftOptions}\n leftMode={leftMode}\n rightMode={rightMode}\n cellRender={this.renderCell}\n selectTitle={selectTitle}\n resultTitle={resultTitle}\n optionItemRender={optionItemRender}\n resultItemRender={resultItemRender}\n />\n\n <Spinner overlay key=\"info\" show={loading} />\n </div>\n );\n }\n}\n\n// ts 3.9 里面非得这样才不报错,鬼知道为何。\nexport class TransferRender extends BaseTransferRenderer {}\n\nexport default OptionsControl({\n type: 'transfer'\n})(TransferRender);\n"
11
+ "import {\n OptionsControlProps,\n OptionsControl,\n FormOptionsControl\n} from './Options';\nimport React from 'react';\nimport Transfer from '../../components/Transfer';\nimport {Option} from './Options';\nimport {\n autobind,\n filterTree,\n string2regExp,\n createObject,\n findTree\n} from '../../utils/helper';\nimport {Api} from '../../types';\nimport Spinner from '../../components/Spinner';\nimport find from 'lodash/find';\nimport {optionValueCompare} from '../../components/Select';\nimport {resolveVariable} from '../../utils/tpl-builtin';\nimport {SchemaApi} from '../../Schema';\n\n/**\n * Transfer\n * 文档:https://baidu.gitee.io/amis/docs/components/form/transfer\n */\nexport interface TransferControlSchema extends FormOptionsControl {\n type: 'transfer';\n\n /**\n * 是否显示剪头\n */\n showArrow?: boolean;\n\n /**\n * 可排序?\n */\n sortable?: boolean;\n\n /**\n * 勾选展示模式\n */\n selectMode?: 'table' | 'list' | 'tree' | 'chained' | 'associated';\n\n /**\n * 当 selectMode 为 associated 时用来定义左侧的选项\n */\n leftOptions?: Array<Option>;\n\n /**\n * 当 selectMode 为 associated 时用来定义左侧的选择模式\n */\n leftMode?: 'tree' | 'list';\n\n /**\n * 当 selectMode 为 associated 时用来定义右侧的选择模式\n */\n rightMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 搜索结果展示模式\n */\n searchResultMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 当 selectMode 为 table 时定义表格列信息。\n */\n columns?: Array<any>;\n\n /**\n * 当 searchResultMode 为 table 时定义表格列信息。\n */\n searchResultColumns?: Array<any>;\n\n /**\n * 可搜索?\n */\n searchable?: boolean;\n\n /**\n * 搜索 API\n */\n searchApi?: SchemaApi;\n\n /**\n * 左侧的标题文字\n */\n selectTitle?: string;\n\n /**\n * 右侧结果的标题文字\n */\n resultTitle?: string;\n}\n\nexport interface BaseTransferProps\n extends OptionsControlProps,\n Omit<\n TransferControlSchema,\n | 'type'\n | 'options'\n | 'className'\n | 'descriptionClassName'\n | 'inputClassName'\n > {\n optionItemRender?: (option: Option) => JSX.Element;\n resultItemRender?: (option: Option) => JSX.Element;\n}\n\nexport class BaseTransferRenderer<\n T extends OptionsControlProps = BaseTransferProps\n> extends React.Component<T> {\n @autobind\n handleChange(value: Array<Option>) {\n const {\n onChange,\n joinValues,\n delimiter,\n valueField,\n extractValue,\n options,\n setOptions\n } = this.props;\n let newValue: any = value;\n let newOptions = options.concat();\n\n if (Array.isArray(value)) {\n if (joinValues || extractValue) {\n newValue = value.map(item => {\n const resolved = findTree(\n options,\n optionValueCompare(\n item[(valueField as string) || 'value'],\n (valueField as string) || 'value'\n )\n );\n\n if (!resolved) {\n newOptions.push(item);\n }\n\n return item[(valueField as string) || 'value'];\n });\n }\n\n if (joinValues) {\n newValue = newValue.join(delimiter || ',');\n }\n }\n\n newOptions.length > options.length && setOptions(newOptions, true);\n onChange(newValue);\n }\n\n @autobind\n option2value(option: Option) {\n return option;\n }\n\n @autobind\n async handleSearch(term: string, cancelExecutor: Function) {\n const {searchApi, options, labelField, valueField, env, data} = this.props;\n\n if (searchApi) {\n try {\n const payload = await env.fetcher(\n searchApi,\n createObject(data, {term}),\n {\n cancelExecutor\n }\n );\n\n if (!payload.ok) {\n throw new Error(payload.msg || '搜索请求异常');\n }\n\n const result =\n payload.data.options || payload.data.items || payload.data;\n if (!Array.isArray(result)) {\n throw new Error('CRUD.invalidArray');\n }\n\n return result.map(item => {\n let resolved: any = null;\n const value = item[valueField || 'value'];\n\n // 只有 value 值有意义的时候,再去找;否则直接返回\n if (Array.isArray(options) && value !== null && value !== undefined) {\n resolved = find(options, optionValueCompare(value, valueField));\n }\n\n return resolved || item;\n });\n } catch (e) {\n if (!env.isCancel(e)) {\n env.notify('error', e.message);\n }\n\n return [];\n }\n } else if (term) {\n const regexp = string2regExp(term);\n\n return filterTree(\n options,\n (option: Option) => {\n return !!(\n (Array.isArray(option.children) && option.children.length) ||\n (option[(valueField as string) || 'value'] &&\n (regexp.test(option[(labelField as string) || 'label']) ||\n regexp.test(option[(valueField as string) || 'value'])))\n );\n },\n 0,\n true\n );\n } else {\n return options;\n }\n }\n\n @autobind\n renderCell(\n column: {\n name: string;\n label: string;\n [propName: string]: any;\n },\n option: Option,\n colIndex: number,\n rowIndex: number\n ) {\n const {render, data} = this.props;\n return render(\n `cell/${colIndex}/${rowIndex}`,\n {\n type: 'text',\n ...column\n },\n {\n value: resolveVariable(column.name, option),\n data: createObject(data, option)\n }\n );\n }\n\n render() {\n const {\n className,\n classnames: cx,\n selectedOptions,\n showArrow,\n sortable,\n selectMode,\n columns,\n loading,\n searchable,\n searchResultMode,\n searchResultColumns,\n deferLoad,\n leftMode,\n rightMode,\n disabled,\n selectTitle,\n resultTitle,\n optionItemRender,\n resultItemRender\n } = this.props;\n\n // 目前 LeftOptions 没有接口可以动态加载\n // 为了方便可以快速实现动态化,让选项的第一个成员携带\n // LeftOptions 信息\n let {options, leftOptions, leftDefaultValue} = this.props;\n if (\n selectMode === 'associated' &&\n options &&\n options.length === 1 &&\n options[0].leftOptions &&\n Array.isArray(options[0].children)\n ) {\n leftOptions = options[0].leftOptions;\n leftDefaultValue = options[0].leftDefaultValue ?? leftDefaultValue;\n options = options[0].children;\n }\n\n return (\n <div className={cx('TransferControl', className)}>\n <Transfer\n value={selectedOptions}\n options={options}\n disabled={disabled}\n onChange={this.handleChange}\n option2value={this.option2value}\n sortable={sortable}\n showArrow={showArrow}\n selectMode={selectMode}\n searchResultMode={searchResultMode}\n searchResultColumns={searchResultColumns}\n columns={columns}\n onSearch={searchable ? this.handleSearch : undefined}\n onDeferLoad={deferLoad}\n leftOptions={leftOptions}\n leftMode={leftMode}\n rightMode={rightMode}\n cellRender={this.renderCell}\n selectTitle={selectTitle}\n resultTitle={resultTitle}\n optionItemRender={optionItemRender}\n resultItemRender={resultItemRender}\n />\n\n <Spinner overlay key=\"info\" show={loading} />\n </div>\n );\n }\n}\n\n// ts 3.9 里面非得这样才不报错,鬼知道为何。\nexport class TransferRender extends BaseTransferRenderer {}\n\nexport default OptionsControl({\n type: 'transfer'\n})(TransferRender);\n"
12
12
  ]
13
13
  }
@@ -0,0 +1,52 @@
1
+ /// <reference types="react" />
2
+ import { OptionsControlProps, FormOptionsControl } from './Options';
3
+ import { BaseTransferRenderer } from './Transfer';
4
+ import { SchemaApi } from '../../Schema';
5
+ /**
6
+ * TransferPicker 穿梭器的弹框形态
7
+ * 文档:https://baidu.gitee.io/amis/docs/components/form/transfer-picker
8
+ */
9
+ export interface TransferPickerControlSchema extends FormOptionsControl {
10
+ type: 'transfer-picker';
11
+ /**
12
+ * 边框模式,全边框,还是半边框,或者没边框。
13
+ */
14
+ borderMode?: 'full' | 'half' | 'none';
15
+ /**
16
+ * 是否显示剪头
17
+ */
18
+ showArrow?: boolean;
19
+ /**
20
+ * 可排序?
21
+ */
22
+ sortable?: boolean;
23
+ /**
24
+ * 搜索结果展示模式
25
+ */
26
+ searchResultMode?: 'table' | 'list' | 'tree' | 'chained';
27
+ /**
28
+ * 可搜索?
29
+ */
30
+ searchable?: boolean;
31
+ /**
32
+ * 搜索 API
33
+ */
34
+ searchApi?: SchemaApi;
35
+ /**
36
+ * 左侧的标题文字
37
+ */
38
+ selectTitle?: string;
39
+ /**
40
+ * 右侧结果的标题文字
41
+ */
42
+ resultTitle?: string;
43
+ /**
44
+ * 弹窗大小
45
+ */
46
+ pickerSize?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
47
+ }
48
+ export interface TabsTransferProps extends OptionsControlProps, Omit<TransferPickerControlSchema, 'type' | 'options' | 'inputClassName' | 'className' | 'descriptionClassName'> {
49
+ }
50
+ export declare class TransferPickerRenderer extends BaseTransferRenderer<TabsTransferProps> {
51
+ render(): JSX.Element;
52
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransferPickerRenderer = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var Options_1 = require("./Options");
6
+ var react_1 = (0, tslib_1.__importDefault)(require("react"));
7
+ var Spinner_1 = (0, tslib_1.__importDefault)(require("../../components/Spinner"));
8
+ var Transfer_1 = require("./Transfer");
9
+ var TransferPicker_1 = (0, tslib_1.__importDefault)(require("../../components/TransferPicker"));
10
+ var TransferPickerRenderer = /** @class */ (function (_super) {
11
+ (0, tslib_1.__extends)(TransferPickerRenderer, _super);
12
+ function TransferPickerRenderer() {
13
+ return _super !== null && _super.apply(this, arguments) || this;
14
+ }
15
+ TransferPickerRenderer.prototype.render = function () {
16
+ var _a;
17
+ var _b = this.props, className = _b.className, cx = _b.classnames, selectedOptions = _b.selectedOptions, sortable = _b.sortable, loading = _b.loading, searchable = _b.searchable, searchResultMode = _b.searchResultMode, showArrow = _b.showArrow, deferLoad = _b.deferLoad, disabled = _b.disabled, selectTitle = _b.selectTitle, resultTitle = _b.resultTitle, pickerSize = _b.pickerSize, columns = _b.columns, leftMode = _b.leftMode, selectMode = _b.selectMode, borderMode = _b.borderMode;
18
+ // 目前 LeftOptions 没有接口可以动态加载
19
+ // 为了方便可以快速实现动态化,让选项的第一个成员携带
20
+ // LeftOptions 信息
21
+ var _c = this.props, options = _c.options, leftOptions = _c.leftOptions, leftDefaultValue = _c.leftDefaultValue;
22
+ if (selectMode === 'associated' &&
23
+ options &&
24
+ options.length === 1 &&
25
+ options[0].leftOptions &&
26
+ Array.isArray(options[0].children)) {
27
+ leftOptions = options[0].leftOptions;
28
+ leftDefaultValue = (_a = options[0].leftDefaultValue) !== null && _a !== void 0 ? _a : leftDefaultValue;
29
+ options = options[0].children;
30
+ }
31
+ return (react_1.default.createElement("div", { className: cx('TransferControl', className) },
32
+ react_1.default.createElement(TransferPicker_1.default, { borderMode: borderMode, selectMode: selectMode, value: selectedOptions, disabled: disabled, options: options, onChange: this.handleChange, option2value: this.option2value, sortable: sortable, searchResultMode: searchResultMode, onSearch: searchable ? this.handleSearch : undefined, showArrow: showArrow, onDeferLoad: deferLoad, selectTitle: selectTitle, resultTitle: resultTitle, size: pickerSize, columns: columns, leftMode: leftMode, leftOptions: leftOptions }),
33
+ react_1.default.createElement(Spinner_1.default, { overlay: true, key: "info", show: loading })));
34
+ };
35
+ TransferPickerRenderer = (0, tslib_1.__decorate)([
36
+ (0, Options_1.OptionsControl)({
37
+ type: 'transfer-picker'
38
+ })
39
+ ], TransferPickerRenderer);
40
+ return TransferPickerRenderer;
41
+ }(Transfer_1.BaseTransferRenderer));
42
+ exports.TransferPickerRenderer = TransferPickerRenderer;
43
+ //# sourceMappingURL=./renderers/Form/TransferPicker.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "TransferPicker.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/renderers/Form/TransferPicker.tsx"
7
+ ],
8
+ "names": [],
9
+ "mappings": ";;;;AAAA,qCAImB;AACnB,6DAA0B;AAE1B,kFAA+C;AAC/C,uCAAgD;AAGhD,gGAA6D;AAoE7D;IAA4C,uDAAuC;IAAnF;;IAiEA,CAAC;IAhEC,uCAAM,GAAN;;QACQ,IAAA,KAkBF,IAAI,CAAC,KAAK,EAjBZ,SAAS,eAAA,EACG,EAAE,gBAAA,EACd,eAAe,qBAAA,EACf,QAAQ,cAAA,EACR,OAAO,aAAA,EACP,UAAU,gBAAA,EACV,gBAAgB,sBAAA,EAChB,SAAS,eAAA,EACT,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,WAAW,iBAAA,EACX,UAAU,gBAAA,EACV,OAAO,aAAA,EACP,QAAQ,cAAA,EACR,UAAU,gBAAA,EACV,UAAU,gBACE,CAAC;QAEf,4BAA4B;QAC5B,4BAA4B;QAC5B,iBAAiB;QACb,IAAA,KAA2C,IAAI,CAAC,KAAK,EAApD,OAAO,aAAA,EAAE,WAAW,iBAAA,EAAE,gBAAgB,sBAAc,CAAC;QAC1D,IACE,UAAU,KAAK,YAAY;YAC3B,OAAO;YACP,OAAO,CAAC,MAAM,KAAK,CAAC;YACpB,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW;YACtB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAClC;YACA,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YACrC,gBAAgB,GAAG,MAAA,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,mCAAI,gBAAgB,CAAC;YACnE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SAC/B;QAED,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC;YAC9C,8BAAC,wBAAc,IACb,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EACpD,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,SAAS,EACtB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,GACxB;YAEF,8BAAC,iBAAO,IAAC,OAAO,QAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAE,OAAO,GAAI,CACzC,CACP,CAAC;IACJ,CAAC;IAhEU,sBAAsB;QAHlC,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,iBAAiB;SACxB,CAAC;OACW,sBAAsB,CAiElC;IAAD,6BAAC;CAAA,AAjED,CAA4C,+BAAoB,GAiE/D;AAjEY,wDAAsB",
10
+ "sourcesContent": [
11
+ "import {\n OptionsControlProps,\n OptionsControl,\n FormOptionsControl\n} from './Options';\nimport React from 'react';\nimport {Api} from '../../types';\nimport Spinner from '../../components/Spinner';\nimport {BaseTransferRenderer} from './Transfer';\nimport TabsTransfer from '../../components/TabsTransfer';\nimport {SchemaApi} from '../../Schema';\nimport TransferPicker from '../../components/TransferPicker';\n\n/**\n * TransferPicker 穿梭器的弹框形态\n * 文档:https://baidu.gitee.io/amis/docs/components/form/transfer-picker\n */\nexport interface TransferPickerControlSchema extends FormOptionsControl {\n type: 'transfer-picker';\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 是否显示剪头\n */\n showArrow?: boolean;\n\n /**\n * 可排序?\n */\n sortable?: boolean;\n\n /**\n * 搜索结果展示模式\n */\n searchResultMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 可搜索?\n */\n searchable?: boolean;\n\n /**\n * 搜索 API\n */\n searchApi?: SchemaApi;\n\n /**\n * 左侧的标题文字\n */\n selectTitle?: string;\n\n /**\n * 右侧结果的标题文字\n */\n resultTitle?: string;\n\n /**\n * 弹窗大小\n */\n pickerSize?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n}\n\nexport interface TabsTransferProps\n extends OptionsControlProps,\n Omit<\n TransferPickerControlSchema,\n | 'type'\n | 'options'\n | 'inputClassName'\n | 'className'\n | 'descriptionClassName'\n > {}\n\n@OptionsControl({\n type: 'transfer-picker'\n})\nexport class TransferPickerRenderer extends BaseTransferRenderer<TabsTransferProps> {\n render() {\n const {\n className,\n classnames: cx,\n selectedOptions,\n sortable,\n loading,\n searchable,\n searchResultMode,\n showArrow,\n deferLoad,\n disabled,\n selectTitle,\n resultTitle,\n pickerSize,\n columns,\n leftMode,\n selectMode,\n borderMode\n } = this.props;\n\n // 目前 LeftOptions 没有接口可以动态加载\n // 为了方便可以快速实现动态化,让选项的第一个成员携带\n // LeftOptions 信息\n let {options, leftOptions, leftDefaultValue} = this.props;\n if (\n selectMode === 'associated' &&\n options &&\n options.length === 1 &&\n options[0].leftOptions &&\n Array.isArray(options[0].children)\n ) {\n leftOptions = options[0].leftOptions;\n leftDefaultValue = options[0].leftDefaultValue ?? leftDefaultValue;\n options = options[0].children;\n }\n\n return (\n <div className={cx('TransferControl', className)}>\n <TransferPicker\n borderMode={borderMode}\n selectMode={selectMode}\n value={selectedOptions}\n disabled={disabled}\n options={options}\n onChange={this.handleChange}\n option2value={this.option2value}\n sortable={sortable}\n searchResultMode={searchResultMode}\n onSearch={searchable ? this.handleSearch : undefined}\n showArrow={showArrow}\n onDeferLoad={deferLoad}\n selectTitle={selectTitle}\n resultTitle={resultTitle}\n size={pickerSize}\n columns={columns}\n leftMode={leftMode}\n leftOptions={leftOptions}\n />\n\n <Spinner overlay key=\"info\" show={loading} />\n </div>\n );\n }\n}\n"
12
+ ]
13
+ }
@@ -255,7 +255,7 @@ var TreeSelectControl = /** @class */ (function (_super) {
255
255
  };
256
256
  TreeSelectControl.prototype.renderOuter = function () {
257
257
  var _this = this;
258
- var _a = this.props, value = _a.value, enableNodePath = _a.enableNodePath, _b = _a.pathSeparator, pathSeparator = _b === void 0 ? '/' : _b, disabled = _a.disabled, joinValues = _a.joinValues, extractValue = _a.extractValue, delimiter = _a.delimiter, placeholder = _a.placeholder, options = _a.options, multiple = _a.multiple, valueField = _a.valueField, initiallyOpen = _a.initiallyOpen, unfoldedLevel = _a.unfoldedLevel, withChildren = _a.withChildren, rootLabel = _a.rootLabel, cascade = _a.cascade, rootValue = _a.rootValue, showIcon = _a.showIcon, showRadio = _a.showRadio, popOverContainer = _a.popOverContainer, onlyChildren = _a.onlyChildren, ns = _a.classPrefix, optionsPlaceholder = _a.optionsPlaceholder, searchable = _a.searchable, autoComplete = _a.autoComplete, maxLength = _a.maxLength, minLength = _a.minLength, labelField = _a.labelField, nodePath = _a.nodePath, __ = _a.translate, deferLoad = _a.deferLoad, expandTreeOptions = _a.expandTreeOptions;
258
+ var _a = this.props, value = _a.value, enableNodePath = _a.enableNodePath, _b = _a.pathSeparator, pathSeparator = _b === void 0 ? '/' : _b, disabled = _a.disabled, joinValues = _a.joinValues, extractValue = _a.extractValue, delimiter = _a.delimiter, placeholder = _a.placeholder, options = _a.options, multiple = _a.multiple, valueField = _a.valueField, initiallyOpen = _a.initiallyOpen, unfoldedLevel = _a.unfoldedLevel, withChildren = _a.withChildren, rootLabel = _a.rootLabel, cascade = _a.cascade, rootValue = _a.rootValue, showIcon = _a.showIcon, showRadio = _a.showRadio, popOverContainer = _a.popOverContainer, onlyChildren = _a.onlyChildren, ns = _a.classPrefix, optionsPlaceholder = _a.optionsPlaceholder, searchable = _a.searchable, autoComplete = _a.autoComplete, maxLength = _a.maxLength, minLength = _a.minLength, labelField = _a.labelField, nodePath = _a.nodePath, onAdd = _a.onAdd, creatable = _a.creatable, createTip = _a.createTip, addControls = _a.addControls, onEdit = _a.onEdit, editable = _a.editable, editTip = _a.editTip, editControls = _a.editControls, removable = _a.removable, removeTip = _a.removeTip, onDelete = _a.onDelete, rootCreatable = _a.rootCreatable, rootCreateTip = _a.rootCreateTip, __ = _a.translate, deferLoad = _a.deferLoad, expandTreeOptions = _a.expandTreeOptions;
259
259
  var filtedOptions = !(0, api_1.isEffectiveApi)(autoComplete) && searchable && this.state.inputValue
260
260
  ? this.filterOptions(options, this.state.inputValue)
261
261
  : options;
@@ -263,7 +263,7 @@ var TreeSelectControl = /** @class */ (function (_super) {
263
263
  react_1.default.createElement(PopOver_1.default, { classPrefix: ns, className: ns + "TreeSelect-popover", style: {
264
264
  minWidth: this.target ? this.target.offsetWidth : undefined
265
265
  }, onHide: this.close, overlay: true },
266
- react_1.default.createElement(Tree_1.default, { classPrefix: ns, onlyChildren: onlyChildren, labelField: labelField, valueField: valueField, disabled: disabled, onChange: this.handleChange, joinValues: joinValues, extractValue: extractValue, delimiter: delimiter, placeholder: __(optionsPlaceholder), options: filtedOptions, highlightTxt: this.state.inputValue, multiple: multiple, initiallyOpen: initiallyOpen, unfoldedLevel: unfoldedLevel, withChildren: withChildren, rootLabel: __(rootLabel), rootValue: rootValue, showIcon: showIcon, showRadio: showRadio, cascade: cascade, foldedField: "collapsed", hideRoot: true, value: value || '', nodePath: nodePath, enableNodePath: enableNodePath, pathSeparator: pathSeparator, maxLength: maxLength, minLength: minLength, onDeferLoad: deferLoad, onExpandTree: expandTreeOptions }))));
266
+ react_1.default.createElement(Tree_1.default, { classPrefix: ns, onlyChildren: onlyChildren, labelField: labelField, valueField: valueField, disabled: disabled, onChange: this.handleChange, joinValues: joinValues, extractValue: extractValue, delimiter: delimiter, placeholder: __(optionsPlaceholder), options: filtedOptions, highlightTxt: this.state.inputValue, multiple: multiple, initiallyOpen: initiallyOpen, unfoldedLevel: unfoldedLevel, withChildren: withChildren, rootLabel: __(rootLabel), rootValue: rootValue, showIcon: showIcon, showRadio: showRadio, cascade: cascade, foldedField: "collapsed", hideRoot: true, value: value || '', nodePath: nodePath, enableNodePath: enableNodePath, pathSeparator: pathSeparator, maxLength: maxLength, minLength: minLength, onAdd: onAdd, creatable: creatable, createTip: createTip, rootCreatable: rootCreatable, rootCreateTip: rootCreateTip, onEdit: onEdit, editable: editable, editTip: editTip, removable: removable, removeTip: removeTip, onDelete: onDelete, bultinCUD: !addControls && !editControls, onDeferLoad: deferLoad, onExpandTree: expandTreeOptions }))));
267
267
  };
268
268
  TreeSelectControl.prototype.render = function () {
269
269
  var _a = this.props, className = _a.className, disabled = _a.disabled, inline = _a.inline, loading = _a.loading, multiple = _a.multiple, value = _a.value, clearable = _a.clearable, ns = _a.classPrefix, cx = _a.classnames, searchable = _a.searchable, autoComplete = _a.autoComplete, selectedOptions = _a.selectedOptions, placeholder = _a.placeholder, __ = _a.translate;
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/TreeSelect.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport Overlay from '../../components/Overlay';\nimport PopOver from '../../components/PopOver';\n\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport {Icon} from '../../components/icons';\nimport TreeSelector from '../../components/Tree';\nimport {matchSorter} from 'match-sorter';\nimport debouce from 'lodash/debounce';\nimport find from 'lodash/find';\nimport {Api} from '../../types';\nimport {isEffectiveApi} from '../../utils/api';\nimport Spinner from '../../components/Spinner';\nimport ResultBox from '../../components/ResultBox';\nimport {autobind, getTreeAncestors} from '../../utils/helper';\nimport {findDOMNode} from 'react-dom';\nimport {normalizeOptions} from '../../components/Select';\n\n/**\n * Tree 下拉选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tree\n */\nexport interface TreeSelectControlSchema extends FormOptionsControl {\n type: 'tree-select';\n\n /**\n * 是否隐藏顶级\n */\n hideRoot?: boolean;\n\n /**\n * 顶级选项的名称\n */\n rootLabel?: string;\n\n /**\n * 顶级选项的值\n */\n rootValue?: any;\n\n /**\n * 显示图标\n */\n showIcon?: boolean;\n\n /**\n * 父子之间是否完全独立。\n */\n cascade?: boolean;\n\n /**\n * 选父级的时候是否把子节点的值也包含在内。\n */\n withChildren?: boolean;\n\n /**\n * 选父级的时候,是否只把子节点的值包含在内\n */\n onlyChildren?: boolean;\n\n /**\n * 顶级节点是否可以创建子节点\n */\n rootCreatable?: boolean;\n\n /**\n * 是否隐藏选择框中已选中节点的祖先节点的文本信息\n */\n hideNodePathLabel?: boolean;\n\n /**\n * 是否开启节点路径模式\n */\n enableNodePath?: boolean;\n\n /**\n * 开启节点路径模式后,节点路径的分隔符\n */\n pathSeparator?: string;\n}\n\nexport interface TreeSelectProps extends OptionsControlProps {\n placeholder?: any;\n autoComplete?: Api;\n hideNodePathLabel?: boolean;\n enableNodePath?: boolean;\n pathSeparator?: string;\n}\n\nexport interface TreeSelectState {\n isOpened: boolean;\n isFocused: boolean;\n inputValue: string;\n}\n\nexport default class TreeSelectControl extends React.Component<\n TreeSelectProps,\n TreeSelectState\n> {\n static defaultProps = {\n placeholder: 'Select.placeholder',\n optionsPlaceholder: 'placeholder.noData',\n multiple: false,\n clearable: true,\n rootLabel: '顶级',\n rootValue: '',\n showIcon: true,\n joinValues: true,\n extractValue: false,\n delimiter: ',',\n resetValue: '',\n hideNodePathLabel: false,\n enableNodePath: false,\n pathSeparator: '/'\n };\n\n container: React.RefObject<HTMLDivElement> = React.createRef();\n\n input: React.RefObject<any> = React.createRef();\n\n cache: {\n [propName: string]: any;\n } = {};\n\n target: HTMLElement | null;\n targetRef = (ref: any) =>\n (this.target = ref ? (findDOMNode(ref) as HTMLElement) : null);\n\n constructor(props: TreeSelectProps) {\n super(props);\n\n this.state = {\n inputValue: '',\n isOpened: false,\n isFocused: false\n };\n\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleInputKeyDown = this.handleInputKeyDown.bind(this);\n\n this.loadRemote = debouce(this.loadRemote.bind(this), 250, {\n trailing: true,\n leading: false\n });\n }\n\n componentDidMount() {\n this.loadRemote('');\n }\n\n open(fn?: () => void) {\n if (this.props.disabled) {\n return;\n }\n\n this.setState(\n {\n isOpened: true\n },\n fn\n );\n }\n\n close() {\n this.setState(\n {\n isOpened: false,\n inputValue: this.props.multiple ? this.state.inputValue : ''\n },\n () => this.loadRemote(this.state.inputValue)\n );\n }\n\n handleFocus() {\n this.setState({\n isFocused: true\n });\n }\n\n handleBlur() {\n this.setState({\n isFocused: false\n });\n }\n\n handleKeyPress(e: React.KeyboardEvent) {\n if (e.key === ' ') {\n this.handleOutClick(e as any);\n e.preventDefault();\n }\n }\n\n validate(): any {\n const {value, minLength, maxLength, delimiter, translate: __} = this.props;\n\n let curValue = Array.isArray(value)\n ? value\n : (value ? String(value) : '').split(delimiter || ',');\n if (minLength && curValue.length < minLength) {\n return __(\n '已选择数量低于设定的最小个数${minLength},请选择更多的选项。',\n {minLength}\n );\n } else if (maxLength && curValue.length > maxLength) {\n return __(\n '已选择数量超出设定的最大个数{{maxLength}},请取消选择超出的选项。',\n {maxLength}\n );\n }\n }\n\n removeItem(index: number, e?: React.MouseEvent<HTMLElement>) {\n const {\n selectedOptions,\n joinValues,\n extractValue,\n delimiter,\n valueField,\n onChange,\n disabled\n } = this.props;\n\n e && e.stopPropagation();\n\n if (disabled) {\n return;\n }\n\n const items = selectedOptions.concat();\n items.splice(index, 1);\n\n let value: any = items;\n\n if (joinValues) {\n value = items\n .map((item: any) => item[valueField || 'value'])\n .join(delimiter || ',');\n } else if (extractValue) {\n value = items.map((item: any) => item[valueField || 'value']);\n }\n\n onChange(value);\n }\n\n handleChange(value: any) {\n const {onChange, multiple} = this.props;\n\n if (!multiple) {\n this.close();\n }\n\n multiple || !this.state.inputValue\n ? onChange(value)\n : this.setState(\n {\n inputValue: ''\n },\n () => onChange(value)\n );\n }\n\n handleInputChange(value: string) {\n const {autoComplete, data} = this.props;\n\n this.setState(\n {\n inputValue: value\n },\n isEffectiveApi(autoComplete, data)\n ? () => this.loadRemote(this.state.inputValue)\n : undefined\n );\n }\n\n handleInputKeyDown(event: React.KeyboardEvent) {\n const inputValue = this.state.inputValue;\n const {multiple, selectedOptions} = this.props;\n\n if (\n event.key === 'Backspace' &&\n !inputValue &&\n selectedOptions.length &&\n multiple\n ) {\n this.removeItem(selectedOptions.length - 1);\n }\n }\n\n clearValue() {\n const {onChange, resetValue} = this.props;\n\n onChange(typeof resetValue === 'undefined' ? '' : resetValue);\n }\n\n filterOptions(options: Array<Option>, keywords: string): Array<Option> {\n const {labelField, valueField} = this.props;\n\n return options.map(option => {\n option = {\n ...option\n };\n option.visible = !!matchSorter([option], keywords, {\n keys: [labelField || 'label', valueField || 'value']\n }).length;\n\n if (!option.visible && option.children) {\n option.children = this.filterOptions(option.children, keywords);\n const visibleCount = option.children.filter(\n item => item.visible\n ).length;\n option.visible = !!visibleCount;\n }\n\n option.visible && (option.collapsed = false);\n return option;\n });\n }\n\n async loadRemote(input: string) {\n const {autoComplete, env, data, setOptions, setLoading} = this.props;\n\n if (!isEffectiveApi(autoComplete, data)) {\n return;\n } else if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n if (this.cache[input] || ~input.indexOf(\"'\") /*中文没输完 233*/) {\n let options = this.cache[input] || [];\n let combinedOptions = this.mergeOptions(options);\n setOptions(combinedOptions);\n\n return Promise.resolve({\n options: combinedOptions\n });\n }\n\n setLoading(true);\n\n try {\n const ret: any = await env.fetcher(autoComplete, {\n ...data,\n term: input,\n value: input\n });\n\n let options = (ret.data && (ret.data as any).options) || ret.data || [];\n this.cache[input] = options;\n let combinedOptions = this.mergeOptions(options);\n setOptions(combinedOptions);\n\n return {\n options: combinedOptions\n };\n } finally {\n setLoading(false);\n }\n }\n\n mergeOptions(options: Array<object>) {\n const {selectedOptions} = this.props;\n let combinedOptions = normalizeOptions(options).concat();\n\n if (Array.isArray(selectedOptions) && selectedOptions.length) {\n selectedOptions.forEach(option => {\n if (\n !find(combinedOptions, (item: Option) => item.value == option.value)\n ) {\n combinedOptions.push({\n ...option,\n visible: false\n });\n }\n });\n }\n return combinedOptions;\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n @autobind\n handleOutClick(e: React.MouseEvent<any>) {\n e.defaultPrevented ||\n this.setState({\n isOpened: true\n });\n }\n\n @autobind\n handleResultChange(value: Array<Option>) {\n const {\n joinValues,\n extractValue,\n delimiter,\n valueField,\n onChange,\n multiple\n } = this.props;\n\n let newValue: any = Array.isArray(value) ? value.concat() : [];\n\n if (!multiple && !newValue.length) {\n onChange('');\n return;\n }\n\n if (joinValues || extractValue) {\n newValue = value.map(item => item[valueField || 'value']);\n }\n\n if (joinValues) {\n newValue = newValue.join(delimiter || ',');\n }\n\n onChange(newValue);\n }\n\n @autobind\n renderItem(item: Option) {\n const {labelField, options, hideNodePathLabel} = this.props;\n\n if (hideNodePathLabel) {\n return item[labelField || 'label'];\n }\n\n // 将所有祖先节点也展现出来\n const ancestors = getTreeAncestors(options, item, true);\n return `${\n ancestors\n ? ancestors.map(item => `${item[labelField || 'label']}`).join(' / ')\n : item[labelField || 'label']\n }`;\n }\n\n renderOuter() {\n const {\n value,\n enableNodePath,\n pathSeparator = '/',\n disabled,\n joinValues,\n extractValue,\n delimiter,\n placeholder,\n options,\n multiple,\n valueField,\n initiallyOpen,\n unfoldedLevel,\n withChildren,\n rootLabel,\n cascade,\n rootValue,\n showIcon,\n showRadio,\n popOverContainer,\n onlyChildren,\n classPrefix: ns,\n optionsPlaceholder,\n searchable,\n autoComplete,\n maxLength,\n minLength,\n labelField,\n nodePath,\n translate: __,\n deferLoad,\n expandTreeOptions\n } = this.props;\n\n let filtedOptions =\n !isEffectiveApi(autoComplete) && searchable && this.state.inputValue\n ? this.filterOptions(options, this.state.inputValue)\n : options;\n\n return (\n <Overlay\n container={popOverContainer || (() => this.container.current)}\n target={() => this.target}\n show\n >\n <PopOver\n classPrefix={ns}\n className={`${ns}TreeSelect-popover`}\n style={{\n minWidth: this.target ? this.target.offsetWidth : undefined\n }}\n onHide={this.close}\n overlay\n >\n <TreeSelector\n classPrefix={ns}\n onlyChildren={onlyChildren}\n labelField={labelField}\n valueField={valueField}\n disabled={disabled}\n onChange={this.handleChange}\n joinValues={joinValues}\n extractValue={extractValue}\n delimiter={delimiter}\n placeholder={__(optionsPlaceholder)}\n options={filtedOptions}\n highlightTxt={this.state.inputValue}\n multiple={multiple}\n initiallyOpen={initiallyOpen}\n unfoldedLevel={unfoldedLevel}\n withChildren={withChildren}\n rootLabel={__(rootLabel)}\n rootValue={rootValue}\n showIcon={showIcon}\n showRadio={showRadio}\n cascade={cascade}\n foldedField=\"collapsed\"\n hideRoot\n value={value || ''}\n nodePath={nodePath}\n enableNodePath={enableNodePath}\n pathSeparator={pathSeparator}\n maxLength={maxLength}\n minLength={minLength}\n onDeferLoad={deferLoad}\n onExpandTree={expandTreeOptions}\n />\n </PopOver>\n </Overlay>\n );\n }\n\n render() {\n const {\n className,\n disabled,\n inline,\n loading,\n multiple,\n value,\n clearable,\n classPrefix: ns,\n classnames: cx,\n searchable,\n autoComplete,\n selectedOptions,\n placeholder,\n translate: __\n } = this.props;\n\n return (\n <div ref={this.container} className={cx(`TreeSelectControl`, className)}>\n <ResultBox\n disabled={disabled}\n ref={this.targetRef}\n placeholder={__(placeholder || '空')}\n className={cx(`TreeSelect`, {\n 'TreeSelect--inline': inline,\n 'TreeSelect--single': !multiple,\n 'TreeSelect--multi': multiple,\n 'TreeSelect--searchable':\n searchable || isEffectiveApi(autoComplete),\n 'is-opened': this.state.isOpened,\n 'is-focused': this.state.isFocused,\n 'is-disabled': disabled\n })}\n result={\n multiple\n ? selectedOptions\n : selectedOptions.length\n ? this.renderItem(selectedOptions[0])\n : ''\n }\n onResultClick={this.handleOutClick}\n value={this.state.inputValue}\n onChange={this.handleInputChange}\n onResultChange={this.handleResultChange}\n itemRender={this.renderItem}\n onKeyPress={this.handleKeyPress}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onKeyDown={this.handleInputKeyDown}\n clearable={clearable}\n allowInput={searchable || isEffectiveApi(autoComplete)}\n inputPlaceholder={''}\n >\n {loading ? <Spinner size=\"sm\" /> : undefined}\n </ResultBox>\n {this.state.isOpened ? this.renderOuter() : null}\n </div>\n );\n }\n}\n\n@OptionsControl({\n type: 'tree-select'\n})\nexport class TreeSelectControlRenderer extends TreeSelectControl {}\n"
11
+ "import React from 'react';\nimport Overlay from '../../components/Overlay';\nimport PopOver from '../../components/PopOver';\n\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport {Icon} from '../../components/icons';\nimport TreeSelector from '../../components/Tree';\nimport {matchSorter} from 'match-sorter';\nimport debouce from 'lodash/debounce';\nimport find from 'lodash/find';\nimport {Api} from '../../types';\nimport {isEffectiveApi} from '../../utils/api';\nimport Spinner from '../../components/Spinner';\nimport ResultBox from '../../components/ResultBox';\nimport {autobind, getTreeAncestors} from '../../utils/helper';\nimport {findDOMNode} from 'react-dom';\nimport {normalizeOptions} from '../../components/Select';\n\n/**\n * Tree 下拉选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tree\n */\nexport interface TreeSelectControlSchema extends FormOptionsControl {\n type: 'tree-select';\n\n /**\n * 是否隐藏顶级\n */\n hideRoot?: boolean;\n\n /**\n * 顶级选项的名称\n */\n rootLabel?: string;\n\n /**\n * 顶级选项的值\n */\n rootValue?: any;\n\n /**\n * 显示图标\n */\n showIcon?: boolean;\n\n /**\n * 父子之间是否完全独立。\n */\n cascade?: boolean;\n\n /**\n * 选父级的时候是否把子节点的值也包含在内。\n */\n withChildren?: boolean;\n\n /**\n * 选父级的时候,是否只把子节点的值包含在内\n */\n onlyChildren?: boolean;\n\n /**\n * 顶级节点是否可以创建子节点\n */\n rootCreatable?: boolean;\n\n /**\n * 是否隐藏选择框中已选中节点的祖先节点的文本信息\n */\n hideNodePathLabel?: boolean;\n\n /**\n * 是否开启节点路径模式\n */\n enableNodePath?: boolean;\n\n /**\n * 开启节点路径模式后,节点路径的分隔符\n */\n pathSeparator?: string;\n}\n\nexport interface TreeSelectProps extends OptionsControlProps {\n placeholder?: any;\n autoComplete?: Api;\n hideNodePathLabel?: boolean;\n enableNodePath?: boolean;\n pathSeparator?: string;\n}\n\nexport interface TreeSelectState {\n isOpened: boolean;\n isFocused: boolean;\n inputValue: string;\n}\n\nexport default class TreeSelectControl extends React.Component<\n TreeSelectProps,\n TreeSelectState\n> {\n static defaultProps = {\n placeholder: 'Select.placeholder',\n optionsPlaceholder: 'placeholder.noData',\n multiple: false,\n clearable: true,\n rootLabel: '顶级',\n rootValue: '',\n showIcon: true,\n joinValues: true,\n extractValue: false,\n delimiter: ',',\n resetValue: '',\n hideNodePathLabel: false,\n enableNodePath: false,\n pathSeparator: '/'\n };\n\n container: React.RefObject<HTMLDivElement> = React.createRef();\n\n input: React.RefObject<any> = React.createRef();\n\n cache: {\n [propName: string]: any;\n } = {};\n\n target: HTMLElement | null;\n targetRef = (ref: any) =>\n (this.target = ref ? (findDOMNode(ref) as HTMLElement) : null);\n\n constructor(props: TreeSelectProps) {\n super(props);\n\n this.state = {\n inputValue: '',\n isOpened: false,\n isFocused: false\n };\n\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleInputKeyDown = this.handleInputKeyDown.bind(this);\n\n this.loadRemote = debouce(this.loadRemote.bind(this), 250, {\n trailing: true,\n leading: false\n });\n }\n\n componentDidMount() {\n this.loadRemote('');\n }\n\n open(fn?: () => void) {\n if (this.props.disabled) {\n return;\n }\n\n this.setState(\n {\n isOpened: true\n },\n fn\n );\n }\n\n close() {\n this.setState(\n {\n isOpened: false,\n inputValue: this.props.multiple ? this.state.inputValue : ''\n },\n () => this.loadRemote(this.state.inputValue)\n );\n }\n\n handleFocus() {\n this.setState({\n isFocused: true\n });\n }\n\n handleBlur() {\n this.setState({\n isFocused: false\n });\n }\n\n handleKeyPress(e: React.KeyboardEvent) {\n if (e.key === ' ') {\n this.handleOutClick(e as any);\n e.preventDefault();\n }\n }\n\n validate(): any {\n const {value, minLength, maxLength, delimiter, translate: __} = this.props;\n\n let curValue = Array.isArray(value)\n ? value\n : (value ? String(value) : '').split(delimiter || ',');\n if (minLength && curValue.length < minLength) {\n return __(\n '已选择数量低于设定的最小个数${minLength},请选择更多的选项。',\n {minLength}\n );\n } else if (maxLength && curValue.length > maxLength) {\n return __(\n '已选择数量超出设定的最大个数{{maxLength}},请取消选择超出的选项。',\n {maxLength}\n );\n }\n }\n\n removeItem(index: number, e?: React.MouseEvent<HTMLElement>) {\n const {\n selectedOptions,\n joinValues,\n extractValue,\n delimiter,\n valueField,\n onChange,\n disabled\n } = this.props;\n\n e && e.stopPropagation();\n\n if (disabled) {\n return;\n }\n\n const items = selectedOptions.concat();\n items.splice(index, 1);\n\n let value: any = items;\n\n if (joinValues) {\n value = items\n .map((item: any) => item[valueField || 'value'])\n .join(delimiter || ',');\n } else if (extractValue) {\n value = items.map((item: any) => item[valueField || 'value']);\n }\n\n onChange(value);\n }\n\n handleChange(value: any) {\n const {onChange, multiple} = this.props;\n\n if (!multiple) {\n this.close();\n }\n\n multiple || !this.state.inputValue\n ? onChange(value)\n : this.setState(\n {\n inputValue: ''\n },\n () => onChange(value)\n );\n }\n\n handleInputChange(value: string) {\n const {autoComplete, data} = this.props;\n\n this.setState(\n {\n inputValue: value\n },\n isEffectiveApi(autoComplete, data)\n ? () => this.loadRemote(this.state.inputValue)\n : undefined\n );\n }\n\n handleInputKeyDown(event: React.KeyboardEvent) {\n const inputValue = this.state.inputValue;\n const {multiple, selectedOptions} = this.props;\n\n if (\n event.key === 'Backspace' &&\n !inputValue &&\n selectedOptions.length &&\n multiple\n ) {\n this.removeItem(selectedOptions.length - 1);\n }\n }\n\n clearValue() {\n const {onChange, resetValue} = this.props;\n\n onChange(typeof resetValue === 'undefined' ? '' : resetValue);\n }\n\n filterOptions(options: Array<Option>, keywords: string): Array<Option> {\n const {labelField, valueField} = this.props;\n\n return options.map(option => {\n option = {\n ...option\n };\n option.visible = !!matchSorter([option], keywords, {\n keys: [labelField || 'label', valueField || 'value']\n }).length;\n\n if (!option.visible && option.children) {\n option.children = this.filterOptions(option.children, keywords);\n const visibleCount = option.children.filter(\n item => item.visible\n ).length;\n option.visible = !!visibleCount;\n }\n\n option.visible && (option.collapsed = false);\n return option;\n });\n }\n\n async loadRemote(input: string) {\n const {autoComplete, env, data, setOptions, setLoading} = this.props;\n\n if (!isEffectiveApi(autoComplete, data)) {\n return;\n } else if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n if (this.cache[input] || ~input.indexOf(\"'\") /*中文没输完 233*/) {\n let options = this.cache[input] || [];\n let combinedOptions = this.mergeOptions(options);\n setOptions(combinedOptions);\n\n return Promise.resolve({\n options: combinedOptions\n });\n }\n\n setLoading(true);\n\n try {\n const ret: any = await env.fetcher(autoComplete, {\n ...data,\n term: input,\n value: input\n });\n\n let options = (ret.data && (ret.data as any).options) || ret.data || [];\n this.cache[input] = options;\n let combinedOptions = this.mergeOptions(options);\n setOptions(combinedOptions);\n\n return {\n options: combinedOptions\n };\n } finally {\n setLoading(false);\n }\n }\n\n mergeOptions(options: Array<object>) {\n const {selectedOptions} = this.props;\n let combinedOptions = normalizeOptions(options).concat();\n\n if (Array.isArray(selectedOptions) && selectedOptions.length) {\n selectedOptions.forEach(option => {\n if (\n !find(combinedOptions, (item: Option) => item.value == option.value)\n ) {\n combinedOptions.push({\n ...option,\n visible: false\n });\n }\n });\n }\n return combinedOptions;\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n @autobind\n handleOutClick(e: React.MouseEvent<any>) {\n e.defaultPrevented ||\n this.setState({\n isOpened: true\n });\n }\n\n @autobind\n handleResultChange(value: Array<Option>) {\n const {\n joinValues,\n extractValue,\n delimiter,\n valueField,\n onChange,\n multiple\n } = this.props;\n\n let newValue: any = Array.isArray(value) ? value.concat() : [];\n\n if (!multiple && !newValue.length) {\n onChange('');\n return;\n }\n\n if (joinValues || extractValue) {\n newValue = value.map(item => item[valueField || 'value']);\n }\n\n if (joinValues) {\n newValue = newValue.join(delimiter || ',');\n }\n\n onChange(newValue);\n }\n\n @autobind\n renderItem(item: Option) {\n const {labelField, options, hideNodePathLabel} = this.props;\n\n if (hideNodePathLabel) {\n return item[labelField || 'label'];\n }\n\n // 将所有祖先节点也展现出来\n const ancestors = getTreeAncestors(options, item, true);\n return `${\n ancestors\n ? ancestors.map(item => `${item[labelField || 'label']}`).join(' / ')\n : item[labelField || 'label']\n }`;\n }\n\n renderOuter() {\n const {\n value,\n enableNodePath,\n pathSeparator = '/',\n disabled,\n joinValues,\n extractValue,\n delimiter,\n placeholder,\n options,\n multiple,\n valueField,\n initiallyOpen,\n unfoldedLevel,\n withChildren,\n rootLabel,\n cascade,\n rootValue,\n showIcon,\n showRadio,\n popOverContainer,\n onlyChildren,\n classPrefix: ns,\n optionsPlaceholder,\n searchable,\n autoComplete,\n maxLength,\n minLength,\n labelField,\n nodePath,\n onAdd,\n creatable,\n createTip,\n addControls,\n onEdit,\n editable,\n editTip,\n editControls,\n removable,\n removeTip,\n onDelete,\n rootCreatable,\n rootCreateTip,\n translate: __,\n deferLoad,\n expandTreeOptions\n } = this.props;\n\n let filtedOptions =\n !isEffectiveApi(autoComplete) && searchable && this.state.inputValue\n ? this.filterOptions(options, this.state.inputValue)\n : options;\n\n return (\n <Overlay\n container={popOverContainer || (() => this.container.current)}\n target={() => this.target}\n show\n >\n <PopOver\n classPrefix={ns}\n className={`${ns}TreeSelect-popover`}\n style={{\n minWidth: this.target ? this.target.offsetWidth : undefined\n }}\n onHide={this.close}\n overlay\n >\n <TreeSelector\n classPrefix={ns}\n onlyChildren={onlyChildren}\n labelField={labelField}\n valueField={valueField}\n disabled={disabled}\n onChange={this.handleChange}\n joinValues={joinValues}\n extractValue={extractValue}\n delimiter={delimiter}\n placeholder={__(optionsPlaceholder)}\n options={filtedOptions}\n highlightTxt={this.state.inputValue}\n multiple={multiple}\n initiallyOpen={initiallyOpen}\n unfoldedLevel={unfoldedLevel}\n withChildren={withChildren}\n rootLabel={__(rootLabel)}\n rootValue={rootValue}\n showIcon={showIcon}\n showRadio={showRadio}\n cascade={cascade}\n foldedField=\"collapsed\"\n hideRoot\n value={value || ''}\n nodePath={nodePath}\n enableNodePath={enableNodePath}\n pathSeparator={pathSeparator}\n maxLength={maxLength}\n minLength={minLength}\n onAdd={onAdd}\n creatable={creatable}\n createTip={createTip}\n rootCreatable={rootCreatable}\n rootCreateTip={rootCreateTip}\n onEdit={onEdit}\n editable={editable}\n editTip={editTip}\n removable={removable}\n removeTip={removeTip}\n onDelete={onDelete}\n bultinCUD={!addControls && !editControls}\n onDeferLoad={deferLoad}\n onExpandTree={expandTreeOptions}\n />\n </PopOver>\n </Overlay>\n );\n }\n\n render() {\n const {\n className,\n disabled,\n inline,\n loading,\n multiple,\n value,\n clearable,\n classPrefix: ns,\n classnames: cx,\n searchable,\n autoComplete,\n selectedOptions,\n placeholder,\n translate: __\n } = this.props;\n\n return (\n <div ref={this.container} className={cx(`TreeSelectControl`, className)}>\n <ResultBox\n disabled={disabled}\n ref={this.targetRef}\n placeholder={__(placeholder || '空')}\n className={cx(`TreeSelect`, {\n 'TreeSelect--inline': inline,\n 'TreeSelect--single': !multiple,\n 'TreeSelect--multi': multiple,\n 'TreeSelect--searchable':\n searchable || isEffectiveApi(autoComplete),\n 'is-opened': this.state.isOpened,\n 'is-focused': this.state.isFocused,\n 'is-disabled': disabled\n })}\n result={\n multiple\n ? selectedOptions\n : selectedOptions.length\n ? this.renderItem(selectedOptions[0])\n : ''\n }\n onResultClick={this.handleOutClick}\n value={this.state.inputValue}\n onChange={this.handleInputChange}\n onResultChange={this.handleResultChange}\n itemRender={this.renderItem}\n onKeyPress={this.handleKeyPress}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onKeyDown={this.handleInputKeyDown}\n clearable={clearable}\n allowInput={searchable || isEffectiveApi(autoComplete)}\n inputPlaceholder={''}\n >\n {loading ? <Spinner size=\"sm\" /> : undefined}\n </ResultBox>\n {this.state.isOpened ? this.renderOuter() : null}\n </div>\n );\n }\n}\n\n@OptionsControl({\n type: 'tree-select'\n})\nexport class TreeSelectControlRenderer extends TreeSelectControl {}\n"
12
12
  ]
13
13
  }
@@ -125,6 +125,10 @@ export interface FormSchema extends BaseSchema {
125
125
  * 配置表单项默认的展示方式。
126
126
  */
127
127
  mode?: 'normal' | 'inline' | 'horizontal';
128
+ /**
129
+ * 表单项显示为几列
130
+ */
131
+ columnCount?: number;
128
132
  /**
129
133
  * 如果是水平排版,这个属性可以细化水平排版的左右宽度占比。
130
134
  */
@@ -249,6 +253,7 @@ export default class Form extends React.Component<FormProps, object> {
249
253
  right: number;
250
254
  offset: number;
251
255
  };
256
+ columnCount: number;
252
257
  panelClassName: string;
253
258
  messages: {
254
259
  fetchFailed: string;
@@ -337,7 +337,7 @@ var Form = /** @class */ (function (_super) {
337
337
  if (!changePristine) {
338
338
  (formLazyChange === false ? this.emitChange : this.lazyEmitChange)(submit);
339
339
  }
340
- if (store.persistData) {
340
+ if (store.persistData && store.inited) {
341
341
  store.setLocalPersistData();
342
342
  }
343
343
  };
@@ -752,11 +752,11 @@ var Form = /** @class */ (function (_super) {
752
752
  return render("" + (region ? region + "/" : '') + key, subSchema, subProps);
753
753
  };
754
754
  Form.prototype.renderBody = function () {
755
- var _a = this.props, body = _a.body, mode = _a.mode, className = _a.className, cx = _a.classnames, debug = _a.debug, $path = _a.$path, store = _a.store, render = _a.render;
755
+ var _a = this.props, body = _a.body, mode = _a.mode, className = _a.className, cx = _a.classnames, debug = _a.debug, $path = _a.$path, store = _a.store, columnCount = _a.columnCount, render = _a.render;
756
756
  var restError = store.restError;
757
757
  var WrapperComponent = this.props.wrapperComponent ||
758
758
  (/(?:\/|^)form\//.test($path) ? 'div' : 'form');
759
- return (react_1.default.createElement(WrapperComponent, { className: cx("Form", "Form--" + (mode || 'normal'), className), onSubmit: this.handleFormSubmit, noValidate: true },
759
+ return (react_1.default.createElement(WrapperComponent, { className: cx("Form", "Form--" + (mode || 'normal'), columnCount ? "Form--column Form--column-" + columnCount : null, className), onSubmit: this.handleFormSubmit, noValidate: true },
760
760
  react_1.default.createElement("input", { type: "submit", style: { display: 'none' } }),
761
761
  debug ? (react_1.default.createElement("pre", null,
762
762
  react_1.default.createElement("code", null, JSON.stringify(store.data, null, 2)))) : null,
@@ -825,6 +825,7 @@ var Form = /** @class */ (function (_super) {
825
825
  right: 10,
826
826
  offset: 2
827
827
  },
828
+ columnCount: 0,
828
829
  panelClassName: 'Panel--default',
829
830
  messages: {
830
831
  fetchFailed: 'fetchFailed',
@@ -845,6 +846,7 @@ var Form = /** @class */ (function (_super) {
845
846
  'initFetch',
846
847
  'wrapWithPanel',
847
848
  'mode',
849
+ 'columnCount',
848
850
  'collapsable',
849
851
  'horizontal',
850
852
  'panelClassName',