amis 1.4.1 → 1.4.2-beta.13

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 (516) 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 +2 -2
  14. package/lib/components/Badge.js +13 -7
  15. package/lib/components/Badge.js.map +2 -2
  16. package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
  17. package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
  18. package/lib/components/ChainedSelection.js.map +13 -0
  19. package/lib/components/Collapse.js +1 -1
  20. package/lib/components/Collapse.js.map +2 -2
  21. package/lib/components/ColorPicker.d.ts +84 -84
  22. package/lib/components/DatePicker.d.ts +84 -84
  23. package/lib/components/DatePicker.js +1 -1
  24. package/lib/components/DatePicker.js.map +2 -2
  25. package/lib/components/DateRangePicker.d.ts +84 -84
  26. package/lib/components/DateRangePicker.js +1 -1
  27. package/lib/components/DateRangePicker.js.map +2 -2
  28. package/lib/components/Editor.d.ts +84 -84
  29. package/lib/components/GroupedSelection.d.ts +907 -0
  30. package/lib/components/GroupedSelection.js +48 -0
  31. package/lib/components/GroupedSelection.js.map +13 -0
  32. package/lib/components/InputBox.d.ts +22 -21
  33. package/lib/components/InputBox.js +11 -3
  34. package/lib/components/InputBox.js.map +2 -2
  35. package/lib/components/Link.d.ts +84 -0
  36. package/lib/components/Link.js +43 -0
  37. package/lib/components/Link.js.map +13 -0
  38. package/lib/components/ListGroup.d.ts +21 -21
  39. package/lib/components/ModalManager.js +1 -1
  40. package/lib/components/ModalManager.js.map +2 -2
  41. package/lib/components/MonthRangePicker.d.ts +84 -84
  42. package/lib/components/MonthRangePicker.js +1 -1
  43. package/lib/components/MonthRangePicker.js.map +2 -2
  44. package/lib/components/NumberInput.d.ts +20 -20
  45. package/lib/components/PickerColumn.d.ts +514 -0
  46. package/lib/components/PickerColumn.js +279 -0
  47. package/lib/components/PickerColumn.js.map +13 -0
  48. package/lib/components/PickerContainer.d.ts +513 -0
  49. package/lib/components/PickerContainer.js +96 -0
  50. package/lib/components/PickerContainer.js.map +13 -0
  51. package/lib/components/Radios.d.ts +22 -21
  52. package/lib/components/Radios.js +1 -0
  53. package/lib/components/Radios.js.map +2 -2
  54. package/lib/components/Rating.d.ts +21 -21
  55. package/lib/components/ResultBox.d.ts +84 -84
  56. package/lib/components/ResultBox.js +10 -2
  57. package/lib/components/ResultBox.js.map +2 -2
  58. package/lib/components/RichText.js +17 -53
  59. package/lib/components/RichText.js.map +2 -2
  60. package/lib/components/SearchBox.d.ts +84 -84
  61. package/lib/components/SearchBox.js +4 -4
  62. package/lib/components/SearchBox.js.map +2 -2
  63. package/lib/components/Select.d.ts +245 -237
  64. package/lib/components/Select.js +28 -4
  65. package/lib/components/Select.js.map +2 -2
  66. package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
  67. package/lib/components/Selection.js +134 -0
  68. package/lib/components/Selection.js.map +13 -0
  69. package/lib/components/SparkLine.d.ts +85 -84
  70. package/lib/components/SparkLine.js +2 -2
  71. package/lib/components/SparkLine.js.map +2 -2
  72. package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
  73. package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
  74. package/lib/components/TableSelection.js.map +13 -0
  75. package/lib/components/Tabs.d.ts +20 -20
  76. package/lib/components/TabsTransfer.d.ts +84 -84
  77. package/lib/components/TabsTransfer.js +9 -9
  78. package/lib/components/TabsTransfer.js.map +2 -2
  79. package/lib/components/TabsTransferPicker.d.ts +489 -0
  80. package/lib/components/TabsTransferPicker.js +60 -0
  81. package/lib/components/TabsTransferPicker.js.map +13 -0
  82. package/lib/components/Toast.js +2 -2
  83. package/lib/components/Toast.js.map +2 -2
  84. package/lib/components/Transfer.d.ts +908 -274
  85. package/lib/components/Transfer.js +31 -24
  86. package/lib/components/Transfer.js.map +2 -2
  87. package/lib/components/TransferDropDown.d.ts +488 -0
  88. package/lib/components/TransferDropDown.js +59 -0
  89. package/lib/components/TransferDropDown.js.map +13 -0
  90. package/lib/components/TransferPicker.d.ts +493 -0
  91. package/lib/components/TransferPicker.js +60 -0
  92. package/lib/components/TransferPicker.js.map +13 -0
  93. package/lib/components/Tree.d.ts +84 -84
  94. package/lib/components/Tree.js +5 -3
  95. package/lib/components/Tree.js.map +2 -2
  96. package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
  97. package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
  98. package/lib/components/TreeSelection.js.map +13 -0
  99. package/lib/components/WithRemoteConfig.js +1 -1
  100. package/lib/components/WithRemoteConfig.js.map +2 -2
  101. package/lib/components/condition-builder/Field.js +5 -2
  102. package/lib/components/condition-builder/Field.js.map +2 -2
  103. package/lib/components/condition-builder/Func.js +2 -2
  104. package/lib/components/condition-builder/Func.js.map +2 -2
  105. package/lib/components/condition-builder/InputSwitch.js +2 -2
  106. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  107. package/lib/components/condition-builder/Item.js +3 -3
  108. package/lib/components/condition-builder/Item.js.map +2 -2
  109. package/lib/components/icons.js +14 -0
  110. package/lib/components/icons.js.map +2 -2
  111. package/lib/components/index.d.ts +8 -8
  112. package/lib/components/index.js +16 -16
  113. package/lib/components/index.js.map +2 -2
  114. package/lib/envOverwrite.js.map +2 -2
  115. package/lib/factory.d.ts +4 -0
  116. package/lib/factory.js +4 -2
  117. package/lib/factory.js.map +2 -2
  118. package/lib/helper.css.map +1 -1
  119. package/lib/hooks/index.d.ts +5 -0
  120. package/lib/hooks/index.js +14 -0
  121. package/lib/hooks/index.js.map +13 -0
  122. package/lib/hooks/use-set-state.d.ts +2 -0
  123. package/lib/hooks/use-set-state.js +15 -0
  124. package/lib/hooks/use-set-state.js.map +13 -0
  125. package/lib/hooks/use-touch.d.ts +16 -0
  126. package/lib/hooks/use-touch.js +73 -0
  127. package/lib/hooks/use-touch.js.map +13 -0
  128. package/lib/hooks/use-update-effect.d.ts +3 -0
  129. package/lib/hooks/use-update-effect.js +17 -0
  130. package/lib/hooks/use-update-effect.js.map +13 -0
  131. package/lib/icons/clock.js +10 -0
  132. package/lib/icons/download.js +7 -0
  133. package/lib/icons/status-close.js +11 -0
  134. package/lib/icons/status-fail.js +11 -0
  135. package/lib/icons/status-info.js +10 -0
  136. package/lib/icons/status-success.js +11 -0
  137. package/lib/icons/status-warning.js +10 -0
  138. package/lib/index.d.ts +3 -0
  139. package/lib/index.js +4 -1
  140. package/lib/index.js.map +2 -2
  141. package/lib/locale/de-DE.js +4 -0
  142. package/lib/locale/de-DE.js.map +2 -2
  143. package/lib/locale/en-US.js +5 -0
  144. package/lib/locale/en-US.js.map +2 -2
  145. package/lib/locale/zh-CN.js +8 -3
  146. package/lib/locale/zh-CN.js.map +2 -2
  147. package/lib/renderers/Action.d.ts +8 -0
  148. package/lib/renderers/Action.js +17 -4
  149. package/lib/renderers/Action.js.map +2 -2
  150. package/lib/renderers/AnchorNav.d.ts +1 -0
  151. package/lib/renderers/AnchorNav.js +2 -2
  152. package/lib/renderers/AnchorNav.js.map +2 -2
  153. package/lib/renderers/Avatar.js +3 -3
  154. package/lib/renderers/Avatar.js.map +2 -2
  155. package/lib/renderers/Breadcrumb.js +1 -1
  156. package/lib/renderers/Breadcrumb.js.map +2 -2
  157. package/lib/renderers/CRUD.d.ts +9 -0
  158. package/lib/renderers/CRUD.js +43 -8
  159. package/lib/renderers/CRUD.js.map +2 -2
  160. package/lib/renderers/Card.d.ts +4 -0
  161. package/lib/renderers/Card.js +29 -23
  162. package/lib/renderers/Card.js.map +2 -2
  163. package/lib/renderers/Chart.js +1 -1
  164. package/lib/renderers/Chart.js.map +2 -2
  165. package/lib/renderers/Collapse.js +3 -2
  166. package/lib/renderers/Collapse.js.map +2 -2
  167. package/lib/renderers/Dialog.js +0 -3
  168. package/lib/renderers/Dialog.js.map +2 -2
  169. package/lib/renderers/Drawer.js +0 -3
  170. package/lib/renderers/Drawer.js.map +2 -2
  171. package/lib/renderers/DropDownButton.d.ts +5 -1
  172. package/lib/renderers/DropDownButton.js +8 -6
  173. package/lib/renderers/DropDownButton.js.map +2 -2
  174. package/lib/renderers/Form/Checkbox.d.ts +5 -0
  175. package/lib/renderers/Form/Checkbox.js +4 -0
  176. package/lib/renderers/Form/Checkbox.js.map +2 -2
  177. package/lib/renderers/Form/Combo.js +2 -2
  178. package/lib/renderers/Form/Combo.js.map +2 -2
  179. package/lib/renderers/Form/DiffEditor.d.ts +4 -3
  180. package/lib/renderers/Form/Editor.d.ts +3 -2
  181. package/lib/renderers/Form/InputCity.d.ts +84 -84
  182. package/lib/renderers/Form/InputCity.js +7 -6
  183. package/lib/renderers/Form/InputCity.js.map +2 -2
  184. package/lib/renderers/Form/InputColor.d.ts +84 -84
  185. package/lib/renderers/Form/InputFile.d.ts +6 -0
  186. package/lib/renderers/Form/InputFile.js +30 -10
  187. package/lib/renderers/Form/InputFile.js.map +2 -2
  188. package/lib/renderers/Form/InputImage.js +16 -7
  189. package/lib/renderers/Form/InputImage.js.map +2 -2
  190. package/lib/renderers/Form/Item.d.ts +1 -1
  191. package/lib/renderers/Form/Item.js.map +1 -1
  192. package/lib/renderers/Form/Options.js +19 -6
  193. package/lib/renderers/Form/Options.js.map +2 -2
  194. package/lib/renderers/Form/Picker.js +2 -2
  195. package/lib/renderers/Form/Picker.js.map +2 -2
  196. package/lib/renderers/Form/Select.d.ts +42 -4
  197. package/lib/renderers/Form/Select.js +37 -3
  198. package/lib/renderers/Form/Select.js.map +2 -2
  199. package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
  200. package/lib/renderers/Form/TabsTransferPicker.js +29 -0
  201. package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
  202. package/lib/renderers/Form/Transfer.js +18 -3
  203. package/lib/renderers/Form/Transfer.js.map +2 -2
  204. package/lib/renderers/Form/TransferPicker.d.ts +52 -0
  205. package/lib/renderers/Form/TransferPicker.js +43 -0
  206. package/lib/renderers/Form/TransferPicker.js.map +13 -0
  207. package/lib/renderers/Form/TreeSelect.js +2 -2
  208. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  209. package/lib/renderers/Form/index.d.ts +5 -0
  210. package/lib/renderers/Form/index.js +5 -3
  211. package/lib/renderers/Form/index.js.map +2 -2
  212. package/lib/renderers/Form/wrapControl.js +15 -3
  213. package/lib/renderers/Form/wrapControl.js.map +2 -2
  214. package/lib/renderers/IFrame.js +3 -5
  215. package/lib/renderers/IFrame.js.map +2 -2
  216. package/lib/renderers/Image.d.ts +1 -0
  217. package/lib/renderers/Image.js +15 -1
  218. package/lib/renderers/Image.js.map +2 -2
  219. package/lib/renderers/Json.d.ts +4 -0
  220. package/lib/renderers/Json.js +4 -13
  221. package/lib/renderers/Json.js.map +2 -2
  222. package/lib/renderers/Link.d.ts +18 -3
  223. package/lib/renderers/Link.js +27 -15
  224. package/lib/renderers/Link.js.map +2 -2
  225. package/lib/renderers/List.js +1 -1
  226. package/lib/renderers/List.js.map +2 -2
  227. package/lib/renderers/Log.d.ts +2 -2
  228. package/lib/renderers/Log.js +7 -1
  229. package/lib/renderers/Log.js.map +2 -2
  230. package/lib/renderers/Mapping.d.ts +9 -2
  231. package/lib/renderers/Mapping.js +18 -6
  232. package/lib/renderers/Mapping.js.map +2 -2
  233. package/lib/renderers/Nav.d.ts +62 -36
  234. package/lib/renderers/Nav.js +272 -96
  235. package/lib/renderers/Nav.js.map +2 -2
  236. package/lib/renderers/Portlet.d.ts +125 -0
  237. package/lib/renderers/Portlet.js +156 -0
  238. package/lib/renderers/Portlet.js.map +13 -0
  239. package/lib/renderers/Property.js +2 -1
  240. package/lib/renderers/Property.js.map +2 -2
  241. package/lib/renderers/SearchBox.d.ts +6 -1
  242. package/lib/renderers/SearchBox.js +19 -5
  243. package/lib/renderers/SearchBox.js.map +2 -2
  244. package/lib/renderers/SparkLine.d.ts +4 -0
  245. package/lib/renderers/SparkLine.js.map +2 -2
  246. package/lib/renderers/Table/ColumnToggler.d.ts +113 -0
  247. package/lib/renderers/Table/ColumnToggler.js +216 -0
  248. package/lib/renderers/Table/ColumnToggler.js.map +13 -0
  249. package/lib/renderers/Table/ItemActionsWrapper.d.ts +11 -0
  250. package/lib/renderers/Table/ItemActionsWrapper.js +31 -0
  251. package/lib/renderers/Table/ItemActionsWrapper.js.map +13 -0
  252. package/lib/renderers/Table/TableBody.d.ts +4 -0
  253. package/lib/renderers/Table/TableCell.js +3 -1
  254. package/lib/renderers/Table/TableCell.js.map +2 -2
  255. package/lib/renderers/Table/TableContent.d.ts +4 -1
  256. package/lib/renderers/Table/TableContent.js +21 -1
  257. package/lib/renderers/Table/TableContent.js.map +2 -2
  258. package/lib/renderers/Table/index.d.ts +19 -2
  259. package/lib/renderers/Table/index.js +172 -57
  260. package/lib/renderers/Table/index.js.map +2 -2
  261. package/lib/renderers/Tabs.js +9 -1
  262. package/lib/renderers/Tabs.js.map +2 -2
  263. package/lib/renderers/WebComponent.js +1 -1
  264. package/lib/renderers/WebComponent.js.map +2 -2
  265. package/lib/store/combo.d.ts +2 -16
  266. package/lib/store/crud.js +3 -7
  267. package/lib/store/crud.js.map +2 -2
  268. package/lib/store/form.d.ts +1 -1
  269. package/lib/store/form.js +5 -6
  270. package/lib/store/form.js.map +2 -2
  271. package/lib/store/service.js +5 -4
  272. package/lib/store/service.js.map +2 -2
  273. package/lib/store/table.d.ts +260 -3
  274. package/lib/store/table.js +69 -11
  275. package/lib/store/table.js.map +2 -2
  276. package/lib/themes/ang-ie11.css +888 -238
  277. package/lib/themes/ang.css +888 -238
  278. package/lib/themes/ang.css.map +1 -1
  279. package/lib/themes/antd-ie11.css +888 -238
  280. package/lib/themes/antd.css +888 -238
  281. package/lib/themes/antd.css.map +1 -1
  282. package/lib/themes/cxd-ie11.css +1446 -457
  283. package/lib/themes/cxd.css +1446 -457
  284. package/lib/themes/cxd.css.map +1 -1
  285. package/lib/themes/dark-ie11.css +888 -238
  286. package/lib/themes/dark.css +888 -238
  287. package/lib/themes/dark.css.map +1 -1
  288. package/lib/themes/default.css +1446 -457
  289. package/lib/themes/default.css.map +1 -1
  290. package/lib/types.d.ts +37 -0
  291. package/lib/types.js +0 -5
  292. package/lib/types.js.map +2 -2
  293. package/lib/utils/api.d.ts +3 -2
  294. package/lib/utils/api.js +31 -15
  295. package/lib/utils/api.js.map +2 -2
  296. package/lib/utils/dom.d.ts +4 -0
  297. package/lib/utils/dom.js +11 -1
  298. package/lib/utils/dom.js.map +2 -2
  299. package/lib/utils/handleAction.d.ts +7 -0
  300. package/lib/utils/handleAction.js +30 -0
  301. package/lib/utils/handleAction.js.map +13 -0
  302. package/lib/utils/helper.d.ts +3 -1
  303. package/lib/utils/helper.js +14 -5
  304. package/lib/utils/helper.js.map +2 -2
  305. package/lib/utils/icon.js +3 -0
  306. package/lib/utils/icon.js.map +2 -2
  307. package/lib/utils/tpl-builtin.d.ts +1 -1
  308. package/lib/utils/tpl-builtin.js +25 -15
  309. package/lib/utils/tpl-builtin.js.map +2 -2
  310. package/package.json +1 -1
  311. package/schema.json +3341 -998
  312. package/scss/_mixins.scss +1 -3
  313. package/scss/_properties.scss +63 -4
  314. package/scss/_utilities.scss +4 -0
  315. package/scss/base/_common.scss +3 -0
  316. package/scss/base/_normalize.scss +2 -0
  317. package/scss/components/_anchor-nav.scss +88 -29
  318. package/scss/components/_button.scss +4 -5
  319. package/scss/components/_card.scss +8 -14
  320. package/scss/components/_collapse.scss +41 -8
  321. package/scss/components/_column-toggler.scss +234 -0
  322. package/scss/components/_dropdown.scss +2 -1
  323. package/scss/components/_images.scss +2 -1
  324. package/scss/components/_input-box.scss +1 -0
  325. package/scss/components/_link.scss +6 -0
  326. package/scss/components/_mapping.scss +6 -0
  327. package/scss/components/_nav.scss +231 -223
  328. package/scss/components/_page.scss +5 -4
  329. package/scss/components/_picker-columns.scss +124 -0
  330. package/scss/components/_popover.scss +13 -0
  331. package/scss/components/_portlet.scss +51 -0
  332. package/scss/components/_progress.scss +2 -0
  333. package/scss/components/_result-box.scss +1 -0
  334. package/scss/components/_status.scss +1 -1
  335. package/scss/components/_steps.scss +1 -1
  336. package/scss/components/_table.scss +51 -1
  337. package/scss/components/form/_checks.scss +0 -351
  338. package/scss/components/form/_color.scss +1 -0
  339. package/scss/components/form/_date-range.scss +2 -0
  340. package/scss/components/form/_date.scss +2 -0
  341. package/scss/components/form/_fieldset.scss +6 -3
  342. package/scss/components/form/_file.scss +16 -4
  343. package/scss/components/form/_form.scss +48 -0
  344. package/scss/components/form/_image.scss +7 -2
  345. package/scss/components/form/_list.scss +1 -0
  346. package/scss/components/form/_location.scss +1 -1
  347. package/scss/components/form/_selection.scss +354 -0
  348. package/scss/components/form/_text.scss +13 -0
  349. package/scss/components/form/_textarea.scss +10 -0
  350. package/scss/components/form/_transfer.scss +77 -18
  351. package/scss/themes/_common.scss +7 -0
  352. package/scss/themes/_cxd-colors.scss +56 -0
  353. package/scss/themes/_cxd-variables.scss +217 -89
  354. package/scss/themes/cxd.scss +370 -0
  355. package/sdk/ang-ie11.css +1117 -392
  356. package/sdk/ang.css +1110 -342
  357. package/sdk/antd-ie11.css +1105 -380
  358. package/sdk/antd.css +1110 -342
  359. package/sdk/charts.js +13 -13
  360. package/sdk/color-picker.js +65 -69
  361. package/sdk/cropperjs.js +2 -2
  362. package/sdk/cxd-ie11.css +2086 -1062
  363. package/sdk/cxd.css +1643 -495
  364. package/sdk/dark-ie11.css +1117 -392
  365. package/sdk/dark.css +1110 -342
  366. package/sdk/exceljs.js +1 -1
  367. package/sdk/helper.css.map +1 -1
  368. package/sdk/iconfont.svg +2513 -0
  369. package/sdk/iconfont.ttf +0 -0
  370. package/sdk/iconfont.woff +0 -0
  371. package/sdk/ie11-patch.css +1 -0
  372. package/sdk/locale/de-DE.js +4 -0
  373. package/sdk/markdown.js +69 -69
  374. package/sdk/papaparse.js +1 -1
  375. package/sdk/renderers/Form/CityDB.js +1 -1
  376. package/sdk/rest.js +20 -28
  377. package/sdk/rich-text.js +62 -62
  378. package/sdk/sdk-ie11.css +2086 -1062
  379. package/sdk/sdk.css +1643 -495
  380. package/sdk/sdk.js +1219 -1165
  381. package/sdk/thirds/hls.js/hls.js +1 -1
  382. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  383. package/sdk/tinymce.js +57 -57
  384. package/src/Schema.ts +32 -0
  385. package/src/components/Alert.tsx +3 -1
  386. package/src/components/AnchorNav.tsx +15 -4
  387. package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +41 -37
  388. package/src/components/Badge.tsx +38 -26
  389. package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
  390. package/src/components/Collapse.tsx +14 -9
  391. package/src/components/DatePicker.tsx +1 -1
  392. package/src/components/DateRangePicker.tsx +23 -11
  393. package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
  394. package/src/components/InputBox.tsx +11 -10
  395. package/src/components/Link.tsx +85 -0
  396. package/src/components/ModalManager.ts +1 -1
  397. package/src/components/MonthRangePicker.tsx +10 -2
  398. package/src/components/PickerColumn.tsx +429 -0
  399. package/src/components/PickerContainer.tsx +128 -0
  400. package/src/components/Radios.tsx +3 -8
  401. package/src/components/ResultBox.tsx +9 -9
  402. package/src/components/RichText.tsx +17 -57
  403. package/src/components/SearchBox.tsx +4 -5
  404. package/src/components/Select.tsx +60 -5
  405. package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
  406. package/src/components/SparkLine.tsx +4 -1
  407. package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
  408. package/src/components/TabsTransfer.tsx +13 -7
  409. package/src/components/TabsTransferPicker.tsx +85 -0
  410. package/src/components/Toast.tsx +5 -5
  411. package/src/components/Transfer.tsx +71 -50
  412. package/src/components/TransferDropDown.tsx +120 -0
  413. package/src/components/TransferPicker.tsx +91 -0
  414. package/src/components/Tree.tsx +6 -8
  415. package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
  416. package/src/components/WithRemoteConfig.tsx +7 -2
  417. package/src/components/condition-builder/Field.tsx +5 -5
  418. package/src/components/condition-builder/Func.tsx +3 -3
  419. package/src/components/condition-builder/InputSwitch.tsx +3 -3
  420. package/src/components/condition-builder/Item.tsx +5 -12
  421. package/src/components/icons.tsx +15 -0
  422. package/src/components/index.tsx +13 -13
  423. package/src/envOverwrite.ts +0 -1
  424. package/src/factory.tsx +18 -3
  425. package/src/hooks/index.ts +5 -0
  426. package/src/hooks/use-set-state.ts +19 -0
  427. package/src/hooks/use-touch.ts +100 -0
  428. package/src/hooks/use-update-effect.ts +16 -0
  429. package/src/icons/clock.svg +1 -0
  430. package/src/icons/download.svg +4 -0
  431. package/src/icons/status-close.svg +10 -0
  432. package/src/icons/status-fail.svg +10 -0
  433. package/src/icons/status-info.svg +8 -0
  434. package/src/icons/status-success.svg +10 -0
  435. package/src/icons/status-warning.svg +8 -0
  436. package/src/index.tsx +3 -0
  437. package/src/locale/de-DE.ts +4 -0
  438. package/src/locale/en-US.ts +5 -0
  439. package/src/locale/zh-CN.ts +8 -3
  440. package/src/renderers/Action.tsx +33 -2
  441. package/src/renderers/AnchorNav.tsx +4 -0
  442. package/src/renderers/Avatar.tsx +8 -4
  443. package/src/renderers/Breadcrumb.tsx +5 -1
  444. package/src/renderers/CRUD.tsx +63 -28
  445. package/src/renderers/Card.tsx +63 -34
  446. package/src/renderers/Chart.tsx +6 -2
  447. package/src/renderers/Collapse.tsx +4 -2
  448. package/src/renderers/Dialog.tsx +0 -4
  449. package/src/renderers/Drawer.tsx +0 -4
  450. package/src/renderers/DropDownButton.tsx +18 -13
  451. package/src/renderers/Form/Checkbox.tsx +8 -0
  452. package/src/renderers/Form/Combo.tsx +2 -3
  453. package/src/renderers/Form/InputCity.tsx +4 -8
  454. package/src/renderers/Form/InputFile.tsx +66 -24
  455. package/src/renderers/Form/InputImage.tsx +16 -5
  456. package/src/renderers/Form/Item.tsx +3 -2
  457. package/src/renderers/Form/Options.tsx +32 -7
  458. package/src/renderers/Form/Picker.tsx +3 -2
  459. package/src/renderers/Form/Select.tsx +162 -21
  460. package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
  461. package/src/renderers/Form/Transfer.tsx +19 -4
  462. package/src/renderers/Form/TransferPicker.tsx +145 -0
  463. package/src/renderers/Form/TreeSelect.tsx +25 -0
  464. package/src/renderers/Form/index.tsx +15 -2
  465. package/src/renderers/Form/wrapControl.tsx +28 -3
  466. package/src/renderers/IFrame.tsx +4 -5
  467. package/src/renderers/Image.tsx +10 -0
  468. package/src/renderers/Json.tsx +9 -9
  469. package/src/renderers/Link.tsx +53 -14
  470. package/src/renderers/List.tsx +1 -1
  471. package/src/renderers/Log.tsx +16 -3
  472. package/src/renderers/Mapping.tsx +27 -11
  473. package/src/renderers/Nav.tsx +325 -122
  474. package/src/renderers/Portlet.tsx +423 -0
  475. package/src/renderers/Property.tsx +3 -2
  476. package/src/renderers/SearchBox.tsx +23 -4
  477. package/src/renderers/SparkLine.tsx +5 -0
  478. package/src/renderers/Table/ColumnToggler.tsx +544 -0
  479. package/src/renderers/Table/ItemActionsWrapper.tsx +44 -0
  480. package/src/renderers/Table/TableCell.tsx +16 -1
  481. package/src/renderers/Table/TableContent.tsx +40 -2
  482. package/src/renderers/Table/index.tsx +257 -80
  483. package/src/renderers/Tabs.tsx +9 -1
  484. package/src/renderers/WebComponent.tsx +2 -2
  485. package/src/store/crud.ts +3 -8
  486. package/src/store/form.ts +5 -10
  487. package/src/store/service.ts +5 -4
  488. package/src/store/table.ts +103 -11
  489. package/src/types.ts +57 -0
  490. package/src/utils/api.ts +52 -23
  491. package/src/utils/dom.tsx +12 -0
  492. package/src/utils/handleAction.ts +41 -0
  493. package/src/utils/helper.ts +12 -4
  494. package/src/utils/icon.tsx +4 -0
  495. package/src/utils/tpl-builtin.ts +48 -17
  496. package/dump.rdb +0 -0
  497. package/lib/components/AssociatedCheckboxes.d.ts +0 -762
  498. package/lib/components/AssociatedCheckboxes.js +0 -90
  499. package/lib/components/AssociatedCheckboxes.js.map +0 -13
  500. package/lib/components/ChainedCheckboxes.js.map +0 -13
  501. package/lib/components/Checkboxes.js +0 -101
  502. package/lib/components/Checkboxes.js.map +0 -13
  503. package/lib/components/ListCheckboxes.d.ts +0 -739
  504. package/lib/components/ListCheckboxes.js +0 -48
  505. package/lib/components/ListCheckboxes.js.map +0 -13
  506. package/lib/components/ListRadios.d.ts +0 -763
  507. package/lib/components/ListRadios.js +0 -86
  508. package/lib/components/ListRadios.js.map +0 -13
  509. package/lib/components/TableCheckboxes.js.map +0 -13
  510. package/lib/components/TreeCheckboxes.js.map +0 -13
  511. package/lib/components/TreeRadios.d.ts +0 -838
  512. package/lib/components/TreeRadios.js +0 -116
  513. package/lib/components/TreeRadios.js.map +0 -13
  514. package/sdk.zip +0 -0
  515. package/src/components/ListRadios.tsx +0 -159
  516. package/src/components/TreeRadios.tsx +0 -202
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Nav.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 Sortable from 'sortablejs';\nimport {Renderer, RendererEnv, RendererProps} from '../factory';\nimport getExprProperties from '../utils/filter-schema';\nimport {filter, evalExpression} from '../utils/tpl';\nimport {\n guid,\n autobind,\n createObject,\n findTree,\n isUnfolded,\n mapTree,\n someTree,\n spliceTree\n} from '../utils/helper';\nimport {ScopedContext, IScopedContext} from '../Scoped';\nimport {themeable, ThemeProps} from '../theme';\nimport {Icon} from '../components/icons';\nimport {BaseSchema, SchemaApi, SchemaIcon, SchemaUrlPath, SchemaCollection} from '../Schema';\nimport {generateIcon} from '../utils/icon';\nimport {\n RemoteOptionsProps,\n withRemoteConfig\n} from '../components/WithRemoteConfig';\nimport {Payload} from '../types';\nimport Spinner from '../components/Spinner';\nimport cloneDeep from 'lodash/cloneDeep';\nimport {isEffectiveApi} from '../utils/api';\nimport {Badge, BadgeSchema} from '../components/Badge';\n\nexport type NavItemSchema = {\n /**\n * 文字说明\n */\n label?: string | SchemaCollection;\n\n /**\n * 图标类名,参考 fontawesome 4。\n */\n icon?: SchemaIcon;\n\n to?: SchemaUrlPath;\n\n target?: string;\n\n unfolded?: boolean;\n active?: boolean;\n\n defer?: boolean;\n deferApi?: SchemaApi;\n\n children?: Array<NavItemSchema>;\n\n /**\n * 角标\n */\n badge?: BadgeSchema\n} & Omit<BaseSchema, 'type'>;\n\n/**\n * Nav 导航渲染器\n * 文档:https://baidu.gitee.io/amis/docs/components/nav\n */\nexport interface NavSchema extends BaseSchema {\n /**\n * 指定为 Nav 导航渲染器\n */\n type: 'nav';\n\n /**\n * 链接地址集合\n */\n links?: Array<NavItemSchema>;\n\n /**\n * @default 24\n */\n indentSize: number;\n\n /**\n * 可以通过 API 拉取。\n */\n source?: SchemaApi;\n\n /**\n * 懒加载 api,如果不配置复用 source 接口。\n */\n deferApi?: SchemaApi;\n\n /**\n * true 为垂直排列,false 为水平排列类似如 tabs。\n */\n stacked?: boolean;\n\n /**\n * 更多操作菜单列表\n */\n itemActions?: SchemaCollection;\n\n /**\n * 可拖拽\n */\n draggable?: boolean;\n\n /**\n * 保存排序的 api\n */\n saveOrderApi?: SchemaApi;\n\n /**\n * 角标\n */\n badge?: BadgeSchema;\n}\n\nexport interface Link {\n className?: string;\n label?: string | SchemaCollection;\n to?: string;\n target?: string;\n icon?: string;\n active?: boolean;\n activeOn?: string;\n unfolded?: boolean;\n children?: Links;\n defer?: boolean;\n loading?: boolean;\n loaded?: boolean;\n [propName: string]: any;\n badge?: BadgeSchema\n}\nexport interface Links extends Array<Link> {}\n\nexport interface NavigationState {\n links: Links;\n error?: string;\n}\n\nexport interface NavigationProps\n extends ThemeProps,\n Omit<NavSchema, 'type' | 'className'> {\n onSelect?: (item: Link) => void | false;\n onToggle?: (item: Link) => void;\n togglerClassName?: string;\n links?: Array<Link>;\n loading?: boolean;\n render: RendererProps['render'];\n env: RendererEnv;\n reload?: any;\n}\n\nexport class Navigation extends React.Component<\n NavigationProps,\n NavigationState\n> {\n static defaultProps = {\n indentSize: 24\n };\n sortable: Sortable[] = [];\n id: string;\n dragRef?: HTMLElement;\n\n @autobind\n handleClick(link: Link) {\n this.props.onSelect?.(link);\n }\n\n @autobind\n toggleLink(target: Link) {\n this.props.onToggle?.(target);\n }\n\n @autobind\n dragRefFn(ref: any) {\n const {draggable} = this.props;\n if (ref && draggable) {\n this.id = guid();\n this.initDragging(ref);\n }\n }\n\n initDragging(ref: HTMLElement) {\n const ns = this.props.classPrefix;\n this.sortable.push(new Sortable(\n ref,\n {\n group: `nav-${this.id}`,\n animation: 150,\n handle: `.${ns}Nav-itemDrager`,\n ghostClass: `${ns}Nav-item--dragging`,\n onEnd: async (e: any) => {\n // 没有移动\n if (e.newIndex === e.oldIndex) {\n return;\n }\n const id = e.item.getAttribute('data-id');\n const parentNode = e.to\n if (\n e.newIndex < e.oldIndex &&\n e.oldIndex < parentNode.childNodes.length - 1\n ) {\n parentNode.insertBefore(e.item, parentNode.childNodes[e.oldIndex + 1]);\n } else if (e.oldIndex < parentNode.childNodes.length - 1) {\n parentNode.insertBefore(e.item, parentNode.childNodes[e.oldIndex]);\n } else {\n parentNode.appendChild(e.item);\n }\n const links = cloneDeep(this.props.links) as Link[];\n let parent = links;\n someTree(links, (item: Link, key, level, paths: Link[]) => {\n if (item.id === id) {\n const len = paths.length - 1;\n parent = (~len ? paths[len].children : links) as Link[];\n return true;\n }\n return false;\n });\n parent.splice(e.newIndex, 0, parent.splice(e.oldIndex, 1)[0]);\n const {saveOrderApi, env} = this.props;\n if (saveOrderApi && isEffectiveApi(saveOrderApi)) {\n await env.fetcher(saveOrderApi as SchemaApi, {data: links}, {method: 'post'});\n this.props.reload();\n } else {\n console.warn('请配置saveOrderApi');\n }\n }\n }\n ));\n }\n\n renderItem(link: Link, index: number, depth = 1) {\n if (link.hidden === true || link.visible === false) {\n return null;\n }\n const isActive: boolean = !!link.active;\n const {\n disabled,\n togglerClassName,\n classnames: cx,\n indentSize,\n render,\n itemActions,\n draggable,\n links,\n badge: defaultBadge\n } = this.props;\n const hasSub =\n (link.defer && !link.loaded) || (link.children && link.children.length);\n const id = guid();\n link.id = id;\n const badge = defaultBadge ? Object.assign(defaultBadge, link.badge) : link.badge;\n return (\n <li\n key={index}\n className={cx('Nav-item', link.className, {\n 'is-disabled': disabled || link.disabled || link.loading,\n 'is-active': isActive,\n 'is-unfolded': link.unfolded,\n 'has-sub': hasSub\n })}\n data-id={id}\n >\n <Badge classnames={cx} badge={badge} data={link}>\n <a\n onClick={this.handleClick.bind(this, link)}\n style={{paddingLeft: depth * (parseInt(indentSize as any, 10) ?? 24)}}\n >\n {!disabled && draggable && links && links.length > 1 ? (\n <div className={cx('Nav-itemDrager')} >\n <a\n key=\"drag\"\n data-position=\"bottom\"\n >\n <Icon icon=\"drag-bar\" className=\"icon\" />\n </a>\n </div>\n ) : null}\n {link.loading ? (\n <Spinner\n size=\"sm\"\n show\n icon=\"reload\"\n spinnerClassName={cx('Nav-spinner')}\n />\n ) : hasSub ? (\n <span\n onClick={() => this.toggleLink(link)}\n className={cx('Nav-itemToggler', togglerClassName)}\n >\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n ) : null}\n {generateIcon(cx, link.icon, 'Nav-itemIcon')}\n {\n link.label && (typeof link.label === 'string'\n ? link.label\n : render('inline', link.label as SchemaCollection))\n }\n </a>\n {\n // 更多操作\n itemActions\n ? <div className={cx('Nav-item-atcions')}>\n {\n render('inline', itemActions, {data: link})\n }\n </div> : null\n }\n {Array.isArray(link.children) && link.children.length ? (\n <ul className={cx('Nav-subItems')} ref={this.dragRefFn}>\n {link.children.map((link, index) =>\n this.renderItem(link, index, depth + 1)\n )}\n </ul>\n ) : null}\n </Badge>\n </li>\n );\n }\n\n render(): JSX.Element {\n const {className, stacked, classnames: cx, links, loading} = this.props;\n\n return (\n <ul\n className={cx('Nav', className, stacked ? 'Nav--stacked' : 'Nav--tabs')}\n ref={this.dragRefFn}\n >\n {Array.isArray(links)\n ? links.map((item, index) => this.renderItem(item, index))\n : null}\n\n <Spinner show={!!loading} overlay icon=\"reload\" />\n </ul>\n );\n }\n}\n\nconst ThemedNavigation = themeable(Navigation);\n\nconst ConditionBuilderWithRemoteOptions = withRemoteConfig({\n adaptor: (config: any, props: any) => {\n const links = Array.isArray(config)\n ? config\n : config.links || config.options || config.items || config.rows;\n\n if (!Array.isArray(links)) {\n throw new Error('\bpayload.data.options is not array.');\n }\n\n return links;\n },\n afterLoad: (response: any, config: any, props: any) => {\n if (response.value && !someTree(config, item => item.active)) {\n const {env} = props;\n\n env.jumpTo(filter(response.value as string, props.data));\n }\n },\n normalizeConfig(\n links: Array<Link>,\n origin: Array<Link> | undefined,\n props: any,\n motivation?: string\n ) {\n if (Array.isArray(links) && motivation !== 'toggle') {\n const {data, env, unfoldedField, foldedField} = props;\n\n links = mapTree(\n links,\n (link: Link) => {\n const item: any = {\n ...link,\n ...getExprProperties(link, data as object),\n active:\n (motivation !== 'location-change' && link.active) ||\n (link.activeOn\n ? evalExpression(link.activeOn as string, data)\n : !!(\n link.hasOwnProperty('to') &&\n env &&\n env.isCurrentUrl(filter(link.to as string, data))\n ))\n };\n\n item.unfolded =\n isUnfolded(item, {unfoldedField, foldedField}) ||\n (link.children && link.children.some(link => !!link.active));\n\n return item;\n },\n 1,\n true\n );\n }\n\n return links;\n },\n\n beforeDeferLoad(item: Link, indexes: Array<number>, links: Array<Link>) {\n return spliceTree(links, indexes, 1, {\n ...item,\n loading: true\n });\n },\n\n afterDeferLoad(\n item: Link,\n indexes: Array<number>,\n ret: Payload,\n links: Array<Link>\n ) {\n const newItem = {\n ...item,\n loading: false,\n loaded: true,\n error: ret.ok ? undefined : ret.msg\n };\n\n const children = Array.isArray(ret.data)\n ? ret.data\n : ret.data.links || ret.data.options || ret.data.items || ret.data.rows;\n\n if (Array.isArray(children)) {\n newItem.children = children.concat();\n newItem.unfolded = true;\n }\n\n return spliceTree(links, indexes, 1, newItem);\n }\n})(\n class extends React.Component<\n RemoteOptionsProps &\n React.ComponentProps<typeof ThemedNavigation> & {\n location?: any;\n env?: RendererEnv;\n data?: any;\n unfoldedField?: string;\n foldedField?: string;\n reload?: any;\n }\n > {\n constructor(props: any) {\n super(props);\n this.toggleLink = this.toggleLink.bind(this);\n this.handleSelect = this.handleSelect.bind(this);\n }\n\n componentDidMount() {\n if (Array.isArray(this.props.links)) {\n this.props.updateConfig(this.props.links, 'mount');\n }\n }\n\n componentDidUpdate(prevProps: any) {\n if (this.props.location !== prevProps.location) {\n this.props.updateConfig(this.props.config, 'location-change');\n } else if (this.props.links !== prevProps.links) {\n this.props.updateConfig(this.props.links, 'update');\n }\n }\n\n toggleLink(target: Link) {\n const {config, updateConfig, deferLoad} = this.props;\n\n if (target.defer && !target.loaded) {\n deferLoad(target);\n } else {\n updateConfig(\n mapTree(config, (link: Link) =>\n target === link\n ? {\n ...link,\n unfolded: !link.unfolded\n }\n : link\n ),\n 'toggle'\n );\n }\n }\n\n handleSelect(link: Link) {\n const {onSelect, env, data} = this.props;\n if (onSelect && onSelect(link) === false) {\n return;\n }\n\n if (\n !link.to &&\n ((link.children && link.children.length) ||\n (link.defer && !link.loaded))\n ) {\n this.toggleLink(link);\n return;\n }\n\n env?.jumpTo(filter(link.to as string, data), link as any);\n }\n\n render() {\n const {loading, config, deferLoad, updateConfig, ...rest} = this.props;\n\n return (\n <ThemedNavigation\n {...rest}\n loading={loading}\n links={config || rest.links || []}\n disabled={loading}\n onSelect={this.handleSelect}\n onToggle={this.toggleLink}\n />\n );\n }\n }\n);\n\nexport default ThemedNavigation;\n@Renderer({\n test: /(^|\\/)(?:nav|navigation)$/,\n name: 'nav'\n})\nexport class NavigationRenderer extends React.Component<RendererProps> {\n static contextType = ScopedContext;\n\n remoteRef:\n | {\n loadConfig: (ctx?: any) => Promise<any> | void;\n setConfig: (value: any) => void;\n }\n | undefined = undefined;\n\n @autobind\n remoteConfigRef(ref: any) {\n this.remoteRef = ref;\n }\n\n constructor(props: RendererProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n }\n\n @autobind\n reload(target?: string, query?: any, values?: object) {\n if (query) {\n return this.receive(query);\n }\n\n const {data, env, source, translate: __} = this.props;\n const finalData = values ? createObject(data, values) : data;\n\n this.remoteRef?.loadConfig(finalData);\n }\n\n @autobind\n receive(values: object) {\n this.reload(undefined, undefined, values);\n }\n\n render() {\n const {...rest} = this.props;\n\n return (\n <ConditionBuilderWithRemoteOptions\n {...rest}\n reload={this.reload}\n remoteConfigRef={this.remoteConfigRef}\n />\n );\n }\n}\n"
11
+ "import React from 'react';\nimport {findDOMNode} from 'react-dom';\nimport {Renderer, RendererEnv, RendererProps} from '../factory';\nimport getExprProperties from '../utils/filter-schema';\nimport {filter, evalExpression} from '../utils/tpl';\nimport {\n guid,\n autobind,\n createObject,\n findTree,\n isUnfolded,\n mapTree,\n someTree,\n spliceTree,\n findTreeIndex\n} from '../utils/helper';\nimport {ScopedContext, IScopedContext} from '../Scoped';\nimport {themeable, ThemeProps} from '../theme';\nimport {Icon} from '../components/icons';\nimport {\n BaseSchema,\n SchemaApi,\n SchemaIcon,\n SchemaUrlPath,\n SchemaCollection\n} from '../Schema';\nimport {generateIcon} from '../utils/icon';\nimport {\n RemoteOptionsProps,\n withRemoteConfig\n} from '../components/WithRemoteConfig';\nimport {Payload} from '../types';\nimport Spinner from '../components/Spinner';\nimport {isEffectiveApi} from '../utils/api';\nimport {Badge, BadgeSchema} from '../components/Badge';\n\nexport type NavItemSchema = {\n /**\n * 文字说明\n */\n label?: string | SchemaCollection;\n\n /**\n * 图标类名,参考 fontawesome 4。\n */\n icon?: SchemaIcon;\n\n to?: SchemaUrlPath;\n\n target?: string;\n\n unfolded?: boolean;\n active?: boolean;\n\n defer?: boolean;\n deferApi?: SchemaApi;\n\n children?: Array<NavItemSchema>;\n} & Omit<BaseSchema, 'type'>;\n\n/**\n * Nav 导航渲染器\n * 文档:https://baidu.gitee.io/amis/docs/components/nav\n */\nexport interface NavSchema extends BaseSchema {\n /**\n * 指定为 Nav 导航渲染器\n */\n type: 'nav';\n\n /**\n * 链接地址集合\n */\n links?: Array<NavItemSchema>;\n\n /**\n * @default 24\n */\n indentSize: number;\n\n /**\n * 可以通过 API 拉取。\n */\n source?: SchemaApi;\n\n /**\n * 懒加载 api,如果不配置复用 source 接口。\n */\n deferApi?: SchemaApi;\n\n /**\n * true 为垂直排列,false 为水平排列类似如 tabs。\n */\n stacked?: boolean;\n\n /**\n * 更多操作菜单列表\n */\n itemActions?: SchemaCollection;\n\n /**\n * 可拖拽\n */\n draggable?: boolean;\n\n /**\n * 保存排序的 api\n */\n saveOrderApi?: SchemaApi;\n\n /**\n * 角标\n */\n itemBadge?: BadgeSchema;\n\n /**\n * 仅允许同层级拖拽\n */\n dragOnSameLevel?: boolean;\n}\n\nexport interface Link {\n className?: string;\n label?: string | SchemaCollection;\n to?: string;\n target?: string;\n icon?: string;\n active?: boolean;\n activeOn?: string;\n unfolded?: boolean;\n children?: Links;\n defer?: boolean;\n loading?: boolean;\n loaded?: boolean;\n [propName: string]: any;\n itemBadge?: BadgeSchema;\n}\nexport interface Links extends Array<Link> {}\n\nexport interface NavigationState {\n links?: Links;\n error?: string;\n dropIndicator?: {\n top: number;\n left: number;\n width: number;\n height?: number;\n opacity?: number;\n };\n}\n\nexport interface NavigationProps\n extends ThemeProps,\n Omit<NavSchema, 'type' | 'className'> {\n onSelect?: (item: Link) => void | false;\n onToggle?: (item: Link, forceFold?: boolean) => void;\n onDragUpdate?: (dropInfo: IDropInfo) => void;\n togglerClassName?: string;\n links?: Array<Link>;\n loading?: boolean;\n render: RendererProps['render'];\n env: RendererEnv;\n data: Object;\n reload?: any;\n}\n\nexport interface IDropInfo {\n dragLink: Link | null;\n nodeId: string;\n position: string;\n rect: DOMRect;\n height: number;\n left: number;\n}\n\nexport class Navigation extends React.Component<\n NavigationProps,\n NavigationState\n> {\n static defaultProps = {\n indentSize: 24\n };\n\n dragNode: {\n node: HTMLElement;\n link: Link | null;\n } | null;\n dropInfo: IDropInfo | null;\n startPoint: {\n y: number;\n x: number;\n } = {\n y: 0,\n x: 0\n };\n state: NavigationState = {};\n\n @autobind\n handleClick(link: Link) {\n const {env, onSelect} = this.props;\n // 和 action 里命名一致方便分析\n if (link && link.to) {\n env?.tracker({\n eventType: 'link',\n eventData: {\n label: link.label,\n link: link.to\n }\n });\n }\n\n onSelect?.(link);\n }\n\n @autobind\n toggleLink(target: Link, forceFold?: boolean) {\n this.props.onToggle?.(target, forceFold);\n }\n\n @autobind\n getDropInfo(e: DragEvent, id: string, depth: number): IDropInfo {\n const {dragOnSameLevel, indentSize} = this.props;\n let rect = (e.target as HTMLElement).getBoundingClientRect();\n const dragLink = this.dragNode?.link as Link;\n const {top, height, width} = rect;\n let {clientY, clientX} = e;\n const left = depth * (parseInt(indentSize as any, 10) ?? 24);\n const deltaX = left + width * 0.2;\n let position;\n if (clientY >= top + height / 2) {\n position = 'bottom';\n } else {\n position = 'top';\n }\n if (\n !dragOnSameLevel &&\n position === 'bottom' &&\n clientX >= this.startPoint.x + deltaX\n ) {\n position = 'self';\n }\n return {\n nodeId: id,\n dragLink,\n position,\n rect,\n height,\n left\n };\n }\n @autobind\n updateDropIndicator(e: DragEvent) {\n const {dragOnSameLevel} = this.props;\n const target = e.target as HTMLElement; // a标签\n const targetId = target.getAttribute('data-id') as string;\n const targetDepth = Number(target.getAttribute('data-depth'));\n if (\n dragOnSameLevel &&\n this.dragNode?.node.parentElement !== target.parentElement?.parentElement\n ) {\n this.setState({dropIndicator: undefined});\n this.dropInfo = null;\n return;\n }\n this.dropInfo = this.getDropInfo(e, targetId, targetDepth);\n let {position, rect, dragLink, height, left} = this.dropInfo;\n if (targetId === dragLink?.__id) {\n this.setState({dropIndicator: undefined});\n this.dropInfo = null;\n return;\n }\n const ul = (findDOMNode(this) as HTMLElement).firstChild as HTMLElement;\n if (position === 'self') {\n this.setState({\n dropIndicator: {\n top: rect.top - ul.getBoundingClientRect().top,\n left,\n width: ul.getBoundingClientRect().width - left,\n height,\n opacity: 0.2\n }\n });\n } else {\n this.setState({\n dropIndicator: {\n top:\n (position === 'bottom' ? rect.top + rect.height : rect.top) -\n ul.getBoundingClientRect().top,\n left,\n width: ul.getBoundingClientRect().width - left\n }\n });\n }\n }\n\n @autobind\n handleDragStart(link: Link) {\n return (e: React.DragEvent) => {\n e.stopPropagation();\n const currentTarget = e.currentTarget as HTMLElement;\n e.dataTransfer.effectAllowed = 'copyMove';\n e.dataTransfer.setDragImage(currentTarget, 0, 0);\n this.dragNode = {\n node: currentTarget,\n link: link\n };\n this.dropInfo = null;\n this.startPoint = {\n x: e.clientX,\n y: e.clientY\n };\n currentTarget.addEventListener('dragend', this.handleDragEnd);\n document.body.addEventListener('dragover', this.handleDragOver);\n };\n }\n\n @autobind\n handleDragOver(e: DragEvent) {\n e.preventDefault();\n e.stopPropagation();\n if (!this.dragNode) {\n return;\n }\n const target = e.target as HTMLElement;\n const id = target.getAttribute('data-id');\n if (!id) {\n return;\n }\n this.updateDropIndicator(e);\n }\n\n @autobind\n handleDragEnd(e: DragEvent) {\n e.preventDefault();\n e.stopPropagation();\n this.setState({\n dropIndicator: undefined\n });\n const currentTarget = e.currentTarget as HTMLElement;\n const id = currentTarget.getAttribute('data-id');\n let nodeId = this.dropInfo?.nodeId;\n if (!this.dropInfo || !nodeId || id === nodeId) {\n return;\n }\n currentTarget.removeEventListener('dragend', this.handleDragEnd);\n document.body.removeEventListener('dragover', this.handleDragOver);\n\n this.props.onDragUpdate?.(this.dropInfo);\n this.dragNode = null;\n this.dropInfo = null;\n }\n\n renderItem(link: Link, index: number, depth = 1) {\n if (link.hidden === true || link.visible === false) {\n return null;\n }\n const isActive: boolean = !!link.active;\n const {\n disabled,\n togglerClassName,\n classnames: cx,\n indentSize,\n render,\n itemActions,\n draggable,\n links,\n itemBadge,\n data: defaultData\n } = this.props;\n const hasSub =\n (link.defer && !link.loaded) || (link.children && link.children.length);\n return (\n <li\n key={link.__id}\n data-id={link.__id}\n className={cx('Nav-item', link.className, {\n 'is-disabled': disabled || link.disabled || link.loading,\n 'is-active': isActive,\n 'is-unfolded': link.unfolded,\n 'has-sub': hasSub\n })}\n onDragStart={this.handleDragStart(link)}\n >\n <Badge\n classnames={cx}\n badge={itemBadge}\n data={createObject(defaultData, link)}\n >\n <a\n data-id={link.__id}\n data-depth={depth}\n onClick={this.handleClick.bind(this, link)}\n style={{\n paddingLeft: depth * (parseInt(indentSize as any, 10) ?? 24)\n }}\n >\n {!disabled && draggable ? (\n <div\n className={cx('Nav-itemDrager')}\n draggable\n onMouseDown={e => {\n this.toggleLink(link, true);\n e.stopPropagation();\n }}\n >\n <Icon icon=\"drag-bar\" className=\"icon\" />\n </div>\n ) : null}\n {link.loading ? (\n <Spinner\n size=\"sm\"\n show\n icon=\"reload\"\n spinnerClassName={cx('Nav-spinner')}\n />\n ) : hasSub ? (\n <span\n onClick={() => this.toggleLink(link)}\n className={cx('Nav-itemToggler', togglerClassName)}\n >\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n ) : null}\n {generateIcon(cx, link.icon, 'Nav-itemIcon')}\n {link.label &&\n (typeof link.label === 'string'\n ? link.label\n : render('inline', link.label as SchemaCollection))}\n </a>\n {\n // 更多操作\n itemActions ? (\n <div className={cx('Nav-item-atcions')}>\n {render('inline', itemActions, {\n data: createObject(defaultData, link)\n })}\n </div>\n ) : null\n }\n {Array.isArray(link.children) && link.children.length ? (\n <ul className={cx('Nav-subItems')}>\n {link.children.map((link, index) =>\n this.renderItem(link, index, depth + 1)\n )}\n </ul>\n ) : null}\n </Badge>\n </li>\n );\n }\n\n render(): JSX.Element {\n const {className, stacked, classnames: cx, links, loading} = this.props;\n const {dropIndicator} = this.state;\n return (\n <div className={cx('Nav')}>\n <ul\n className={cx(\n 'Nav-list',\n className,\n stacked ? 'Nav-list--stacked' : 'Nav-list--tabs'\n )}\n >\n {Array.isArray(links)\n ? links.map((item, index) => this.renderItem(item, index))\n : null}\n\n <Spinner show={!!loading} overlay icon=\"reload\" />\n </ul>\n {dropIndicator ? (\n <div className={cx('Nav-dropIndicator')} style={dropIndicator} />\n ) : null}\n </div>\n );\n }\n}\n\nconst ThemedNavigation = themeable(Navigation);\n\nconst ConditionBuilderWithRemoteOptions = withRemoteConfig({\n adaptor: (config: any, props: any) => {\n const links = Array.isArray(config)\n ? config\n : config.links || config.options || config.items || config.rows;\n\n if (!Array.isArray(links)) {\n throw new Error('payload.data.options is not array.');\n }\n\n return links;\n },\n afterLoad: (response: any, config: any, props: any) => {\n if (response.value && !someTree(config, item => item.active)) {\n const {env} = props;\n\n env.jumpTo(filter(response.value as string, props.data));\n }\n },\n normalizeConfig(\n links: Array<Link>,\n origin: Array<Link> | undefined,\n props: any,\n motivation?: string\n ) {\n if (Array.isArray(links) && motivation !== 'toggle') {\n const {data, env, unfoldedField, foldedField} = props;\n\n links = mapTree(\n links,\n (link: Link) => {\n const item: any = {\n ...link,\n ...getExprProperties(link, data as object),\n active:\n (motivation !== 'location-change' && link.active) ||\n (link.activeOn\n ? evalExpression(link.activeOn as string, data)\n : !!(\n link.hasOwnProperty('to') &&\n env &&\n env.isCurrentUrl(filter(link.to as string, data))\n )),\n __id: link.__id || guid()\n };\n\n item.unfolded =\n isUnfolded(item, {unfoldedField, foldedField}) ||\n (link.children && link.children.some(link => !!link.active));\n\n return item;\n },\n 1,\n true\n );\n }\n\n return links;\n },\n\n beforeDeferLoad(item: Link, indexes: Array<number>, links: Array<Link>) {\n return spliceTree(links, indexes, 1, {\n ...item,\n loading: true\n });\n },\n\n afterDeferLoad(\n item: Link,\n indexes: Array<number>,\n ret: Payload,\n links: Array<Link>\n ) {\n const newItem = {\n ...item,\n loading: false,\n loaded: true,\n error: ret.ok ? undefined : ret.msg\n };\n\n const children = Array.isArray(ret.data)\n ? ret.data\n : ret.data.links || ret.data.options || ret.data.items || ret.data.rows;\n\n if (Array.isArray(children)) {\n newItem.children = children.concat();\n newItem.unfolded = true;\n }\n\n return spliceTree(links, indexes, 1, newItem);\n }\n})(\n class extends React.Component<\n RemoteOptionsProps &\n React.ComponentProps<typeof ThemedNavigation> & {\n location?: any;\n env?: RendererEnv;\n data?: any;\n unfoldedField?: string;\n foldedField?: string;\n reload?: any;\n }\n > {\n constructor(props: any) {\n super(props);\n this.toggleLink = this.toggleLink.bind(this);\n this.handleSelect = this.handleSelect.bind(this);\n this.dragUpdate = this.dragUpdate.bind(this);\n }\n\n componentDidMount() {\n if (Array.isArray(this.props.links)) {\n this.props.updateConfig(this.props.links, 'mount');\n }\n }\n\n componentDidUpdate(prevProps: any) {\n if (this.props.location !== prevProps.location) {\n this.props.updateConfig(this.props.config, 'location-change');\n } else if (this.props.links !== prevProps.links) {\n this.props.updateConfig(this.props.links, 'update');\n }\n }\n\n toggleLink(target: Link, forceFold?: boolean) {\n const {config, updateConfig, deferLoad} = this.props;\n\n if (target.defer && !target.loaded) {\n deferLoad(target);\n } else {\n updateConfig(\n mapTree(config, (link: Link) =>\n target === link\n ? {\n ...link,\n unfolded: forceFold ? false : !link.unfolded\n }\n : link\n ),\n 'toggle'\n );\n }\n }\n\n async dragUpdate(dropInfo: IDropInfo) {\n let links = this.props.config;\n const {nodeId, dragLink, position} = dropInfo;\n if (dragLink) {\n // 删除原节点\n const sourceIdx = findTreeIndex(\n links,\n link => link.__id === dragLink.__id\n ) as number[];\n links = spliceTree(links, sourceIdx, 1);\n\n if (position === 'self') {\n // 插入到对应节点的children中\n mapTree(links, link => {\n if (link.__id === nodeId) {\n if (!link.children) {\n link.children = [];\n }\n link.children.push(dragLink);\n }\n return link;\n });\n } else {\n // 找到需要插入的节点\n const idx = findTreeIndex(\n links,\n link => link.__id === nodeId\n ) as number[];\n // 插入节点之后\n if (position === 'bottom') {\n idx.push((idx.pop() as number) + 1);\n }\n links = spliceTree(links, idx, 0, dragLink);\n }\n }\n this.props.updateConfig(links, 'update');\n await this.saveOrder(\n mapTree(links, (link: Link) => {\n // 清除内部加的字段\n for (let key in link) {\n if (/^__.*$/.test(key)) {\n delete link[key];\n }\n }\n return link;\n })\n );\n }\n\n async saveOrder(links: Links) {\n const {saveOrderApi, env, data, reload} = this.props;\n if (saveOrderApi && isEffectiveApi(saveOrderApi)) {\n await env.fetcher(\n saveOrderApi as SchemaApi,\n createObject(data, {data: links}),\n {method: 'post'}\n );\n reload();\n } else {\n env.alert('NAV saveOrderApi is required!');\n }\n }\n\n handleSelect(link: Link) {\n const {onSelect, env, data} = this.props;\n if (onSelect && onSelect(link) === false) {\n return;\n }\n\n if (\n !link.to &&\n ((link.children && link.children.length) ||\n (link.defer && !link.loaded))\n ) {\n this.toggleLink(link);\n return;\n }\n\n env?.jumpTo(filter(link.to as string, data), link as any);\n }\n\n render() {\n const {loading, config, deferLoad, updateConfig, ...rest} = this.props;\n return (\n <ThemedNavigation\n {...rest}\n loading={loading}\n links={config || []}\n disabled={loading}\n onSelect={this.handleSelect}\n onToggle={this.toggleLink}\n onDragUpdate={this.dragUpdate}\n />\n );\n }\n }\n);\n\nexport default ThemedNavigation;\n@Renderer({\n test: /(^|\\/)(?:nav|navigation)$/,\n name: 'nav'\n})\nexport class NavigationRenderer extends React.Component<RendererProps> {\n static contextType = ScopedContext;\n\n remoteRef:\n | {\n loadConfig: (ctx?: any) => Promise<any> | void;\n setConfig: (value: any) => void;\n }\n | undefined = undefined;\n\n @autobind\n remoteConfigRef(ref: any) {\n this.remoteRef = ref;\n }\n\n constructor(props: RendererProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n }\n\n @autobind\n reload(target?: string, query?: any, values?: object) {\n if (query) {\n return this.receive(query);\n }\n\n const {data, env, source, translate: __} = this.props;\n const finalData = values ? createObject(data, values) : data;\n\n this.remoteRef?.loadConfig(finalData);\n }\n\n @autobind\n receive(values: object) {\n this.reload(undefined, undefined, values);\n }\n\n render() {\n const {...rest} = this.props;\n return (\n <ConditionBuilderWithRemoteOptions\n {...rest}\n reload={this.reload}\n remoteConfigRef={this.remoteConfigRef}\n />\n );\n }\n}\n"
12
12
  ]
13
13
  }
@@ -0,0 +1,125 @@
1
+ import React from 'react';
2
+ import { RendererProps } from '../factory';
3
+ import { SchemaTpl, SchemaClassName, BaseSchema, SchemaCollection, SchemaIcon } from '../Schema';
4
+ import { ActionSchema } from './Action';
5
+ /**
6
+ * 栏目容器渲染器。
7
+ * 文档:https://baidu.gitee.io/amis/docs/components/portlet
8
+ */
9
+ export interface PortletTabSchema extends Omit<BaseSchema, 'type'> {
10
+ /**
11
+ * Tab 标题
12
+ */
13
+ title?: string;
14
+ /**
15
+ * 内容
16
+ * @deprecated 用 body 属性
17
+ */
18
+ tab?: SchemaCollection;
19
+ /**
20
+ * 可以在右侧配置点其他功能按钮,随着tab切换而切换
21
+ */
22
+ toolbar?: Array<ActionSchema>;
23
+ /**
24
+ * 内容
25
+ */
26
+ body?: SchemaCollection;
27
+ /**
28
+ * 按钮图标
29
+ */
30
+ icon?: SchemaIcon;
31
+ iconPosition?: 'left' | 'right';
32
+ /**
33
+ * 设置以后内容每次都会重新渲染
34
+ */
35
+ reload?: boolean;
36
+ /**
37
+ * 点开时才加载卡片内容
38
+ */
39
+ mountOnEnter?: boolean;
40
+ /**
41
+ * 卡片隐藏就销毁卡片节点。
42
+ */
43
+ unmountOnExit?: boolean;
44
+ }
45
+ export interface PortletSchema extends Omit<BaseSchema, 'type'> {
46
+ /**
47
+ * 指定为 portlet 类型
48
+ */
49
+ type: 'portlet';
50
+ tabs: Array<PortletTabSchema>;
51
+ /**
52
+ * 关联已有数据,选项卡直接根据目标数据重复。
53
+ */
54
+ source?: string;
55
+ /**
56
+ * 类名
57
+ */
58
+ tabsClassName?: SchemaClassName;
59
+ /**
60
+ * 展示形式
61
+ */
62
+ tabsMode?: '' | 'line' | 'card' | 'radio' | 'vertical' | 'tiled';
63
+ /**
64
+ * 内容类名
65
+ */
66
+ contentClassName?: SchemaClassName;
67
+ /**
68
+ * 链接外层类名
69
+ */
70
+ linksClassName?: SchemaClassName;
71
+ /**
72
+ * 卡片是否只有在点开的时候加载?
73
+ */
74
+ mountOnEnter?: boolean;
75
+ /**
76
+ * 卡片隐藏的时候是否销毁卡片内容
77
+ */
78
+ unmountOnExit?: boolean;
79
+ /**
80
+ * 可以在右侧配置点其他功能按钮。不会随着tab切换
81
+ */
82
+ toolbar?: Array<ActionSchema>;
83
+ /**
84
+ * 是否支持溢出滚动
85
+ */
86
+ scrollable?: boolean;
87
+ /**
88
+ * header和内容是否展示分割线
89
+ */
90
+ divider?: boolean;
91
+ /**
92
+ * 标题右侧的描述
93
+ */
94
+ description?: SchemaTpl;
95
+ /**
96
+ * 隐藏头部
97
+ */
98
+ hideHeader?: boolean;
99
+ /**
100
+ * 自定义样式
101
+ */
102
+ style?: string | {
103
+ [propName: string]: any;
104
+ };
105
+ }
106
+ export interface PortletProps extends RendererProps, Omit<PortletSchema, 'className' | 'contentClassName'> {
107
+ activeKey?: number;
108
+ tabRender?: (tab: PortletTabSchema, props: PortletProps, index: number) => JSX.Element;
109
+ }
110
+ export interface PortletState {
111
+ activeKey?: number;
112
+ }
113
+ export declare class Portlet extends React.Component<PortletProps, PortletState> {
114
+ static defaultProps: Partial<PortletProps>;
115
+ renderTab?: (tab: PortletTabSchema, props: PortletProps, index: number) => JSX.Element;
116
+ constructor(props: PortletProps);
117
+ handleSelect(key: number): void;
118
+ renderToolbarItem(toolbar: Array<ActionSchema>): JSX.Element[];
119
+ renderToolbar(): JSX.Element | null;
120
+ renderDesc(): JSX.Element | null;
121
+ renderTabs(): JSX.Element | null;
122
+ render(): JSX.Element;
123
+ }
124
+ export declare class PortletRenderer extends Portlet {
125
+ }
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PortletRenderer = exports.Portlet = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
+ var mapValues_1 = (0, tslib_1.__importDefault)(require("lodash/mapValues"));
7
+ var Tabs_1 = require("../components/Tabs");
8
+ var factory_1 = require("../factory");
9
+ var tpl_builtin_1 = require("../utils/tpl-builtin");
10
+ var api_1 = require("../utils/api");
11
+ var helper_1 = require("../utils/helper");
12
+ var tpl_1 = require("../utils/tpl");
13
+ var Portlet = /** @class */ (function (_super) {
14
+ (0, tslib_1.__extends)(Portlet, _super);
15
+ function Portlet(props) {
16
+ var _this = _super.call(this, props) || this;
17
+ var activeKey = props.activeKey || 0;
18
+ _this.state = {
19
+ activeKey: activeKey
20
+ };
21
+ return _this;
22
+ }
23
+ Portlet.prototype.handleSelect = function (key) {
24
+ var _a = this.props, onSelect = _a.onSelect, tabs = _a.tabs;
25
+ if (typeof key === 'number' && key < tabs.length) {
26
+ this.setState({
27
+ activeKey: key
28
+ });
29
+ }
30
+ if (typeof onSelect === 'string') {
31
+ var selectFunc = (0, api_1.str2AsyncFunction)(onSelect, 'key', 'props');
32
+ selectFunc && selectFunc(key, this.props);
33
+ }
34
+ else if (typeof onSelect === 'function') {
35
+ onSelect(key, this.props);
36
+ }
37
+ };
38
+ Portlet.prototype.renderToolbarItem = function (toolbar) {
39
+ var render = this.props.render;
40
+ var actions = [];
41
+ if (Array.isArray(toolbar)) {
42
+ toolbar.forEach(function (action, index) {
43
+ return actions.push(render("toolbar/" + index, (0, tslib_1.__assign)({ type: 'button', level: 'link', size: 'sm' }, action), {
44
+ key: index
45
+ }));
46
+ });
47
+ }
48
+ return actions;
49
+ };
50
+ Portlet.prototype.renderToolbar = function () {
51
+ var _a = this.props, toolbar = _a.toolbar, cx = _a.classnames, ns = _a.classPrefix, tabs = _a.tabs;
52
+ var activeKey = this.state.activeKey;
53
+ var tabToolbar = null;
54
+ var tabToolbarTpl = null;
55
+ // tabs里的toolbar
56
+ var toolbarTpl = toolbar ? (react_1.default.createElement("div", { className: cx(ns + "toolbar") }, this.renderToolbarItem(toolbar))) : null;
57
+ // tab里的toolbar
58
+ if (typeof activeKey !== 'undefined') {
59
+ tabToolbar = tabs[activeKey].toolbar;
60
+ tabToolbarTpl = tabToolbar ? (react_1.default.createElement("div", { className: cx(ns + "tab-toolbar") }, this.renderToolbarItem(tabToolbar))) : null;
61
+ }
62
+ return toolbarTpl || tabToolbarTpl ? (react_1.default.createElement("div", { className: cx(ns + "Portlet-toolbar") },
63
+ toolbarTpl,
64
+ tabToolbarTpl)) : null;
65
+ };
66
+ Portlet.prototype.renderDesc = function () {
67
+ var _a = this.props, descTpl = _a.description, render = _a.render, cx = _a.classnames, ns = _a.classPrefix, data = _a.data;
68
+ var desc = (0, tpl_1.filter)(descTpl, data);
69
+ return desc ? (react_1.default.createElement("span", { className: cx(ns + "Portlet-header-desc") }, desc)) : null;
70
+ };
71
+ Portlet.prototype.renderTabs = function () {
72
+ var _a;
73
+ var _this = this;
74
+ var _b = this.props, cx = _b.classnames, ns = _b.classPrefix, tabsClassName = _b.tabsClassName, contentClassName = _b.contentClassName, linksClassName = _b.linksClassName, tabRender = _b.tabRender, render = _b.render, data = _b.data, dMode = _b.mode, tabsMode = _b.tabsMode, unmountOnExit = _b.unmountOnExit, source = _b.source, mountOnEnter = _b.mountOnEnter, scrollable = _b.scrollable, divider = _b.divider;
75
+ var mode = tabsMode || dMode;
76
+ var arr = (0, tpl_builtin_1.resolveVariable)(source, data);
77
+ var tabs = this.props.tabs;
78
+ if (!tabs) {
79
+ return null;
80
+ }
81
+ tabs = Array.isArray(tabs) ? tabs : [tabs];
82
+ var children = [];
83
+ var tabClassname = cx(ns + "Portlet-tab", tabsClassName, (_a = {},
84
+ _a['unactive-select'] = tabs.length <= 1,
85
+ _a['no-divider'] = !divider,
86
+ _a));
87
+ if (Array.isArray(arr)) {
88
+ arr.forEach(function (value, index) {
89
+ var ctx = (0, helper_1.createObject)(data, (0, helper_1.isObject)(value) ? (0, tslib_1.__assign)({ index: index }, value) : { item: value, index: index });
90
+ children.push.apply(children, tabs.map(function (tab, tabIndex) {
91
+ var _a;
92
+ return (0, helper_1.isVisible)(tab, ctx) ? (react_1.default.createElement(Tabs_1.Tab, (0, tslib_1.__assign)({}, tab, { title: (0, tpl_1.filter)(tab.title, ctx), disabled: (0, helper_1.isDisabled)(tab, ctx), key: "" + (index * 1000 + tabIndex), eventKey: index * 1000 + tabIndex, mountOnEnter: mountOnEnter, unmountOnExit: typeof tab.reload === 'boolean'
93
+ ? tab.reload
94
+ : typeof tab.unmountOnExit === 'boolean'
95
+ ? tab.unmountOnExit
96
+ : unmountOnExit }), render("item/" + index + "/" + tabIndex, ((_a = tab) === null || _a === void 0 ? void 0 : _a.type) ? tab : tab.tab || tab.body, {
97
+ data: ctx
98
+ }))) : null;
99
+ }));
100
+ });
101
+ }
102
+ else {
103
+ children = tabs.map(function (tab, index) {
104
+ var _a;
105
+ return (0, helper_1.isVisible)(tab, data) ? (react_1.default.createElement(Tabs_1.Tab, (0, tslib_1.__assign)({}, tab, { title: (0, tpl_1.filter)(tab.title, data), disabled: (0, helper_1.isDisabled)(tab, data), key: index, eventKey: index, mountOnEnter: mountOnEnter, unmountOnExit: typeof tab.reload === 'boolean'
106
+ ? tab.reload
107
+ : typeof tab.unmountOnExit === 'boolean'
108
+ ? tab.unmountOnExit
109
+ : unmountOnExit }), _this.renderTab
110
+ ? _this.renderTab(tab, _this.props, index)
111
+ : tabRender
112
+ ? tabRender(tab, _this.props, index)
113
+ : render("tab/" + index, ((_a = tab) === null || _a === void 0 ? void 0 : _a.type) ? tab : tab.tab || tab.body))) : null;
114
+ });
115
+ }
116
+ return (react_1.default.createElement(Tabs_1.Tabs, { classPrefix: ns, classnames: cx, mode: mode, className: tabClassname, contentClassName: contentClassName, linksClassName: linksClassName, activeKey: this.state.activeKey, onSelect: this.handleSelect, toolbar: this.renderToolbar(), additionBtns: this.renderDesc(), scrollable: scrollable }, children));
117
+ };
118
+ Portlet.prototype.render = function () {
119
+ var _a;
120
+ var _b = this.props, className = _b.className, data = _b.data, cx = _b.classnames, ns = _b.classPrefix, style = _b.style, hideHeader = _b.hideHeader;
121
+ var portletClassname = cx(ns + "Portlet", className, (_a = {},
122
+ _a['no-header'] = hideHeader,
123
+ _a));
124
+ var styleVar = typeof style === 'string'
125
+ ? (0, tpl_builtin_1.resolveVariable)(style, data) || {}
126
+ : (0, mapValues_1.default)(style, function (s) { return (0, tpl_builtin_1.resolveVariable)(s, data) || s; });
127
+ return (react_1.default.createElement("div", { className: portletClassname, style: styleVar }, this.renderTabs()));
128
+ };
129
+ Portlet.defaultProps = {
130
+ className: '',
131
+ mode: 'line',
132
+ divider: true
133
+ };
134
+ (0, tslib_1.__decorate)([
135
+ helper_1.autobind,
136
+ (0, tslib_1.__metadata)("design:type", Function),
137
+ (0, tslib_1.__metadata)("design:paramtypes", [Number]),
138
+ (0, tslib_1.__metadata)("design:returntype", void 0)
139
+ ], Portlet.prototype, "handleSelect", null);
140
+ return Portlet;
141
+ }(react_1.default.Component));
142
+ exports.Portlet = Portlet;
143
+ var PortletRenderer = /** @class */ (function (_super) {
144
+ (0, tslib_1.__extends)(PortletRenderer, _super);
145
+ function PortletRenderer() {
146
+ return _super !== null && _super.apply(this, arguments) || this;
147
+ }
148
+ PortletRenderer = (0, tslib_1.__decorate)([
149
+ (0, factory_1.Renderer)({
150
+ type: 'portlet'
151
+ })
152
+ ], PortletRenderer);
153
+ return PortletRenderer;
154
+ }(Portlet));
155
+ exports.PortletRenderer = PortletRenderer;
156
+ //# sourceMappingURL=./renderers/Portlet.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "Portlet.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/renderers/Portlet.tsx"
7
+ ],
8
+ "names": [],
9
+ "mappings": "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",
10
+ "sourcesContent": [
11
+ "import React from 'react';\nimport mapValues from 'lodash/mapValues';\n\nimport {Tabs as CTabs, Tab} from '../components/Tabs';\nimport {Renderer, RendererProps} from '../factory';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport {str2AsyncFunction} from '../utils/api';\nimport {\n isVisible,\n autobind,\n isDisabled,\n isObject,\n createObject\n} from '../utils/helper';\n\nimport {filter} from '../utils/tpl';\nimport {\n SchemaTpl,\n SchemaClassName,\n BaseSchema,\n SchemaCollection,\n SchemaIcon\n} from '../Schema';\n\nimport {ActionSchema} from './Action';\n\n/**\n * 栏目容器渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/portlet\n */\nexport interface PortletTabSchema extends Omit<BaseSchema, 'type'> {\n /**\n * Tab 标题\n */\n title?: string;\n\n /**\n * 内容\n * @deprecated 用 body 属性\n */\n tab?: SchemaCollection;\n\n /**\n * 可以在右侧配置点其他功能按钮,随着tab切换而切换\n */\n toolbar?: Array<ActionSchema>;\n\n /**\n * 内容\n */\n body?: SchemaCollection;\n\n /**\n * 按钮图标\n */\n icon?: SchemaIcon;\n\n iconPosition?: 'left' | 'right';\n\n /**\n * 设置以后内容每次都会重新渲染\n */\n reload?: boolean;\n\n /**\n * 点开时才加载卡片内容\n */\n mountOnEnter?: boolean;\n\n /**\n * 卡片隐藏就销毁卡片节点。\n */\n unmountOnExit?: boolean;\n}\n\nexport interface PortletSchema extends Omit<BaseSchema, 'type'> {\n /**\n * 指定为 portlet 类型\n */\n type: 'portlet';\n\n tabs: Array<PortletTabSchema>;\n\n /**\n * 关联已有数据,选项卡直接根据目标数据重复。\n */\n source?: string;\n\n /**\n * 类名\n */\n tabsClassName?: SchemaClassName;\n\n /**\n * 展示形式\n */\n tabsMode?: '' | 'line' | 'card' | 'radio' | 'vertical' | 'tiled';\n\n /**\n * 内容类名\n */\n contentClassName?: SchemaClassName;\n\n /**\n * 链接外层类名\n */\n linksClassName?: SchemaClassName;\n\n /**\n * 卡片是否只有在点开的时候加载?\n */\n mountOnEnter?: boolean;\n\n /**\n * 卡片隐藏的时候是否销毁卡片内容\n */\n unmountOnExit?: boolean;\n\n /**\n * 可以在右侧配置点其他功能按钮。不会随着tab切换\n */\n toolbar?: Array<ActionSchema>;\n\n /**\n * 是否支持溢出滚动\n */\n scrollable?: boolean;\n\n /**\n * header和内容是否展示分割线\n */\n divider?: boolean;\n\n /**\n * 标题右侧的描述\n */\n description?: SchemaTpl;\n\n /**\n * 隐藏头部\n */\n hideHeader?: boolean;\n\n /**\n * 自定义样式\n */\n style?:\n | string\n | {\n [propName: string]: any;\n };\n}\n\nexport interface PortletProps\n extends RendererProps,\n Omit<PortletSchema, 'className' | 'contentClassName'> {\n activeKey?: number;\n tabRender?: (\n tab: PortletTabSchema,\n props: PortletProps,\n index: number\n ) => JSX.Element;\n}\n\nexport interface PortletState {\n activeKey?: number;\n}\n\nexport class Portlet extends React.Component<PortletProps, PortletState> {\n static defaultProps: Partial<PortletProps> = {\n className: '',\n mode: 'line',\n divider: true\n };\n renderTab?: (\n tab: PortletTabSchema,\n props: PortletProps,\n index: number\n ) => JSX.Element;\n constructor(props: PortletProps) {\n super(props);\n\n const activeKey = props.activeKey || 0;\n\n this.state = {\n activeKey\n };\n }\n\n @autobind\n handleSelect(key: number) {\n const {onSelect, tabs} = this.props;\n if (typeof key === 'number' && key < tabs.length) {\n this.setState({\n activeKey: key\n });\n }\n\n if (typeof onSelect === 'string') {\n const selectFunc = str2AsyncFunction(onSelect, 'key', 'props');\n selectFunc && selectFunc(key, this.props);\n } else if (typeof onSelect === 'function') {\n onSelect(key, this.props);\n }\n }\n\n renderToolbarItem(toolbar: Array<ActionSchema>) {\n const {render} = this.props;\n let actions: Array<JSX.Element> = [];\n if (Array.isArray(toolbar)) {\n toolbar.forEach((action, index) =>\n actions.push(\n render(\n `toolbar/${index}`,\n {\n type: 'button',\n level: 'link',\n size: 'sm',\n ...(action as any)\n },\n {\n key: index\n }\n )\n )\n );\n }\n return actions;\n }\n\n renderToolbar() {\n const {toolbar, classnames: cx, classPrefix: ns, tabs} = this.props;\n const activeKey = this.state.activeKey;\n let tabToolbar = null;\n let tabToolbarTpl = null;\n // tabs里的toolbar\n const toolbarTpl = toolbar ? (\n <div className={cx(`${ns}toolbar`)}>\n {this.renderToolbarItem(toolbar)}\n </div>\n ) : null;\n\n // tab里的toolbar\n if (typeof activeKey !== 'undefined') {\n tabToolbar = tabs[activeKey]!.toolbar;\n tabToolbarTpl = tabToolbar ? (\n <div className={cx(`${ns}tab-toolbar`)}>\n {this.renderToolbarItem(tabToolbar)}\n </div>\n ) : null;\n }\n\n return toolbarTpl || tabToolbarTpl ? (\n <div className={cx(`${ns}Portlet-toolbar`)}>\n {toolbarTpl}\n {tabToolbarTpl}\n </div>\n ) : null;\n }\n\n renderDesc() {\n const {\n description: descTpl,\n render,\n classnames: cx,\n classPrefix: ns,\n data\n } = this.props;\n const desc = filter(descTpl, data);\n return desc ? (\n <span className={cx(`${ns}Portlet-header-desc`)}>{desc}</span>\n ) : null;\n }\n\n renderTabs() {\n const {\n classnames: cx,\n classPrefix: ns,\n tabsClassName,\n contentClassName,\n linksClassName,\n tabRender,\n render,\n data,\n mode: dMode,\n tabsMode,\n unmountOnExit,\n source,\n mountOnEnter,\n scrollable,\n divider\n } = this.props;\n const mode = tabsMode || dMode;\n const arr = resolveVariable(source, data);\n\n let tabs = this.props.tabs;\n if (!tabs) {\n return null;\n }\n\n tabs = Array.isArray(tabs) ? tabs : [tabs];\n let children: Array<JSX.Element | null> = [];\n\n const tabClassname = cx(`${ns}Portlet-tab`, tabsClassName, {\n ['unactive-select']: tabs.length <= 1,\n ['no-divider']: !divider\n });\n if (Array.isArray(arr)) {\n arr.forEach((value, index) => {\n const ctx = createObject(\n data,\n isObject(value) ? {index, ...value} : {item: value, index}\n );\n\n children.push(\n ...tabs.map((tab, tabIndex) =>\n isVisible(tab, ctx) ? (\n <Tab\n {...(tab as any)}\n title={filter(tab.title, ctx)}\n disabled={isDisabled(tab, ctx)}\n key={`${index * 1000 + tabIndex}`}\n eventKey={index * 1000 + tabIndex}\n mountOnEnter={mountOnEnter}\n unmountOnExit={\n typeof tab.reload === 'boolean'\n ? tab.reload\n : typeof tab.unmountOnExit === 'boolean'\n ? tab.unmountOnExit\n : unmountOnExit\n }\n >\n {render(\n `item/${index}/${tabIndex}`,\n (tab as any)?.type ? (tab as any) : tab.tab || tab.body,\n {\n data: ctx\n }\n )}\n </Tab>\n ) : null\n )\n );\n });\n } else {\n children = tabs.map((tab, index) =>\n isVisible(tab, data) ? (\n <Tab\n {...(tab as any)}\n title={filter(tab.title, data)}\n disabled={isDisabled(tab, data)}\n key={index}\n eventKey={index}\n mountOnEnter={mountOnEnter}\n unmountOnExit={\n typeof tab.reload === 'boolean'\n ? tab.reload\n : typeof tab.unmountOnExit === 'boolean'\n ? tab.unmountOnExit\n : unmountOnExit\n }\n >\n {this.renderTab\n ? this.renderTab(tab, this.props, index)\n : tabRender\n ? tabRender(tab, this.props, index)\n : render(\n `tab/${index}`,\n (tab as any)?.type ? (tab as any) : tab.tab || tab.body\n )}\n </Tab>\n ) : null\n );\n }\n\n return (\n <CTabs\n classPrefix={ns}\n classnames={cx}\n mode={mode}\n className={tabClassname}\n contentClassName={contentClassName}\n linksClassName={linksClassName}\n activeKey={this.state.activeKey}\n onSelect={this.handleSelect}\n toolbar={this.renderToolbar()}\n additionBtns={this.renderDesc()}\n scrollable={scrollable}\n >\n {children}\n </CTabs>\n );\n }\n\n render() {\n const {\n className,\n data,\n classnames: cx,\n classPrefix: ns,\n style,\n hideHeader\n } = this.props;\n const portletClassname = cx(`${ns}Portlet`, className, {\n ['no-header']: hideHeader\n });\n const styleVar =\n typeof style === 'string'\n ? resolveVariable(style, data) || {}\n : mapValues(style, s => resolveVariable(s, data) || s);\n\n return (\n <div className={portletClassname} style={styleVar}>\n {this.renderTabs()}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'portlet'\n})\nexport class PortletRenderer extends Portlet {}\n"
12
+ ]
13
+ }
@@ -21,7 +21,8 @@ var Property = /** @class */ (function (_super) {
21
21
  var _a = this.props, _b = _a.column, column = _b === void 0 ? 3 : _b, items = _a.items, source = _a.source, data = _a.data;
22
22
  var propertyItems = (items
23
23
  ? items
24
- : (0, tpl_builtin_1.resolveVariable)(source, data)) || [];
24
+ : (0, tpl_builtin_1.resolveVariableAndFilter)(source, data)) ||
25
+ [];
25
26
  var rows = [];
26
27
  var row = [];
27
28
  var columnLeft = column;
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Property.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "/**\n * @file 表格的方式显示只读信息,比如产品详情\n */\n\nimport React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {BaseSchema, SchemaExpression, SchemaObject, SchemaTpl} from '../Schema';\nimport PopOver from './PopOver';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport {visibilityFilter} from '../utils/helper';\n\nexport type PropertyItemProps = {\n /**\n * 属性名\n */\n label?: SchemaTpl;\n\n /**\n * 属性值\n */\n content?: SchemaTpl;\n\n /**\n * 配置是否显示,如果不显示,后续的节点会补上来\n */\n visibleOn?: SchemaExpression;\n\n /**\n * 配置是否显示,如果不显示,后续的节点会补上来\n */\n hiddenOn?: SchemaExpression;\n\n /**\n * 跨几列\n */\n span?: number;\n};\n\nexport type PropertyItem = PropertyItemProps & SchemaObject;\n\n/**\n * Property 属性列表\n * 文档:https://baidu.gitee.io/amis/docs/components/property\n */\nexport interface PropertySchema extends BaseSchema {\n /**\n * 指定为 property 展示类型\n */\n type: 'property';\n\n /**\n * 标题\n */\n title?: string;\n\n /**\n * 一共几列\n */\n column?: number;\n\n /**\n * 显示模式\n */\n mode?: 'table' | 'simple';\n\n /**\n * 每个 property 的设置\n */\n items: Array<PropertyItem>;\n\n /**\n * 自定义样式\n */\n style?: {\n [propName: string]: any;\n };\n\n /**\n * 标题样式\n */\n titleStyle?: {\n [propName: string]: any;\n };\n\n /**\n * 自定义样式\n */\n labelStyle?: {\n [propName: string]: any;\n };\n\n separator?: string;\n\n /**\n * 自定义样式\n */\n contentStyle?: {\n [propName: string]: any;\n };\n}\n\nexport interface PropertyProps\n extends RendererProps,\n Omit<PropertySchema, 'type' | 'className'> {}\n\ninterface PropertyContent {\n label: any;\n content: any;\n span: number;\n}\n\nexport default class Property extends React.Component<PropertyProps, object> {\n constructor(props: PropertyProps) {\n super(props);\n }\n\n /**\n * 算好每行的分布情况,方便后续渲染\n */\n prepareRows() {\n const {column = 3, items, source, data} = this.props;\n\n const propertyItems =\n (items\n ? items\n : (resolveVariable(source, data) as Array<PropertyItem>)) || [];\n\n const rows: PropertyContent[][] = [];\n\n let row: PropertyContent[] = [];\n let columnLeft = column;\n let index = 0;\n const filteredItems = visibilityFilter(propertyItems, data);\n\n for (const item of filteredItems) {\n index = index + 1;\n const span = Math.min(item.span || 1, column);\n columnLeft = columnLeft - span;\n const rowItem = {\n label: item.label,\n content: item.content,\n span: span\n };\n // 如果还能放得下就放这一行\n if (columnLeft >= 0) {\n row.push(rowItem);\n } else {\n rows.push(row);\n columnLeft = column - span;\n row = [rowItem];\n }\n\n // 最后一行将最后的数据 push\n if (index === filteredItems.length) {\n rows.push(row);\n }\n }\n\n return rows;\n }\n\n renderRow(rows: PropertyContent[][]) {\n const {\n render,\n contentStyle,\n labelStyle,\n separator = ': ',\n mode = 'table'\n } = this.props;\n return rows.map((row, key) => {\n return (\n <tr key={key}>\n {row.map((property, index) => {\n return mode === 'table' ? (\n <React.Fragment key={`item-${index}`}>\n <th style={labelStyle}>{render('label', property.label)}</th>\n <td\n colSpan={property.span + property.span - 1} // 需要再补上 th 所占的列数\n style={contentStyle}\n >\n {render('content', property.content)}\n </td>\n </React.Fragment>\n ) : (\n <td\n colSpan={property.span}\n style={contentStyle}\n key={`item-${index}`}\n >\n <span style={labelStyle}>\n {render('label', property.label)}\n </span>\n {separator}\n {render('content', property.content)}\n </td>\n );\n })}\n </tr>\n );\n });\n }\n\n render() {\n const {\n style,\n title,\n column = 3,\n classnames: cx,\n className,\n titleStyle,\n mode = 'table'\n } = this.props;\n\n const rows = this.prepareRows();\n\n return (\n <div\n className={cx('Property', `Property--${mode}`, className)}\n style={style}\n >\n <table>\n {title ? (\n <thead>\n <tr>\n <th\n colSpan={mode === 'table' ? column + column : column}\n style={titleStyle}\n >\n {title}\n </th>\n </tr>\n </thead>\n ) : null}\n <tbody>{this.renderRow(rows)}</tbody>\n </table>\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'property'\n})\nexport class PropertyRenderer extends Property {}\n"
11
+ "/**\n * @file 表格的方式显示只读信息,比如产品详情\n */\n\nimport React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {BaseSchema, SchemaExpression, SchemaObject, SchemaTpl} from '../Schema';\nimport PopOver from './PopOver';\nimport {resolveVariable, resolveVariableAndFilter} from '../utils/tpl-builtin';\nimport {visibilityFilter} from '../utils/helper';\n\nexport type PropertyItemProps = {\n /**\n * 属性名\n */\n label?: SchemaTpl;\n\n /**\n * 属性值\n */\n content?: SchemaTpl;\n\n /**\n * 配置是否显示,如果不显示,后续的节点会补上来\n */\n visibleOn?: SchemaExpression;\n\n /**\n * 配置是否显示,如果不显示,后续的节点会补上来\n */\n hiddenOn?: SchemaExpression;\n\n /**\n * 跨几列\n */\n span?: number;\n};\n\nexport type PropertyItem = PropertyItemProps & SchemaObject;\n\n/**\n * Property 属性列表\n * 文档:https://baidu.gitee.io/amis/docs/components/property\n */\nexport interface PropertySchema extends BaseSchema {\n /**\n * 指定为 property 展示类型\n */\n type: 'property';\n\n /**\n * 标题\n */\n title?: string;\n\n /**\n * 一共几列\n */\n column?: number;\n\n /**\n * 显示模式\n */\n mode?: 'table' | 'simple';\n\n /**\n * 每个 property 的设置\n */\n items: Array<PropertyItem>;\n\n /**\n * 自定义样式\n */\n style?: {\n [propName: string]: any;\n };\n\n /**\n * 标题样式\n */\n titleStyle?: {\n [propName: string]: any;\n };\n\n /**\n * 自定义样式\n */\n labelStyle?: {\n [propName: string]: any;\n };\n\n separator?: string;\n\n /**\n * 自定义样式\n */\n contentStyle?: {\n [propName: string]: any;\n };\n}\n\nexport interface PropertyProps\n extends RendererProps,\n Omit<PropertySchema, 'type' | 'className'> {}\n\ninterface PropertyContent {\n label: any;\n content: any;\n span: number;\n}\n\nexport default class Property extends React.Component<PropertyProps, object> {\n constructor(props: PropertyProps) {\n super(props);\n }\n\n /**\n * 算好每行的分布情况,方便后续渲染\n */\n prepareRows() {\n const {column = 3, items, source, data} = this.props;\n\n const propertyItems =\n (items\n ? items\n : (resolveVariableAndFilter(source, data) as Array<PropertyItem>)) ||\n [];\n\n const rows: PropertyContent[][] = [];\n\n let row: PropertyContent[] = [];\n let columnLeft = column;\n let index = 0;\n const filteredItems = visibilityFilter(propertyItems, data);\n\n for (const item of filteredItems) {\n index = index + 1;\n const span = Math.min(item.span || 1, column);\n columnLeft = columnLeft - span;\n const rowItem = {\n label: item.label,\n content: item.content,\n span: span\n };\n // 如果还能放得下就放这一行\n if (columnLeft >= 0) {\n row.push(rowItem);\n } else {\n rows.push(row);\n columnLeft = column - span;\n row = [rowItem];\n }\n\n // 最后一行将最后的数据 push\n if (index === filteredItems.length) {\n rows.push(row);\n }\n }\n\n return rows;\n }\n\n renderRow(rows: PropertyContent[][]) {\n const {\n render,\n contentStyle,\n labelStyle,\n separator = ': ',\n mode = 'table'\n } = this.props;\n return rows.map((row, key) => {\n return (\n <tr key={key}>\n {row.map((property, index) => {\n return mode === 'table' ? (\n <React.Fragment key={`item-${index}`}>\n <th style={labelStyle}>{render('label', property.label)}</th>\n <td\n colSpan={property.span + property.span - 1} // 需要再补上 th 所占的列数\n style={contentStyle}\n >\n {render('content', property.content)}\n </td>\n </React.Fragment>\n ) : (\n <td\n colSpan={property.span}\n style={contentStyle}\n key={`item-${index}`}\n >\n <span style={labelStyle}>\n {render('label', property.label)}\n </span>\n {separator}\n {render('content', property.content)}\n </td>\n );\n })}\n </tr>\n );\n });\n }\n\n render() {\n const {\n style,\n title,\n column = 3,\n classnames: cx,\n className,\n titleStyle,\n mode = 'table'\n } = this.props;\n\n const rows = this.prepareRows();\n\n return (\n <div\n className={cx('Property', `Property--${mode}`, className)}\n style={style}\n >\n <table>\n {title ? (\n <thead>\n <tr>\n <th\n colSpan={mode === 'table' ? column + column : column}\n style={titleStyle}\n >\n {title}\n </th>\n </tr>\n </thead>\n ) : null}\n <tbody>{this.renderRow(rows)}</tbody>\n </table>\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'property'\n})\nexport class PropertyRenderer extends Property {}\n"
12
12
  ]
13
13
  }
@@ -40,13 +40,18 @@ interface SearchBoxProps extends RendererProps, Omit<SearchBoxSchema, 'type' | '
40
40
  [propName: string]: string;
41
41
  }) => void;
42
42
  }
43
- export declare class SearchBoxRenderer extends React.Component<SearchBoxProps> {
43
+ export interface SearchBoxState {
44
+ value: string;
45
+ }
46
+ export declare class SearchBoxRenderer extends React.Component<SearchBoxProps, SearchBoxState> {
44
47
  static defaultProps: {
45
48
  name: string;
46
49
  mini: boolean;
47
50
  searchImediately: boolean;
48
51
  };
49
52
  static propsList: Array<string>;
53
+ constructor(props: SearchBoxProps);
54
+ handleChange(value: string): void;
50
55
  handleCancel(): void;
51
56
  handleSearch(text: string): void;
52
57
  render(): JSX.Element;
@@ -8,9 +8,16 @@ var SearchBox_1 = (0, tslib_1.__importDefault)(require("../components/SearchBox"
8
8
  var helper_1 = require("../utils/helper");
9
9
  var SearchBoxRenderer = /** @class */ (function (_super) {
10
10
  (0, tslib_1.__extends)(SearchBoxRenderer, _super);
11
- function SearchBoxRenderer() {
12
- return _super !== null && _super.apply(this, arguments) || this;
11
+ function SearchBoxRenderer(props) {
12
+ var _this = _super.call(this, props) || this;
13
+ _this.state = {
14
+ value: (0, helper_1.getPropValue)(props) || ''
15
+ };
16
+ return _this;
13
17
  }
18
+ SearchBoxRenderer.prototype.handleChange = function (value) {
19
+ this.setState({ value: value });
20
+ };
14
21
  SearchBoxRenderer.prototype.handleCancel = function () {
15
22
  var name = this.props.name;
16
23
  var onQuery = this.props.onQuery;
@@ -29,8 +36,8 @@ var SearchBoxRenderer = /** @class */ (function (_super) {
29
36
  };
30
37
  SearchBoxRenderer.prototype.render = function () {
31
38
  var _a = this.props, data = _a.data, name = _a.name, onQuery = _a.onQuery, mini = _a.mini, searchImediately = _a.searchImediately, placeholder = _a.placeholder, onChange = _a.onChange, className = _a.className;
32
- var value = (0, helper_1.getPropValue)(this.props);
33
- return (react_1.default.createElement(SearchBox_1.default, { className: className, name: name, disabled: !onQuery, defaultActive: !!value, defaultValue: onChange ? undefined : value, value: onChange ? value : undefined, mini: mini, searchImediately: searchImediately, onSearch: this.handleSearch, onCancel: this.handleCancel, placeholder: placeholder, onChange: onChange }));
39
+ var value = this.state.value;
40
+ return (react_1.default.createElement(SearchBox_1.default, { className: className, name: name, disabled: !onQuery, defaultActive: !!value, defaultValue: onChange ? undefined : value, value: value, mini: mini, searchImediately: searchImediately, onSearch: this.handleSearch, onCancel: this.handleCancel, placeholder: placeholder, onChange: this.handleChange }));
34
41
  };
35
42
  SearchBoxRenderer.defaultProps = {
36
43
  name: 'keywords',
@@ -38,6 +45,12 @@ var SearchBoxRenderer = /** @class */ (function (_super) {
38
45
  searchImediately: false
39
46
  };
40
47
  SearchBoxRenderer.propsList = ['mini', 'searchImediately'];
48
+ (0, tslib_1.__decorate)([
49
+ helper_1.autobind,
50
+ (0, tslib_1.__metadata)("design:type", Function),
51
+ (0, tslib_1.__metadata)("design:paramtypes", [String]),
52
+ (0, tslib_1.__metadata)("design:returntype", void 0)
53
+ ], SearchBoxRenderer.prototype, "handleChange", null);
41
54
  (0, tslib_1.__decorate)([
42
55
  helper_1.autobind,
43
56
  (0, tslib_1.__metadata)("design:type", Function),
@@ -53,7 +66,8 @@ var SearchBoxRenderer = /** @class */ (function (_super) {
53
66
  SearchBoxRenderer = (0, tslib_1.__decorate)([
54
67
  (0, factory_1.Renderer)({
55
68
  type: 'search-box'
56
- })
69
+ }),
70
+ (0, tslib_1.__metadata)("design:paramtypes", [Object])
57
71
  ], SearchBoxRenderer);
58
72
  return SearchBoxRenderer;
59
73
  }(react_1.default.Component));