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
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/Item.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 hoistNonReactStatic from 'hoist-non-react-statics';\nimport {IFormItemStore, IFormStore} from '../../store/form';\nimport {reaction} from 'mobx';\n\nimport {\n RendererProps,\n registerRenderer,\n TestFunc,\n RendererConfig\n} from '../../factory';\nimport {anyChanged, ucFirst, getWidthRate, autobind} from '../../utils/helper';\nimport {observer} from 'mobx-react';\nimport {FormHorizontal, FormSchema, FormSchemaHorizontal} from '.';\nimport {Api, Schema} from '../../types';\nimport {filter} from '../../utils/tpl';\nimport {SchemaRemark} from '../Remark';\nimport {\n BaseSchema,\n SchemaApi,\n SchemaClassName,\n SchemaObject,\n SchemaType\n} from '../../Schema';\nimport {HocStoreFactory} from '../../WithStore';\nimport {wrapControl} from './wrapControl';\n\nexport type FormControlSchemaAlias = SchemaObject;\n\nexport interface FormBaseControl extends Omit<BaseSchema, 'type'> {\n /**\n * 表单项类型\n */\n type: SchemaType;\n\n /**\n * 表单项大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'full';\n\n /**\n * 描述标题\n */\n label?: string | false;\n\n /**\n * 配置 label className\n */\n labelClassName?: SchemaClassName;\n\n /**\n * 字段名,表单提交时的 key,支持多层级,用.连接,如: a.b.c\n */\n name?: string;\n\n /**\n * 显示一个小图标, 鼠标放上去的时候显示提示内容\n */\n remark?: SchemaRemark;\n\n /**\n * 显示一个小图标, 鼠标放上去的时候显示提示内容, 这个小图标跟 label 在一起\n */\n labelRemark?: SchemaRemark;\n\n /**\n * 输入提示,聚焦的时候显示\n */\n hint?: string;\n\n /**\n * 当修改完的时候是否提交表单。\n */\n submitOnChange?: boolean;\n\n /**\n * 是否只读\n */\n readOnly?: boolean;\n\n /**\n * 不设置时,当表单提交过后表单项每次修改都会触发重新验证,\n * 如果设置了,则由此配置项来决定要不要每次修改都触发验证。\n */\n validateOnChange?: boolean;\n\n /**\n * 描述内容,支持 Html 片段。\n */\n description?: string;\n\n /**\n * @deprecated 用 description 代替\n */\n desc?: string;\n\n /**\n * 配置描述上的 className\n */\n descriptionClassName?: SchemaClassName;\n\n /**\n * 配置当前表单项展示模式\n */\n mode?: 'normal' | 'inline' | 'horizontal';\n\n /**\n * 当配置为水平布局的时候,用来配置具体的左右分配。\n */\n horizontal?: FormSchemaHorizontal;\n\n /**\n * 表单 control 是否为 inline 模式。\n */\n inline?: boolean;\n\n /**\n * 配置 input className\n */\n inputClassName?: SchemaClassName;\n\n /**\n * 占位符\n */\n placeholder?: string;\n\n /**\n * 是否为必填\n */\n required?: boolean;\n\n /**\n * 验证失败的提示信息\n */\n validationErrors?: {\n isAlpha?: string;\n isAlphanumeric?: string;\n isEmail?: string;\n isFloat?: string;\n isInt?: string;\n isJson?: string;\n isLength?: string;\n isNumeric?: string;\n isRequired?: string;\n isUrl?: string;\n matchRegexp?: string;\n matchRegexp2?: string;\n matchRegexp3?: string;\n matchRegexp4?: string;\n matchRegexp5?: string;\n maxLength?: string;\n maximum?: string;\n minLength?: string;\n minimum?: string;\n\n [propName: string]: any;\n };\n\n validations?:\n | string\n | {\n /**\n * 是否是字母\n */\n isAlpha?: boolean;\n\n /**\n * 是否为字母数字\n */\n isAlphanumeric?: boolean;\n\n /**\n * 是否为邮箱地址\n */\n isEmail?: boolean;\n\n /**\n * 是否为浮点型\n */\n isFloat?: boolean;\n\n /**\n * 是否为整型\n */\n isInt?: boolean;\n\n /**\n * 是否为 json\n */\n isJson?: boolean;\n\n /**\n * 长度等于指定值\n */\n isLength?: number;\n\n /**\n * 是否为数字\n */\n isNumeric?: boolean;\n\n /**\n * 是否为必填\n */\n isRequired?: boolean;\n\n /**\n * 是否为 URL 地址\n */\n isUrl?: boolean;\n\n /**\n * 内容命中指定正则\n */\n matchRegexp?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp1?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp2?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp3?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp4?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp5?: string;\n\n /**\n * 最大长度为指定值\n */\n maxLength?: number;\n\n /**\n * 最大值为指定值\n */\n maximum?: number;\n\n /**\n * 最小长度为指定值\n */\n minLength?: number;\n\n /**\n * 最小值为指定值\n */\n minimum?: number;\n\n [propName: string]: any;\n };\n\n /**\n * 默认值,切记只能是静态值,不支持取变量,跟数据关联是通过设置 name 属性来实现的。\n */\n value?: any;\n\n /**\n * 表单项隐藏时,是否在当前 Form 中删除掉该表单项值。注意同名的未隐藏的表单项值也会删掉\n */\n clearValueOnHidden?: boolean;\n\n /**\n * 远端校验表单项接口\n */\n validateApi?: SchemaApi;\n}\n\nexport interface FormItemBasicConfig extends Partial<RendererConfig> {\n type?: string;\n wrap?: boolean;\n renderLabel?: boolean;\n renderDescription?: boolean;\n test?: RegExp | TestFunc;\n storeType?: string;\n validations?: string;\n strictMode?: boolean;\n descriptionClassName?: string;\n storeExtendsData?: boolean;\n sizeMutable?: boolean;\n weight?: number;\n extendsData?: boolean;\n showErrorMsg?: boolean;\n\n // 兼容老用法,新用法直接在 Component 里面定义 validate 方法即可。\n validate?: (values: any, value: any) => string | boolean;\n}\n\n// 自己接收到属性。\nexport interface FormItemProps extends RendererProps {\n name?: string;\n formStore?: IFormStore;\n formItem?: IFormItemStore;\n formInited: boolean;\n formMode: 'normal' | 'horizontal' | 'inline' | 'row' | 'default';\n formHorizontal: FormHorizontal;\n defaultSize?: 'xs' | 'sm' | 'md' | 'lg' | 'full';\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'full';\n disabled?: boolean;\n btnDisabled: boolean;\n defaultValue: any;\n value?: any;\n prinstine: any;\n setPrinstineValue: (value: any) => void;\n onChange: (\n value: any,\n submitOnChange?: boolean,\n changeImmediately?: boolean\n ) => void;\n onBulkChange: (\n values: {[propName: string]: any},\n submitOnChange?: boolean\n ) => void;\n addHook: (fn: Function, mode?: 'validate' | 'init' | 'flush') => () => void;\n removeHook: (fn: Function, mode?: 'validate' | 'init' | 'flush') => void;\n renderFormItems: (\n schema: Partial<FormSchema>,\n region: string,\n props: any\n ) => JSX.Element;\n onFocus: (e: any) => void;\n onBlur: (e: any) => void;\n\n formItemValue: any; // 不建议使用 为了兼容 v1\n getValue: () => any; // 不建议使用 为了兼容 v1\n setValue: (value: any, key: string) => void; // 不建议使用 为了兼容 v1\n\n inputClassName?: string;\n renderControl?: (props: FormControlProps) => JSX.Element;\n\n inputOnly?: boolean;\n renderLabel?: boolean;\n renderDescription?: boolean;\n sizeMutable?: boolean;\n wrap?: boolean;\n hint?: string;\n description?: string;\n descriptionClassName?: string;\n // error 详情\n errors?: {\n [propName: string]: string;\n };\n // error string\n error?: string;\n showErrorMsg?: boolean;\n}\n\n// 下发下去的属性\nexport type FormControlProps = RendererProps & {\n onOpenDialog: (schema: Schema, data: any) => Promise<any>;\n} & Exclude<\n FormItemProps,\n | 'inputClassName'\n | 'renderControl'\n | 'defaultSize'\n | 'size'\n | 'error'\n | 'errors'\n | 'hint'\n | 'descriptionClassName'\n | 'inputOnly'\n | 'renderLabel'\n | 'renderDescription'\n | 'sizeMutable'\n | 'wrap'\n >;\n\nexport type FormItemComponent = React.ComponentType<FormItemProps>;\nexport type FormControlComponent = React.ComponentType<FormControlProps>;\n\nexport interface FormItemConfig extends FormItemBasicConfig {\n component: FormControlComponent;\n}\n\nexport class FormItemWrap extends React.Component<FormItemProps> {\n reaction: any;\n\n constructor(props: FormItemProps) {\n super(props);\n\n const {formItem: model} = props;\n\n if (model) {\n this.reaction = reaction(\n () => `${model.errors.join('')}${model.isFocused}${model.dialogOpen}`,\n () => this.forceUpdate()\n );\n }\n }\n\n componentWillUnmount() {\n this.reaction && this.reaction();\n }\n\n @autobind\n handleFocus(e: any) {\n const {formItem: model} = this.props;\n model && model.focus();\n this.props.onFocus && this.props.onFocus(e);\n }\n\n @autobind\n handleBlur(e: any) {\n const {formItem: model} = this.props;\n model && model.blur();\n this.props.onBlur && this.props.onBlur(e);\n }\n\n @autobind\n async handleOpenDialog(schema: Schema, data: any) {\n const {formItem: model} = this.props;\n if (!model) {\n return;\n }\n\n return new Promise(resolve =>\n model.openDialog(schema, data, (result?: any) => resolve(result))\n );\n }\n\n @autobind\n handleDialogConfirm([values]: Array<any>) {\n const {formItem: model} = this.props;\n if (!model) {\n return;\n }\n\n model.closeDialog(values);\n }\n\n @autobind\n handleDialogClose() {\n const {formItem: model} = this.props;\n if (!model) {\n return;\n }\n model.closeDialog();\n }\n\n renderControl(): JSX.Element | null {\n const {\n inputClassName,\n formItem: model,\n classnames: cx,\n children,\n type,\n renderControl,\n formItemConfig,\n sizeMutable,\n size,\n defaultSize,\n ...rest\n } = this.props;\n\n if (renderControl) {\n const controlSize = size || defaultSize;\n return renderControl({\n ...rest,\n onOpenDialog: this.handleOpenDialog,\n type,\n classnames: cx,\n formItem: model,\n className: cx(\n `Form-control`,\n {\n 'is-inline': !!rest.inline,\n 'is-error': model && !model.valid,\n [`Form-control--withSize Form-control--size${ucFirst(\n controlSize\n )}`]:\n sizeMutable !== false &&\n typeof controlSize === 'string' &&\n !!controlSize &&\n controlSize !== 'full'\n },\n model?.errClassNames,\n inputClassName\n )\n });\n }\n\n return null;\n }\n\n /**\n * 布局扩充点,可以自己扩充表单项的布局方式\n */\n static layoutRenderers: {\n [propsName: string]: (\n props: FormItemProps,\n renderControl: () => JSX.Element | null\n ) => JSX.Element;\n } = {\n horizontal: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n description,\n descriptionClassName,\n captionClassName,\n desc,\n label,\n labelClassName,\n render,\n required,\n caption,\n remark,\n labelRemark,\n env,\n formItem: model,\n renderLabel,\n renderDescription,\n hint,\n data,\n showErrorMsg\n } = props;\n\n // 强制不渲染 label 的话\n if (renderLabel === false) {\n label = label === false ? false : '';\n }\n\n description = description || desc;\n const horizontal = props.horizontal || props.formHorizontal || {};\n const left = getWidthRate(horizontal.left);\n const right = getWidthRate(horizontal.right);\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--horizontal`,\n className,\n {\n [`is-error`]: model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n {label !== false ? (\n <label\n className={cx(\n `Form-label`,\n {\n [`Form-itemColumn--${\n typeof horizontal.leftFixed === 'string'\n ? horizontal.leftFixed\n : 'normal'\n }`]: horizontal.leftFixed,\n [`Form-itemColumn--${left}`]: !horizontal.leftFixed\n },\n labelClassName\n )}\n >\n <span>\n {label\n ? render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )\n : null}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-labelRemark`),\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n <div\n className={cx(`Form-value`, {\n // [`Form-itemColumn--offset${getWidthRate(horizontal.offset)}`]: !label && label !== false,\n [`Form-itemColumn--${right}`]:\n !horizontal.leftFixed && !!right && right !== 12 - left\n })}\n >\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n tooltip: remark,\n className: cx(`Form-remark`),\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx(`Form-feedback`)}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {renderDescription !== false && description\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n </div>\n );\n },\n\n normal: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n desc,\n description,\n label,\n labelClassName,\n render,\n required,\n caption,\n remark,\n labelRemark,\n env,\n descriptionClassName,\n captionClassName,\n formItem: model,\n renderLabel,\n renderDescription,\n hint,\n data,\n showErrorMsg\n } = props;\n\n description = description || desc;\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--normal`,\n className,\n {\n 'is-error': model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n {label && renderLabel !== false ? (\n <label className={cx(`Form-label`, labelClassName)}>\n <span>\n {label\n ? render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )\n : null}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-lableRemark`),\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n className: cx(`Form-remark`),\n tooltip: remark,\n container:\n env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx(`Form-feedback`)}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {renderDescription !== false && description\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n );\n },\n\n inline: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n desc,\n description,\n label,\n labelClassName,\n render,\n required,\n caption,\n descriptionClassName,\n captionClassName,\n formItem: model,\n remark,\n labelRemark,\n env,\n hint,\n renderLabel,\n renderDescription,\n data,\n showErrorMsg\n } = props;\n\n description = description || desc;\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--inline`,\n className,\n {\n 'is-error': model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n {label && renderLabel !== false ? (\n <label className={cx(`Form-label`, labelClassName)}>\n <span>\n {label\n ? render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )\n : label}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-lableRemark`),\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n <div className={cx(`Form-value`)}>\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n className: cx(`Form-remark`),\n tooltip: remark,\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx(`Form-feedback`)}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {renderDescription !== false && description\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n </div>\n );\n },\n\n row: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n desc,\n description,\n label,\n labelClassName,\n render,\n required,\n caption,\n remark,\n labelRemark,\n env,\n descriptionClassName,\n captionClassName,\n formItem: model,\n renderLabel,\n renderDescription,\n hint,\n data,\n showErrorMsg\n } = props;\n\n description = description || desc;\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--row`,\n className,\n {\n 'is-error': model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n <div className={cx('Form-rowInner')}>\n {label && renderLabel !== false ? (\n <label className={cx(`Form-label`, labelClassName)}>\n <span>\n {render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-lableRemark`),\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n className: cx(`Form-remark`),\n tooltip: remark,\n container:\n env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </div>\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx('Form-feedback')}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {description && renderDescription !== false\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n );\n }\n };\n\n render() {\n const {formMode, inputOnly, wrap, render, formItem: model} = this.props;\n const mode = this.props.mode || formMode;\n\n if (wrap === false || inputOnly) {\n return this.renderControl();\n }\n\n const renderLayout =\n FormItemWrap.layoutRenderers[mode] ||\n FormItemWrap.layoutRenderers['normal'];\n\n return (\n <>\n {renderLayout(this.props, this.renderControl.bind(this))}\n\n {model\n ? render(\n 'modal',\n {\n type: 'dialog',\n ...model.dialogSchema\n },\n {\n show: model.dialogOpen,\n onClose: this.handleDialogClose,\n onConfirm: this.handleDialogConfirm,\n data: model.dialogData,\n formStore: undefined\n }\n )\n : null}\n </>\n );\n }\n}\n\n// 白名单形式,只有这些属性发生变化,才会往下更新。\n// 除非配置 strictMode\nexport const detectProps = [\n 'formPristine', // 这个千万不能干掉。\n 'formInited',\n 'addable',\n 'addButtonClassName',\n 'addButtonText',\n 'addOn',\n 'btnClassName',\n 'btnLabel',\n 'btnDisabled',\n 'className',\n 'clearable',\n 'columns',\n 'columnsCount',\n 'controls',\n 'desc',\n 'description',\n 'disabled',\n 'draggable',\n 'editable',\n 'editButtonClassName',\n 'formHorizontal',\n 'formMode',\n 'hideRoot',\n 'horizontal',\n 'icon',\n 'inline',\n 'inputClassName',\n 'label',\n 'labelClassName',\n 'labelField',\n 'language',\n 'level',\n 'max',\n 'maxRows',\n 'min',\n 'minRows',\n 'multiLine',\n 'multiple',\n 'option',\n 'placeholder',\n 'removable',\n 'required',\n 'remark',\n 'hint',\n 'rows',\n 'searchable',\n 'showCompressOptions',\n 'size',\n 'step',\n 'showInput',\n 'unit',\n 'value',\n 'diffValue',\n 'borderMode',\n 'items',\n 'showCounter',\n 'minLength',\n 'maxLength'\n];\n\nexport function asFormItem(config: Omit<FormItemConfig, 'component'>) {\n return (Control: FormControlComponent) => {\n const isSFC = !(Control.prototype instanceof React.Component);\n\n // 兼容老的 FormItem 用法。\n if (config.validate && !Control.prototype.validate) {\n const fn = config.validate;\n Control.prototype.validate = function () {\n const host = {\n input: this\n };\n\n return fn.apply(host, arguments);\n };\n } else if (config.validate) {\n console.error(\n 'FormItem配置中的 validate 将不起作用,因为类的成员函数中已经定义了 validate 方法,将优先使用类里面的实现。'\n );\n }\n\n if (config.storeType) {\n Control = HocStoreFactory({\n storeType: config.storeType,\n extendsData: config.extendsData\n })(observer(Control));\n delete config.storeType;\n }\n\n return wrapControl(\n hoistNonReactStatic(\n class extends FormItemWrap {\n static defaultProps = {\n className: '',\n renderLabel: config.renderLabel,\n renderDescription: config.renderDescription,\n sizeMutable: config.sizeMutable,\n wrap: config.wrap,\n showErrorMsg: config.showErrorMsg,\n ...Control.defaultProps\n };\n static propsList: any = [\n 'value',\n 'defaultValue',\n 'onChange',\n 'setPrinstineValue',\n 'readOnly',\n 'strictMode',\n ...((Control as any).propsList || [])\n ];\n\n static displayName = `FormItem${\n config.type ? `(${config.type})` : ''\n }`;\n static ComposedComponent = Control;\n\n ref: any;\n\n constructor(props: FormItemProps) {\n super(props);\n this.refFn = this.refFn.bind(this);\n\n const {validations, formItem: model} = props;\n\n // 组件注册的时候可能默认指定验证器类型\n if (model && !validations && config.validations) {\n model.config({\n rules: config.validations\n });\n }\n }\n\n shouldComponentUpdate(nextProps: FormControlProps) {\n if (nextProps.strictMode === false || config.strictMode === false) {\n return true;\n }\n\n // 把可能会影响视图的白名单弄出来,减少重新渲染次数。\n if (anyChanged(detectProps, this.props, nextProps)) {\n return true;\n }\n\n return false;\n }\n\n getWrappedInstance() {\n return this.ref;\n }\n\n refFn(ref: any) {\n this.ref = ref;\n }\n\n renderControl() {\n const {\n inputClassName,\n formItem: model,\n classnames: cx,\n children,\n type,\n size,\n defaultSize,\n ...rest\n } = this.props;\n\n const controlSize = size || defaultSize;\n\n return (\n <Control\n {...rest}\n onOpenDialog={this.handleOpenDialog}\n size={config.sizeMutable !== false ? undefined : size}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n type={type}\n classnames={cx}\n ref={isSFC ? undefined : this.refFn}\n forwardedRef={isSFC ? this.refFn : undefined}\n formItem={model}\n className={cx(\n `Form-control`,\n {\n 'is-inline': !!rest.inline,\n 'is-error': model && !model.valid,\n [`Form-control--withSize Form-control--size${ucFirst(\n controlSize\n )}`]:\n config.sizeMutable !== false &&\n typeof controlSize === 'string' &&\n !!controlSize &&\n controlSize !== 'full'\n },\n model?.errClassNames,\n inputClassName\n )}\n />\n );\n }\n },\n Control\n ) as any\n );\n };\n}\n\nexport function registerFormItem(config: FormItemConfig): RendererConfig {\n let Control = asFormItem(config)(config.component);\n\n return registerRenderer({\n ...config,\n weight: typeof config.weight !== 'undefined' ? config.weight : -100, // 优先级高点\n component: Control as any,\n isFormItem: true\n });\n}\n\nexport function FormItem(config: FormItemBasicConfig) {\n return function (component: FormControlComponent): any {\n const renderer = registerFormItem({\n ...config,\n component\n });\n\n return renderer.component as any;\n };\n}\n\nexport default FormItem;\n"
11
+ "import React from 'react';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport {IFormItemStore, IFormStore} from '../../store/form';\nimport {reaction} from 'mobx';\n\nimport {\n RendererProps,\n registerRenderer,\n TestFunc,\n RendererConfig\n} from '../../factory';\nimport {anyChanged, ucFirst, getWidthRate, autobind} from '../../utils/helper';\nimport {observer} from 'mobx-react';\nimport {FormHorizontal, FormSchema, FormSchemaHorizontal} from '.';\nimport {Api, Schema} from '../../types';\nimport {filter} from '../../utils/tpl';\nimport {SchemaRemark} from '../Remark';\nimport {\n BaseSchema,\n SchemaApi,\n SchemaClassName,\n SchemaObject,\n SchemaType\n} from '../../Schema';\nimport {HocStoreFactory} from '../../WithStore';\nimport {wrapControl} from './wrapControl';\n\nexport type FormControlSchemaAlias = SchemaObject;\n\nexport interface FormBaseControl extends Omit<BaseSchema, 'type'> {\n /**\n * 表单项类型\n */\n type: SchemaType;\n\n /**\n * 表单项大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'full';\n\n /**\n * 描述标题\n */\n label?: string | false;\n\n /**\n * 配置 label className\n */\n labelClassName?: SchemaClassName;\n\n /**\n * 字段名,表单提交时的 key,支持多层级,用.连接,如: a.b.c\n */\n name?: string;\n\n /**\n * 显示一个小图标, 鼠标放上去的时候显示提示内容\n */\n remark?: SchemaRemark;\n\n /**\n * 显示一个小图标, 鼠标放上去的时候显示提示内容, 这个小图标跟 label 在一起\n */\n labelRemark?: SchemaRemark;\n\n /**\n * 输入提示,聚焦的时候显示\n */\n hint?: string;\n\n /**\n * 当修改完的时候是否提交表单。\n */\n submitOnChange?: boolean;\n\n /**\n * 是否只读\n */\n readOnly?: boolean;\n\n /**\n * 不设置时,当表单提交过后表单项每次修改都会触发重新验证,\n * 如果设置了,则由此配置项来决定要不要每次修改都触发验证。\n */\n validateOnChange?: boolean;\n\n /**\n * 描述内容,支持 Html 片段。\n */\n description?: string;\n\n /**\n * @deprecated 用 description 代替\n */\n desc?: string;\n\n /**\n * 配置描述上的 className\n */\n descriptionClassName?: SchemaClassName;\n\n /**\n * 配置当前表单项展示模式\n */\n mode?: 'normal' | 'inline' | 'horizontal';\n\n /**\n * 当配置为水平布局的时候,用来配置具体的左右分配。\n */\n horizontal?: FormSchemaHorizontal;\n\n /**\n * 表单 control 是否为 inline 模式。\n */\n inline?: boolean;\n\n /**\n * 配置 input className\n */\n inputClassName?: SchemaClassName;\n\n /**\n * 占位符\n */\n placeholder?: string;\n\n /**\n * 是否为必填\n */\n required?: boolean;\n\n /**\n * 验证失败的提示信息\n */\n validationErrors?: {\n isAlpha?: string;\n isAlphanumeric?: string;\n isEmail?: string;\n isFloat?: string;\n isInt?: string;\n isJson?: string;\n isLength?: string;\n isNumeric?: string;\n isRequired?: string;\n isUrl?: string;\n matchRegexp?: string;\n matchRegexp2?: string;\n matchRegexp3?: string;\n matchRegexp4?: string;\n matchRegexp5?: string;\n maxLength?: string;\n maximum?: string;\n minLength?: string;\n minimum?: string;\n\n [propName: string]: any;\n };\n\n validations?:\n | string\n | {\n /**\n * 是否是字母\n */\n isAlpha?: boolean;\n\n /**\n * 是否为字母数字\n */\n isAlphanumeric?: boolean;\n\n /**\n * 是否为邮箱地址\n */\n isEmail?: boolean;\n\n /**\n * 是否为浮点型\n */\n isFloat?: boolean;\n\n /**\n * 是否为整型\n */\n isInt?: boolean;\n\n /**\n * 是否为 json\n */\n isJson?: boolean;\n\n /**\n * 长度等于指定值\n */\n isLength?: number;\n\n /**\n * 是否为数字\n */\n isNumeric?: boolean;\n\n /**\n * 是否为必填\n */\n isRequired?: boolean;\n\n /**\n * 是否为 URL 地址\n */\n isUrl?: boolean;\n\n /**\n * 内容命中指定正则\n */\n matchRegexp?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp1?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp2?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp3?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp4?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp5?: string;\n\n /**\n * 最大长度为指定值\n */\n maxLength?: number;\n\n /**\n * 最大值为指定值\n */\n maximum?: number;\n\n /**\n * 最小长度为指定值\n */\n minLength?: number;\n\n /**\n * 最小值为指定值\n */\n minimum?: number;\n\n [propName: string]: any;\n };\n\n /**\n * 默认值,切记只能是静态值,不支持取变量,跟数据关联是通过设置 name 属性来实现的。\n */\n value?: any;\n\n /**\n * 表单项隐藏时,是否在当前 Form 中删除掉该表单项值。注意同名的未隐藏的表单项值也会删掉\n */\n clearValueOnHidden?: boolean;\n\n /**\n * 远端校验表单项接口\n */\n validateApi?: SchemaApi;\n}\n\nexport interface FormItemBasicConfig extends Partial<RendererConfig> {\n type?: string;\n wrap?: boolean;\n renderLabel?: boolean;\n renderDescription?: boolean;\n test?: RegExp | TestFunc;\n storeType?: string;\n validations?: string;\n strictMode?: boolean;\n descriptionClassName?: string;\n storeExtendsData?: boolean;\n sizeMutable?: boolean;\n weight?: number;\n extendsData?: boolean;\n showErrorMsg?: boolean;\n\n // 兼容老用法,新用法直接在 Component 里面定义 validate 方法即可。\n validate?: (values: any, value: any) => string | boolean;\n}\n\n// 自己接收到属性。\nexport interface FormItemProps extends RendererProps {\n name?: string;\n formStore?: IFormStore;\n formItem?: IFormItemStore;\n formInited: boolean;\n formMode: 'normal' | 'horizontal' | 'inline' | 'row' | 'default';\n formHorizontal: FormHorizontal;\n defaultSize?: 'xs' | 'sm' | 'md' | 'lg' | 'full';\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'full';\n disabled?: boolean;\n btnDisabled: boolean;\n defaultValue: any;\n value?: any;\n prinstine: any;\n setPrinstineValue: (value: any) => void;\n onChange: (\n value: any,\n submitOnChange?: boolean,\n changeImmediately?: boolean\n ) => void;\n onBulkChange?: (\n values: {[propName: string]: any},\n submitOnChange?: boolean\n ) => void;\n addHook: (fn: Function, mode?: 'validate' | 'init' | 'flush') => () => void;\n removeHook: (fn: Function, mode?: 'validate' | 'init' | 'flush') => void;\n renderFormItems: (\n schema: Partial<FormSchema>,\n region: string,\n props: any\n ) => JSX.Element;\n onFocus: (e: any) => void;\n onBlur: (e: any) => void;\n\n formItemValue: any; // 不建议使用 为了兼容 v1\n getValue: () => any; // 不建议使用 为了兼容 v1\n setValue: (value: any, key: string) => void; // 不建议使用 为了兼容 v1\n\n inputClassName?: string;\n renderControl?: (props: FormControlProps) => JSX.Element;\n\n inputOnly?: boolean;\n renderLabel?: boolean;\n renderDescription?: boolean;\n sizeMutable?: boolean;\n wrap?: boolean;\n hint?: string;\n description?: string;\n descriptionClassName?: string;\n // error 详情\n errors?: {\n [propName: string]: string;\n };\n // error string\n error?: string;\n showErrorMsg?: boolean;\n}\n\n// 下发下去的属性\nexport type FormControlProps = RendererProps & {\n onOpenDialog: (schema: Schema, data: any) => Promise<any>;\n} & Exclude<\n FormItemProps,\n | 'inputClassName'\n | 'renderControl'\n | 'defaultSize'\n | 'size'\n | 'error'\n | 'errors'\n | 'hint'\n | 'descriptionClassName'\n | 'inputOnly'\n | 'renderLabel'\n | 'renderDescription'\n | 'sizeMutable'\n | 'wrap'\n >;\n\nexport type FormItemComponent = React.ComponentType<FormItemProps>;\nexport type FormControlComponent = React.ComponentType<FormControlProps>;\n\nexport interface FormItemConfig extends FormItemBasicConfig {\n component: FormControlComponent;\n}\n\nexport class FormItemWrap extends React.Component<FormItemProps> {\n reaction: any;\n\n constructor(props: FormItemProps) {\n super(props);\n\n const {formItem: model} = props;\n\n if (model) {\n this.reaction = reaction(\n () => `${model.errors.join('')}${model.isFocused}${model.dialogOpen}`,\n () => this.forceUpdate()\n );\n }\n }\n\n componentWillUnmount() {\n this.reaction && this.reaction();\n }\n\n @autobind\n handleFocus(e: any) {\n const {formItem: model} = this.props;\n model && model.focus();\n this.props.onFocus && this.props.onFocus(e);\n }\n\n @autobind\n handleBlur(e: any) {\n const {formItem: model} = this.props;\n model && model.blur();\n this.props.onBlur && this.props.onBlur(e);\n }\n\n @autobind\n async handleOpenDialog(schema: Schema, data: any) {\n const {formItem: model} = this.props;\n if (!model) {\n return;\n }\n\n return new Promise(resolve =>\n model.openDialog(schema, data, (result?: any) => resolve(result))\n );\n }\n\n @autobind\n handleDialogConfirm([values]: Array<any>) {\n const {formItem: model} = this.props;\n if (!model) {\n return;\n }\n\n model.closeDialog(values);\n }\n\n @autobind\n handleDialogClose() {\n const {formItem: model} = this.props;\n if (!model) {\n return;\n }\n model.closeDialog();\n }\n\n renderControl(): JSX.Element | null {\n const {\n inputClassName,\n formItem: model,\n classnames: cx,\n children,\n type,\n renderControl,\n formItemConfig,\n sizeMutable,\n size,\n defaultSize,\n ...rest\n } = this.props;\n\n if (renderControl) {\n const controlSize = size || defaultSize;\n return renderControl({\n ...rest,\n onOpenDialog: this.handleOpenDialog,\n type,\n classnames: cx,\n formItem: model,\n className: cx(\n `Form-control`,\n {\n 'is-inline': !!rest.inline,\n 'is-error': model && !model.valid,\n [`Form-control--withSize Form-control--size${ucFirst(\n controlSize\n )}`]:\n sizeMutable !== false &&\n typeof controlSize === 'string' &&\n !!controlSize &&\n controlSize !== 'full'\n },\n model?.errClassNames,\n inputClassName\n )\n });\n }\n\n return null;\n }\n\n /**\n * 布局扩充点,可以自己扩充表单项的布局方式\n */\n static layoutRenderers: {\n [propsName: string]: (\n props: FormItemProps,\n renderControl: () => JSX.Element | null\n ) => JSX.Element;\n } = {\n horizontal: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n description,\n descriptionClassName,\n captionClassName,\n desc,\n label,\n labelClassName,\n render,\n required,\n caption,\n remark,\n labelRemark,\n env,\n formItem: model,\n renderLabel,\n renderDescription,\n hint,\n data,\n showErrorMsg\n } = props;\n\n // 强制不渲染 label 的话\n if (renderLabel === false) {\n label = label === false ? false : '';\n }\n\n description = description || desc;\n const horizontal = props.horizontal || props.formHorizontal || {};\n const left = getWidthRate(horizontal.left);\n const right = getWidthRate(horizontal.right);\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--horizontal`,\n className,\n {\n [`is-error`]: model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n {label !== false ? (\n <label\n className={cx(\n `Form-label`,\n {\n [`Form-itemColumn--${\n typeof horizontal.leftFixed === 'string'\n ? horizontal.leftFixed\n : 'normal'\n }`]: horizontal.leftFixed,\n [`Form-itemColumn--${left}`]: !horizontal.leftFixed\n },\n labelClassName\n )}\n >\n <span>\n {label\n ? render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )\n : null}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-labelRemark`),\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n <div\n className={cx(`Form-value`, {\n // [`Form-itemColumn--offset${getWidthRate(horizontal.offset)}`]: !label && label !== false,\n [`Form-itemColumn--${right}`]:\n !horizontal.leftFixed && !!right && right !== 12 - left\n })}\n >\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n tooltip: remark,\n className: cx(`Form-remark`),\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx(`Form-feedback`)}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {renderDescription !== false && description\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n </div>\n );\n },\n\n normal: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n desc,\n description,\n label,\n labelClassName,\n render,\n required,\n caption,\n remark,\n labelRemark,\n env,\n descriptionClassName,\n captionClassName,\n formItem: model,\n renderLabel,\n renderDescription,\n hint,\n data,\n showErrorMsg\n } = props;\n\n description = description || desc;\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--normal`,\n className,\n {\n 'is-error': model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n {label && renderLabel !== false ? (\n <label className={cx(`Form-label`, labelClassName)}>\n <span>\n {label\n ? render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )\n : null}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-lableRemark`),\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n className: cx(`Form-remark`),\n tooltip: remark,\n container:\n env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx(`Form-feedback`)}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {renderDescription !== false && description\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n );\n },\n\n inline: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n desc,\n description,\n label,\n labelClassName,\n render,\n required,\n caption,\n descriptionClassName,\n captionClassName,\n formItem: model,\n remark,\n labelRemark,\n env,\n hint,\n renderLabel,\n renderDescription,\n data,\n showErrorMsg\n } = props;\n\n description = description || desc;\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--inline`,\n className,\n {\n 'is-error': model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n {label && renderLabel !== false ? (\n <label className={cx(`Form-label`, labelClassName)}>\n <span>\n {label\n ? render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )\n : label}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-lableRemark`),\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n <div className={cx(`Form-value`)}>\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n className: cx(`Form-remark`),\n tooltip: remark,\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx(`Form-feedback`)}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {renderDescription !== false && description\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n </div>\n );\n },\n\n row: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n desc,\n description,\n label,\n labelClassName,\n render,\n required,\n caption,\n remark,\n labelRemark,\n env,\n descriptionClassName,\n captionClassName,\n formItem: model,\n renderLabel,\n renderDescription,\n hint,\n data,\n showErrorMsg\n } = props;\n\n description = description || desc;\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--row`,\n className,\n {\n 'is-error': model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n <div className={cx('Form-rowInner')}>\n {label && renderLabel !== false ? (\n <label className={cx(`Form-label`, labelClassName)}>\n <span>\n {render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-lableRemark`),\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n className: cx(`Form-remark`),\n tooltip: remark,\n container:\n env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </div>\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx('Form-feedback')}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {description && renderDescription !== false\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n );\n }\n };\n\n render() {\n const {formMode, inputOnly, wrap, render, formItem: model} = this.props;\n const mode = this.props.mode || formMode;\n\n if (wrap === false || inputOnly) {\n return this.renderControl();\n }\n\n const renderLayout =\n FormItemWrap.layoutRenderers[mode] ||\n FormItemWrap.layoutRenderers['normal'];\n\n return (\n <>\n {renderLayout(this.props, this.renderControl.bind(this))}\n\n {model\n ? render(\n 'modal',\n {\n type: 'dialog',\n ...model.dialogSchema\n },\n {\n show: model.dialogOpen,\n onClose: this.handleDialogClose,\n onConfirm: this.handleDialogConfirm,\n data: model.dialogData,\n formStore: undefined\n }\n )\n : null}\n </>\n );\n }\n}\n\n// 白名单形式,只有这些属性发生变化,才会往下更新。\n// 除非配置 strictMode\nexport const detectProps = [\n 'formPristine', // 这个千万不能干掉。\n 'formInited',\n 'addable',\n 'addButtonClassName',\n 'addButtonText',\n 'addOn',\n 'btnClassName',\n 'btnLabel',\n 'btnDisabled',\n 'className',\n 'clearable',\n 'columns',\n 'columnsCount',\n 'controls',\n 'desc',\n 'description',\n 'disabled',\n 'draggable',\n 'editable',\n 'editButtonClassName',\n 'formHorizontal',\n 'formMode',\n 'hideRoot',\n 'horizontal',\n 'icon',\n 'inline',\n 'inputClassName',\n 'label',\n 'labelClassName',\n 'labelField',\n 'language',\n 'level',\n 'max',\n 'maxRows',\n 'min',\n 'minRows',\n 'multiLine',\n 'multiple',\n 'option',\n 'placeholder',\n 'removable',\n 'required',\n 'remark',\n 'hint',\n 'rows',\n 'searchable',\n 'showCompressOptions',\n 'size',\n 'step',\n 'showInput',\n 'unit',\n 'value',\n 'diffValue',\n 'borderMode',\n 'items',\n 'showCounter',\n 'minLength',\n 'maxLength',\n 'embed'\n];\n\nexport function asFormItem(config: Omit<FormItemConfig, 'component'>) {\n return (Control: FormControlComponent) => {\n const isSFC = !(Control.prototype instanceof React.Component);\n\n // 兼容老的 FormItem 用法。\n if (config.validate && !Control.prototype.validate) {\n const fn = config.validate;\n Control.prototype.validate = function () {\n const host = {\n input: this\n };\n\n return fn.apply(host, arguments);\n };\n } else if (config.validate) {\n console.error(\n 'FormItem配置中的 validate 将不起作用,因为类的成员函数中已经定义了 validate 方法,将优先使用类里面的实现。'\n );\n }\n\n if (config.storeType) {\n Control = HocStoreFactory({\n storeType: config.storeType,\n extendsData: config.extendsData\n })(observer(Control));\n delete config.storeType;\n }\n\n return wrapControl(\n hoistNonReactStatic(\n class extends FormItemWrap {\n static defaultProps = {\n className: '',\n renderLabel: config.renderLabel,\n renderDescription: config.renderDescription,\n sizeMutable: config.sizeMutable,\n wrap: config.wrap,\n showErrorMsg: config.showErrorMsg,\n ...Control.defaultProps\n };\n static propsList: any = [\n 'value',\n 'defaultValue',\n 'onChange',\n 'setPrinstineValue',\n 'readOnly',\n 'strictMode',\n ...((Control as any).propsList || [])\n ];\n\n static displayName = `FormItem${\n config.type ? `(${config.type})` : ''\n }`;\n static ComposedComponent = Control;\n\n ref: any;\n\n constructor(props: FormItemProps) {\n super(props);\n this.refFn = this.refFn.bind(this);\n\n const {validations, formItem: model} = props;\n\n // 组件注册的时候可能默认指定验证器类型\n if (model && !validations && config.validations) {\n model.config({\n rules: config.validations\n });\n }\n }\n\n shouldComponentUpdate(nextProps: FormControlProps) {\n if (nextProps.strictMode === false || config.strictMode === false) {\n return true;\n }\n\n // 把可能会影响视图的白名单弄出来,减少重新渲染次数。\n if (anyChanged(detectProps, this.props, nextProps)) {\n return true;\n }\n\n return false;\n }\n\n getWrappedInstance() {\n return this.ref;\n }\n\n refFn(ref: any) {\n this.ref = ref;\n }\n\n renderControl() {\n const {\n inputClassName,\n formItem: model,\n classnames: cx,\n children,\n type,\n size,\n defaultSize,\n ...rest\n } = this.props;\n\n const controlSize = size || defaultSize;\n\n return (\n <Control\n {...rest}\n onOpenDialog={this.handleOpenDialog}\n size={config.sizeMutable !== false ? undefined : size}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n type={type}\n classnames={cx}\n ref={isSFC ? undefined : this.refFn}\n forwardedRef={isSFC ? this.refFn : undefined}\n formItem={model}\n className={cx(\n `Form-control`,\n {\n 'is-inline': !!rest.inline,\n 'is-error': model && !model.valid,\n [`Form-control--withSize Form-control--size${ucFirst(\n controlSize\n )}`]:\n config.sizeMutable !== false &&\n typeof controlSize === 'string' &&\n !!controlSize &&\n controlSize !== 'full'\n },\n model?.errClassNames,\n inputClassName\n )}\n />\n );\n }\n },\n Control\n ) as any\n );\n };\n}\n\nexport function registerFormItem(config: FormItemConfig): RendererConfig {\n let Control = asFormItem(config)(config.component);\n\n return registerRenderer({\n ...config,\n weight: typeof config.weight !== 'undefined' ? config.weight : -100, // 优先级高点\n component: Control as any,\n isFormItem: true\n });\n}\n\nexport function FormItem(config: FormItemBasicConfig) {\n return function (component: FormControlComponent): any {\n const renderer = registerFormItem({\n ...config,\n component\n });\n\n return renderer.component as any;\n };\n}\n\nexport default FormItem;\n"
12
12
  ]
13
13
  }
@@ -13,6 +13,8 @@ var Select_1 = require("../../components/Select");
13
13
  Object.defineProperty(exports, "Option", { enumerable: true, get: function () { return Select_1.Option; } });
14
14
  var tpl_1 = require("../../utils/tpl");
15
15
  var findIndex_1 = (0, tslib_1.__importDefault)(require("lodash/findIndex"));
16
+ var isPlainObject_1 = (0, tslib_1.__importDefault)(require("lodash/isPlainObject"));
17
+ var merge_1 = (0, tslib_1.__importDefault)(require("lodash/merge"));
16
18
  exports.detectProps = Item_1.detectProps.concat([
17
19
  'value',
18
20
  'options',
@@ -135,16 +137,24 @@ function registerOptionsControl(config) {
135
137
  FormOptionsItem.prototype.syncAutoFill = function (value) {
136
138
  var _a = this.props, autoFill = _a.autoFill, multiple = _a.multiple, onBulkChange = _a.onBulkChange, data = _a.data;
137
139
  var formItem = this.props.formItem;
138
- if (autoFill && !(0, helper_1.isEmpty)(autoFill) && formItem.filteredOptions.length) {
140
+ if (onBulkChange &&
141
+ autoFill &&
142
+ !(0, helper_1.isEmpty)(autoFill) &&
143
+ formItem.filteredOptions.length) {
139
144
  var selectedOptions = formItem.getSelectedOptions(value);
140
- var toSync = (0, tpl_builtin_1.dataMapping)(autoFill, multiple
145
+ var toSync_1 = (0, tpl_builtin_1.dataMapping)(autoFill, multiple
141
146
  ? {
142
147
  items: selectedOptions.map(function (item) {
143
148
  return (0, helper_1.createObject)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, data), { ancestors: (0, helper_1.getTreeAncestors)(formItem.filteredOptions, item, true) }), item);
144
149
  })
145
150
  }
146
151
  : (0, helper_1.createObject)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, data), { ancestors: (0, helper_1.getTreeAncestors)(formItem.filteredOptions, selectedOptions[0], true) }), selectedOptions[0]));
147
- onBulkChange === null || onBulkChange === void 0 ? void 0 : onBulkChange(toSync);
152
+ Object.keys(toSync_1).forEach(function (key) {
153
+ if ((0, isPlainObject_1.default)(toSync_1[key]) && (0, isPlainObject_1.default)(data[key])) {
154
+ toSync_1[key] = (0, merge_1.default)({}, data[key], toSync_1[key]);
155
+ }
156
+ });
157
+ onBulkChange(toSync_1);
148
158
  }
149
159
  };
150
160
  // 当前值,跟设置预期的值格式不一致时自动转换。
@@ -399,7 +409,18 @@ function registerOptionsControl(config) {
399
409
  body: {
400
410
  type: 'form',
401
411
  api: addApi,
402
- controls: addControls
412
+ controls: (0, tslib_1.__spreadArray)([
413
+ {
414
+ type: 'hidden',
415
+ name: 'idx',
416
+ value: idx
417
+ },
418
+ {
419
+ type: 'hidden',
420
+ name: 'parent',
421
+ value: parent
422
+ }
423
+ ], (addControls || []), true)
403
424
  }
404
425
  }, ctx)];
405
426
  case 2: