amis 1.3.5-beta.7 → 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 (577) hide show
  1. package/README.md +1 -1
  2. package/lib/Schema.d.ts +26 -2
  3. package/lib/Schema.js.map +1 -1
  4. package/lib/components/Alert.js +3 -1
  5. package/lib/components/Alert.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.d.ts +16 -3
  14. package/lib/components/Badge.js +54 -5
  15. package/lib/components/Badge.js.map +2 -2
  16. package/lib/components/Button.d.ts +24 -22
  17. package/lib/components/Button.js +13 -7
  18. package/lib/components/Button.js.map +2 -2
  19. package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
  20. package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
  21. package/lib/components/ChainedSelection.js.map +13 -0
  22. package/lib/components/Checkbox.d.ts +1 -1
  23. package/lib/components/Checkbox.js +1 -1
  24. package/lib/components/Checkbox.js.map +2 -2
  25. package/lib/components/Collapse.js +1 -1
  26. package/lib/components/Collapse.js.map +2 -2
  27. package/lib/components/ColorPicker.d.ts +84 -84
  28. package/lib/components/DatePicker.d.ts +84 -84
  29. package/lib/components/DatePicker.js +1 -1
  30. package/lib/components/DatePicker.js.map +2 -2
  31. package/lib/components/DateRangePicker.d.ts +84 -84
  32. package/lib/components/DateRangePicker.js +1 -1
  33. package/lib/components/DateRangePicker.js.map +2 -2
  34. package/lib/components/Drawer.js +1 -1
  35. package/lib/components/Drawer.js.map +2 -2
  36. package/lib/components/Editor.d.ts +84 -84
  37. package/lib/components/GroupedSelection.d.ts +907 -0
  38. package/lib/components/GroupedSelection.js +48 -0
  39. package/lib/components/GroupedSelection.js.map +13 -0
  40. package/lib/components/InputBox.js +1 -1
  41. package/lib/components/InputBox.js.map +2 -2
  42. package/lib/components/Link.d.ts +84 -0
  43. package/lib/components/Link.js +43 -0
  44. package/lib/components/Link.js.map +13 -0
  45. package/lib/components/ListGroup.d.ts +21 -21
  46. package/lib/components/Modal.js +1 -1
  47. package/lib/components/Modal.js.map +2 -2
  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/MonthRangePicker.js +1 -1
  52. package/lib/components/MonthRangePicker.js.map +2 -2
  53. package/lib/components/NumberInput.d.ts +20 -20
  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/Radios.d.ts +22 -21
  61. package/lib/components/Radios.js +1 -0
  62. package/lib/components/Radios.js.map +2 -2
  63. package/lib/components/Rating.d.ts +21 -21
  64. package/lib/components/ResultBox.d.ts +84 -84
  65. package/lib/components/RichText.d.ts +6 -1
  66. package/lib/components/RichText.js +207 -8
  67. package/lib/components/RichText.js.map +2 -2
  68. package/lib/components/SearchBox.d.ts +84 -84
  69. package/lib/components/SearchBox.js +4 -4
  70. package/lib/components/SearchBox.js.map +2 -2
  71. package/lib/components/Select.d.ts +252 -237
  72. package/lib/components/Select.js +28 -4
  73. package/lib/components/Select.js.map +2 -2
  74. package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
  75. package/lib/components/Selection.js +134 -0
  76. package/lib/components/Selection.js.map +13 -0
  77. package/lib/components/SparkLine.d.ts +85 -84
  78. package/lib/components/SparkLine.js +2 -2
  79. package/lib/components/SparkLine.js.map +2 -2
  80. package/lib/components/Steps.d.ts +3 -3
  81. package/lib/components/Steps.js.map +1 -1
  82. package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
  83. package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
  84. package/lib/components/TableSelection.js.map +13 -0
  85. package/lib/components/Tabs.d.ts +20 -20
  86. package/lib/components/TabsTransfer.d.ts +84 -84
  87. package/lib/components/TabsTransfer.js +9 -9
  88. package/lib/components/TabsTransfer.js.map +2 -2
  89. package/lib/components/TabsTransferPicker.d.ts +489 -0
  90. package/lib/components/TabsTransferPicker.js +60 -0
  91. package/lib/components/TabsTransferPicker.js.map +13 -0
  92. package/lib/components/Toast.js +2 -2
  93. package/lib/components/Toast.js.map +2 -2
  94. package/lib/components/Transfer.d.ts +908 -274
  95. package/lib/components/Transfer.js +31 -24
  96. package/lib/components/Transfer.js.map +2 -2
  97. package/lib/components/TransferDropDown.d.ts +487 -0
  98. package/lib/components/TransferDropDown.js +59 -0
  99. package/lib/components/TransferDropDown.js.map +13 -0
  100. package/lib/components/TransferPicker.d.ts +489 -0
  101. package/lib/components/TransferPicker.js +60 -0
  102. package/lib/components/TransferPicker.js.map +13 -0
  103. package/lib/components/Tree.d.ts +84 -84
  104. package/lib/components/Tree.js +5 -3
  105. package/lib/components/Tree.js.map +2 -2
  106. package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
  107. package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
  108. package/lib/components/TreeSelection.js.map +13 -0
  109. package/lib/components/WithRemoteConfig.d.ts +8 -0
  110. package/lib/components/WithRemoteConfig.js +29 -3
  111. package/lib/components/WithRemoteConfig.js.map +2 -2
  112. package/lib/components/calendar/DaysView.js +2 -2
  113. package/lib/components/calendar/DaysView.js.map +2 -2
  114. package/lib/components/condition-builder/Field.js +5 -3
  115. package/lib/components/condition-builder/Field.js.map +2 -2
  116. package/lib/components/condition-builder/Func.js +2 -2
  117. package/lib/components/condition-builder/Func.js.map +2 -2
  118. package/lib/components/condition-builder/InputSwitch.js +2 -2
  119. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  120. package/lib/components/condition-builder/Item.js +3 -3
  121. package/lib/components/condition-builder/Item.js.map +2 -2
  122. package/lib/components/condition-builder/Value.js +2 -1
  123. package/lib/components/condition-builder/Value.js.map +2 -2
  124. package/lib/components/condition-builder/types.d.ts +5 -0
  125. package/lib/components/condition-builder/types.js.map +1 -1
  126. package/lib/components/icons.js +14 -0
  127. package/lib/components/icons.js.map +2 -2
  128. package/lib/components/index.d.ts +8 -8
  129. package/lib/components/index.js +16 -16
  130. package/lib/components/index.js.map +2 -2
  131. package/lib/envOverwrite.js.map +2 -2
  132. package/lib/factory.d.ts +9 -1
  133. package/lib/factory.js +13 -6
  134. package/lib/factory.js.map +2 -2
  135. package/lib/helper.css.map +1 -1
  136. package/lib/hooks/index.d.ts +5 -0
  137. package/lib/hooks/index.js +14 -0
  138. package/lib/hooks/index.js.map +13 -0
  139. package/lib/hooks/use-set-state.d.ts +2 -0
  140. package/lib/hooks/use-set-state.js +15 -0
  141. package/lib/hooks/use-set-state.js.map +13 -0
  142. package/lib/hooks/use-touch.d.ts +16 -0
  143. package/lib/hooks/use-touch.js +73 -0
  144. package/lib/hooks/use-touch.js.map +13 -0
  145. package/lib/hooks/use-update-effect.d.ts +3 -0
  146. package/lib/hooks/use-update-effect.js +17 -0
  147. package/lib/hooks/use-update-effect.js.map +13 -0
  148. package/lib/icons/clock.js +10 -0
  149. package/lib/icons/loading-outline.js +7 -0
  150. package/lib/icons/status-close.js +11 -0
  151. package/lib/icons/status-fail.js +11 -0
  152. package/lib/icons/status-info.js +10 -0
  153. package/lib/icons/status-success.js +11 -0
  154. package/lib/icons/status-warning.js +10 -0
  155. package/lib/index.d.ts +3 -0
  156. package/lib/index.js +4 -1
  157. package/lib/index.js.map +2 -2
  158. package/lib/locale/de-DE.js +5 -0
  159. package/lib/locale/de-DE.js.map +2 -2
  160. package/lib/locale/en-US.js +6 -1
  161. package/lib/locale/en-US.js.map +2 -2
  162. package/lib/locale/zh-CN.js +9 -4
  163. package/lib/locale/zh-CN.js.map +2 -2
  164. package/lib/renderers/Action.d.ts +17 -1
  165. package/lib/renderers/Action.js +21 -8
  166. package/lib/renderers/Action.js.map +2 -2
  167. package/lib/renderers/AnchorNav.d.ts +1 -0
  168. package/lib/renderers/AnchorNav.js +2 -2
  169. package/lib/renderers/AnchorNav.js.map +2 -2
  170. package/lib/renderers/Avatar.js +3 -3
  171. package/lib/renderers/Avatar.js.map +2 -2
  172. package/lib/renderers/Breadcrumb.js +1 -1
  173. package/lib/renderers/Breadcrumb.js.map +2 -2
  174. package/lib/renderers/CRUD.d.ts +9 -0
  175. package/lib/renderers/CRUD.js +48 -23
  176. package/lib/renderers/CRUD.js.map +2 -2
  177. package/lib/renderers/Card.d.ts +4 -0
  178. package/lib/renderers/Card.js +29 -23
  179. package/lib/renderers/Card.js.map +2 -2
  180. package/lib/renderers/Chart.js +1 -1
  181. package/lib/renderers/Chart.js.map +2 -2
  182. package/lib/renderers/Collapse.d.ts +1 -1
  183. package/lib/renderers/Collapse.js +8 -3
  184. package/lib/renderers/Collapse.js.map +2 -2
  185. package/lib/renderers/Dialog.d.ts +0 -252
  186. package/lib/renderers/Dialog.js +1 -4
  187. package/lib/renderers/Dialog.js.map +2 -2
  188. package/lib/renderers/Drawer.js +0 -3
  189. package/lib/renderers/Drawer.js.map +2 -2
  190. package/lib/renderers/DropDownButton.d.ts +13 -1
  191. package/lib/renderers/DropDownButton.js +9 -5
  192. package/lib/renderers/DropDownButton.js.map +2 -2
  193. package/lib/renderers/Form/Checkbox.d.ts +5 -0
  194. package/lib/renderers/Form/Checkbox.js +4 -0
  195. package/lib/renderers/Form/Checkbox.js.map +2 -2
  196. package/lib/renderers/Form/Combo.js +2 -2
  197. package/lib/renderers/Form/Combo.js.map +2 -2
  198. package/lib/renderers/Form/DiffEditor.d.ts +4 -5
  199. package/lib/renderers/Form/Editor.d.ts +3 -4
  200. package/lib/renderers/Form/Editor.js +1 -1
  201. package/lib/renderers/Form/Editor.js.map +2 -2
  202. package/lib/renderers/Form/InputCity.d.ts +84 -84
  203. package/lib/renderers/Form/InputCity.js +7 -6
  204. package/lib/renderers/Form/InputCity.js.map +2 -2
  205. package/lib/renderers/Form/InputColor.d.ts +84 -84
  206. package/lib/renderers/Form/InputExcel.d.ts +5 -0
  207. package/lib/renderers/Form/InputExcel.js +24 -3
  208. package/lib/renderers/Form/InputExcel.js.map +2 -2
  209. package/lib/renderers/Form/InputFile.js +12 -6
  210. package/lib/renderers/Form/InputFile.js.map +2 -2
  211. package/lib/renderers/Form/InputImage.d.ts +8 -0
  212. package/lib/renderers/Form/InputImage.js +18 -8
  213. package/lib/renderers/Form/InputImage.js.map +2 -2
  214. package/lib/renderers/Form/InputTable.d.ts +23 -5
  215. package/lib/renderers/Form/InputTable.js +32 -3
  216. package/lib/renderers/Form/InputTable.js.map +2 -2
  217. package/lib/renderers/Form/Item.d.ts +1 -1
  218. package/lib/renderers/Form/Item.js.map +1 -1
  219. package/lib/renderers/Form/Options.js +19 -6
  220. package/lib/renderers/Form/Options.js.map +2 -2
  221. package/lib/renderers/Form/Picker.js +2 -2
  222. package/lib/renderers/Form/Picker.js.map +2 -2
  223. package/lib/renderers/Form/Select.d.ts +41 -4
  224. package/lib/renderers/Form/Select.js +23 -3
  225. package/lib/renderers/Form/Select.js.map +2 -2
  226. package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
  227. package/lib/renderers/Form/TabsTransferPicker.js +29 -0
  228. package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
  229. package/lib/renderers/Form/Transfer.js +3 -2
  230. package/lib/renderers/Form/Transfer.js.map +2 -2
  231. package/lib/renderers/Form/TransferPicker.d.ts +48 -0
  232. package/lib/renderers/Form/TransferPicker.js +29 -0
  233. package/lib/renderers/Form/TransferPicker.js.map +13 -0
  234. package/lib/renderers/Form/TreeSelect.js +2 -2
  235. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  236. package/lib/renderers/Form/index.js +1 -1
  237. package/lib/renderers/Form/index.js.map +2 -2
  238. package/lib/renderers/Form/wrapControl.js +15 -3
  239. package/lib/renderers/Form/wrapControl.js.map +2 -2
  240. package/lib/renderers/IFrame.js +3 -5
  241. package/lib/renderers/IFrame.js.map +2 -2
  242. package/lib/renderers/Image.d.ts +1 -0
  243. package/lib/renderers/Image.js +15 -1
  244. package/lib/renderers/Image.js.map +2 -2
  245. package/lib/renderers/Json.d.ts +4 -0
  246. package/lib/renderers/Json.js +7 -12
  247. package/lib/renderers/Json.js.map +2 -2
  248. package/lib/renderers/Link.d.ts +18 -3
  249. package/lib/renderers/Link.js +27 -15
  250. package/lib/renderers/Link.js.map +2 -2
  251. package/lib/renderers/List.js +1 -1
  252. package/lib/renderers/List.js.map +2 -2
  253. package/lib/renderers/Log.d.ts +2 -2
  254. package/lib/renderers/Log.js +7 -1
  255. package/lib/renderers/Log.js.map +2 -2
  256. package/lib/renderers/Mapping.d.ts +9 -2
  257. package/lib/renderers/Mapping.js +18 -6
  258. package/lib/renderers/Mapping.js.map +2 -2
  259. package/lib/renderers/Nav.d.ts +81 -25
  260. package/lib/renderers/Nav.js +292 -31
  261. package/lib/renderers/Nav.js.map +2 -2
  262. package/lib/renderers/Page.js +4 -1
  263. package/lib/renderers/Page.js.map +2 -2
  264. package/lib/renderers/Portlet.d.ts +125 -0
  265. package/lib/renderers/Portlet.js +156 -0
  266. package/lib/renderers/Portlet.js.map +13 -0
  267. package/lib/renderers/Property.js +2 -1
  268. package/lib/renderers/Property.js.map +2 -2
  269. package/lib/renderers/SearchBox.d.ts +6 -1
  270. package/lib/renderers/SearchBox.js +19 -5
  271. package/lib/renderers/SearchBox.js.map +2 -2
  272. package/lib/renderers/Service.d.ts +10 -1
  273. package/lib/renderers/Service.js +85 -3
  274. package/lib/renderers/Service.js.map +2 -2
  275. package/lib/renderers/SparkLine.d.ts +4 -0
  276. package/lib/renderers/SparkLine.js.map +2 -2
  277. package/lib/renderers/Steps.d.ts +4 -4
  278. package/lib/renderers/Steps.js +5 -2
  279. package/lib/renderers/Steps.js.map +2 -2
  280. package/lib/renderers/Table/ColumnToggler.d.ts +113 -0
  281. package/lib/renderers/Table/ColumnToggler.js +216 -0
  282. package/lib/renderers/Table/ColumnToggler.js.map +13 -0
  283. package/lib/renderers/Table/ItemActionsWrapper.d.ts +11 -0
  284. package/lib/renderers/Table/ItemActionsWrapper.js +31 -0
  285. package/lib/renderers/Table/ItemActionsWrapper.js.map +13 -0
  286. package/lib/renderers/Table/TableBody.d.ts +5 -1
  287. package/lib/renderers/Table/TableBody.js.map +1 -1
  288. package/lib/renderers/Table/TableCell.js +3 -1
  289. package/lib/renderers/Table/TableCell.js.map +2 -2
  290. package/lib/renderers/Table/TableContent.d.ts +5 -2
  291. package/lib/renderers/Table/TableContent.js +21 -1
  292. package/lib/renderers/Table/TableContent.js.map +2 -2
  293. package/lib/renderers/Table/index.d.ts +27 -5
  294. package/lib/renderers/Table/index.js +251 -101
  295. package/lib/renderers/Table/index.js.map +2 -2
  296. package/lib/renderers/Tabs.js +9 -1
  297. package/lib/renderers/Tabs.js.map +2 -2
  298. package/lib/renderers/WebComponent.js +1 -1
  299. package/lib/renderers/WebComponent.js.map +2 -2
  300. package/lib/store/app.d.ts +0 -1
  301. package/lib/store/combo.d.ts +2 -18
  302. package/lib/store/crud.d.ts +0 -1
  303. package/lib/store/crud.js +3 -7
  304. package/lib/store/crud.js.map +2 -2
  305. package/lib/store/form.d.ts +1 -2
  306. package/lib/store/form.js +5 -6
  307. package/lib/store/form.js.map +2 -2
  308. package/lib/store/modal.d.ts +1 -1
  309. package/lib/store/modal.js +4 -0
  310. package/lib/store/modal.js.map +2 -2
  311. package/lib/store/root.d.ts +0 -1
  312. package/lib/store/service.d.ts +0 -1
  313. package/lib/store/service.js +5 -17
  314. package/lib/store/service.js.map +2 -2
  315. package/lib/store/table.d.ts +260 -5
  316. package/lib/store/table.js +83 -7
  317. package/lib/store/table.js.map +2 -2
  318. package/lib/themes/ang-ie11.css +1360 -244
  319. package/lib/themes/ang.css +1360 -244
  320. package/lib/themes/ang.css.map +1 -1
  321. package/lib/themes/antd-ie11.css +1360 -244
  322. package/lib/themes/antd.css +1360 -244
  323. package/lib/themes/antd.css.map +1 -1
  324. package/lib/themes/cxd-ie11.css +1960 -517
  325. package/lib/themes/cxd.css +1960 -517
  326. package/lib/themes/cxd.css.map +1 -1
  327. package/lib/themes/dark-ie11.css +1360 -244
  328. package/lib/themes/dark.css +1360 -244
  329. package/lib/themes/dark.css.map +1 -1
  330. package/lib/themes/default.css +1960 -517
  331. package/lib/themes/default.css.map +1 -1
  332. package/lib/types.d.ts +37 -0
  333. package/lib/types.js +0 -5
  334. package/lib/types.js.map +2 -2
  335. package/lib/utils/api.d.ts +3 -2
  336. package/lib/utils/api.js +43 -15
  337. package/lib/utils/api.js.map +2 -2
  338. package/lib/utils/attachmentAdpator.d.ts +7 -0
  339. package/lib/utils/attachmentAdpator.js +82 -0
  340. package/lib/utils/attachmentAdpator.js.map +13 -0
  341. package/lib/utils/dom.d.ts +4 -0
  342. package/lib/utils/dom.js +11 -1
  343. package/lib/utils/dom.js.map +2 -2
  344. package/lib/utils/handleAction.d.ts +7 -0
  345. package/lib/utils/handleAction.js +30 -0
  346. package/lib/utils/handleAction.js.map +13 -0
  347. package/lib/utils/helper.d.ts +3 -1
  348. package/lib/utils/helper.js +14 -5
  349. package/lib/utils/helper.js.map +2 -2
  350. package/lib/utils/icon.js +3 -0
  351. package/lib/utils/icon.js.map +2 -2
  352. package/lib/utils/tpl-builtin.d.ts +1 -1
  353. package/lib/utils/tpl-builtin.js +25 -15
  354. package/lib/utils/tpl-builtin.js.map +2 -2
  355. package/lib/utils/validations.js +62 -5
  356. package/lib/utils/validations.js.map +2 -2
  357. package/package.json +1 -2
  358. package/schema.json +3638 -1030
  359. package/scss/_mixins.scss +27 -0
  360. package/scss/_properties.scss +88 -13
  361. package/scss/_utilities.scss +4 -0
  362. package/scss/base/_normalize.scss +2 -0
  363. package/scss/components/_anchor-nav.scss +88 -29
  364. package/scss/components/_badge.scss +67 -2
  365. package/scss/components/_button.scss +34 -3
  366. package/scss/components/_card.scss +8 -14
  367. package/scss/components/_collapse.scss +41 -8
  368. package/scss/components/_column-toggler.scss +234 -0
  369. package/scss/components/_dropdown.scss +2 -1
  370. package/scss/components/_image-gallery.scss +1 -1
  371. package/scss/components/_images.scss +2 -1
  372. package/scss/components/_link.scss +6 -0
  373. package/scss/components/_mapping.scss +6 -0
  374. package/scss/components/_markdown.scss +266 -0
  375. package/scss/components/_nav.scss +236 -154
  376. package/scss/components/_page.scss +5 -4
  377. package/scss/components/_picker-columns.scss +123 -0
  378. package/scss/components/_popover.scss +17 -0
  379. package/scss/components/_portlet.scss +51 -0
  380. package/scss/components/_progress.scss +2 -0
  381. package/scss/components/_spinner.scss +6 -2
  382. package/scss/components/_status.scss +1 -1
  383. package/scss/components/_steps.scss +1 -1
  384. package/scss/components/_table.scss +51 -1
  385. package/scss/components/form/_checks.scss +0 -351
  386. package/scss/components/form/_color.scss +1 -0
  387. package/scss/components/form/_date-range.scss +2 -0
  388. package/scss/components/form/_date.scss +2 -0
  389. package/scss/components/form/_fieldset.scss +6 -3
  390. package/scss/components/form/_file.scss +5 -4
  391. package/scss/components/form/_group.scss +4 -0
  392. package/scss/components/form/_image.scss +7 -2
  393. package/scss/components/form/_list.scss +1 -0
  394. package/scss/components/form/_location.scss +1 -1
  395. package/scss/components/form/_selection.scss +354 -0
  396. package/scss/components/form/_text.scss +13 -0
  397. package/scss/components/form/_textarea.scss +10 -0
  398. package/scss/components/form/_transfer.scss +77 -18
  399. package/scss/themes/_common.scss +7 -0
  400. package/scss/themes/_cxd-colors.scss +56 -0
  401. package/scss/themes/_cxd-variables.scss +219 -91
  402. package/scss/themes/cxd.scss +370 -0
  403. package/sdk/ang-ie11.css +1752 -431
  404. package/sdk/ang.css +1706 -323
  405. package/sdk/antd-ie11.css +1739 -420
  406. package/sdk/antd.css +1706 -323
  407. package/sdk/charts.js +13 -13
  408. package/sdk/color-picker.js +65 -69
  409. package/sdk/cropperjs.js +2 -2
  410. package/sdk/cxd-ie11.css +3015 -1397
  411. package/sdk/cxd.css +2402 -651
  412. package/sdk/dark-ie11.css +1750 -429
  413. package/sdk/dark.css +1706 -323
  414. package/sdk/exceljs.js +1 -1
  415. package/sdk/helper.css.map +1 -1
  416. package/sdk/ie11-patch.css +1 -0
  417. package/sdk/locale/de-DE.js +5 -0
  418. package/sdk/markdown.js +69 -69
  419. package/sdk/papaparse.js +1 -1
  420. package/sdk/renderers/Form/CityDB.js +1 -1
  421. package/sdk/rest.js +20 -30
  422. package/sdk/rich-text.js +62 -64
  423. package/sdk/sdk-ie11.css +3015 -1397
  424. package/sdk/sdk.css +2402 -651
  425. package/sdk/sdk.js +1278 -1220
  426. package/sdk/thirds/hls.js/hls.js +1 -1
  427. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  428. package/sdk/tinymce.js +57 -57
  429. package/src/Schema.ts +32 -0
  430. package/src/components/Alert.tsx +3 -1
  431. package/src/components/AnchorNav.tsx +15 -4
  432. package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +41 -37
  433. package/src/components/Badge.tsx +126 -23
  434. package/src/components/Button.tsx +23 -7
  435. package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
  436. package/src/components/Checkbox.tsx +5 -2
  437. package/src/components/Collapse.tsx +14 -9
  438. package/src/components/DatePicker.tsx +1 -1
  439. package/src/components/DateRangePicker.tsx +23 -11
  440. package/src/components/Drawer.tsx +3 -2
  441. package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
  442. package/src/components/InputBox.tsx +1 -1
  443. package/src/components/Link.tsx +85 -0
  444. package/src/components/Modal.tsx +3 -2
  445. package/src/components/ModalManager.ts +1 -1
  446. package/src/components/MonthRangePicker.tsx +10 -2
  447. package/src/components/PickerColumn.tsx +429 -0
  448. package/src/components/PickerContainer.tsx +128 -0
  449. package/src/components/Radios.tsx +3 -8
  450. package/src/components/RichText.tsx +244 -3
  451. package/src/components/SearchBox.tsx +4 -5
  452. package/src/components/Select.tsx +61 -5
  453. package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
  454. package/src/components/SparkLine.tsx +4 -1
  455. package/src/components/Steps.tsx +3 -3
  456. package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
  457. package/src/components/TabsTransfer.tsx +13 -7
  458. package/src/components/TabsTransferPicker.tsx +85 -0
  459. package/src/components/Toast.tsx +5 -5
  460. package/src/components/Transfer.tsx +71 -50
  461. package/src/components/TransferDropDown.tsx +117 -0
  462. package/src/components/TransferPicker.tsx +84 -0
  463. package/src/components/Tree.tsx +6 -8
  464. package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
  465. package/src/components/WithRemoteConfig.tsx +44 -4
  466. package/src/components/calendar/DaysView.tsx +2 -2
  467. package/src/components/condition-builder/Field.tsx +6 -7
  468. package/src/components/condition-builder/Func.tsx +3 -3
  469. package/src/components/condition-builder/InputSwitch.tsx +3 -3
  470. package/src/components/condition-builder/Item.tsx +5 -12
  471. package/src/components/condition-builder/Value.tsx +3 -0
  472. package/src/components/condition-builder/types.ts +6 -0
  473. package/src/components/icons.tsx +15 -0
  474. package/src/components/index.tsx +13 -13
  475. package/src/envOverwrite.ts +0 -1
  476. package/src/factory.tsx +31 -6
  477. package/src/hooks/index.ts +5 -0
  478. package/src/hooks/use-set-state.ts +19 -0
  479. package/src/hooks/use-touch.ts +100 -0
  480. package/src/hooks/use-update-effect.ts +16 -0
  481. package/src/icons/clock.svg +1 -0
  482. package/src/icons/loading-outline.svg +4 -0
  483. package/src/icons/status-close.svg +10 -0
  484. package/src/icons/status-fail.svg +10 -0
  485. package/src/icons/status-info.svg +8 -0
  486. package/src/icons/status-success.svg +10 -0
  487. package/src/icons/status-warning.svg +8 -0
  488. package/src/index.tsx +3 -0
  489. package/src/locale/de-DE.ts +5 -0
  490. package/src/locale/en-US.ts +6 -1
  491. package/src/locale/zh-CN.ts +9 -4
  492. package/src/renderers/Action.tsx +99 -15
  493. package/src/renderers/AnchorNav.tsx +4 -0
  494. package/src/renderers/Avatar.tsx +8 -4
  495. package/src/renderers/Breadcrumb.tsx +5 -1
  496. package/src/renderers/CRUD.tsx +70 -56
  497. package/src/renderers/Card.tsx +63 -34
  498. package/src/renderers/Chart.tsx +6 -2
  499. package/src/renderers/Collapse.tsx +9 -3
  500. package/src/renderers/Dialog.tsx +1 -5
  501. package/src/renderers/Drawer.tsx +0 -4
  502. package/src/renderers/DropDownButton.tsx +34 -12
  503. package/src/renderers/Form/Checkbox.tsx +8 -0
  504. package/src/renderers/Form/Combo.tsx +2 -3
  505. package/src/renderers/Form/Editor.tsx +19 -20
  506. package/src/renderers/Form/InputCity.tsx +4 -8
  507. package/src/renderers/Form/InputExcel.tsx +28 -3
  508. package/src/renderers/Form/InputFile.tsx +30 -20
  509. package/src/renderers/Form/InputImage.tsx +39 -13
  510. package/src/renderers/Form/InputTable.tsx +88 -9
  511. package/src/renderers/Form/Item.tsx +1 -1
  512. package/src/renderers/Form/Options.tsx +32 -7
  513. package/src/renderers/Form/Picker.tsx +3 -2
  514. package/src/renderers/Form/Select.tsx +144 -21
  515. package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
  516. package/src/renderers/Form/Transfer.tsx +3 -2
  517. package/src/renderers/Form/TransferPicker.tsx +123 -0
  518. package/src/renderers/Form/TreeSelect.tsx +25 -0
  519. package/src/renderers/Form/index.tsx +1 -1
  520. package/src/renderers/Form/wrapControl.tsx +28 -3
  521. package/src/renderers/IFrame.tsx +4 -5
  522. package/src/renderers/Image.tsx +10 -0
  523. package/src/renderers/Json.tsx +19 -10
  524. package/src/renderers/Link.tsx +53 -14
  525. package/src/renderers/List.tsx +1 -1
  526. package/src/renderers/Log.tsx +16 -3
  527. package/src/renderers/Mapping.tsx +27 -11
  528. package/src/renderers/Nav.tsx +392 -60
  529. package/src/renderers/Page.tsx +3 -1
  530. package/src/renderers/Portlet.tsx +423 -0
  531. package/src/renderers/Property.tsx +3 -2
  532. package/src/renderers/SearchBox.tsx +23 -4
  533. package/src/renderers/Service.tsx +101 -3
  534. package/src/renderers/SparkLine.tsx +5 -0
  535. package/src/renderers/Steps.tsx +12 -9
  536. package/src/renderers/Table/ColumnToggler.tsx +544 -0
  537. package/src/renderers/Table/ItemActionsWrapper.tsx +44 -0
  538. package/src/renderers/Table/TableBody.tsx +1 -1
  539. package/src/renderers/Table/TableCell.tsx +16 -1
  540. package/src/renderers/Table/TableContent.tsx +41 -3
  541. package/src/renderers/Table/index.tsx +318 -92
  542. package/src/renderers/Tabs.tsx +9 -1
  543. package/src/renderers/WebComponent.tsx +2 -2
  544. package/src/store/crud.ts +3 -8
  545. package/src/store/form.ts +5 -10
  546. package/src/store/modal.ts +4 -0
  547. package/src/store/service.ts +5 -23
  548. package/src/store/table.ts +103 -4
  549. package/src/types.ts +57 -0
  550. package/src/utils/api.ts +63 -23
  551. package/src/utils/attachmentAdpator.ts +90 -0
  552. package/src/utils/dom.tsx +12 -0
  553. package/src/utils/handleAction.ts +41 -0
  554. package/src/utils/helper.ts +12 -3
  555. package/src/utils/icon.tsx +4 -0
  556. package/src/utils/tpl-builtin.ts +48 -17
  557. package/src/utils/validations.ts +80 -12
  558. package/dump.rdb +0 -0
  559. package/lib/components/AssociatedCheckboxes.d.ts +0 -762
  560. package/lib/components/AssociatedCheckboxes.js +0 -90
  561. package/lib/components/AssociatedCheckboxes.js.map +0 -13
  562. package/lib/components/ChainedCheckboxes.js.map +0 -13
  563. package/lib/components/Checkboxes.js +0 -101
  564. package/lib/components/Checkboxes.js.map +0 -13
  565. package/lib/components/ListCheckboxes.d.ts +0 -739
  566. package/lib/components/ListCheckboxes.js +0 -48
  567. package/lib/components/ListCheckboxes.js.map +0 -13
  568. package/lib/components/ListRadios.d.ts +0 -763
  569. package/lib/components/ListRadios.js +0 -86
  570. package/lib/components/ListRadios.js.map +0 -13
  571. package/lib/components/TableCheckboxes.js.map +0 -13
  572. package/lib/components/TreeCheckboxes.js.map +0 -13
  573. package/lib/components/TreeRadios.d.ts +0 -838
  574. package/lib/components/TreeRadios.js +0 -116
  575. package/lib/components/TreeRadios.js.map +0 -13
  576. package/src/components/ListRadios.tsx +0 -159
  577. package/src/components/TreeRadios.tsx +0 -202
@@ -207,8 +207,9 @@ export class BaseTransferRenderer<
207
207
  (option: Option) => {
208
208
  return !!(
209
209
  (Array.isArray(option.children) && option.children.length) ||
210
- regexp.test(option[(labelField as string) || 'label']) ||
211
- regexp.test(option[(valueField as string) || 'value'])
210
+ (option[(valueField as string) || 'value'] &&
211
+ (regexp.test(option[(labelField as string) || 'label']) ||
212
+ regexp.test(option[(valueField as string) || 'value'])))
212
213
  );
213
214
  },
214
215
  0,
@@ -0,0 +1,123 @@
1
+ import {
2
+ OptionsControlProps,
3
+ OptionsControl,
4
+ FormOptionsControl
5
+ } from './Options';
6
+ import React from 'react';
7
+ import {Api} from '../../types';
8
+ import Spinner from '../../components/Spinner';
9
+ import {BaseTransferRenderer} from './Transfer';
10
+ import TabsTransfer from '../../components/TabsTransfer';
11
+ import {SchemaApi} from '../../Schema';
12
+ import TransferPicker from '../../components/TransferPicker';
13
+
14
+ /**
15
+ * TransferPicker 穿梭器的弹框形态
16
+ * 文档:https://baidu.gitee.io/amis/docs/components/form/transfer-picker
17
+ */
18
+ export interface TransferPickerControlSchema extends FormOptionsControl {
19
+ type: 'transfer-picker';
20
+
21
+ /**
22
+ * 是否显示剪头
23
+ */
24
+ showArrow?: boolean;
25
+
26
+ /**
27
+ * 可排序?
28
+ */
29
+ sortable?: boolean;
30
+
31
+ /**
32
+ * 搜索结果展示模式
33
+ */
34
+ searchResultMode?: 'table' | 'list' | 'tree' | 'chained';
35
+
36
+ /**
37
+ * 可搜索?
38
+ */
39
+ searchable?: boolean;
40
+
41
+ /**
42
+ * 搜索 API
43
+ */
44
+ searchApi?: SchemaApi;
45
+
46
+ /**
47
+ * 左侧的标题文字
48
+ */
49
+ selectTitle?: string;
50
+
51
+ /**
52
+ * 右侧结果的标题文字
53
+ */
54
+ resultTitle?: string;
55
+
56
+ /**
57
+ * 弹窗大小
58
+ */
59
+ pickerSize?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
60
+ }
61
+
62
+ export interface TabsTransferProps
63
+ extends OptionsControlProps,
64
+ Omit<
65
+ TransferPickerControlSchema,
66
+ | 'type'
67
+ | 'options'
68
+ | 'inputClassName'
69
+ | 'className'
70
+ | 'descriptionClassName'
71
+ > {}
72
+
73
+ @OptionsControl({
74
+ type: 'transfer-picker'
75
+ })
76
+ export class TransferPickerRenderer extends BaseTransferRenderer<TabsTransferProps> {
77
+ render() {
78
+ const {
79
+ className,
80
+ classnames: cx,
81
+ options,
82
+ selectedOptions,
83
+ sortable,
84
+ loading,
85
+ searchable,
86
+ searchResultMode,
87
+ showArrow,
88
+ deferLoad,
89
+ disabled,
90
+ selectTitle,
91
+ resultTitle,
92
+ pickerSize,
93
+ columns,
94
+ leftMode,
95
+ leftOptions
96
+ } = this.props;
97
+
98
+ return (
99
+ <div className={cx('TabsTransferControl', className)}>
100
+ <TransferPicker
101
+ value={selectedOptions}
102
+ disabled={disabled}
103
+ options={options}
104
+ onChange={this.handleChange}
105
+ option2value={this.option2value}
106
+ sortable={sortable}
107
+ searchResultMode={searchResultMode}
108
+ onSearch={searchable ? this.handleSearch : undefined}
109
+ showArrow={showArrow}
110
+ onDeferLoad={deferLoad}
111
+ selectTitle={selectTitle}
112
+ resultTitle={resultTitle}
113
+ size={pickerSize}
114
+ columns={columns}
115
+ leftMode={leftMode}
116
+ leftOptions={leftOptions}
117
+ />
118
+
119
+ <Spinner overlay key="info" show={loading} />
120
+ </div>
121
+ );
122
+ }
123
+ }
@@ -478,6 +478,19 @@ export default class TreeSelectControl extends React.Component<
478
478
  minLength,
479
479
  labelField,
480
480
  nodePath,
481
+ onAdd,
482
+ creatable,
483
+ createTip,
484
+ addControls,
485
+ onEdit,
486
+ editable,
487
+ editTip,
488
+ editControls,
489
+ removable,
490
+ removeTip,
491
+ onDelete,
492
+ rootCreatable,
493
+ rootCreateTip,
481
494
  translate: __,
482
495
  deferLoad,
483
496
  expandTreeOptions
@@ -533,6 +546,18 @@ export default class TreeSelectControl extends React.Component<
533
546
  pathSeparator={pathSeparator}
534
547
  maxLength={maxLength}
535
548
  minLength={minLength}
549
+ onAdd={onAdd}
550
+ creatable={creatable}
551
+ createTip={createTip}
552
+ rootCreatable={rootCreatable}
553
+ rootCreateTip={rootCreateTip}
554
+ onEdit={onEdit}
555
+ editable={editable}
556
+ editTip={editTip}
557
+ removable={removable}
558
+ removeTip={removeTip}
559
+ onDelete={onDelete}
560
+ bultinCUD={!addControls && !editControls}
536
561
  onDeferLoad={deferLoad}
537
562
  onExpandTree={expandTreeOptions}
538
563
  />
@@ -827,7 +827,7 @@ export default class Form extends React.Component<FormProps, object> {
827
827
  );
828
828
  }
829
829
 
830
- if (store.persistData) {
830
+ if (store.persistData && store.inited) {
831
831
  store.setLocalPersistData();
832
832
  }
833
833
  }
@@ -479,8 +479,17 @@ export function wrapControl<
479
479
  const {
480
480
  formStore: form,
481
481
  onChange,
482
- $schema: {name, onChange: onFormItemChange, maxLength, minLength},
482
+ $schema: {
483
+ name,
484
+ id,
485
+ label,
486
+ type,
487
+ onChange: onFormItemChange,
488
+ maxLength,
489
+ minLength
490
+ },
483
491
  data,
492
+ env,
484
493
  validateOnChange,
485
494
  formSubmited
486
495
  } = this.props;
@@ -495,6 +504,22 @@ export function wrapControl<
495
504
  return;
496
505
  }
497
506
 
507
+ if (type !== 'input-password') {
508
+ env?.tracker(
509
+ {
510
+ eventType: 'formItemChange',
511
+ eventData: {
512
+ id,
513
+ name,
514
+ label,
515
+ type,
516
+ value
517
+ }
518
+ },
519
+ this.props
520
+ );
521
+ }
522
+
498
523
  this.model.changeEmitedValue(value);
499
524
  if (
500
525
  onFormItemChange?.(value, oldValue, this.model, form) === false
@@ -506,8 +531,8 @@ export function wrapControl<
506
531
 
507
532
  if (
508
533
  // 如果配置了 minLength 或者 maxLength 就切成及时验证
509
- (typeof maxLength && maxLength) ||
510
- (typeof minLength && minLength) ||
534
+ this.model.rules.minLength ||
535
+ this.model.rules.maxLength ||
511
536
  validateOnChange === true ||
512
537
  (validateOnChange !== false && (formSubmited || validated))
513
538
  ) {
@@ -6,7 +6,7 @@ import {ScopedContext, IScopedContext} from '../Scoped';
6
6
  import {buildApi, isApiOutdated} from '../utils/api';
7
7
  import {BaseSchema, SchemaUrlPath} from '../Schema';
8
8
  import {ActionSchema} from './Action';
9
- import {isPureVariable, resolveVariableAndFilter} from '../utils/tpl-builtin';
9
+ import {dataMapping} from '../utils/tpl-builtin';
10
10
 
11
11
  /**
12
12
  * IFrame 渲染器
@@ -149,7 +149,7 @@ export default class IFrame extends React.Component<IFrameProps, object> {
149
149
 
150
150
  render() {
151
151
  const {width, height} = this.state;
152
- let {className, src, frameBorder, data, style} = this.props;
152
+ let {className, src, name, frameBorder, data, style} = this.props;
153
153
 
154
154
  let tempStyle: any = {};
155
155
 
@@ -161,9 +161,7 @@ export default class IFrame extends React.Component<IFrameProps, object> {
161
161
  ...style
162
162
  };
163
163
 
164
- if (isPureVariable(src)) {
165
- src = resolveVariableAndFilter(src, data, '| raw');
166
- }
164
+ src = dataMapping(src, data);
167
165
 
168
166
  const finalSrc = src ? buildApi(src, data).url : undefined;
169
167
 
@@ -177,6 +175,7 @@ export default class IFrame extends React.Component<IFrameProps, object> {
177
175
 
178
176
  return (
179
177
  <iframe
178
+ name={name}
180
179
  className={className}
181
180
  frameBorder={frameBorder}
182
181
  style={style}
@@ -7,6 +7,7 @@ import {Icon} from '../components/icons';
7
7
  import {LocaleProps, localeable} from '../locale';
8
8
  import {BaseSchema, SchemaClassName, SchemaTpl, SchemaUrlPath} from '../Schema';
9
9
  import {resolveVariable} from '../utils/tpl-builtin';
10
+ import handleAction from '../utils/handleAction';
10
11
 
11
12
  /**
12
13
  * 图片展示控件。
@@ -322,6 +323,14 @@ export class ImageField extends React.Component<ImageFieldProps, object> {
322
323
  );
323
324
  }
324
325
 
326
+ @autobind
327
+ handleClick(e: React.MouseEvent<HTMLElement>) {
328
+ const clickAction = this.props.clickAction;
329
+ if (clickAction) {
330
+ handleAction(e, clickAction, this.props);
331
+ }
332
+ }
333
+
325
334
  render() {
326
335
  const {
327
336
  className,
@@ -359,6 +368,7 @@ export class ImageField extends React.Component<ImageFieldProps, object> {
359
368
  : 'ImageField--thumb',
360
369
  className
361
370
  )}
371
+ onClick={this.handleClick}
362
372
  >
363
373
  {value ? (
364
374
  <ThemedImageThumb
@@ -29,6 +29,11 @@ export interface JsonSchema extends BaseSchema {
29
29
  * 是否可修改
30
30
  */
31
31
  mutable?: boolean;
32
+
33
+ /**
34
+ * 是否显示数据类型
35
+ */
36
+ displayDataTypes?: boolean;
32
37
  }
33
38
 
34
39
  export interface JSONProps extends RendererProps, JsonSchema {
@@ -44,7 +49,8 @@ export class JSONField extends React.Component<JSONProps, object> {
44
49
  static defaultProps: Partial<JSONProps> = {
45
50
  placeholder: '-',
46
51
  levelExpand: 1,
47
- source: ''
52
+ source: '',
53
+ displayDataTypes: false
48
54
  };
49
55
 
50
56
  @autobind
@@ -79,6 +85,7 @@ export class JSONField extends React.Component<JSONProps, object> {
79
85
  source,
80
86
  levelExpand,
81
87
  mutable,
88
+ displayDataTypes,
82
89
  name
83
90
  } = this.props;
84
91
 
@@ -87,14 +94,15 @@ export class JSONField extends React.Component<JSONProps, object> {
87
94
  let data = value;
88
95
  if (source !== undefined && isPureVariable(source)) {
89
96
  data = resolveVariableAndFilter(source, this.props.data, '| raw');
90
- } else if (typeof value === 'string') {
91
- try {
92
- data = JSON.parse(value);
93
- } catch (e) {
94
- data = {
95
- error: e.message
96
- };
97
- }
97
+ }
98
+
99
+ let jsonThemeValue = jsonTheme;
100
+ if (isPureVariable(jsonTheme)) {
101
+ jsonThemeValue = resolveVariableAndFilter(
102
+ jsonTheme,
103
+ this.props.data,
104
+ '| raw'
105
+ );
98
106
  }
99
107
 
100
108
  // JsonView 只支持对象,所以不是对象格式需要转成对象格式。
@@ -112,9 +120,10 @@ export class JSONField extends React.Component<JSONProps, object> {
112
120
  <JsonView
113
121
  name={false}
114
122
  src={data}
115
- theme={(jsonTheme as any) ?? 'rjv-default'}
123
+ theme={(jsonThemeValue as any) ?? 'rjv-default'}
116
124
  shouldCollapse={this.shouldExpandNode}
117
125
  enableClipboard={false}
126
+ displayDataTypes={displayDataTypes}
118
127
  iconStyle="square"
119
128
  onEdit={name && mutable ? this.emitChange : false}
120
129
  onDelete={name && mutable ? this.emitChange : false}
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
2
  import {Renderer, RendererProps} from '../factory';
3
3
  import {BaseSchema, SchemaTpl} from '../Schema';
4
- import {getPropValue} from '../utils/helper';
4
+ import {autobind, getPropValue} from '../utils/helper';
5
5
  import {filter} from '../utils/tpl';
6
6
  import {BadgeSchema, withBadge} from '../components/Badge';
7
+ import Link from '../components/Link';
7
8
 
8
9
  /**
9
10
  * Link 链接展示控件。
@@ -29,18 +30,48 @@ export interface LinkSchema extends BaseSchema {
29
30
  * 角标
30
31
  */
31
32
  badge?: BadgeSchema;
33
+
34
+ /**
35
+ * a标签原生target属性
36
+ */
37
+ htmlTarget?: string;
38
+
39
+ /**
40
+ * 图标
41
+ */
42
+ icon?: string;
43
+
44
+ /**
45
+ * 右侧图标
46
+ */
47
+ rightIcon?: string;
32
48
  }
33
49
 
34
50
  export interface LinkProps
35
51
  extends RendererProps,
36
52
  Omit<LinkSchema, 'type' | 'className'> {}
37
53
 
38
- export class LinkField extends React.Component<LinkProps, object> {
54
+ export class LinkCmpt extends React.Component<LinkProps, object> {
39
55
  static defaultProps = {
40
- className: '',
41
- blank: false
56
+ blank: true,
57
+ disabled: false,
58
+ htmlTarget: ''
42
59
  };
43
60
 
61
+ handleClick(href: string) {
62
+ const {env, blank, body} = this.props;
63
+ env?.tracker(
64
+ {
65
+ eventType: 'url',
66
+ // 需要和 action 里命名一致方便后续分析
67
+ eventData: {url: href, blank, label: body}
68
+ },
69
+ this.props
70
+ );
71
+ }
72
+
73
+ getHref() {}
74
+
44
75
  render() {
45
76
  const {
46
77
  className,
@@ -48,25 +79,33 @@ export class LinkField extends React.Component<LinkProps, object> {
48
79
  href,
49
80
  classnames: cx,
50
81
  blank,
82
+ disabled,
51
83
  htmlTarget,
52
84
  data,
53
85
  render,
54
86
  translate: __,
55
- title
87
+ title,
88
+ icon,
89
+ rightIcon
56
90
  } = this.props;
57
91
 
58
- let value = getPropValue(this.props);
59
- const finnalHref = href ? filter(href, data, '| raw') : '';
92
+ let value =
93
+ (typeof href === 'string' && href
94
+ ? filter(href, data, '| raw')
95
+ : undefined) || getPropValue(this.props);
60
96
 
61
97
  return (
62
- <a
63
- href={finnalHref || value}
64
- target={htmlTarget || (blank ? '_blank' : '_self')}
65
- className={cx('Link', className)}
98
+ <Link
99
+ className={className}
100
+ href={value}
101
+ disabled={disabled}
66
102
  title={title}
103
+ htmlTarget={htmlTarget || (blank ? '_blank' : '_self')}
104
+ icon={icon}
105
+ rightIcon={rightIcon}
67
106
  >
68
- {body ? render('body', body) : finnalHref || value || __('link')}
69
- </a>
107
+ {body ? render('body', body) : value || __('link')}
108
+ </Link>
70
109
  );
71
110
  }
72
111
  }
@@ -76,4 +115,4 @@ export class LinkField extends React.Component<LinkProps, object> {
76
115
  })
77
116
  // @ts-ignore 类型没搞定
78
117
  @withBadge
79
- export class LinkFieldRenderer extends LinkField {}
118
+ export class LinkFieldRenderer extends LinkCmpt {}
@@ -1189,7 +1189,7 @@ export class ListItem extends React.Component<ListItemProps> {
1189
1189
  }
1190
1190
 
1191
1191
  renderFeild(region: string, field: any, key: any, props: any) {
1192
- const render = props.render || this.props.render;
1192
+ const render = props?.render || this.props.render;
1193
1193
  const data = this.props.data;
1194
1194
  const cx = this.props.classnames;
1195
1195
  const itemIndex = this.props.itemIndex;
@@ -6,7 +6,7 @@ import {Renderer, RendererProps} from '../factory';
6
6
  import {BaseSchema, SchemaTpl} from '../Schema';
7
7
  import Ansi from 'ansi-to-react';
8
8
  import {filter} from '../utils/tpl';
9
- import {buildApi} from '../utils/api';
9
+ import {buildApi, isApiOutdated} from '../utils/api';
10
10
 
11
11
  /**
12
12
  * 日志展示组件
@@ -14,7 +14,7 @@ import {buildApi} from '../utils/api';
14
14
  */
15
15
  export interface LogSchema extends BaseSchema {
16
16
  /**
17
- * 指定为 link 链接展示控件
17
+ * 指定为 log 链接展示控件
18
18
  */
19
19
  type: 'log';
20
20
 
@@ -100,10 +100,20 @@ export class Log extends React.Component<LogProps, LogState> {
100
100
  }
101
101
  }
102
102
 
103
- componentDidUpdate() {
103
+ componentDidUpdate(prevProps: LogProps) {
104
104
  if (this.autoScroll && this.logRef && this.logRef.current) {
105
105
  this.logRef.current.scrollTop = this.logRef.current.scrollHeight;
106
106
  }
107
+ if (
108
+ isApiOutdated(
109
+ prevProps.source,
110
+ this.props.source,
111
+ prevProps.data,
112
+ this.props.data
113
+ )
114
+ ) {
115
+ this.loadLogs();
116
+ }
107
117
  }
108
118
 
109
119
  // 如果向上滚动就停止自动滚动,除非滚到底部
@@ -118,6 +128,9 @@ export class Log extends React.Component<LogProps, LogState> {
118
128
  const {source, data, env, translate: __, encoding} = this.props;
119
129
  // 因为这里返回结果是流式的,和普通 api 请求不一样,如果直接用 fetcher 经过 responseAdaptor 可能会导致出错,所以就直接 fetch 了
120
130
  const api = buildApi(source, data);
131
+ if (!api.url) {
132
+ return;
133
+ }
121
134
  const res = await fetch(api.url);
122
135
  if (res.status === 200) {
123
136
  const body = res.body;
@@ -20,7 +20,8 @@ import {
20
20
  buildApi,
21
21
  isApiOutdated,
22
22
  isEffectiveApi,
23
- normalizeApi
23
+ normalizeApi,
24
+ normalizeApiResponseData
24
25
  } from '../utils/api';
25
26
 
26
27
  /**
@@ -72,7 +73,7 @@ export const Store = StoreNode.named('MappingStore')
72
73
  const ret: Payload = yield env.fetcher(api, data);
73
74
 
74
75
  if (ret.ok) {
75
- const data = ret.data || {};
76
+ const data = normalizeApiResponseData(ret.data);
76
77
  (self as any).setMap(data);
77
78
  } else {
78
79
  throw new Error(ret.msg || 'fetch error');
@@ -175,7 +176,7 @@ export const MappingField = withStore(props =>
175
176
  }
176
177
  }
177
178
 
178
- render() {
179
+ renderSingleValue(key: any, reactKey?: number) {
179
180
  const {
180
181
  className,
181
182
  placeholder,
@@ -185,17 +186,13 @@ export const MappingField = withStore(props =>
185
186
  data,
186
187
  store
187
188
  } = this.props;
188
- const map = store.map;
189
-
190
- let key = getPropValue(this.props);
191
-
192
189
  let viewValue: React.ReactNode = (
193
190
  <span className="text-muted">{placeholder}</span>
194
191
  );
195
-
196
- key = typeof key === 'string' ? key.trim() : key; // trim 一下,干掉一些空白字符。
192
+ const map = store.map;
197
193
  let value: any = undefined;
198
-
194
+ // trim 一下,干掉一些空白字符。
195
+ key = typeof key === 'string' ? key.trim() : key;
199
196
  if (
200
197
  typeof key !== 'undefined' &&
201
198
  map &&
@@ -210,7 +207,26 @@ export const MappingField = withStore(props =>
210
207
  viewValue = render('tpl', value);
211
208
  }
212
209
 
213
- return <span className={cx('MappingField', className)}>{viewValue}</span>;
210
+ return (
211
+ <span key={`map-${reactKey}`} className={cx('MappingField', className)}>
212
+ {viewValue}
213
+ </span>
214
+ );
215
+ }
216
+
217
+ render() {
218
+ const mapKey = getPropValue(this.props);
219
+ if (Array.isArray(mapKey)) {
220
+ return (
221
+ <span>
222
+ {mapKey.map((singleKey: string, index: number) =>
223
+ this.renderSingleValue(singleKey, index)
224
+ )}
225
+ </span>
226
+ );
227
+ } else {
228
+ return this.renderSingleValue(mapKey, 0);
229
+ }
214
230
  }
215
231
  }
216
232
  );