amis 1.4.2-beta.1 → 1.4.2-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. package/lib/Schema.d.ts +9 -2
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/components/AnchorNav.d.ts +22 -21
  4. package/lib/components/AnchorNav.js +7 -3
  5. package/lib/components/AnchorNav.js.map +2 -2
  6. package/lib/components/ArrayInput.d.ts +84 -84
  7. package/lib/components/AssociatedSelection.d.ts +930 -0
  8. package/lib/components/AssociatedSelection.js +89 -0
  9. package/lib/components/AssociatedSelection.js.map +13 -0
  10. package/lib/components/Badge.js +2 -2
  11. package/lib/components/Badge.js.map +2 -2
  12. package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
  13. package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
  14. package/lib/components/ChainedSelection.js.map +13 -0
  15. package/lib/components/ColorPicker.d.ts +84 -84
  16. package/lib/components/DatePicker.d.ts +84 -84
  17. package/lib/components/DateRangePicker.d.ts +84 -84
  18. package/lib/components/Editor.d.ts +84 -84
  19. package/lib/components/GroupedSelection.d.ts +907 -0
  20. package/lib/components/GroupedSelection.js +48 -0
  21. package/lib/components/GroupedSelection.js.map +13 -0
  22. package/lib/components/Link.d.ts +29 -36
  23. package/lib/components/Link.js +14 -15
  24. package/lib/components/Link.js.map +2 -2
  25. package/lib/components/ListGroup.d.ts +21 -21
  26. package/lib/components/ModalManager.js +1 -1
  27. package/lib/components/ModalManager.js.map +2 -2
  28. package/lib/components/MonthRangePicker.d.ts +84 -84
  29. package/lib/components/NumberInput.d.ts +20 -20
  30. package/lib/components/PickerColumn.d.ts +514 -0
  31. package/lib/components/PickerColumn.js +279 -0
  32. package/lib/components/PickerColumn.js.map +13 -0
  33. package/lib/components/PickerContainer.d.ts +513 -0
  34. package/lib/components/PickerContainer.js +96 -0
  35. package/lib/components/PickerContainer.js.map +13 -0
  36. package/lib/components/Radios.d.ts +22 -21
  37. package/lib/components/Radios.js +1 -0
  38. package/lib/components/Radios.js.map +2 -2
  39. package/lib/components/Rating.d.ts +21 -21
  40. package/lib/components/ResultBox.d.ts +84 -84
  41. package/lib/components/SearchBox.d.ts +84 -84
  42. package/lib/components/SearchBox.js +4 -4
  43. package/lib/components/SearchBox.js.map +2 -2
  44. package/lib/components/Select.d.ts +245 -237
  45. package/lib/components/Select.js +25 -4
  46. package/lib/components/Select.js.map +2 -2
  47. package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
  48. package/lib/components/Selection.js +134 -0
  49. package/lib/components/Selection.js.map +13 -0
  50. package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
  51. package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
  52. package/lib/components/TableSelection.js.map +13 -0
  53. package/lib/components/Tabs.d.ts +20 -20
  54. package/lib/components/TabsTransfer.d.ts +84 -84
  55. package/lib/components/TabsTransfer.js +9 -9
  56. package/lib/components/TabsTransfer.js.map +2 -2
  57. package/lib/components/TabsTransferPicker.d.ts +489 -0
  58. package/lib/components/TabsTransferPicker.js +60 -0
  59. package/lib/components/TabsTransferPicker.js.map +13 -0
  60. package/lib/components/Transfer.d.ts +908 -274
  61. package/lib/components/Transfer.js +31 -24
  62. package/lib/components/Transfer.js.map +2 -2
  63. package/lib/components/TransferDropDown.d.ts +487 -0
  64. package/lib/components/TransferDropDown.js +59 -0
  65. package/lib/components/TransferDropDown.js.map +13 -0
  66. package/lib/components/TransferPicker.d.ts +489 -0
  67. package/lib/components/TransferPicker.js +60 -0
  68. package/lib/components/TransferPicker.js.map +13 -0
  69. package/lib/components/Tree.d.ts +84 -84
  70. package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
  71. package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
  72. package/lib/components/TreeSelection.js.map +13 -0
  73. package/lib/components/WithRemoteConfig.js +1 -1
  74. package/lib/components/WithRemoteConfig.js.map +2 -2
  75. package/lib/components/condition-builder/Field.js +5 -2
  76. package/lib/components/condition-builder/Field.js.map +2 -2
  77. package/lib/components/condition-builder/Func.js +2 -2
  78. package/lib/components/condition-builder/Func.js.map +2 -2
  79. package/lib/components/condition-builder/InputSwitch.js +2 -2
  80. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  81. package/lib/components/condition-builder/Item.js +3 -3
  82. package/lib/components/condition-builder/Item.js.map +2 -2
  83. package/lib/components/index.d.ts +8 -8
  84. package/lib/components/index.js +16 -16
  85. package/lib/components/index.js.map +2 -2
  86. package/lib/envOverwrite.js.map +2 -2
  87. package/lib/factory.d.ts +4 -0
  88. package/lib/factory.js +4 -2
  89. package/lib/factory.js.map +2 -2
  90. package/lib/helper.css.map +1 -1
  91. package/lib/hooks/index.d.ts +5 -0
  92. package/lib/hooks/index.js +14 -0
  93. package/lib/hooks/index.js.map +13 -0
  94. package/lib/hooks/use-set-state.d.ts +2 -0
  95. package/lib/hooks/use-set-state.js +15 -0
  96. package/lib/hooks/use-set-state.js.map +13 -0
  97. package/lib/hooks/use-touch.d.ts +16 -0
  98. package/lib/hooks/use-touch.js +73 -0
  99. package/lib/hooks/use-touch.js.map +13 -0
  100. package/lib/hooks/use-update-effect.d.ts +3 -0
  101. package/lib/hooks/use-update-effect.js +17 -0
  102. package/lib/hooks/use-update-effect.js.map +13 -0
  103. package/lib/index.d.ts +3 -0
  104. package/lib/index.js +4 -1
  105. package/lib/index.js.map +2 -2
  106. package/lib/locale/de-DE.js +2 -0
  107. package/lib/locale/de-DE.js.map +2 -2
  108. package/lib/locale/en-US.js +2 -0
  109. package/lib/locale/en-US.js.map +2 -2
  110. package/lib/locale/zh-CN.js +4 -2
  111. package/lib/locale/zh-CN.js.map +2 -2
  112. package/lib/renderers/Action.d.ts +4 -3
  113. package/lib/renderers/Action.js +17 -4
  114. package/lib/renderers/Action.js.map +2 -2
  115. package/lib/renderers/AnchorNav.d.ts +1 -0
  116. package/lib/renderers/AnchorNav.js +2 -2
  117. package/lib/renderers/AnchorNav.js.map +2 -2
  118. package/lib/renderers/Avatar.js +3 -3
  119. package/lib/renderers/Avatar.js.map +2 -2
  120. package/lib/renderers/Breadcrumb.js +1 -1
  121. package/lib/renderers/Breadcrumb.js.map +2 -2
  122. package/lib/renderers/CRUD.d.ts +9 -0
  123. package/lib/renderers/CRUD.js +24 -4
  124. package/lib/renderers/CRUD.js.map +2 -2
  125. package/lib/renderers/Card.d.ts +4 -0
  126. package/lib/renderers/Card.js +29 -23
  127. package/lib/renderers/Card.js.map +2 -2
  128. package/lib/renderers/Chart.js +1 -1
  129. package/lib/renderers/Chart.js.map +2 -2
  130. package/lib/renderers/Collapse.js +3 -2
  131. package/lib/renderers/Collapse.js.map +2 -2
  132. package/lib/renderers/DropDownButton.js +1 -1
  133. package/lib/renderers/DropDownButton.js.map +2 -2
  134. package/lib/renderers/Form/DiffEditor.d.ts +4 -3
  135. package/lib/renderers/Form/Editor.d.ts +3 -2
  136. package/lib/renderers/Form/InputCity.d.ts +84 -84
  137. package/lib/renderers/Form/InputCity.js +7 -6
  138. package/lib/renderers/Form/InputCity.js.map +2 -2
  139. package/lib/renderers/Form/InputColor.d.ts +84 -84
  140. package/lib/renderers/Form/InputFile.js +10 -4
  141. package/lib/renderers/Form/InputFile.js.map +2 -2
  142. package/lib/renderers/Form/InputImage.js +11 -4
  143. package/lib/renderers/Form/InputImage.js.map +2 -2
  144. package/lib/renderers/Form/Item.d.ts +1 -1
  145. package/lib/renderers/Form/Item.js.map +1 -1
  146. package/lib/renderers/Form/Options.js +13 -3
  147. package/lib/renderers/Form/Options.js.map +2 -2
  148. package/lib/renderers/Form/Select.d.ts +41 -4
  149. package/lib/renderers/Form/Select.js +23 -3
  150. package/lib/renderers/Form/Select.js.map +2 -2
  151. package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
  152. package/lib/renderers/Form/TabsTransferPicker.js +29 -0
  153. package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
  154. package/lib/renderers/Form/Transfer.js +3 -2
  155. package/lib/renderers/Form/Transfer.js.map +2 -2
  156. package/lib/renderers/Form/TransferPicker.d.ts +48 -0
  157. package/lib/renderers/Form/TransferPicker.js +29 -0
  158. package/lib/renderers/Form/TransferPicker.js.map +13 -0
  159. package/lib/renderers/Form/TreeSelect.js +2 -2
  160. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  161. package/lib/renderers/Form/index.js +1 -1
  162. package/lib/renderers/Form/index.js.map +2 -2
  163. package/lib/renderers/Form/wrapControl.js +13 -1
  164. package/lib/renderers/Form/wrapControl.js.map +2 -2
  165. package/lib/renderers/IFrame.js +1 -3
  166. package/lib/renderers/IFrame.js.map +2 -2
  167. package/lib/renderers/Json.d.ts +4 -0
  168. package/lib/renderers/Json.js +4 -13
  169. package/lib/renderers/Json.js.map +2 -2
  170. package/lib/renderers/Link.d.ts +4 -2
  171. package/lib/renderers/Link.js +15 -6
  172. package/lib/renderers/Link.js.map +2 -2
  173. package/lib/renderers/List.js +1 -1
  174. package/lib/renderers/List.js.map +2 -2
  175. package/lib/renderers/Mapping.d.ts +9 -2
  176. package/lib/renderers/Mapping.js +18 -6
  177. package/lib/renderers/Mapping.js.map +2 -2
  178. package/lib/renderers/Nav.d.ts +21 -21
  179. package/lib/renderers/Nav.js +39 -21
  180. package/lib/renderers/Nav.js.map +2 -2
  181. package/lib/renderers/Portlet.d.ts +125 -0
  182. package/lib/renderers/Portlet.js +156 -0
  183. package/lib/renderers/Portlet.js.map +13 -0
  184. package/lib/renderers/Property.js +2 -1
  185. package/lib/renderers/Property.js.map +2 -2
  186. package/lib/renderers/SearchBox.d.ts +6 -1
  187. package/lib/renderers/SearchBox.js +19 -5
  188. package/lib/renderers/SearchBox.js.map +2 -2
  189. package/lib/renderers/Table/TableContent.d.ts +4 -1
  190. package/lib/renderers/Table/TableContent.js +21 -1
  191. package/lib/renderers/Table/TableContent.js.map +2 -2
  192. package/lib/renderers/Table/index.d.ts +5 -1
  193. package/lib/renderers/Table/index.js +64 -29
  194. package/lib/renderers/Table/index.js.map +2 -2
  195. package/lib/renderers/Tabs.js +9 -1
  196. package/lib/renderers/Tabs.js.map +2 -2
  197. package/lib/renderers/WebComponent.js +1 -1
  198. package/lib/renderers/WebComponent.js.map +2 -2
  199. package/lib/store/combo.d.ts +2 -16
  200. package/lib/store/crud.js +3 -7
  201. package/lib/store/crud.js.map +2 -2
  202. package/lib/store/form.d.ts +1 -1
  203. package/lib/store/form.js +5 -6
  204. package/lib/store/form.js.map +2 -2
  205. package/lib/store/service.js +5 -4
  206. package/lib/store/service.js.map +2 -2
  207. package/lib/store/table.d.ts +2 -2
  208. package/lib/themes/ang-ie11.css +422 -149
  209. package/lib/themes/ang.css +422 -149
  210. package/lib/themes/ang.css.map +1 -1
  211. package/lib/themes/antd-ie11.css +422 -149
  212. package/lib/themes/antd.css +422 -149
  213. package/lib/themes/antd.css.map +1 -1
  214. package/lib/themes/cxd-ie11.css +456 -182
  215. package/lib/themes/cxd.css +456 -182
  216. package/lib/themes/cxd.css.map +1 -1
  217. package/lib/themes/dark-ie11.css +422 -149
  218. package/lib/themes/dark.css +422 -149
  219. package/lib/themes/dark.css.map +1 -1
  220. package/lib/themes/default.css +456 -182
  221. package/lib/themes/default.css.map +1 -1
  222. package/lib/types.d.ts +37 -0
  223. package/lib/types.js +0 -5
  224. package/lib/types.js.map +2 -2
  225. package/lib/utils/api.d.ts +3 -2
  226. package/lib/utils/api.js +28 -12
  227. package/lib/utils/api.js.map +2 -2
  228. package/lib/utils/dom.d.ts +4 -0
  229. package/lib/utils/dom.js +11 -1
  230. package/lib/utils/dom.js.map +2 -2
  231. package/lib/utils/helper.d.ts +2 -0
  232. package/lib/utils/helper.js +11 -2
  233. package/lib/utils/helper.js.map +2 -2
  234. package/lib/utils/icon.js +3 -0
  235. package/lib/utils/icon.js.map +2 -2
  236. package/package.json +1 -1
  237. package/schema.json +3038 -790
  238. package/scss/_mixins.scss +1 -3
  239. package/scss/_properties.scss +25 -1
  240. package/scss/base/_normalize.scss +2 -0
  241. package/scss/components/_anchor-nav.scss +88 -29
  242. package/scss/components/_card.scss +8 -14
  243. package/scss/components/_collapse.scss +16 -1
  244. package/scss/components/_mapping.scss +6 -0
  245. package/scss/components/_nav.scss +1 -1
  246. package/scss/components/_picker-columns.scss +123 -0
  247. package/scss/components/_popover.scss +17 -0
  248. package/scss/components/_portlet.scss +51 -0
  249. package/scss/components/_status.scss +1 -1
  250. package/scss/components/_table.scss +26 -0
  251. package/scss/components/form/_checks.scss +0 -351
  252. package/scss/components/form/_fieldset.scss +5 -1
  253. package/scss/components/form/_selection.scss +354 -0
  254. package/scss/components/form/_transfer.scss +75 -18
  255. package/scss/themes/_common.scss +4 -0
  256. package/scss/themes/_cxd-variables.scss +4 -1
  257. package/scss/themes/cxd.scss +16 -12
  258. package/sdk/ang-ie11.css +457 -152
  259. package/sdk/ang.css +480 -154
  260. package/sdk/antd-ie11.css +456 -151
  261. package/sdk/antd.css +480 -154
  262. package/sdk/charts.js +13 -13
  263. package/sdk/color-picker.js +65 -69
  264. package/sdk/cropperjs.js +2 -2
  265. package/sdk/cxd-ie11.css +496 -194
  266. package/sdk/cxd.css +517 -190
  267. package/sdk/dark-ie11.css +457 -152
  268. package/sdk/dark.css +480 -154
  269. package/sdk/exceljs.js +1 -1
  270. package/sdk/helper.css.map +1 -1
  271. package/sdk/locale/de-DE.js +2 -0
  272. package/sdk/markdown.js +69 -69
  273. package/sdk/papaparse.js +1 -1
  274. package/sdk/renderers/Form/CityDB.js +1 -1
  275. package/sdk/rest.js +20 -28
  276. package/sdk/rich-text.js +62 -62
  277. package/sdk/sdk-ie11.css +496 -194
  278. package/sdk/sdk.css +517 -190
  279. package/sdk/sdk.js +1268 -1236
  280. package/sdk/thirds/hls.js/hls.js +1 -1
  281. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  282. package/sdk/tinymce.js +57 -57
  283. package/src/Schema.ts +14 -0
  284. package/src/components/AnchorNav.tsx +15 -4
  285. package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +41 -37
  286. package/src/components/Badge.tsx +3 -3
  287. package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
  288. package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
  289. package/src/components/Link.tsx +28 -37
  290. package/src/components/ModalManager.ts +1 -1
  291. package/src/components/PickerColumn.tsx +429 -0
  292. package/src/components/PickerContainer.tsx +128 -0
  293. package/src/components/Radios.tsx +3 -8
  294. package/src/components/SearchBox.tsx +4 -5
  295. package/src/components/Select.tsx +57 -5
  296. package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
  297. package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
  298. package/src/components/TabsTransfer.tsx +13 -7
  299. package/src/components/TabsTransferPicker.tsx +85 -0
  300. package/src/components/Transfer.tsx +71 -50
  301. package/src/components/TransferDropDown.tsx +117 -0
  302. package/src/components/TransferPicker.tsx +84 -0
  303. package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
  304. package/src/components/WithRemoteConfig.tsx +7 -2
  305. package/src/components/condition-builder/Field.tsx +5 -5
  306. package/src/components/condition-builder/Func.tsx +3 -3
  307. package/src/components/condition-builder/InputSwitch.tsx +3 -3
  308. package/src/components/condition-builder/Item.tsx +5 -12
  309. package/src/components/index.tsx +13 -13
  310. package/src/envOverwrite.ts +0 -1
  311. package/src/factory.tsx +18 -3
  312. package/src/hooks/index.ts +5 -0
  313. package/src/hooks/use-set-state.ts +19 -0
  314. package/src/hooks/use-touch.ts +100 -0
  315. package/src/hooks/use-update-effect.ts +16 -0
  316. package/src/index.tsx +3 -0
  317. package/src/locale/de-DE.ts +2 -0
  318. package/src/locale/en-US.ts +2 -0
  319. package/src/locale/zh-CN.ts +4 -2
  320. package/src/renderers/Action.tsx +28 -2
  321. package/src/renderers/AnchorNav.tsx +4 -0
  322. package/src/renderers/Avatar.tsx +8 -4
  323. package/src/renderers/Breadcrumb.tsx +5 -1
  324. package/src/renderers/CRUD.tsx +33 -3
  325. package/src/renderers/Card.tsx +63 -34
  326. package/src/renderers/Chart.tsx +6 -2
  327. package/src/renderers/Collapse.tsx +4 -2
  328. package/src/renderers/DropDownButton.tsx +1 -1
  329. package/src/renderers/Form/InputCity.tsx +4 -8
  330. package/src/renderers/Form/InputFile.tsx +29 -20
  331. package/src/renderers/Form/InputImage.tsx +11 -3
  332. package/src/renderers/Form/Item.tsx +1 -1
  333. package/src/renderers/Form/Options.tsx +16 -2
  334. package/src/renderers/Form/Select.tsx +144 -21
  335. package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
  336. package/src/renderers/Form/Transfer.tsx +3 -2
  337. package/src/renderers/Form/TransferPicker.tsx +123 -0
  338. package/src/renderers/Form/TreeSelect.tsx +25 -0
  339. package/src/renderers/Form/index.tsx +1 -1
  340. package/src/renderers/Form/wrapControl.tsx +26 -1
  341. package/src/renderers/IFrame.tsx +2 -4
  342. package/src/renderers/Json.tsx +9 -9
  343. package/src/renderers/Link.tsx +27 -13
  344. package/src/renderers/List.tsx +1 -1
  345. package/src/renderers/Mapping.tsx +27 -11
  346. package/src/renderers/Nav.tsx +108 -60
  347. package/src/renderers/Portlet.tsx +423 -0
  348. package/src/renderers/Property.tsx +3 -2
  349. package/src/renderers/SearchBox.tsx +23 -4
  350. package/src/renderers/Table/TableContent.tsx +40 -2
  351. package/src/renderers/Table/index.tsx +87 -41
  352. package/src/renderers/Tabs.tsx +9 -1
  353. package/src/renderers/WebComponent.tsx +2 -2
  354. package/src/store/crud.ts +3 -8
  355. package/src/store/form.ts +5 -10
  356. package/src/store/service.ts +5 -4
  357. package/src/types.ts +57 -0
  358. package/src/utils/api.ts +40 -20
  359. package/src/utils/dom.tsx +12 -0
  360. package/src/utils/helper.ts +8 -0
  361. package/src/utils/icon.tsx +4 -0
  362. package/dump.rdb +0 -0
  363. package/lib/components/AssociatedCheckboxes.d.ts +0 -762
  364. package/lib/components/AssociatedCheckboxes.js +0 -90
  365. package/lib/components/AssociatedCheckboxes.js.map +0 -13
  366. package/lib/components/ChainedCheckboxes.js.map +0 -13
  367. package/lib/components/Checkboxes.js +0 -101
  368. package/lib/components/Checkboxes.js.map +0 -13
  369. package/lib/components/ListCheckboxes.d.ts +0 -739
  370. package/lib/components/ListCheckboxes.js +0 -48
  371. package/lib/components/ListCheckboxes.js.map +0 -13
  372. package/lib/components/ListRadios.d.ts +0 -763
  373. package/lib/components/ListRadios.js +0 -86
  374. package/lib/components/ListRadios.js.map +0 -13
  375. package/lib/components/TableCheckboxes.js.map +0 -13
  376. package/lib/components/TreeCheckboxes.js.map +0 -13
  377. package/lib/components/TreeRadios.d.ts +0 -838
  378. package/lib/components/TreeRadios.js +0 -116
  379. package/lib/components/TreeRadios.js.map +0 -13
  380. package/src/components/ListRadios.tsx +0 -159
  381. package/src/components/TreeRadios.tsx +0 -202
package/src/Schema.ts CHANGED
@@ -39,6 +39,7 @@ import {QRCodeSchema} from './renderers/QRCode';
39
39
  import {ServiceSchema} from './renderers/Service';
40
40
  import {StatusSchema} from './renderers/Status';
41
41
  import {TabsSchema} from './renderers/Tabs';
42
+ import {PortletSchema} from './renderers/Portlet';
42
43
  import {TasksSchema} from './renderers/Tasks';
43
44
  import {VBoxSchema} from './renderers/VBox';
44
45
  import {VideoSchema} from './renderers/Video';
@@ -109,6 +110,8 @@ import {TransferControlSchema} from './renderers/Form/Transfer';
109
110
  import {TreeSelectControlSchema} from './renderers/Form/TreeSelect';
110
111
  import {UUIDControlSchema} from './renderers/Form/UUID';
111
112
  import {FormControlSchema} from './renderers/Form/Control';
113
+ import {TransferPickerControlSchema} from './renderers/Form/TransferPicker';
114
+ import {TabsTransferPickerControlSchema} from './renderers/Form/TabsTransferPicker';
112
115
 
113
116
  // 每加个类型,这补充一下。
114
117
  export type SchemaType =
@@ -308,9 +311,12 @@ export type SchemaType =
308
311
  | 'multi-select'
309
312
  | 'textarea'
310
313
  | 'transfer'
314
+ | 'transfer-picker'
315
+ | 'tabs-transfer-picker'
311
316
  | 'input-tree'
312
317
  | 'tree-select'
313
318
  | 'table-view'
319
+ | 'portlet'
314
320
 
315
321
  // 原生 input 类型
316
322
  | 'native-date'
@@ -375,6 +381,7 @@ export type SchemaObject =
375
381
  | FormSchema
376
382
  | AnchorNavSchema
377
383
  | StepsSchema
384
+ | PortletSchema
378
385
 
379
386
  // 表单项
380
387
  | FormControlSchema
@@ -429,6 +436,8 @@ export type SchemaObject =
429
436
  | TextControlSchema
430
437
  | TextareaControlSchema
431
438
  | TransferControlSchema
439
+ | TransferPickerControlSchema
440
+ | TabsTransferPickerControlSchema
432
441
  | TreeControlSchema
433
442
  | TreeSelectControlSchema;
434
443
 
@@ -723,6 +732,11 @@ export interface BaseSchema {
723
732
  * 是否显示表达式
724
733
  */
725
734
  visibleOn?: SchemaExpression;
735
+
736
+ /**
737
+ * 是否使用移动端交互
738
+ */
739
+ useMobileUI?: boolean;
726
740
  }
727
741
 
728
742
  export interface Option {
@@ -46,6 +46,7 @@ export interface AnchorNavProps extends ThemeProps {
46
46
  props?: AnchorNavProps
47
47
  ) => JSX.Element; // 锚点区域渲染器
48
48
  onSelect?: (key: string | number) => void; // 选中回调方法
49
+ direction?: 'vertical' | 'horizontal'; // 导航方向
49
50
  }
50
51
 
51
52
  export interface AnchorNavState {
@@ -56,10 +57,11 @@ export interface AnchorNavState {
56
57
  export class AnchorNav extends React.Component<AnchorNavProps, AnchorNavState> {
57
58
  static defaultProps: Pick<
58
59
  AnchorNavProps,
59
- 'linkClassName' | 'sectionClassName'
60
+ 'linkClassName' | 'sectionClassName' | 'direction'
60
61
  > = {
61
62
  linkClassName: '',
62
- sectionClassName: ''
63
+ sectionClassName: '',
64
+ direction: 'vertical'
63
65
  };
64
66
 
65
67
  // 滚动区域DOM
@@ -214,7 +216,8 @@ export class AnchorNav extends React.Component<AnchorNavProps, AnchorNavState> {
214
216
  className,
215
217
  linkClassName,
216
218
  sectionClassName,
217
- children
219
+ children,
220
+ direction
218
221
  } = this.props;
219
222
 
220
223
  if (!Array.isArray(children)) {
@@ -222,7 +225,15 @@ export class AnchorNav extends React.Component<AnchorNavProps, AnchorNavState> {
222
225
  }
223
226
 
224
227
  return (
225
- <div className={cx(`AnchorNav`, className)}>
228
+ <div
229
+ className={cx(
230
+ 'AnchorNav',
231
+ {
232
+ [`AnchorNav--${direction}`]: direction
233
+ },
234
+ className
235
+ )}
236
+ >
226
237
  <ul
227
238
  className={cx('AnchorNav-link-wrap', linkClassName)}
228
239
  role="anchorlist"
@@ -5,27 +5,24 @@
5
5
  */
6
6
 
7
7
  import React from 'react';
8
- import {BaseCheckboxesProps, BaseCheckboxes} from './Checkboxes';
8
+ import {BaseSelectionProps, BaseSelection} from './Selection';
9
9
  import {Options, Option} from './Select';
10
- import ListMenu from './ListMenu';
11
10
  import {autobind} from '../utils/helper';
12
- import ListRadios from './ListRadios';
13
11
  import {themeable} from '../theme';
14
12
  import {uncontrollable} from 'uncontrollable';
15
- import ListCheckboxes from './ListCheckboxes';
16
- import TableCheckboxes from './TableCheckboxes';
17
- import TreeCheckboxes from './TreeCheckboxes';
18
- import ChainedCheckboxes from './ChainedCheckboxes';
19
- import Spinner from './Spinner';
20
- import TreeRadios from './TreeRadios';
13
+ import GroupedSelection from './GroupedSelection';
14
+ import TableSelection from './TableSelection';
15
+ import TreeSelection from './TreeSelection';
16
+ import GroupedSelecton from './GroupedSelection';
17
+ import ChainedSelection from './ChainedSelection';
21
18
  import {Icon} from './icons';
22
19
  import {localeable} from '../locale';
23
20
 
24
- export interface AssociatedCheckboxesProps extends BaseCheckboxesProps {
21
+ export interface AssociatedSelectionProps extends BaseSelectionProps {
25
22
  leftOptions: Options;
26
23
  leftDefaultValue?: any;
27
- leftMode?: 'tree' | 'list';
28
- rightMode?: 'table' | 'list' | 'tree' | 'chained';
24
+ leftMode?: 'tree' | 'list' | 'group';
25
+ rightMode?: 'table' | 'list' | 'group' | 'tree' | 'chained';
29
26
  columns?: Array<any>;
30
27
  cellRender?: (
31
28
  column: {
@@ -39,15 +36,15 @@ export interface AssociatedCheckboxesProps extends BaseCheckboxesProps {
39
36
  ) => JSX.Element;
40
37
  }
41
38
 
42
- export interface AssociatedCheckboxesState {
39
+ export interface AssociatedSelectionState {
43
40
  leftValue?: Option;
44
41
  }
45
42
 
46
- export class AssociatedCheckboxes extends BaseCheckboxes<
47
- AssociatedCheckboxesProps,
48
- AssociatedCheckboxesState
43
+ export class AssociatedSelection extends BaseSelection<
44
+ AssociatedSelectionProps,
45
+ AssociatedSelectionState
49
46
  > {
50
- state: AssociatedCheckboxesState = {
47
+ state: AssociatedSelectionState = {
51
48
  leftValue: this.props.leftDefaultValue
52
49
  };
53
50
 
@@ -56,7 +53,7 @@ export class AssociatedCheckboxes extends BaseCheckboxes<
56
53
  const {options, onDeferLoad} = this.props;
57
54
 
58
55
  if (leftValue) {
59
- const selectdOption = ListRadios.resolveSelected(
56
+ const selectdOption = BaseSelection.resolveSelected(
60
57
  leftValue,
61
58
  options,
62
59
  (option: Option) => option.ref
@@ -78,7 +75,7 @@ export class AssociatedCheckboxes extends BaseCheckboxes<
78
75
  const {options, onDeferLoad} = this.props;
79
76
  this.setState({leftValue: value});
80
77
 
81
- const selectdOption = ListRadios.resolveSelected(
78
+ const selectdOption = BaseSelection.resolveSelected(
82
79
  value,
83
80
  options,
84
81
  (option: Option) => option.ref
@@ -107,10 +104,11 @@ export class AssociatedCheckboxes extends BaseCheckboxes<
107
104
  value,
108
105
  disabled,
109
106
  leftMode,
110
- cellRender
107
+ cellRender,
108
+ multiple
111
109
  } = this.props;
112
110
 
113
- const selectdOption = ListRadios.resolveSelected(
111
+ const selectdOption = BaseSelection.resolveSelected(
114
112
  this.state.leftValue,
115
113
  options,
116
114
  (option: Option) => option.ref
@@ -118,36 +116,38 @@ export class AssociatedCheckboxes extends BaseCheckboxes<
118
116
  const __ = this.props.translate;
119
117
 
120
118
  return (
121
- <div className={cx('AssociatedCheckboxes', className)}>
122
- <div className={cx('AssociatedCheckboxes-left')}>
119
+ <div className={cx('AssociatedSelection', className)}>
120
+ <div className={cx('AssociatedSelection-left')}>
123
121
  {leftMode === 'tree' ? (
124
- <TreeRadios
122
+ <TreeSelection
125
123
  option2value={this.leftOption2Value}
126
124
  options={leftOptions}
127
125
  value={this.state.leftValue}
128
126
  disabled={disabled}
129
127
  onChange={this.handleLeftSelect}
130
- showRadio={false}
128
+ multiple={false}
129
+ clearable={false}
131
130
  />
132
131
  ) : (
133
- <ListRadios
132
+ <GroupedSelecton
134
133
  option2value={this.leftOption2Value}
135
134
  options={leftOptions}
136
135
  value={this.state.leftValue}
137
136
  disabled={disabled}
138
137
  onChange={this.handleLeftSelect}
139
- showRadio={false}
138
+ multiple={false}
139
+ clearable={false}
140
140
  />
141
141
  )}
142
142
  </div>
143
- <div className={cx('AssociatedCheckboxes-right')}>
143
+ <div className={cx('AssociatedSelection-right')}>
144
144
  {this.state.leftValue ? (
145
145
  selectdOption ? (
146
146
  selectdOption.defer && !selectdOption.loaded ? (
147
- <div className={cx('AssociatedCheckboxes-box')}>
147
+ <div className={cx('AssociatedSelection-box')}>
148
148
  <div
149
149
  className={cx(
150
- 'AssociatedCheckboxes-reload',
150
+ 'AssociatedSelection-reload',
151
151
  selectdOption.loading ? 'is-spin' : 'is-clickable'
152
152
  )}
153
153
  onClick={
@@ -166,7 +166,7 @@ export class AssociatedCheckboxes extends BaseCheckboxes<
166
166
  )}
167
167
  </div>
168
168
  ) : rightMode === 'table' ? (
169
- <TableCheckboxes
169
+ <TableSelection
170
170
  columns={columns!}
171
171
  value={value}
172
172
  disabled={disabled}
@@ -174,39 +174,43 @@ export class AssociatedCheckboxes extends BaseCheckboxes<
174
174
  onChange={onChange}
175
175
  option2value={option2value}
176
176
  cellRender={cellRender}
177
+ multiple={multiple}
177
178
  />
178
179
  ) : rightMode === 'tree' ? (
179
- <TreeCheckboxes
180
+ <TreeSelection
180
181
  value={value}
181
182
  disabled={disabled}
182
183
  options={selectdOption.children || []}
183
184
  onChange={onChange}
184
185
  option2value={option2value}
186
+ multiple={multiple}
185
187
  />
186
188
  ) : rightMode === 'chained' ? (
187
- <ChainedCheckboxes
189
+ <ChainedSelection
188
190
  value={value}
189
191
  disabled={disabled}
190
192
  options={selectdOption.children || []}
191
193
  onChange={onChange}
192
194
  option2value={option2value}
195
+ multiple={multiple}
193
196
  />
194
197
  ) : (
195
- <ListCheckboxes
198
+ <GroupedSelection
196
199
  value={value}
197
200
  disabled={disabled}
198
201
  options={selectdOption.children || []}
199
202
  onChange={onChange}
200
203
  option2value={option2value}
204
+ multiple={multiple}
201
205
  />
202
206
  )
203
207
  ) : (
204
- <div className={cx('AssociatedCheckboxes-box')}>
208
+ <div className={cx('AssociatedSelection-box')}>
205
209
  {__('Transfer.configError')}
206
210
  </div>
207
211
  )
208
212
  ) : (
209
- <div className={cx('AssociatedCheckboxes-box')}>
213
+ <div className={cx('AssociatedSelection-box')}>
210
214
  {__('Transfer.selectFromLeft')}
211
215
  </div>
212
216
  )}
@@ -218,7 +222,7 @@ export class AssociatedCheckboxes extends BaseCheckboxes<
218
222
 
219
223
  export default themeable(
220
224
  localeable(
221
- uncontrollable(AssociatedCheckboxes, {
225
+ uncontrollable(AssociatedSelection, {
222
226
  value: 'onChange'
223
227
  })
224
228
  )
@@ -6,7 +6,7 @@ import React from 'react';
6
6
  import hoistNonReactStatic from 'hoist-non-react-statics';
7
7
  import {BaseSchema, SchemaExpression} from '../Schema';
8
8
  import {evalExpression} from '../utils/tpl';
9
- import {resolveVariable} from '../utils/tpl-builtin';
9
+ import {resolveVariable, resolveVariableAndFilter} from '../utils/tpl-builtin';
10
10
  import {ClassNamesFn} from '../theme';
11
11
 
12
12
  /**
@@ -92,7 +92,7 @@ export class Badge extends React.Component<BadgeProps, object> {
92
92
  let {mode = 'dot', level = 'danger', style} = badge as BadgeSchema;
93
93
 
94
94
  if (typeof level === 'string' && level[0] === '$') {
95
- level = resolveVariable(level, data);
95
+ level = resolveVariableAndFilter(level, data);
96
96
  }
97
97
 
98
98
  switch (mode) {
@@ -174,7 +174,7 @@ export class Badge extends React.Component<BadgeProps, object> {
174
174
  }
175
175
 
176
176
  if (typeof text === 'string' && text[0] === '$') {
177
- text = resolveVariable(text, data);
177
+ text = resolveVariableAndFilter(text, data);
178
178
  }
179
179
 
180
180
  // 设置默认值
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * 级联多选框,支持无限极。从左侧到右侧一层层点选。
3
3
  */
4
- import {BaseCheckboxes, BaseCheckboxesProps} from './Checkboxes';
4
+ import {BaseSelection, BaseSelectionProps} from './Selection';
5
5
  import {themeable} from '../theme';
6
6
  import React from 'react';
7
7
  import {uncontrollable} from 'uncontrollable';
@@ -12,20 +12,20 @@ import times from 'lodash/times';
12
12
  import Spinner from './Spinner';
13
13
  import {localeable} from '../locale';
14
14
 
15
- export interface ChainedCheckboxesProps extends BaseCheckboxesProps {
15
+ export interface ChainedSelectionProps extends BaseSelectionProps {
16
16
  defaultSelectedIndex?: string;
17
17
  }
18
18
 
19
- export interface ChainedCheckboxesState {
19
+ export interface ChainedSelectionState {
20
20
  selected: Array<string>;
21
21
  }
22
22
 
23
- export class ChainedCheckboxes extends BaseCheckboxes<
24
- ChainedCheckboxesProps,
25
- ChainedCheckboxesState
23
+ export class ChainedSelection extends BaseSelection<
24
+ ChainedSelectionProps,
25
+ ChainedSelectionState
26
26
  > {
27
27
  valueArray: Array<Option>;
28
- state: ChainedCheckboxesState = {
28
+ state: ChainedSelectionState = {
29
29
  selected: []
30
30
  };
31
31
 
@@ -54,6 +54,46 @@ export class ChainedCheckboxes extends BaseCheckboxes<
54
54
  );
55
55
  }
56
56
 
57
+ renderItem(option: Option, index: number, depth: number, id: string) {
58
+ const {
59
+ labelClassName,
60
+ disabled,
61
+ classnames: cx,
62
+ itemClassName,
63
+ itemRender,
64
+ multiple
65
+ } = this.props;
66
+ const valueArray = this.valueArray;
67
+
68
+ return (
69
+ <div
70
+ key={index}
71
+ className={cx(
72
+ 'ChainedSelection-item',
73
+ itemClassName,
74
+ option.className,
75
+ disabled || option.disabled ? 'is-disabled' : '',
76
+ !!~valueArray.indexOf(option) ? 'is-active' : ''
77
+ )}
78
+ onClick={() => this.toggleOption(option)}
79
+ >
80
+ <div className={cx('ChainedSelection-itemLabel')}>
81
+ {itemRender(option)}
82
+ </div>
83
+
84
+ {multiple ? (
85
+ <Checkbox
86
+ size="sm"
87
+ checked={!!~valueArray.indexOf(option)}
88
+ disabled={disabled || option.disabled}
89
+ labelClassName={labelClassName}
90
+ description={option.description}
91
+ />
92
+ ) : null}
93
+ </div>
94
+ );
95
+ }
96
+
57
97
  renderOption(option: Option, index: number, depth: number, id: string) {
58
98
  const {
59
99
  labelClassName,
@@ -69,7 +109,7 @@ export class ChainedCheckboxes extends BaseCheckboxes<
69
109
  <div
70
110
  key={index}
71
111
  className={cx(
72
- 'ChainedCheckboxes-item',
112
+ 'ChainedSelection-item',
73
113
  itemClassName,
74
114
  option.className,
75
115
  disabled || option.disabled ? 'is-disabled' : '',
@@ -77,7 +117,7 @@ export class ChainedCheckboxes extends BaseCheckboxes<
77
117
  )}
78
118
  onClick={() => this.selectOption(option, depth, id)}
79
119
  >
80
- <div className={cx('ChainedCheckboxes-itemLabel')}>
120
+ <div className={cx('ChainedSelection-itemLabel')}>
81
121
  {itemRender(option)}
82
122
  </div>
83
123
 
@@ -86,30 +126,7 @@ export class ChainedCheckboxes extends BaseCheckboxes<
86
126
  );
87
127
  }
88
128
 
89
- return (
90
- <div
91
- key={index}
92
- className={cx(
93
- 'ChainedCheckboxes-item',
94
- itemClassName,
95
- option.className,
96
- disabled || option.disabled ? 'is-disabled' : ''
97
- )}
98
- onClick={() => this.toggleOption(option)}
99
- >
100
- <div className={cx('ChainedCheckboxes-itemLabel')}>
101
- {itemRender(option)}
102
- </div>
103
-
104
- <Checkbox
105
- size="sm"
106
- checked={!!~valueArray.indexOf(option)}
107
- disabled={disabled || option.disabled}
108
- labelClassName={labelClassName}
109
- description={option.description}
110
- />
111
- </div>
112
- );
129
+ return this.renderItem(option, index, depth, id);
113
130
  }
114
131
 
115
132
  render() {
@@ -124,7 +141,7 @@ export class ChainedCheckboxes extends BaseCheckboxes<
124
141
  translate: __
125
142
  } = this.props;
126
143
 
127
- this.valueArray = BaseCheckboxes.value2array(value, options, option2value);
144
+ this.valueArray = BaseSelection.value2array(value, options, option2value);
128
145
  let body: Array<React.ReactNode> = [];
129
146
 
130
147
  if (Array.isArray(options) && options.length) {
@@ -156,9 +173,9 @@ export class ChainedCheckboxes extends BaseCheckboxes<
156
173
  let nextIndexes = indexes;
157
174
 
158
175
  body.push(
159
- <div key={depth} className={cx('ChainedCheckboxes-col')}>
176
+ <div key={depth} className={cx('ChainedSelection-col')}>
160
177
  {subTitle ? (
161
- <div className={cx('ChainedCheckboxes-subTitle')}>
178
+ <div className={cx('ChainedSelection-subTitle')}>
162
179
  {subTitle}
163
180
  </div>
164
181
  ) : null}
@@ -176,7 +193,7 @@ export class ChainedCheckboxes extends BaseCheckboxes<
176
193
  return this.renderOption(option, index, depth, id);
177
194
  })
178
195
  ) : (
179
- <div className={cx('ChainedCheckboxes-placeholder')}>
196
+ <div className={cx('ChainedSelection-placeholder')}>
180
197
  {__(placeholder)}
181
198
  </div>
182
199
  )}
@@ -201,11 +218,11 @@ export class ChainedCheckboxes extends BaseCheckboxes<
201
218
  }
202
219
 
203
220
  return (
204
- <div className={cx('ChainedCheckboxes', className)}>
221
+ <div className={cx('ChainedSelection', className)}>
205
222
  {body && body.length ? (
206
223
  body
207
224
  ) : (
208
- <div className={cx('ChainedCheckboxes-placeholder')}>
225
+ <div className={cx('ChainedSelection-placeholder')}>
209
226
  {__(placeholder)}
210
227
  </div>
211
228
  )}
@@ -216,7 +233,7 @@ export class ChainedCheckboxes extends BaseCheckboxes<
216
233
 
217
234
  export default themeable(
218
235
  localeable(
219
- uncontrollable(ChainedCheckboxes, {
236
+ uncontrollable(ChainedSelection, {
220
237
  value: 'onChange'
221
238
  })
222
239
  )
@@ -1,4 +1,4 @@
1
- import {BaseCheckboxes} from './Checkboxes';
1
+ import {BaseSelection} from './Selection';
2
2
  import {themeable} from '../theme';
3
3
  import React from 'react';
4
4
  import {uncontrollable} from 'uncontrollable';
@@ -6,7 +6,7 @@ import Checkbox from './Checkbox';
6
6
  import {Option} from './Select';
7
7
  import {localeable} from '../locale';
8
8
 
9
- export class ListCheckboxes extends BaseCheckboxes {
9
+ export class GroupedSelection extends BaseSelection {
10
10
  valueArray: Array<Option>;
11
11
 
12
12
  renderOption(option: Option, index: number) {
@@ -15,7 +15,8 @@ export class ListCheckboxes extends BaseCheckboxes {
15
15
  disabled,
16
16
  classnames: cx,
17
17
  itemClassName,
18
- itemRender
18
+ itemRender,
19
+ multiple
19
20
  } = this.props;
20
21
  const valueArray = this.valueArray;
21
22
 
@@ -23,13 +24,13 @@ export class ListCheckboxes extends BaseCheckboxes {
23
24
  return (
24
25
  <div
25
26
  key={index}
26
- className={cx('ListCheckboxes-group', option.className)}
27
+ className={cx('GroupedSelection-group', option.className)}
27
28
  >
28
- <div className={cx('ListCheckboxes-itemLabel')}>
29
+ <div className={cx('GroupedSelection-itemLabel')}>
29
30
  {itemRender(option)}
30
31
  </div>
31
32
 
32
- <div className={cx('ListCheckboxes-items', option.className)}>
33
+ <div className={cx('GroupedSelection-items', option.className)}>
33
34
  {option.children.map((child, index) =>
34
35
  this.renderOption(child, index)
35
36
  )}
@@ -42,24 +43,27 @@ export class ListCheckboxes extends BaseCheckboxes {
42
43
  <div
43
44
  key={index}
44
45
  className={cx(
45
- 'ListCheckboxes-item',
46
+ 'GroupedSelection-item',
46
47
  itemClassName,
47
48
  option.className,
48
- disabled || option.disabled ? 'is-disabled' : ''
49
+ disabled || option.disabled ? 'is-disabled' : '',
50
+ !!~valueArray.indexOf(option) ? 'is-active' : ''
49
51
  )}
50
52
  onClick={() => this.toggleOption(option)}
51
53
  >
52
- <div className={cx('ListCheckboxes-itemLabel')}>
54
+ <div className={cx('GroupedSelection-itemLabel')}>
53
55
  {itemRender(option)}
54
56
  </div>
55
57
 
56
- <Checkbox
57
- size="sm"
58
- checked={!!~valueArray.indexOf(option)}
59
- disabled={disabled || option.disabled}
60
- labelClassName={labelClassName}
61
- description={option.description}
62
- />
58
+ {multiple ? (
59
+ <Checkbox
60
+ size="sm"
61
+ checked={!!~valueArray.indexOf(option)}
62
+ disabled={disabled || option.disabled}
63
+ labelClassName={labelClassName}
64
+ description={option.description}
65
+ />
66
+ ) : null}
63
67
  </div>
64
68
  );
65
69
  }
@@ -71,11 +75,12 @@ export class ListCheckboxes extends BaseCheckboxes {
71
75
  className,
72
76
  placeholder,
73
77
  classnames: cx,
74
- option2value
78
+ option2value,
79
+ onClick
75
80
  } = this.props;
76
81
  const __ = this.props.translate;
77
82
 
78
- this.valueArray = BaseCheckboxes.value2array(value, options, option2value);
83
+ this.valueArray = BaseSelection.value2array(value, options, option2value);
79
84
  let body: Array<React.ReactNode> = [];
80
85
 
81
86
  if (Array.isArray(options) && options.length) {
@@ -83,11 +88,11 @@ export class ListCheckboxes extends BaseCheckboxes {
83
88
  }
84
89
 
85
90
  return (
86
- <div className={cx('ListCheckboxes', className)}>
91
+ <div className={cx('GroupedSelection', className)} onClick={onClick}>
87
92
  {body && body.length ? (
88
93
  body
89
94
  ) : (
90
- <div className={cx('ListCheckboxes-placeholder')}>
95
+ <div className={cx('GroupedSelection-placeholder')}>
91
96
  {__(placeholder)}
92
97
  </div>
93
98
  )}
@@ -98,7 +103,7 @@ export class ListCheckboxes extends BaseCheckboxes {
98
103
 
99
104
  export default themeable(
100
105
  localeable(
101
- uncontrollable(ListCheckboxes, {
106
+ uncontrollable(GroupedSelection, {
102
107
  value: 'onChange'
103
108
  })
104
109
  )