amis 1.4.2-beta.6 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (488) hide show
  1. package/lib/Schema.d.ts +11 -3
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/components/Alert2.d.ts +26 -21
  4. package/lib/components/Alert2.js +11 -4
  5. package/lib/components/Alert2.js.map +2 -2
  6. package/lib/components/AnchorNav.d.ts +22 -21
  7. package/lib/components/AnchorNav.js +7 -3
  8. package/lib/components/AnchorNav.js.map +2 -2
  9. package/lib/components/ArrayInput.d.ts +84 -84
  10. package/lib/components/AssociatedSelection.d.ts +930 -0
  11. package/lib/components/AssociatedSelection.js +89 -0
  12. package/lib/components/AssociatedSelection.js.map +13 -0
  13. package/lib/components/Badge.js +2 -2
  14. package/lib/components/Badge.js.map +2 -2
  15. package/lib/components/Button.js +1 -1
  16. package/lib/components/Button.js.map +2 -2
  17. package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
  18. package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
  19. package/lib/components/ChainedSelection.js.map +13 -0
  20. package/lib/components/Checkbox.d.ts +20 -20
  21. package/lib/components/Collapse.d.ts +51 -23
  22. package/lib/components/Collapse.js +70 -11
  23. package/lib/components/Collapse.js.map +2 -2
  24. package/lib/components/CollapseGroup.d.ts +88 -0
  25. package/lib/components/CollapseGroup.js +81 -0
  26. package/lib/components/CollapseGroup.js.map +13 -0
  27. package/lib/components/ColorPicker.d.ts +89 -85
  28. package/lib/components/ColorPicker.js +17 -4
  29. package/lib/components/ColorPicker.js.map +2 -2
  30. package/lib/components/DatePicker.d.ts +84 -84
  31. package/lib/components/DateRangePicker.d.ts +84 -84
  32. package/lib/components/Drawer.js +2 -2
  33. package/lib/components/Drawer.js.map +2 -2
  34. package/lib/components/Editor.d.ts +84 -84
  35. package/lib/components/GridNav.d.ts +52 -0
  36. package/lib/components/GridNav.js +123 -0
  37. package/lib/components/GridNav.js.map +13 -0
  38. package/lib/components/GroupedSelection.d.ts +907 -0
  39. package/lib/components/GroupedSelection.js +48 -0
  40. package/lib/components/GroupedSelection.js.map +13 -0
  41. package/lib/components/InputBox.d.ts +22 -21
  42. package/lib/components/InputBox.js +10 -2
  43. package/lib/components/InputBox.js.map +2 -2
  44. package/lib/components/Link.d.ts +29 -36
  45. package/lib/components/Link.js +14 -15
  46. package/lib/components/Link.js.map +2 -2
  47. package/lib/components/ListGroup.d.ts +21 -21
  48. package/lib/components/ModalManager.js +1 -1
  49. package/lib/components/ModalManager.js.map +2 -2
  50. package/lib/components/MonthRangePicker.d.ts +84 -84
  51. package/lib/components/NumberInput.d.ts +20 -20
  52. package/lib/components/Overlay.js +5 -0
  53. package/lib/components/Overlay.js.map +2 -2
  54. package/lib/components/PickerColumn.d.ts +514 -0
  55. package/lib/components/PickerColumn.js +279 -0
  56. package/lib/components/PickerColumn.js.map +13 -0
  57. package/lib/components/PickerContainer.d.ts +513 -0
  58. package/lib/components/PickerContainer.js +96 -0
  59. package/lib/components/PickerContainer.js.map +13 -0
  60. package/lib/components/PopOver.d.ts +1 -0
  61. package/lib/components/PopOver.js +12 -1
  62. package/lib/components/PopOver.js.map +2 -2
  63. package/lib/components/Progress.d.ts +85 -0
  64. package/lib/components/Progress.js +81 -0
  65. package/lib/components/Progress.js.map +13 -0
  66. package/lib/components/Radios.d.ts +22 -21
  67. package/lib/components/Radios.js +1 -0
  68. package/lib/components/Radios.js.map +2 -2
  69. package/lib/components/Rating.d.ts +21 -21
  70. package/lib/components/ResultBox.d.ts +84 -84
  71. package/lib/components/ResultBox.js +10 -2
  72. package/lib/components/ResultBox.js.map +2 -2
  73. package/lib/components/SearchBox.d.ts +84 -84
  74. package/lib/components/Select.d.ts +245 -237
  75. package/lib/components/Select.js +25 -4
  76. package/lib/components/Select.js.map +2 -2
  77. package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
  78. package/lib/components/Selection.js +134 -0
  79. package/lib/components/Selection.js.map +13 -0
  80. package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
  81. package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
  82. package/lib/components/TableSelection.js.map +13 -0
  83. package/lib/components/Tabs.d.ts +20 -20
  84. package/lib/components/TabsTransfer.d.ts +84 -84
  85. package/lib/components/TabsTransfer.js +9 -9
  86. package/lib/components/TabsTransfer.js.map +2 -2
  87. package/lib/components/TabsTransferPicker.d.ts +489 -0
  88. package/lib/components/TabsTransferPicker.js +60 -0
  89. package/lib/components/TabsTransferPicker.js.map +13 -0
  90. package/lib/components/Toast.d.ts +90 -87
  91. package/lib/components/Toast.js +15 -5
  92. package/lib/components/Toast.js.map +2 -2
  93. package/lib/components/Transfer.d.ts +908 -274
  94. package/lib/components/Transfer.js +31 -24
  95. package/lib/components/Transfer.js.map +2 -2
  96. package/lib/components/TransferDropDown.d.ts +488 -0
  97. package/lib/components/TransferDropDown.js +59 -0
  98. package/lib/components/TransferDropDown.js.map +13 -0
  99. package/lib/components/TransferPicker.d.ts +493 -0
  100. package/lib/components/TransferPicker.js +60 -0
  101. package/lib/components/TransferPicker.js.map +13 -0
  102. package/lib/components/Tree.d.ts +115 -84
  103. package/lib/components/Tree.js +183 -30
  104. package/lib/components/Tree.js.map +2 -2
  105. package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
  106. package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
  107. package/lib/components/TreeSelection.js.map +13 -0
  108. package/lib/components/condition-builder/Field.js +4 -2
  109. package/lib/components/condition-builder/Field.js.map +2 -2
  110. package/lib/components/condition-builder/Func.js +2 -2
  111. package/lib/components/condition-builder/Func.js.map +2 -2
  112. package/lib/components/condition-builder/InputSwitch.js +2 -2
  113. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  114. package/lib/components/condition-builder/Item.js +3 -3
  115. package/lib/components/condition-builder/Item.js.map +2 -2
  116. package/lib/components/icons.js +10 -0
  117. package/lib/components/icons.js.map +2 -2
  118. package/lib/components/index.d.ts +8 -8
  119. package/lib/components/index.js +16 -16
  120. package/lib/components/index.js.map +2 -2
  121. package/lib/envOverwrite.d.ts +1 -1
  122. package/lib/envOverwrite.js +24 -9
  123. package/lib/envOverwrite.js.map +2 -2
  124. package/lib/factory.d.ts +15 -1
  125. package/lib/factory.js +35 -6
  126. package/lib/factory.js.map +2 -2
  127. package/lib/helper.css.map +1 -1
  128. package/lib/hooks/index.d.ts +5 -0
  129. package/lib/hooks/index.js +14 -0
  130. package/lib/hooks/index.js.map +13 -0
  131. package/lib/hooks/use-set-state.d.ts +2 -0
  132. package/lib/hooks/use-set-state.js +15 -0
  133. package/lib/hooks/use-set-state.js.map +13 -0
  134. package/lib/hooks/use-touch.d.ts +16 -0
  135. package/lib/hooks/use-touch.js +73 -0
  136. package/lib/hooks/use-touch.js.map +13 -0
  137. package/lib/hooks/use-update-effect.d.ts +3 -0
  138. package/lib/hooks/use-update-effect.js +17 -0
  139. package/lib/hooks/use-update-effect.js.map +13 -0
  140. package/lib/icons/alert-danger.js +7 -0
  141. package/lib/icons/alert-info.js +7 -0
  142. package/lib/icons/alert-success.js +7 -0
  143. package/lib/icons/alert-warning.js +7 -0
  144. package/lib/icons/download.js +7 -0
  145. package/lib/icons/drag-bar.js +10 -3
  146. package/lib/index.d.ts +5 -0
  147. package/lib/index.js +6 -1
  148. package/lib/index.js.map +2 -2
  149. package/lib/locale/de-DE.js +2 -0
  150. package/lib/locale/de-DE.js.map +2 -2
  151. package/lib/locale/en-US.js +3 -0
  152. package/lib/locale/en-US.js.map +2 -2
  153. package/lib/locale/zh-CN.js +5 -2
  154. package/lib/locale/zh-CN.js.map +2 -2
  155. package/lib/renderers/Action.d.ts +10 -5
  156. package/lib/renderers/Action.js +23 -5
  157. package/lib/renderers/Action.js.map +2 -2
  158. package/lib/renderers/Alert.d.ts +21 -1
  159. package/lib/renderers/Alert.js.map +2 -2
  160. package/lib/renderers/AnchorNav.d.ts +1 -0
  161. package/lib/renderers/AnchorNav.js +2 -2
  162. package/lib/renderers/AnchorNav.js.map +2 -2
  163. package/lib/renderers/Avatar.js +3 -3
  164. package/lib/renderers/Avatar.js.map +2 -2
  165. package/lib/renderers/Breadcrumb.js +1 -1
  166. package/lib/renderers/Breadcrumb.js.map +2 -2
  167. package/lib/renderers/CRUD.d.ts +5 -0
  168. package/lib/renderers/CRUD.js +25 -4
  169. package/lib/renderers/CRUD.js.map +2 -2
  170. package/lib/renderers/Card.d.ts +5 -0
  171. package/lib/renderers/Card.js +34 -23
  172. package/lib/renderers/Card.js.map +2 -2
  173. package/lib/renderers/Collapse.d.ts +25 -20
  174. package/lib/renderers/Collapse.js +10 -72
  175. package/lib/renderers/Collapse.js.map +2 -2
  176. package/lib/renderers/CollapseGroup.d.ts +42 -0
  177. package/lib/renderers/CollapseGroup.js +33 -0
  178. package/lib/renderers/CollapseGroup.js.map +13 -0
  179. package/lib/renderers/Form/ConditionBuilder.js +2 -2
  180. package/lib/renderers/Form/ConditionBuilder.js.map +2 -2
  181. package/lib/renderers/Form/DiffEditor.d.ts +4 -3
  182. package/lib/renderers/Form/Editor.d.ts +3 -2
  183. package/lib/renderers/Form/InputCity.d.ts +84 -84
  184. package/lib/renderers/Form/InputCity.js +7 -6
  185. package/lib/renderers/Form/InputCity.js.map +2 -2
  186. package/lib/renderers/Form/InputColor.d.ts +86 -85
  187. package/lib/renderers/Form/InputColor.js +1 -1
  188. package/lib/renderers/Form/InputColor.js.map +2 -2
  189. package/lib/renderers/Form/InputFile.d.ts +6 -0
  190. package/lib/renderers/Form/InputFile.js +28 -8
  191. package/lib/renderers/Form/InputFile.js.map +2 -2
  192. package/lib/renderers/Form/InputImage.js +11 -4
  193. package/lib/renderers/Form/InputImage.js.map +2 -2
  194. package/lib/renderers/Form/Item.d.ts +1 -1
  195. package/lib/renderers/Form/Item.js +2 -1
  196. package/lib/renderers/Form/Item.js.map +2 -2
  197. package/lib/renderers/Form/Options.js +25 -4
  198. package/lib/renderers/Form/Options.js.map +2 -2
  199. package/lib/renderers/Form/Select.d.ts +42 -4
  200. package/lib/renderers/Form/Select.js +37 -3
  201. package/lib/renderers/Form/Select.js.map +2 -2
  202. package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
  203. package/lib/renderers/Form/TabsTransferPicker.js +29 -0
  204. package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
  205. package/lib/renderers/Form/Transfer.js +18 -3
  206. package/lib/renderers/Form/Transfer.js.map +2 -2
  207. package/lib/renderers/Form/TransferPicker.d.ts +52 -0
  208. package/lib/renderers/Form/TransferPicker.js +43 -0
  209. package/lib/renderers/Form/TransferPicker.js.map +13 -0
  210. package/lib/renderers/Form/TreeSelect.js +2 -2
  211. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  212. package/lib/renderers/Form/index.d.ts +5 -0
  213. package/lib/renderers/Form/index.js +5 -3
  214. package/lib/renderers/Form/index.js.map +2 -2
  215. package/lib/renderers/Form/wrapControl.js +13 -1
  216. package/lib/renderers/Form/wrapControl.js.map +2 -2
  217. package/lib/renderers/GridNav.d.ts +99 -0
  218. package/lib/renderers/GridNav.js +82 -0
  219. package/lib/renderers/GridNav.js.map +13 -0
  220. package/lib/renderers/IFrame.js +1 -3
  221. package/lib/renderers/IFrame.js.map +2 -2
  222. package/lib/renderers/Image.js +7 -5
  223. package/lib/renderers/Image.js.map +2 -2
  224. package/lib/renderers/Json.d.ts +4 -0
  225. package/lib/renderers/Json.js +4 -13
  226. package/lib/renderers/Json.js.map +2 -2
  227. package/lib/renderers/Link.d.ts +4 -2
  228. package/lib/renderers/Link.js +15 -8
  229. package/lib/renderers/Link.js.map +2 -2
  230. package/lib/renderers/List.js +1 -1
  231. package/lib/renderers/List.js.map +2 -2
  232. package/lib/renderers/Nav.d.ts +21 -21
  233. package/lib/renderers/Nav.js +37 -19
  234. package/lib/renderers/Nav.js.map +2 -2
  235. package/lib/renderers/Page.d.ts +18 -0
  236. package/lib/renderers/Page.js +53 -9
  237. package/lib/renderers/Page.js.map +2 -2
  238. package/lib/renderers/Portlet.d.ts +125 -0
  239. package/lib/renderers/Portlet.js +156 -0
  240. package/lib/renderers/Portlet.js.map +13 -0
  241. package/lib/renderers/Progress.d.ts +23 -3
  242. package/lib/renderers/Progress.js +15 -19
  243. package/lib/renderers/Progress.js.map +2 -2
  244. package/lib/renderers/Property.js +1 -1
  245. package/lib/renderers/Property.js.map +2 -2
  246. package/lib/renderers/Table/ColumnToggler.js +1 -1
  247. package/lib/renderers/Table/ColumnToggler.js.map +2 -2
  248. package/lib/renderers/Table/TableContent.d.ts +4 -1
  249. package/lib/renderers/Table/TableContent.js +21 -1
  250. package/lib/renderers/Table/TableContent.js.map +2 -2
  251. package/lib/renderers/Table/index.d.ts +5 -1
  252. package/lib/renderers/Table/index.js +65 -30
  253. package/lib/renderers/Table/index.js.map +2 -2
  254. package/lib/renderers/Tabs.js +9 -1
  255. package/lib/renderers/Tabs.js.map +2 -2
  256. package/lib/renderers/WebComponent.js +1 -1
  257. package/lib/renderers/WebComponent.js.map +2 -2
  258. package/lib/store/combo.d.ts +2 -2
  259. package/lib/store/form.d.ts +1 -1
  260. package/lib/store/form.js +3 -5
  261. package/lib/store/form.js.map +2 -2
  262. package/lib/store/formItem.js +44 -4
  263. package/lib/store/formItem.js.map +2 -2
  264. package/lib/store/table.d.ts +3 -2
  265. package/lib/store/table.js +35 -12
  266. package/lib/store/table.js.map +2 -2
  267. package/lib/themes/ang-ie11.css +934 -222
  268. package/lib/themes/ang.css +934 -222
  269. package/lib/themes/ang.css.map +1 -1
  270. package/lib/themes/antd-ie11.css +934 -222
  271. package/lib/themes/antd.css +934 -222
  272. package/lib/themes/antd.css.map +1 -1
  273. package/lib/themes/cxd-ie11.css +970 -260
  274. package/lib/themes/cxd.css +970 -260
  275. package/lib/themes/cxd.css.map +1 -1
  276. package/lib/themes/dark-ie11.css +934 -222
  277. package/lib/themes/dark.css +934 -222
  278. package/lib/themes/dark.css.map +1 -1
  279. package/lib/themes/default.css +970 -260
  280. package/lib/themes/default.css.map +1 -1
  281. package/lib/types.d.ts +38 -1
  282. package/lib/types.js +0 -5
  283. package/lib/types.js.map +2 -2
  284. package/lib/utils/api.d.ts +3 -2
  285. package/lib/utils/api.js +90 -17
  286. package/lib/utils/api.js.map +2 -2
  287. package/lib/utils/dom.d.ts +4 -0
  288. package/lib/utils/dom.js +11 -1
  289. package/lib/utils/dom.js.map +2 -2
  290. package/lib/utils/helper.d.ts +12 -23
  291. package/lib/utils/helper.js +62 -166
  292. package/lib/utils/helper.js.map +2 -2
  293. package/lib/utils/tpl-builtin.d.ts +2 -20
  294. package/lib/utils/tpl-builtin.js +25 -743
  295. package/lib/utils/tpl-builtin.js.map +2 -2
  296. package/lib/utils/tpl.js +24 -0
  297. package/lib/utils/tpl.js.map +2 -2
  298. package/package.json +5 -2
  299. package/schema.json +3966 -1263
  300. package/scss/_mixins.scss +1 -3
  301. package/scss/_properties.scss +42 -13
  302. package/scss/base/_common.scss +3 -0
  303. package/scss/base/_normalize.scss +2 -0
  304. package/scss/components/_alert.scss +28 -5
  305. package/scss/components/_anchor-nav.scss +89 -29
  306. package/scss/components/_button.scss +12 -0
  307. package/scss/components/_card.scss +9 -15
  308. package/scss/components/_collapse-group.scss +15 -0
  309. package/scss/components/_collapse.scss +48 -23
  310. package/scss/components/_grid-nav.scss +128 -0
  311. package/scss/components/_images.scss +1 -0
  312. package/scss/components/_input-box.scss +1 -0
  313. package/scss/components/_nav.scss +2 -7
  314. package/scss/components/_page.scss +35 -2
  315. package/scss/components/_picker-columns.scss +124 -0
  316. package/scss/components/_popover.scss +13 -0
  317. package/scss/components/_portlet.scss +51 -0
  318. package/scss/components/_progress.scss +141 -33
  319. package/scss/components/_result-box.scss +1 -0
  320. package/scss/components/_spinner.scss +5 -4
  321. package/scss/components/_status.scss +1 -1
  322. package/scss/components/_table.scss +32 -0
  323. package/scss/components/_toast.scss +41 -11
  324. package/scss/components/form/_checks.scss +0 -351
  325. package/scss/components/form/_color.scss +32 -3
  326. package/scss/components/form/_combo.scss +4 -0
  327. package/scss/components/form/_fieldset.scss +6 -1
  328. package/scss/components/form/_file.scss +11 -0
  329. package/scss/components/form/_form.scss +48 -0
  330. package/scss/components/form/_selection.scss +354 -0
  331. package/scss/components/form/_transfer.scss +76 -18
  332. package/scss/components/form/_tree.scss +42 -0
  333. package/scss/themes/_common.scss +6 -0
  334. package/scss/themes/_cxd-variables.scss +13 -6
  335. package/scss/themes/cxd.scss +19 -20
  336. package/sdk/ang-ie11.css +1065 -246
  337. package/sdk/ang.css +1069 -230
  338. package/sdk/antd-ie11.css +1068 -249
  339. package/sdk/antd.css +1069 -230
  340. package/sdk/charts.js +17 -17
  341. package/sdk/color-picker.js +65 -69
  342. package/sdk/cropperjs.js +3 -3
  343. package/sdk/cxd-ie11.css +1081 -268
  344. package/sdk/cxd.css +1116 -279
  345. package/sdk/dark-ie11.css +1069 -250
  346. package/sdk/dark.css +1069 -230
  347. package/sdk/exceljs.js +1 -1
  348. package/sdk/helper.css.map +1 -1
  349. package/sdk/iconfont.svg +2513 -0
  350. package/sdk/iconfont.ttf +0 -0
  351. package/sdk/iconfont.woff +0 -0
  352. package/sdk/locale/de-DE.js +2 -0
  353. package/sdk/markdown.js +69 -69
  354. package/sdk/papaparse.js +1 -1
  355. package/sdk/renderers/Form/CityDB.js +1 -1
  356. package/sdk/rest.js +20 -28
  357. package/sdk/rich-text.js +62 -62
  358. package/sdk/sdk-ie11.css +1081 -268
  359. package/sdk/sdk.css +1116 -279
  360. package/sdk/sdk.js +1371 -1189
  361. package/sdk/thirds/hls.js/hls.js +18 -18
  362. package/sdk/thirds/mpegts.js/mpegts.js +2 -2
  363. package/sdk/tinymce.js +57 -57
  364. package/src/Schema.ts +19 -1
  365. package/src/components/Alert2.tsx +32 -4
  366. package/src/components/AnchorNav.tsx +15 -4
  367. package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +43 -37
  368. package/src/components/Badge.tsx +3 -3
  369. package/src/components/Button.tsx +1 -0
  370. package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
  371. package/src/components/Collapse.tsx +139 -20
  372. package/src/components/CollapseGroup.tsx +130 -0
  373. package/src/components/ColorPicker.tsx +32 -10
  374. package/src/components/Drawer.tsx +8 -6
  375. package/src/components/GridNav.tsx +233 -0
  376. package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
  377. package/src/components/InputBox.tsx +10 -9
  378. package/src/components/Link.tsx +28 -37
  379. package/src/components/ModalManager.ts +1 -1
  380. package/src/components/Overlay.tsx +6 -0
  381. package/src/components/PickerColumn.tsx +429 -0
  382. package/src/components/PickerContainer.tsx +128 -0
  383. package/src/components/PopOver.tsx +15 -1
  384. package/src/components/Progress.tsx +140 -0
  385. package/src/components/Radios.tsx +3 -8
  386. package/src/components/ResultBox.tsx +9 -9
  387. package/src/components/Select.tsx +57 -5
  388. package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
  389. package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
  390. package/src/components/TabsTransfer.tsx +13 -7
  391. package/src/components/TabsTransferPicker.tsx +85 -0
  392. package/src/components/Toast.tsx +48 -21
  393. package/src/components/Transfer.tsx +71 -50
  394. package/src/components/TransferDropDown.tsx +120 -0
  395. package/src/components/TransferPicker.tsx +91 -0
  396. package/src/components/Tree.tsx +194 -8
  397. package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
  398. package/src/components/condition-builder/Field.tsx +7 -5
  399. package/src/components/condition-builder/Func.tsx +3 -3
  400. package/src/components/condition-builder/InputSwitch.tsx +3 -3
  401. package/src/components/condition-builder/Item.tsx +5 -12
  402. package/src/components/icons.tsx +10 -0
  403. package/src/components/index.tsx +13 -13
  404. package/src/envOverwrite.ts +20 -8
  405. package/src/factory.tsx +70 -9
  406. package/src/hooks/index.ts +5 -0
  407. package/src/hooks/use-set-state.ts +19 -0
  408. package/src/hooks/use-touch.ts +100 -0
  409. package/src/hooks/use-update-effect.ts +16 -0
  410. package/src/icons/alert-danger.svg +1 -0
  411. package/src/icons/alert-info.svg +1 -0
  412. package/src/icons/alert-success.svg +1 -0
  413. package/src/icons/alert-warning.svg +1 -0
  414. package/src/icons/download.svg +4 -0
  415. package/src/icons/drag-bar.svg +12 -6
  416. package/src/index.tsx +5 -0
  417. package/src/locale/de-DE.ts +2 -0
  418. package/src/locale/en-US.ts +3 -0
  419. package/src/locale/zh-CN.ts +5 -2
  420. package/src/renderers/Action.tsx +58 -3
  421. package/src/renderers/Alert.tsx +31 -1
  422. package/src/renderers/AnchorNav.tsx +4 -0
  423. package/src/renderers/Avatar.tsx +8 -4
  424. package/src/renderers/Breadcrumb.tsx +5 -1
  425. package/src/renderers/CRUD.tsx +29 -3
  426. package/src/renderers/Card.tsx +76 -36
  427. package/src/renderers/Collapse.tsx +70 -115
  428. package/src/renderers/CollapseGroup.tsx +80 -0
  429. package/src/renderers/Form/ConditionBuilder.tsx +2 -2
  430. package/src/renderers/Form/InputCity.tsx +4 -8
  431. package/src/renderers/Form/InputColor.tsx +4 -2
  432. package/src/renderers/Form/InputFile.tsx +65 -24
  433. package/src/renderers/Form/InputImage.tsx +11 -3
  434. package/src/renderers/Form/Item.tsx +3 -2
  435. package/src/renderers/Form/Options.tsx +29 -3
  436. package/src/renderers/Form/Select.tsx +162 -21
  437. package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
  438. package/src/renderers/Form/Transfer.tsx +19 -4
  439. package/src/renderers/Form/TransferPicker.tsx +145 -0
  440. package/src/renderers/Form/TreeSelect.tsx +25 -0
  441. package/src/renderers/Form/index.tsx +15 -2
  442. package/src/renderers/Form/wrapControl.tsx +26 -1
  443. package/src/renderers/GridNav.tsx +204 -0
  444. package/src/renderers/IFrame.tsx +2 -4
  445. package/src/renderers/Image.tsx +19 -15
  446. package/src/renderers/Json.tsx +9 -9
  447. package/src/renderers/Link.tsx +29 -16
  448. package/src/renderers/List.tsx +1 -1
  449. package/src/renderers/Nav.tsx +105 -56
  450. package/src/renderers/Page.tsx +62 -1
  451. package/src/renderers/Portlet.tsx +423 -0
  452. package/src/renderers/Progress.tsx +56 -38
  453. package/src/renderers/Property.tsx +6 -4
  454. package/src/renderers/Table/ColumnToggler.tsx +1 -1
  455. package/src/renderers/Table/TableContent.tsx +40 -2
  456. package/src/renderers/Table/index.tsx +88 -43
  457. package/src/renderers/Tabs.tsx +9 -1
  458. package/src/renderers/WebComponent.tsx +2 -2
  459. package/src/store/form.ts +3 -9
  460. package/src/store/formItem.ts +94 -2
  461. package/src/store/table.ts +55 -14
  462. package/src/types.ts +58 -1
  463. package/src/utils/api.ts +120 -26
  464. package/src/utils/dom.tsx +12 -0
  465. package/src/utils/helper.ts +55 -185
  466. package/src/utils/tpl-builtin.ts +40 -866
  467. package/src/utils/tpl.ts +33 -0
  468. package/tsconfig-for-declaration.json +1 -1
  469. package/dump.rdb +0 -0
  470. package/lib/components/AssociatedCheckboxes.d.ts +0 -762
  471. package/lib/components/AssociatedCheckboxes.js +0 -90
  472. package/lib/components/AssociatedCheckboxes.js.map +0 -13
  473. package/lib/components/ChainedCheckboxes.js.map +0 -13
  474. package/lib/components/Checkboxes.js +0 -101
  475. package/lib/components/Checkboxes.js.map +0 -13
  476. package/lib/components/ListCheckboxes.d.ts +0 -739
  477. package/lib/components/ListCheckboxes.js +0 -48
  478. package/lib/components/ListCheckboxes.js.map +0 -13
  479. package/lib/components/ListRadios.d.ts +0 -763
  480. package/lib/components/ListRadios.js +0 -86
  481. package/lib/components/ListRadios.js.map +0 -13
  482. package/lib/components/TableCheckboxes.js.map +0 -13
  483. package/lib/components/TreeCheckboxes.js.map +0 -13
  484. package/lib/components/TreeRadios.d.ts +0 -838
  485. package/lib/components/TreeRadios.js +0 -116
  486. package/lib/components/TreeRadios.js.map +0 -13
  487. package/src/components/ListRadios.tsx +0 -159
  488. package/src/components/TreeRadios.tsx +0 -202
@@ -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
+ }
@@ -11,6 +11,10 @@ export interface ProgressSchema extends BaseSchema {
11
11
  * 关联字段名。
12
12
  */
13
13
  name?: string;
14
+ /**
15
+ * 进度条类型。
16
+ */
17
+ mode: 'line' | 'circle' | 'dashboard';
14
18
  /**
15
19
  * 进度条 CSS 类名
16
20
  */
@@ -22,7 +26,7 @@ export interface ProgressSchema extends BaseSchema {
22
26
  /**
23
27
  * 配置不通的值段,用不通的样式提示用户
24
28
  */
25
- map?: Array<SchemaClassName>;
29
+ map?: Array<string>;
26
30
  /**
27
31
  * 是否显示值
28
32
  */
@@ -39,9 +43,24 @@ export interface ProgressSchema extends BaseSchema {
39
43
  * 是否显示动画(只有在开启的时候才能看出来)
40
44
  */
41
45
  animate?: boolean;
46
+ /**
47
+ * 圆形进度条线的宽度
48
+ */
49
+ strokeWidth?: number;
50
+ /**
51
+ * 仪表盘进度条缺口角度,可取值 0 ~ 295
52
+ */
53
+ gapDegree?: number;
54
+ /**
55
+ * 仪表盘进度条缺口位置
56
+ */
57
+ gapPosition?: 'top' | 'bottom' | 'left' | 'right';
58
+ /**
59
+ * 内容的模板函数
60
+ */
61
+ valueTpl?: string;
42
62
  }
43
63
  export interface ProgressProps extends RendererProps, Omit<ProgressSchema, 'type' | 'className'> {
44
- map: Array<SchemaClassName>;
45
64
  }
46
65
  export declare class ProgressField extends React.Component<ProgressProps, object> {
47
66
  static defaultProps: {
@@ -49,11 +68,12 @@ export declare class ProgressField extends React.Component<ProgressProps, object
49
68
  progressClassName: string;
50
69
  progressBarClassName: string;
51
70
  map: string[];
71
+ valueTpl: string;
52
72
  showLabel: boolean;
53
73
  stripe: boolean;
54
74
  animate: boolean;
55
75
  };
56
- autoClassName(value: number): SchemaClassName;
76
+ format(value: number): JSX.Element;
57
77
  render(): JSX.Element;
58
78
  }
59
79
  export declare class ProgressFieldRenderer extends ProgressField {
@@ -5,46 +5,42 @@ var tslib_1 = require("tslib");
5
5
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
6
  var factory_1 = require("../factory");
7
7
  var helper_1 = require("../utils/helper");
8
+ var Progress_1 = (0, tslib_1.__importDefault)(require("../components/Progress"));
8
9
  var ProgressField = /** @class */ (function (_super) {
9
10
  (0, tslib_1.__extends)(ProgressField, _super);
10
11
  function ProgressField() {
11
12
  return _super !== null && _super.apply(this, arguments) || this;
12
13
  }
13
- ProgressField.prototype.autoClassName = function (value) {
14
- var map = this.props.map;
15
- var index = Math.floor((value * map.length) / 100);
16
- index = Math.max(0, Math.min(map.length - 1, index));
17
- return map[index];
14
+ ProgressField.prototype.format = function (value) {
15
+ var _a = this.props, valueTpl = _a.valueTpl, render = _a.render, data = _a.data;
16
+ return render("progress-value", valueTpl + '', {
17
+ data: (0, helper_1.createObject)(data, { value: value })
18
+ });
18
19
  };
19
20
  ProgressField.prototype.render = function () {
20
- var _a = this.props, className = _a.className, placeholder = _a.placeholder, progressClassName = _a.progressClassName, progressBarClassName = _a.progressBarClassName, map = _a.map, stripe = _a.stripe, animate = _a.animate, showLabel = _a.showLabel, cx = _a.classnames;
21
+ var _a = this.props, mode = _a.mode, className = _a.className, placeholder = _a.placeholder, progressClassName = _a.progressClassName, progressBarClassName = _a.progressBarClassName, map = _a.map, stripe = _a.stripe, animate = _a.animate, showLabel = _a.showLabel, strokeWidth = _a.strokeWidth, gapDegree = _a.gapDegree, gapPosition = _a.gapPosition, cx = _a.classnames;
21
22
  var value = (0, helper_1.getPropValue)(this.props);
22
- var viewValue = (react_1.default.createElement("span", { className: "text-muted" }, placeholder));
23
23
  if (/^\d*\.?\d+$/.test(value)) {
24
24
  value = parseFloat(value);
25
25
  }
26
- if (typeof value === 'number') {
27
- viewValue = [
28
- react_1.default.createElement("div", { key: "progress", className: cx('Progress', progressClassName) },
29
- react_1.default.createElement("div", { className: cx('Progress-bar', progressBarClassName || this.autoClassName(value), { 'Progress-bar--stripe': stripe }, { 'Progress-bar--animate': animate }), title: value + "%", style: {
30
- width: value + "%"
31
- } })),
32
- showLabel ? react_1.default.createElement("div", { key: "value" },
33
- value,
34
- "%") : null
35
- ];
36
- }
37
- return react_1.default.createElement("span", { className: cx('ProgressField', className) }, viewValue);
26
+ return (react_1.default.createElement(Progress_1.default, { value: value, type: mode, map: map, stripe: stripe, animate: animate, showLabel: showLabel, placeholder: placeholder, format: this.format, strokeWidth: strokeWidth, gapDegree: gapDegree, gapPosition: gapPosition, className: className, progressClassName: progressClassName, progressBarClassName: progressBarClassName }));
38
27
  };
39
28
  ProgressField.defaultProps = {
40
29
  placeholder: '-',
41
30
  progressClassName: '',
42
31
  progressBarClassName: '',
43
32
  map: ['bg-danger', 'bg-warning', 'bg-info', 'bg-success', 'bg-success'],
33
+ valueTpl: '${value}%',
44
34
  showLabel: true,
45
35
  stripe: false,
46
36
  animate: false
47
37
  };
38
+ (0, tslib_1.__decorate)([
39
+ helper_1.autobind,
40
+ (0, tslib_1.__metadata)("design:type", Function),
41
+ (0, tslib_1.__metadata)("design:paramtypes", [Number]),
42
+ (0, tslib_1.__metadata)("design:returntype", void 0)
43
+ ], ProgressField.prototype, "format", null);
48
44
  return ProgressField;
49
45
  }(react_1.default.Component));
50
46
  exports.ProgressField = ProgressField;
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Progress.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";;;;AAAA,6DAA0B;AAC1B,sCAAmD;AAMnD,0CAA6C;AAwD7C;IAAmC,8CAAsC;IAAzE;;IA8DA,CAAC;IAnDC,qCAAa,GAAb,UAAc,KAAa;QACzB,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QAC3B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;QACnD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACrD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,8BAAM,GAAN;QACQ,IAAA,KAUF,IAAI,CAAC,KAAK,EATZ,SAAS,eAAA,EACT,WAAW,iBAAA,EACX,iBAAiB,uBAAA,EACjB,oBAAoB,0BAAA,EACpB,GAAG,SAAA,EACH,MAAM,YAAA,EACN,OAAO,aAAA,EACP,SAAS,eAAA,EACG,EAAE,gBACF,CAAC;QAEf,IAAI,KAAK,GAAG,IAAA,qBAAY,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,SAAS,GAAoB,CAC/B,wCAAM,SAAS,EAAC,YAAY,IAAE,WAAW,CAAQ,CAClD,CAAC;QAEF,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7B,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;SAC3B;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,SAAS,GAAG;gBACV,uCAAK,GAAG,EAAC,UAAU,EAAC,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC;oBAC9D,uCACE,SAAS,EAAE,EAAE,CACX,cAAc,EACd,oBAAoB,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EACjD,EAAC,sBAAsB,EAAE,MAAM,EAAC,EAChC,EAAC,uBAAuB,EAAE,OAAO,EAAC,CACnC,EACD,KAAK,EAAK,KAAK,MAAG,EAClB,KAAK,EAAE;4BACL,KAAK,EAAK,KAAK,MAAG;yBACnB,GACD,CACE;gBACN,SAAS,CAAC,CAAC,CAAC,uCAAK,GAAG,EAAC,OAAO;oBAAE,KAAK;wBAAQ,CAAC,CAAC,CAAC,IAAI;aACnD,CAAC;SACH;QAED,OAAO,wCAAM,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,IAAG,SAAS,CAAQ,CAAC;IAC7E,CAAC;IA5DM,0BAAY,GAAG;QACpB,WAAW,EAAE,GAAG;QAChB,iBAAiB,EAAE,EAAE;QACrB,oBAAoB,EAAE,EAAE;QACxB,GAAG,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC;QACvE,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,KAAK;KACf,CAAC;IAqDJ,oBAAC;CAAA,AA9DD,CAAmC,eAAK,CAAC,SAAS,GA8DjD;AA9DY,sCAAa;AAmE1B;IAA2C,sDAAa;IAAxD;;IAA0D,CAAC;IAA9C,qBAAqB;QAHjC,IAAA,kBAAQ,EAAC;YACR,IAAI,EAAE,UAAU;SACjB,CAAC;OACW,qBAAqB,CAAyB;IAAD,4BAAC;CAAA,AAA3D,CAA2C,aAAa,GAAG;AAA9C,sDAAqB",
9
+ "mappings": ";;;;AAAA,6DAA0B;AAC1B,sCAAmD;AAGnD,0CAAqE;AAGrE,iFAA8C;AA2E9C;IAAmC,8CAAsC;IAAzE;;IA6DA,CAAC;IAhDC,8BAAM,GAAN,UAAO,KAAa;QACZ,IAAA,KAA2B,IAAI,CAAC,KAAK,EAApC,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAc,CAAC;QAC5C,OAAO,MAAM,CAAC,gBAAgB,EAAE,QAAQ,GAAG,EAAE,EAAE;YAC7C,IAAI,EAAE,IAAA,qBAAY,EAAC,IAAI,EAAE,EAAC,KAAK,OAAA,EAAC,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,8BAAM,GAAN;QACQ,IAAA,KAcF,IAAI,CAAC,KAAK,EAbZ,IAAI,UAAA,EACJ,SAAS,eAAA,EACT,WAAW,iBAAA,EACX,iBAAiB,uBAAA,EACjB,oBAAoB,0BAAA,EACpB,GAAG,SAAA,EACH,MAAM,YAAA,EACN,OAAO,aAAA,EACP,SAAS,eAAA,EACT,WAAW,iBAAA,EACX,SAAS,eAAA,EACT,WAAW,iBAAA,EACC,EAAE,gBACF,CAAC;QAEf,IAAI,KAAK,GAAG,IAAA,qBAAY,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAErC,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7B,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;SAC3B;QACD,OAAO,CACL,8BAAC,kBAAQ,IACP,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,oBAAoB,EAAE,oBAAoB,GAC1C,CACH,CAAC;IACJ,CAAC;IA3DM,0BAAY,GAAG;QACpB,WAAW,EAAE,GAAG;QAChB,iBAAiB,EAAE,EAAE;QACrB,oBAAoB,EAAE,EAAE;QACxB,GAAG,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC;QACvE,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,KAAK;KACf,CAAC;IAGF;QADC,iBAAQ;;;;+CAMR;IA2CH,oBAAC;CAAA,AA7DD,CAAmC,eAAK,CAAC,SAAS,GA6DjD;AA7DY,sCAAa;AAkE1B;IAA2C,sDAAa;IAAxD;;IAA0D,CAAC;IAA9C,qBAAqB;QAHjC,IAAA,kBAAQ,EAAC;YACR,IAAI,EAAE,UAAU;SACjB,CAAC;OACW,qBAAqB,CAAyB;IAAD,4BAAC;CAAA,AAA3D,CAA2C,aAAa,GAAG;AAA9C,sDAAqB",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {ServiceStore, IServiceStore} from '../store/service';\nimport {Api, SchemaNode, PlainObject} from '../types';\nimport {filter} from '../utils/tpl';\nimport cx from 'classnames';\nimport {BaseSchema, SchemaClassName} from '../Schema';\nimport {getPropValue} from '../utils/helper';\n\n/**\n * 进度展示控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/progress\n */\nexport interface ProgressSchema extends BaseSchema {\n type: 'progress';\n\n /**\n * 关联字段名。\n */\n name?: string;\n\n /**\n * 进度条 CSS 类名\n */\n progressClassName?: SchemaClassName;\n\n /**\n * 进度外层 CSS 类名\n */\n progressBarClassName?: SchemaClassName;\n\n /**\n * 配置不通的值段,用不通的样式提示用户\n */\n map?: Array<SchemaClassName>;\n\n /**\n * 是否显示值\n */\n showLabel?: boolean;\n\n /**\n * 占位符\n */\n placeholder?: string;\n\n /**\n * 是否显示背景间隔\n */\n stripe?: boolean;\n\n /**\n * 是否显示动画(只有在开启的时候才能看出来)\n */\n animate?: boolean;\n}\n\nexport interface ProgressProps\n extends RendererProps,\n Omit<ProgressSchema, 'type' | 'className'> {\n map: Array<SchemaClassName>;\n}\n\nexport class ProgressField extends React.Component<ProgressProps, object> {\n static defaultProps = {\n placeholder: '-',\n progressClassName: '',\n progressBarClassName: '',\n map: ['bg-danger', 'bg-warning', 'bg-info', 'bg-success', 'bg-success'],\n showLabel: true,\n stripe: false,\n animate: false\n };\n\n autoClassName(value: number) {\n const map = this.props.map;\n let index = Math.floor((value * map.length) / 100);\n index = Math.max(0, Math.min(map.length - 1, index));\n return map[index];\n }\n\n render() {\n const {\n className,\n placeholder,\n progressClassName,\n progressBarClassName,\n map,\n stripe,\n animate,\n showLabel,\n classnames: cx\n } = this.props;\n\n let value = getPropValue(this.props);\n let viewValue: React.ReactNode = (\n <span className=\"text-muted\">{placeholder}</span>\n );\n\n if (/^\\d*\\.?\\d+$/.test(value)) {\n value = parseFloat(value);\n }\n\n if (typeof value === 'number') {\n viewValue = [\n <div key=\"progress\" className={cx('Progress', progressClassName)}>\n <div\n className={cx(\n 'Progress-bar',\n progressBarClassName || this.autoClassName(value),\n {'Progress-bar--stripe': stripe},\n {'Progress-bar--animate': animate}\n )}\n title={`${value}%`}\n style={{\n width: `${value}%`\n }}\n />\n </div>,\n showLabel ? <div key=\"value\">{value}%</div> : null\n ];\n }\n\n return <span className={cx('ProgressField', className)}>{viewValue}</span>;\n }\n}\n\n@Renderer({\n type: 'progress'\n})\nexport class ProgressFieldRenderer extends ProgressField {}\n"
11
+ "import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport cx from 'classnames';\nimport {BaseSchema, SchemaClassName} from '../Schema';\nimport {autobind, getPropValue, createObject} from '../utils/helper';\nimport {filter} from '../utils/tpl';\n\nimport Progress from '../components/Progress';\n/**\n * 进度展示控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/progress\n */\nexport interface ProgressSchema extends BaseSchema {\n type: 'progress';\n\n /**\n * 关联字段名。\n */\n name?: string;\n\n /**\n * 进度条类型。\n */\n mode: 'line' | 'circle' | 'dashboard';\n\n /**\n * 进度条 CSS 类名\n */\n progressClassName?: SchemaClassName;\n\n /**\n * 进度外层 CSS 类名\n */\n progressBarClassName?: SchemaClassName;\n\n /**\n * 配置不通的值段,用不通的样式提示用户\n */\n map?: Array<string>;\n\n /**\n * 是否显示值\n */\n showLabel?: boolean;\n\n /**\n * 占位符\n */\n placeholder?: string;\n\n /**\n * 是否显示背景间隔\n */\n stripe?: boolean;\n\n /**\n * 是否显示动画(只有在开启的时候才能看出来)\n */\n animate?: boolean;\n\n /**\n * 圆形进度条线的宽度\n */\n strokeWidth?: number;\n /**\n * 仪表盘进度条缺口角度,可取值 0 ~ 295\n */\n gapDegree?: number;\n /**\n * 仪表盘进度条缺口位置\n */\n gapPosition?: 'top' | 'bottom' | 'left' | 'right';\n /**\n * 内容的模板函数\n */\n valueTpl?: string;\n}\n\nexport interface ProgressProps\n extends RendererProps,\n Omit<ProgressSchema, 'type' | 'className'> {}\n\nexport class ProgressField extends React.Component<ProgressProps, object> {\n static defaultProps = {\n placeholder: '-',\n progressClassName: '',\n progressBarClassName: '',\n map: ['bg-danger', 'bg-warning', 'bg-info', 'bg-success', 'bg-success'],\n valueTpl: '${value}%',\n showLabel: true,\n stripe: false,\n animate: false\n };\n\n @autobind\n format(value: number) {\n const {valueTpl, render, data} = this.props;\n return render(`progress-value`, valueTpl + '', {\n data: createObject(data, {value})\n });\n }\n\n render() {\n const {\n mode,\n className,\n placeholder,\n progressClassName,\n progressBarClassName,\n map,\n stripe,\n animate,\n showLabel,\n strokeWidth,\n gapDegree,\n gapPosition,\n classnames: cx\n } = this.props;\n\n let value = getPropValue(this.props);\n\n if (/^\\d*\\.?\\d+$/.test(value)) {\n value = parseFloat(value);\n }\n return (\n <Progress\n value={value}\n type={mode}\n map={map}\n stripe={stripe}\n animate={animate}\n showLabel={showLabel}\n placeholder={placeholder}\n format={this.format}\n strokeWidth={strokeWidth}\n gapDegree={gapDegree}\n gapPosition={gapPosition}\n className={className}\n progressClassName={progressClassName}\n progressBarClassName={progressBarClassName}\n />\n );\n }\n}\n\n@Renderer({\n type: 'progress'\n})\nexport class ProgressFieldRenderer extends ProgressField {}\n"
12
12
  ]
13
13
  }
@@ -21,7 +21,7 @@ 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, '| raw')) || [];
25
25
  var rows = [];
26
26
  var row = [];
27
27
  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": ";AAAA;;GAEG;;;;AAEH,6DAA0B;AAC1B,sCAAmD;AAEnD,oDAA8D;AAC9D,0CAAiD;AAsGjD;IAAsC,yCAAsC;IAC1E,kBAAY,KAAoB;eAC9B,kBAAM,KAAK,CAAC;IACd,CAAC;IAED;;OAEG;IACH,8BAAW,GAAX;QACQ,IAAA,KAAoC,IAAI,CAAC,KAAK,EAA7C,cAAU,EAAV,MAAM,mBAAG,CAAC,KAAA,EAAE,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAc,CAAC;QACrD,IAAM,aAAa,GACjB,CAAC,KAAK;YACJ,CAAC,CAAC,KAAK;YACP,CAAC,CAAE,IAAA,sCAAwB,EACvB,MAAM,EACN,IAAI,EACJ,OAAO,CACgB,CAAC,IAAI,EAAE,CAAC;QAEvC,IAAM,IAAI,GAAwB,EAAE,CAAC;QAErC,IAAI,GAAG,GAAsB,EAAE,CAAC;QAChC,IAAI,UAAU,GAAG,MAAM,CAAC;QACxB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAM,aAAa,GAAG,IAAA,yBAAgB,EAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAE5D,KAAmB,UAAa,EAAb,+BAAa,EAAb,2BAAa,EAAb,IAAa,EAAE;YAA7B,IAAM,IAAI,sBAAA;YACb,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;YAClB,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YAC9C,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC;YAC/B,IAAM,OAAO,GAAG;gBACd,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI;aACX,CAAC;YACF,eAAe;YACf,IAAI,UAAU,IAAI,CAAC,EAAE;gBACnB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACnB;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACf,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;gBAC3B,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;aACjB;YAED,kBAAkB;YAClB,IAAI,KAAK,KAAK,aAAa,CAAC,MAAM,EAAE;gBAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAChB;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4BAAS,GAAT,UAAU,IAAyB;QAC3B,IAAA,KAMF,IAAI,CAAC,KAAK,EALZ,MAAM,YAAA,EACN,YAAY,kBAAA,EACZ,UAAU,gBAAA,EACV,iBAAgB,EAAhB,SAAS,mBAAG,IAAI,KAAA,EAChB,YAAc,EAAd,IAAI,mBAAG,OAAO,KACF,CAAC;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,EAAE,GAAG;YACvB,OAAO,CACL,sCAAI,GAAG,EAAE,GAAG,IACT,GAAG,CAAC,GAAG,CAAC,UAAC,QAAQ,EAAE,KAAK;gBACvB,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CACxB,8BAAC,eAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,UAAQ,KAAO;oBAClC,sCAAI,KAAK,EAAE,UAAU,IAAG,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAM;oBAC7D,sCACE,OAAO,EAAE,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAC,EAC1C,KAAK,EAAE,YAAY,IAElB,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CACjC,CACU,CAClB,CAAC,CAAC,CAAC,CACF,sCACE,OAAO,EAAE,QAAQ,CAAC,IAAI,EACtB,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,UAAQ,KAAO;oBAEpB,wCAAM,KAAK,EAAE,UAAU,IACpB,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAC3B;oBACN,SAAS;oBACT,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CACjC,CACN,CAAC;YACJ,CAAC,CAAC,CACC,CACN,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yBAAM,GAAN;QACQ,IAAA,KAQF,IAAI,CAAC,KAAK,EAPZ,KAAK,WAAA,EACL,KAAK,WAAA,EACL,cAAU,EAAV,MAAM,mBAAG,CAAC,KAAA,EACE,EAAE,gBAAA,EACd,SAAS,eAAA,EACT,UAAU,gBAAA,EACV,YAAc,EAAd,IAAI,mBAAG,OAAO,KACF,CAAC;QAEf,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEhC,OAAO,CACL,uCACE,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,eAAa,IAAM,EAAE,SAAS,CAAC,EACzD,KAAK,EAAE,KAAK;YAEZ;gBACG,KAAK,CAAC,CAAC,CAAC,CACP;oBACE;wBACE,sCACE,OAAO,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,EACpD,KAAK,EAAE,UAAU,IAEhB,KAAK,CACH,CACF,CACC,CACT,CAAC,CAAC,CAAC,IAAI;gBACR,6CAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAS,CAC/B,CACJ,CACP,CAAC;IACJ,CAAC;IACH,eAAC;AAAD,CAAC,AAlID,CAAsC,eAAK,CAAC,SAAS,GAkIpD;;AAKD;IAAsC,iDAAQ;IAA9C;;IAAgD,CAAC;IAApC,gBAAgB;QAH5B,IAAA,kBAAQ,EAAC;YACR,IAAI,EAAE,UAAU;SACjB,CAAC;OACW,gBAAgB,CAAoB;IAAD,uBAAC;CAAA,AAAjD,CAAsC,QAAQ,GAAG;AAApC,4CAAgB",
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 {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 const propertyItems =\n (items\n ? items\n : (resolveVariableAndFilter(\n source,\n data,\n '| raw'\n ) 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"
12
12
  ]
13
13
  }
@@ -139,7 +139,7 @@ var ColumnToggler = /** @class */ (function (_super) {
139
139
  react_1.default.createElement("a", { "data-tooltip": __('Dialog.close'), "data-position": "left", className: cx('Modal-close'), onClick: this.close },
140
140
  react_1.default.createElement(icons_1.Icon, { icon: "close", className: "icon" }))),
141
141
  react_1.default.createElement("ul", { className: cx('ColumnToggler-modal-content'), ref: this.dragRef }, Array.isArray(tempColumns)
142
- ? tempColumns.map(function (column, index) { return (react_1.default.createElement(TooltipWrapper_1.default, { tooltipClassName: cx('ColumnToggler-tooltip'), placement: "top", tooltip: column.label || '', trigger: enableSorting ? 'click' : 'hover', key: column.index },
142
+ ? tempColumns.map(function (column, index) { return (react_1.default.createElement(TooltipWrapper_1.default, { tooltipClassName: cx('ColumnToggler-tooltip'), placement: "top", tooltip: column.label || '', trigger: enableSorting ? [] : 'hover', key: column.index },
143
143
  react_1.default.createElement("li", { className: cx('ColumnToggler-menuItem'), key: column.index }, enableSorting && draggable && tempColumns.length > 1 ? (react_1.default.createElement(react_1.default.Fragment, null,
144
144
  react_1.default.createElement("a", { className: cx('ColumnToggler-menuItem-dragBar') },
145
145
  react_1.default.createElement(icons_1.Icon, { icon: "drag-bar", className: cx('icon') })),
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Table/ColumnToggler.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 {findDOMNode} from 'react-dom';\nimport Sortable from 'sortablejs';\nimport cloneDeep from 'lodash/cloneDeep';\nimport {RendererProps} from '../../factory';\nimport Overlay from '../../components/Overlay';\nimport PopOver from '../../components/PopOver';\nimport Modal from '../../components/Modal';\nimport Button from '../../components/Button';\nimport Checkbox from '../../components/Checkbox';\nimport TooltipWrapper from '../../components/TooltipWrapper';\nimport type {TooltipObject} from '../../components/TooltipWrapper';\nimport {noop, autobind} from '../../utils/helper';\nimport {filter} from '../../utils/tpl';\nimport {Icon} from '../../components/icons';\nimport {RootClose} from '../../utils/RootClose';\nimport {IColumn} from '../../store/table';\n\nexport interface ColumnTogglerProps extends RendererProps {\n /**\n * 按钮文字\n */\n label?: string | React.ReactNode;\n\n /**\n * 按钮提示文字,hover focus 时显示\n */\n tooltip?: string | TooltipObject;\n\n /**\n * 禁用状态下的提示\n */\n disabledTip?: string | TooltipObject;\n\n /**\n * 点击外部是否关闭\n */\n closeOnOutside?: boolean;\n\n /**\n * 点击内容是否关闭\n */\n closeOnClick?: boolean;\n\n /**\n * 下拉菜单对齐方式\n */\n align?: 'left' | 'right';\n\n /**\n * ColumnToggler的CSS类名\n */\n className?: string;\n\n /**\n * 按钮的CSS类名\n */\n btnClassName?: string;\n\n /**\n * 按钮大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg';\n\n /**\n * 按钮级别,样式\n */\n level?: 'info' | 'success' | 'danger' | 'warning' | 'primary' | 'link';\n\n /**\n * 是否独占一行 `display: block`\n */\n block?: boolean;\n\n /**\n * 是否可通过拖拽排序\n */\n draggable?: boolean;\n\n /**\n * 默认是否展开\n */\n defaultIsOpened?: boolean;\n\n /**\n * 激活状态\n */\n isActived?: boolean;\n\n /**\n * ICON名称\n */\n icon?: string | React.ReactNode;\n\n /**\n * 是否只显示图标。\n */\n iconOnly?: boolean;\n\n /**\n * 是否隐藏展开的Icon\n */\n hideExpandIcon?: boolean;\n\n /**\n * 是否显示遮罩层\n */\n overlay?: boolean;\n\n /**\n * 列数据\n */\n columns: Array<IColumn>;\n\n onColumnToggle: (columns: Array<IColumn>) => void;\n modalContainer?: () => HTMLElement;\n}\n\nexport interface ColumnTogglerState {\n isOpened: boolean;\n enableSorting: boolean;\n tempColumns: any[];\n}\n\nexport default class ColumnToggler extends React.Component<\n ColumnTogglerProps,\n ColumnTogglerState\n> {\n state: ColumnTogglerState = {\n isOpened: false,\n enableSorting: false,\n tempColumns: cloneDeep(this.props.columns)\n };\n\n static defaultProps: Pick<\n ColumnTogglerProps,\n 'placement' | 'tooltipTrigger' | 'tooltipRootClose' | 'draggable'\n > = {\n placement: 'top',\n tooltipTrigger: ['hover', 'focus'],\n tooltipRootClose: false,\n draggable: false\n };\n\n target: any;\n sortable?: Sortable;\n dragRefDOM: HTMLElement;\n\n constructor(props: ColumnTogglerProps) {\n super(props);\n\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this.toggle = this.toggle.bind(this);\n this.domRef = this.domRef.bind(this);\n this.dragRef = this.dragRef.bind(this);\n }\n\n componentDidMount() {\n if (this.props.defaultIsOpened) {\n this.setState({\n isOpened: true\n });\n }\n }\n\n componentWillUnmount() {\n this.destroyDragging();\n }\n\n domRef(ref: any) {\n this.target = ref;\n }\n\n toggle(e: React.MouseEvent<any>) {\n e.preventDefault();\n\n this.setState({\n isOpened: !this.state.isOpened\n });\n }\n\n open() {\n this.setState({\n isOpened: true\n });\n }\n\n close() {\n this.setState({\n isOpened: false,\n enableSorting: false,\n tempColumns: cloneDeep(this.props.columns)\n });\n }\n\n swapColumnPosition(oldIndex: number, newIndex: number) {\n const columns = this.state.tempColumns;\n\n columns[oldIndex] = columns.splice(newIndex, 1, columns[oldIndex])[0];\n this.setState({tempColumns: columns});\n }\n\n updateToggledColumn(\n column: IColumn,\n index: number,\n value: any,\n shift?: boolean\n ) {\n const tempColumns = this.state.tempColumns.concat();\n\n tempColumns.splice(index, 1, {\n ...column,\n toggled: value\n });\n this.setState({tempColumns});\n }\n\n @autobind\n dragRef(ref: any) {\n const {enableSorting} = this.state;\n const {draggable} = this.props;\n\n if (enableSorting && draggable && ref) {\n this.initDragging();\n }\n }\n\n initDragging() {\n const dom = findDOMNode(this) as HTMLElement;\n const ns = this.props.classPrefix;\n\n this.sortable = new Sortable(\n dom.querySelector(`.${ns}ColumnToggler-modal-content`) as HTMLElement,\n {\n group: `ColumnToggler-modal-content`,\n animation: 150,\n handle: `.${ns}ColumnToggler-menuItem-dragBar`,\n ghostClass: `${ns}ColumnToggler-menuItem--dragging`,\n onEnd: (e: any) => {\n if (e.newIndex === e.oldIndex) {\n return;\n }\n\n const parent = e.to as HTMLElement;\n if (e.oldIndex < parent.childNodes.length - 1) {\n parent.insertBefore(e.item, parent.childNodes[e.oldIndex]);\n } else {\n parent.appendChild(e.item);\n }\n\n this.swapColumnPosition(e.oldIndex, e.newIndex);\n }\n }\n );\n }\n\n destroyDragging() {\n this.sortable && this.sortable.destroy();\n }\n\n @autobind\n onConfirm() {\n const {tempColumns} = this.state;\n const {onColumnToggle} = this.props;\n\n onColumnToggle && onColumnToggle([...tempColumns]);\n this.setState({\n isOpened: false,\n enableSorting: false\n });\n }\n\n renderOuter() {\n const {\n popOverContainer,\n classnames: cx,\n classPrefix: ns,\n children,\n closeOnClick,\n closeOnOutside\n } = this.props;\n const body = (\n <RootClose\n disabled={!this.state.isOpened}\n onRootClose={closeOnOutside !== false ? this.close : noop}\n >\n {(ref: any) => {\n return (\n <ul\n className={cx('ColumnToggler-menu')}\n onClick={closeOnClick ? this.close : noop}\n ref={ref}\n >\n {children}\n </ul>\n );\n }}\n </RootClose>\n );\n\n if (popOverContainer) {\n return (\n <Overlay container={popOverContainer} target={() => this.target} show>\n <PopOver\n overlay\n onHide={this.close}\n classPrefix={ns}\n className={cx('ColumnToggler-popover')}\n style={{minWidth: this.target?.offsetWidth}}\n >\n {body}\n </PopOver>\n </Overlay>\n );\n }\n\n return body;\n }\n\n renderModal() {\n const {\n render,\n classnames: cx,\n classPrefix: ns,\n modalContainer,\n draggable,\n overlay,\n translate: __\n } = this.props;\n\n const {enableSorting, tempColumns} = this.state;\n\n return (\n <>\n <Modal\n closeOnEsc\n onHide={this.close}\n show={this.state.isOpened}\n contentClassName={cx('ColumnToggler-modal')}\n container={modalContainer || this.target}\n overlay={typeof overlay === 'boolean' ? overlay : false}\n >\n <header className={cx('ColumnToggler-modal-header')}>\n <span className={cx('ColumnToggler-modal-title')}>列设置</span>\n <a\n data-tooltip={__('Dialog.close')}\n data-position=\"left\"\n className={cx('Modal-close')}\n onClick={this.close}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n </header>\n\n <ul className={cx('ColumnToggler-modal-content')} ref={this.dragRef}>\n {Array.isArray(tempColumns)\n ? tempColumns.map((column, index) => (\n <TooltipWrapper\n tooltipClassName={cx('ColumnToggler-tooltip')}\n placement=\"top\"\n tooltip={column.label || ''}\n trigger={enableSorting ? 'click' : 'hover'}\n key={column.index}\n >\n <li\n className={cx('ColumnToggler-menuItem')}\n key={column.index}\n >\n {enableSorting && draggable && tempColumns.length > 1 ? (\n <>\n <a className={cx('ColumnToggler-menuItem-dragBar')}>\n <Icon icon=\"drag-bar\" className={cx('icon')} />\n </a>\n <span>\n {column.label ? render('tpl', column.label) : null}\n </span>\n </>\n ) : (\n <Checkbox\n size=\"sm\"\n classPrefix={ns}\n checked={column.toggled}\n disabled={!column.toggable || enableSorting}\n onChange={this.updateToggledColumn.bind(\n this,\n column,\n index\n )}\n >\n <span>\n {column.label ? render('tpl', column.label) : null}\n </span>\n </Checkbox>\n )}\n </li>\n </TooltipWrapper>\n ))\n : null}\n </ul>\n\n <footer className={cx('ColumnToggler-modal-footer')}>\n <div>\n <Button\n className={cx(`ColumnToggler-modeSelect`, {\n 'is-actived': !enableSorting\n })}\n onClick={() => this.setState({enableSorting: false})}\n level=\"link\"\n >\n {__('Table.toggleColumn')}\n </Button>\n <Button\n className={cx(`ColumnToggler-modeSelect`, {\n 'is-actived': enableSorting\n })}\n onClick={() =>\n this.setState(\n {enableSorting: true},\n () =>\n this.state.enableSorting &&\n this.props.draggable &&\n this.initDragging()\n )\n }\n level=\"link\"\n disabled={tempColumns.length < 2}\n >\n {__('sort')}\n </Button>\n </div>\n <div>\n <Button className=\"mr-4\" onClick={this.close}>\n {__('cancel')}\n </Button>\n <Button level=\"primary\" onClick={this.onConfirm}>\n {__('confirm')}\n </Button>\n </div>\n </footer>\n </Modal>\n </>\n );\n }\n\n render() {\n const {\n tooltip,\n placement,\n tooltipContainer,\n tooltipTrigger,\n tooltipRootClose,\n disabledTip,\n block,\n disabled,\n btnDisabled,\n btnClassName,\n size,\n label,\n level,\n primary,\n className,\n classnames: cx,\n align,\n iconOnly,\n icon,\n isActived,\n data,\n draggable,\n hideExpandIcon\n } = this.props;\n\n const button = (\n <button\n onClick={this.toggle}\n disabled={disabled || btnDisabled}\n className={cx(\n 'Button',\n btnClassName,\n typeof level === 'undefined'\n ? 'Button--default'\n : level\n ? `Button--${level}`\n : '',\n {\n 'Button--block': block,\n 'Button--primary': primary,\n 'Button--iconOnly': iconOnly\n },\n size ? `Button--${size}` : ''\n )}\n >\n {icon ? (\n typeof icon === 'string' ? (\n <i className={cx(icon, 'm-r-xs')} />\n ) : (\n icon\n )\n ) : null}\n {typeof label === 'string' ? filter(label, data) : label}\n {hideExpandIcon || draggable ? null : (\n <span className={cx('ColumnToggler-caret')}>\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n )}\n </button>\n );\n\n return (\n <div\n className={cx(\n 'ColumnToggler',\n {\n 'ColumnToggler-block': block,\n 'ColumnToggler--alignRight': align === 'right',\n 'is-opened': this.state.isOpened,\n 'is-actived': isActived\n },\n className\n )}\n ref={this.domRef}\n >\n {draggable ? (\n button\n ) : (\n <TooltipWrapper\n placement={placement}\n tooltip={disabled ? disabledTip : tooltip}\n container={tooltipContainer}\n trigger={tooltipTrigger}\n rootClose={tooltipRootClose}\n >\n {button}\n </TooltipWrapper>\n )}\n {this.state.isOpened\n ? draggable\n ? this.renderModal()\n : this.renderOuter()\n : null}\n </div>\n );\n }\n}\n"
11
+ "import React from 'react';\nimport {findDOMNode} from 'react-dom';\nimport Sortable from 'sortablejs';\nimport cloneDeep from 'lodash/cloneDeep';\nimport {RendererProps} from '../../factory';\nimport Overlay from '../../components/Overlay';\nimport PopOver from '../../components/PopOver';\nimport Modal from '../../components/Modal';\nimport Button from '../../components/Button';\nimport Checkbox from '../../components/Checkbox';\nimport TooltipWrapper from '../../components/TooltipWrapper';\nimport type {TooltipObject} from '../../components/TooltipWrapper';\nimport {noop, autobind} from '../../utils/helper';\nimport {filter} from '../../utils/tpl';\nimport {Icon} from '../../components/icons';\nimport {RootClose} from '../../utils/RootClose';\nimport {IColumn} from '../../store/table';\n\nexport interface ColumnTogglerProps extends RendererProps {\n /**\n * 按钮文字\n */\n label?: string | React.ReactNode;\n\n /**\n * 按钮提示文字,hover focus 时显示\n */\n tooltip?: string | TooltipObject;\n\n /**\n * 禁用状态下的提示\n */\n disabledTip?: string | TooltipObject;\n\n /**\n * 点击外部是否关闭\n */\n closeOnOutside?: boolean;\n\n /**\n * 点击内容是否关闭\n */\n closeOnClick?: boolean;\n\n /**\n * 下拉菜单对齐方式\n */\n align?: 'left' | 'right';\n\n /**\n * ColumnToggler的CSS类名\n */\n className?: string;\n\n /**\n * 按钮的CSS类名\n */\n btnClassName?: string;\n\n /**\n * 按钮大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg';\n\n /**\n * 按钮级别,样式\n */\n level?: 'info' | 'success' | 'danger' | 'warning' | 'primary' | 'link';\n\n /**\n * 是否独占一行 `display: block`\n */\n block?: boolean;\n\n /**\n * 是否可通过拖拽排序\n */\n draggable?: boolean;\n\n /**\n * 默认是否展开\n */\n defaultIsOpened?: boolean;\n\n /**\n * 激活状态\n */\n isActived?: boolean;\n\n /**\n * ICON名称\n */\n icon?: string | React.ReactNode;\n\n /**\n * 是否只显示图标。\n */\n iconOnly?: boolean;\n\n /**\n * 是否隐藏展开的Icon\n */\n hideExpandIcon?: boolean;\n\n /**\n * 是否显示遮罩层\n */\n overlay?: boolean;\n\n /**\n * 列数据\n */\n columns: Array<IColumn>;\n\n onColumnToggle: (columns: Array<IColumn>) => void;\n modalContainer?: () => HTMLElement;\n}\n\nexport interface ColumnTogglerState {\n isOpened: boolean;\n enableSorting: boolean;\n tempColumns: any[];\n}\n\nexport default class ColumnToggler extends React.Component<\n ColumnTogglerProps,\n ColumnTogglerState\n> {\n state: ColumnTogglerState = {\n isOpened: false,\n enableSorting: false,\n tempColumns: cloneDeep(this.props.columns)\n };\n\n static defaultProps: Pick<\n ColumnTogglerProps,\n 'placement' | 'tooltipTrigger' | 'tooltipRootClose' | 'draggable'\n > = {\n placement: 'top',\n tooltipTrigger: ['hover', 'focus'],\n tooltipRootClose: false,\n draggable: false\n };\n\n target: any;\n sortable?: Sortable;\n dragRefDOM: HTMLElement;\n\n constructor(props: ColumnTogglerProps) {\n super(props);\n\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this.toggle = this.toggle.bind(this);\n this.domRef = this.domRef.bind(this);\n this.dragRef = this.dragRef.bind(this);\n }\n\n componentDidMount() {\n if (this.props.defaultIsOpened) {\n this.setState({\n isOpened: true\n });\n }\n }\n\n componentWillUnmount() {\n this.destroyDragging();\n }\n\n domRef(ref: any) {\n this.target = ref;\n }\n\n toggle(e: React.MouseEvent<any>) {\n e.preventDefault();\n\n this.setState({\n isOpened: !this.state.isOpened\n });\n }\n\n open() {\n this.setState({\n isOpened: true\n });\n }\n\n close() {\n this.setState({\n isOpened: false,\n enableSorting: false,\n tempColumns: cloneDeep(this.props.columns)\n });\n }\n\n swapColumnPosition(oldIndex: number, newIndex: number) {\n const columns = this.state.tempColumns;\n\n columns[oldIndex] = columns.splice(newIndex, 1, columns[oldIndex])[0];\n this.setState({tempColumns: columns});\n }\n\n updateToggledColumn(\n column: IColumn,\n index: number,\n value: any,\n shift?: boolean\n ) {\n const tempColumns = this.state.tempColumns.concat();\n\n tempColumns.splice(index, 1, {\n ...column,\n toggled: value\n });\n this.setState({tempColumns});\n }\n\n @autobind\n dragRef(ref: any) {\n const {enableSorting} = this.state;\n const {draggable} = this.props;\n\n if (enableSorting && draggable && ref) {\n this.initDragging();\n }\n }\n\n initDragging() {\n const dom = findDOMNode(this) as HTMLElement;\n const ns = this.props.classPrefix;\n\n this.sortable = new Sortable(\n dom.querySelector(`.${ns}ColumnToggler-modal-content`) as HTMLElement,\n {\n group: `ColumnToggler-modal-content`,\n animation: 150,\n handle: `.${ns}ColumnToggler-menuItem-dragBar`,\n ghostClass: `${ns}ColumnToggler-menuItem--dragging`,\n onEnd: (e: any) => {\n if (e.newIndex === e.oldIndex) {\n return;\n }\n\n const parent = e.to as HTMLElement;\n if (e.oldIndex < parent.childNodes.length - 1) {\n parent.insertBefore(e.item, parent.childNodes[e.oldIndex]);\n } else {\n parent.appendChild(e.item);\n }\n\n this.swapColumnPosition(e.oldIndex, e.newIndex);\n }\n }\n );\n }\n\n destroyDragging() {\n this.sortable && this.sortable.destroy();\n }\n\n @autobind\n onConfirm() {\n const {tempColumns} = this.state;\n const {onColumnToggle} = this.props;\n\n onColumnToggle && onColumnToggle([...tempColumns]);\n this.setState({\n isOpened: false,\n enableSorting: false\n });\n }\n\n renderOuter() {\n const {\n popOverContainer,\n classnames: cx,\n classPrefix: ns,\n children,\n closeOnClick,\n closeOnOutside\n } = this.props;\n const body = (\n <RootClose\n disabled={!this.state.isOpened}\n onRootClose={closeOnOutside !== false ? this.close : noop}\n >\n {(ref: any) => {\n return (\n <ul\n className={cx('ColumnToggler-menu')}\n onClick={closeOnClick ? this.close : noop}\n ref={ref}\n >\n {children}\n </ul>\n );\n }}\n </RootClose>\n );\n\n if (popOverContainer) {\n return (\n <Overlay container={popOverContainer} target={() => this.target} show>\n <PopOver\n overlay\n onHide={this.close}\n classPrefix={ns}\n className={cx('ColumnToggler-popover')}\n style={{minWidth: this.target?.offsetWidth}}\n >\n {body}\n </PopOver>\n </Overlay>\n );\n }\n\n return body;\n }\n\n renderModal() {\n const {\n render,\n classnames: cx,\n classPrefix: ns,\n modalContainer,\n draggable,\n overlay,\n translate: __\n } = this.props;\n\n const {enableSorting, tempColumns} = this.state;\n\n return (\n <>\n <Modal\n closeOnEsc\n onHide={this.close}\n show={this.state.isOpened}\n contentClassName={cx('ColumnToggler-modal')}\n container={modalContainer || this.target}\n overlay={typeof overlay === 'boolean' ? overlay : false}\n >\n <header className={cx('ColumnToggler-modal-header')}>\n <span className={cx('ColumnToggler-modal-title')}>列设置</span>\n <a\n data-tooltip={__('Dialog.close')}\n data-position=\"left\"\n className={cx('Modal-close')}\n onClick={this.close}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n </header>\n\n <ul className={cx('ColumnToggler-modal-content')} ref={this.dragRef}>\n {Array.isArray(tempColumns)\n ? tempColumns.map((column, index) => (\n <TooltipWrapper\n tooltipClassName={cx('ColumnToggler-tooltip')}\n placement=\"top\"\n tooltip={column.label || ''}\n trigger={enableSorting ? [] : 'hover'}\n key={column.index}\n >\n <li\n className={cx('ColumnToggler-menuItem')}\n key={column.index}\n >\n {enableSorting && draggable && tempColumns.length > 1 ? (\n <>\n <a className={cx('ColumnToggler-menuItem-dragBar')}>\n <Icon icon=\"drag-bar\" className={cx('icon')} />\n </a>\n <span>\n {column.label ? render('tpl', column.label) : null}\n </span>\n </>\n ) : (\n <Checkbox\n size=\"sm\"\n classPrefix={ns}\n checked={column.toggled}\n disabled={!column.toggable || enableSorting}\n onChange={this.updateToggledColumn.bind(\n this,\n column,\n index\n )}\n >\n <span>\n {column.label ? render('tpl', column.label) : null}\n </span>\n </Checkbox>\n )}\n </li>\n </TooltipWrapper>\n ))\n : null}\n </ul>\n\n <footer className={cx('ColumnToggler-modal-footer')}>\n <div>\n <Button\n className={cx(`ColumnToggler-modeSelect`, {\n 'is-actived': !enableSorting\n })}\n onClick={() => this.setState({enableSorting: false})}\n level=\"link\"\n >\n {__('Table.toggleColumn')}\n </Button>\n <Button\n className={cx(`ColumnToggler-modeSelect`, {\n 'is-actived': enableSorting\n })}\n onClick={() =>\n this.setState(\n {enableSorting: true},\n () =>\n this.state.enableSorting &&\n this.props.draggable &&\n this.initDragging()\n )\n }\n level=\"link\"\n disabled={tempColumns.length < 2}\n >\n {__('sort')}\n </Button>\n </div>\n <div>\n <Button className=\"mr-4\" onClick={this.close}>\n {__('cancel')}\n </Button>\n <Button level=\"primary\" onClick={this.onConfirm}>\n {__('confirm')}\n </Button>\n </div>\n </footer>\n </Modal>\n </>\n );\n }\n\n render() {\n const {\n tooltip,\n placement,\n tooltipContainer,\n tooltipTrigger,\n tooltipRootClose,\n disabledTip,\n block,\n disabled,\n btnDisabled,\n btnClassName,\n size,\n label,\n level,\n primary,\n className,\n classnames: cx,\n align,\n iconOnly,\n icon,\n isActived,\n data,\n draggable,\n hideExpandIcon\n } = this.props;\n\n const button = (\n <button\n onClick={this.toggle}\n disabled={disabled || btnDisabled}\n className={cx(\n 'Button',\n btnClassName,\n typeof level === 'undefined'\n ? 'Button--default'\n : level\n ? `Button--${level}`\n : '',\n {\n 'Button--block': block,\n 'Button--primary': primary,\n 'Button--iconOnly': iconOnly\n },\n size ? `Button--${size}` : ''\n )}\n >\n {icon ? (\n typeof icon === 'string' ? (\n <i className={cx(icon, 'm-r-xs')} />\n ) : (\n icon\n )\n ) : null}\n {typeof label === 'string' ? filter(label, data) : label}\n {hideExpandIcon || draggable ? null : (\n <span className={cx('ColumnToggler-caret')}>\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n )}\n </button>\n );\n\n return (\n <div\n className={cx(\n 'ColumnToggler',\n {\n 'ColumnToggler-block': block,\n 'ColumnToggler--alignRight': align === 'right',\n 'is-opened': this.state.isOpened,\n 'is-actived': isActived\n },\n className\n )}\n ref={this.domRef}\n >\n {draggable ? (\n button\n ) : (\n <TooltipWrapper\n placement={placement}\n tooltip={disabled ? disabledTip : tooltip}\n container={tooltipContainer}\n trigger={tooltipTrigger}\n rootClose={tooltipRootClose}\n >\n {button}\n </TooltipWrapper>\n )}\n {this.state.isOpened\n ? draggable\n ? this.renderModal()\n : this.renderOuter()\n : null}\n </div>\n );\n }\n}\n"
12
12
  ]
13
13
  }
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ClassNamesFn } from '../../theme';
3
- import { IColumn, IRow } from '../../store/table';
3
+ import { IColumn, IRow, ITableStore } from '../../store/table';
4
4
  import { SchemaNode, Action } from '../../types';
5
5
  import { LocaleProps } from '../../locale';
6
6
  import { ActionSchema } from '../Action';
@@ -37,7 +37,10 @@ export interface TableContentProps extends LocaleProps {
37
37
  prefixRow?: Array<any>;
38
38
  affixRow?: Array<any>;
39
39
  itemAction?: ActionSchema;
40
+ itemActions?: Array<Action>;
41
+ store: ITableStore;
40
42
  }
41
43
  export declare class TableContent extends React.Component<TableContentProps> {
44
+ renderItemActions(): JSX.Element | null;
42
45
  render(): JSX.Element;
43
46
  }
@@ -5,16 +5,36 @@ var tslib_1 = require("tslib");
5
5
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
6
  var TableBody_1 = require("./TableBody");
7
7
  var mobx_react_1 = require("mobx-react");
8
+ var ItemActionsWrapper_1 = (0, tslib_1.__importDefault)(require("./ItemActionsWrapper"));
8
9
  var TableContent = /** @class */ (function (_super) {
9
10
  (0, tslib_1.__extends)(TableContent, _super);
10
11
  function TableContent() {
11
12
  return _super !== null && _super.apply(this, arguments) || this;
12
13
  }
14
+ TableContent.prototype.renderItemActions = function () {
15
+ var _a = this.props, itemActions = _a.itemActions, render = _a.render, store = _a.store, cx = _a.classnames;
16
+ var finalActions = Array.isArray(itemActions)
17
+ ? itemActions.filter(function (action) { return !action.hiddenOnHover; })
18
+ : [];
19
+ if (!finalActions.length) {
20
+ return null;
21
+ }
22
+ return (react_1.default.createElement(ItemActionsWrapper_1.default, { store: store, classnames: cx },
23
+ react_1.default.createElement("div", { className: cx('Table-itemActions') }, finalActions.map(function (action, index) {
24
+ return render("itemAction/" + index, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, action), { isMenuItem: true }), {
25
+ key: index,
26
+ item: store.hoverRow,
27
+ data: store.hoverRow.locals,
28
+ rowIndex: store.hoverRow.index
29
+ });
30
+ }))));
31
+ };
13
32
  TableContent.prototype.render = function () {
14
- var _a = this.props, placeholder = _a.placeholder, cx = _a.classnames, render = _a.render, className = _a.className, columns = _a.columns, columnsGroup = _a.columnsGroup, onMouseMove = _a.onMouseMove, onScroll = _a.onScroll, tableRef = _a.tableRef, rows = _a.rows, renderHeadCell = _a.renderHeadCell, renderCell = _a.renderCell, onCheck = _a.onCheck, rowClassName = _a.rowClassName, onQuickChange = _a.onQuickChange, footable = _a.footable, footableColumns = _a.footableColumns, checkOnItemClick = _a.checkOnItemClick, buildItemProps = _a.buildItemProps, onAction = _a.onAction, rowClassNameExpr = _a.rowClassNameExpr, data = _a.data, prefixRow = _a.prefixRow, locale = _a.locale, translate = _a.translate, itemAction = _a.itemAction, affixRow = _a.affixRow;
33
+ var _a = this.props, placeholder = _a.placeholder, cx = _a.classnames, render = _a.render, className = _a.className, columns = _a.columns, columnsGroup = _a.columnsGroup, onMouseMove = _a.onMouseMove, onScroll = _a.onScroll, tableRef = _a.tableRef, rows = _a.rows, renderHeadCell = _a.renderHeadCell, renderCell = _a.renderCell, onCheck = _a.onCheck, rowClassName = _a.rowClassName, onQuickChange = _a.onQuickChange, footable = _a.footable, footableColumns = _a.footableColumns, checkOnItemClick = _a.checkOnItemClick, buildItemProps = _a.buildItemProps, onAction = _a.onAction, rowClassNameExpr = _a.rowClassNameExpr, data = _a.data, prefixRow = _a.prefixRow, locale = _a.locale, translate = _a.translate, itemAction = _a.itemAction, affixRow = _a.affixRow, store = _a.store;
15
34
  var tableClassName = cx('Table-table', this.props.tableClassName);
16
35
  var hideHeader = columns.every(function (column) { return !column.label; });
17
36
  return (react_1.default.createElement("div", { onMouseMove: onMouseMove, className: cx('Table-content', className), onScroll: onScroll },
37
+ store.hoverRow ? this.renderItemActions() : null,
18
38
  react_1.default.createElement("table", { ref: tableRef, className: tableClassName },
19
39
  react_1.default.createElement("thead", null,
20
40
  columnsGroup.length ? (react_1.default.createElement("tr", null, columnsGroup.map(function (item, index) { return (react_1.default.createElement("th", { key: index, "data-index": item.index, colSpan: item.colSpan, rowSpan: item.rowSpan }, item.label ? render('tpl', item.label) : null)); }))) : null,
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Table/TableContent.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 {ClassNamesFn} from '../../theme';\nimport {IColumn, IRow} from '../../store/table';\nimport {SchemaNode, Action} from '../../types';\nimport {TableBody} from './TableBody';\nimport {LocaleProps} from '../../locale';\nimport {observer} from 'mobx-react';\nimport {ActionSchema} from '../Action';\n\nexport interface TableContentProps extends LocaleProps {\n className?: string;\n tableClassName?: string;\n classnames: ClassNamesFn;\n columns: Array<IColumn>;\n columnsGroup: Array<{\n label: string;\n index: number;\n colSpan: number;\n rowSpan: number;\n has: Array<any>;\n }>;\n rows: Array<IRow>;\n placeholder?: string;\n render: (region: string, node: SchemaNode, props?: any) => JSX.Element;\n onMouseMove: (event: React.MouseEvent) => void;\n onScroll: (event: React.UIEvent) => void;\n tableRef: (table?: HTMLTableElement | null) => void;\n renderHeadCell: (column: IColumn, props?: any) => JSX.Element;\n renderCell: (\n region: string,\n column: IColumn,\n item: IRow,\n props: any\n ) => React.ReactNode;\n onCheck: (item: IRow, value: boolean, shift?: boolean) => void;\n onQuickChange?: (\n item: IRow,\n values: object,\n saveImmediately?: boolean | any,\n savePristine?: boolean\n ) => void;\n footable?: boolean;\n footableColumns: Array<IColumn>;\n checkOnItemClick?: boolean;\n buildItemProps?: (item: IRow, index: number) => any;\n onAction?: (e: React.UIEvent<any>, action: Action, ctx: object) => void;\n rowClassNameExpr?: string;\n rowClassName?: string;\n data?: any;\n prefixRow?: Array<any>;\n affixRow?: Array<any>;\n itemAction?: ActionSchema;\n}\n\n@observer\nexport class TableContent extends React.Component<TableContentProps> {\n render() {\n const {\n placeholder,\n classnames: cx,\n render,\n className,\n columns,\n columnsGroup,\n onMouseMove,\n onScroll,\n tableRef,\n rows,\n renderHeadCell,\n renderCell,\n onCheck,\n rowClassName,\n onQuickChange,\n footable,\n footableColumns,\n checkOnItemClick,\n buildItemProps,\n onAction,\n rowClassNameExpr,\n data,\n prefixRow,\n locale,\n translate,\n itemAction,\n affixRow\n } = this.props;\n\n const tableClassName = cx('Table-table', this.props.tableClassName);\n const hideHeader = columns.every(column => !column.label);\n\n return (\n <div\n onMouseMove={onMouseMove}\n className={cx('Table-content', className)}\n onScroll={onScroll}\n >\n <table ref={tableRef} className={tableClassName}>\n <thead>\n {columnsGroup.length ? (\n <tr>\n {columnsGroup.map((item, index) => (\n <th\n key={index}\n data-index={item.index}\n colSpan={item.colSpan}\n rowSpan={item.rowSpan}\n >\n {item.label ? render('tpl', item.label) : null}\n </th>\n ))}\n </tr>\n ) : null}\n <tr className={hideHeader ? 'fake-hide' : ''}>\n {columns.map(column =>\n columnsGroup.find(group => ~group.has.indexOf(column))\n ?.rowSpan === 2\n ? null\n : renderHeadCell(column, {\n 'data-index': column.index,\n 'key': column.index\n })\n )}\n </tr>\n </thead>\n {!rows.length ? (\n <tbody>\n <tr className={cx('Table-placeholder')}>\n <td colSpan={columns.length}>\n {render(\n 'placeholder',\n translate(placeholder || 'placeholder.noData')\n )}\n </td>\n </tr>\n </tbody>\n ) : (\n <TableBody\n itemAction={itemAction}\n classnames={cx}\n render={render}\n renderCell={renderCell}\n onCheck={onCheck}\n onQuickChange={onQuickChange}\n footable={footable}\n footableColumns={footableColumns}\n checkOnItemClick={checkOnItemClick}\n buildItemProps={buildItemProps}\n onAction={onAction}\n rowClassNameExpr={rowClassNameExpr}\n rowClassName={rowClassName}\n rows={rows}\n columns={columns}\n locale={locale}\n translate={translate}\n prefixRow={prefixRow}\n affixRow={affixRow}\n data={data}\n ></TableBody>\n )}\n </table>\n </div>\n );\n }\n}\n"
11
+ "import React from 'react';\nimport {ClassNamesFn} from '../../theme';\nimport {IColumn, IRow, ITableStore} from '../../store/table';\nimport {SchemaNode, Action} from '../../types';\nimport {TableBody} from './TableBody';\nimport {LocaleProps} from '../../locale';\nimport {observer} from 'mobx-react';\nimport {ActionSchema} from '../Action';\nimport ItemActionsWrapper from './ItemActionsWrapper';\n\nexport interface TableContentProps extends LocaleProps {\n className?: string;\n tableClassName?: string;\n classnames: ClassNamesFn;\n columns: Array<IColumn>;\n columnsGroup: Array<{\n label: string;\n index: number;\n colSpan: number;\n rowSpan: number;\n has: Array<any>;\n }>;\n rows: Array<IRow>;\n placeholder?: string;\n render: (region: string, node: SchemaNode, props?: any) => JSX.Element;\n onMouseMove: (event: React.MouseEvent) => void;\n onScroll: (event: React.UIEvent) => void;\n tableRef: (table?: HTMLTableElement | null) => void;\n renderHeadCell: (column: IColumn, props?: any) => JSX.Element;\n renderCell: (\n region: string,\n column: IColumn,\n item: IRow,\n props: any\n ) => React.ReactNode;\n onCheck: (item: IRow, value: boolean, shift?: boolean) => void;\n onQuickChange?: (\n item: IRow,\n values: object,\n saveImmediately?: boolean | any,\n savePristine?: boolean\n ) => void;\n footable?: boolean;\n footableColumns: Array<IColumn>;\n checkOnItemClick?: boolean;\n buildItemProps?: (item: IRow, index: number) => any;\n onAction?: (e: React.UIEvent<any>, action: Action, ctx: object) => void;\n rowClassNameExpr?: string;\n rowClassName?: string;\n data?: any;\n prefixRow?: Array<any>;\n affixRow?: Array<any>;\n itemAction?: ActionSchema;\n itemActions?: Array<Action>;\n store: ITableStore;\n}\n\n@observer\nexport class TableContent extends React.Component<TableContentProps> {\n renderItemActions() {\n const {itemActions, render, store, classnames: cx} = this.props;\n const finalActions = Array.isArray(itemActions)\n ? itemActions.filter(action => !action.hiddenOnHover)\n : [];\n\n if (!finalActions.length) {\n return null;\n }\n\n return (\n <ItemActionsWrapper store={store} classnames={cx}>\n <div className={cx('Table-itemActions')}>\n {finalActions.map((action, index) =>\n render(\n `itemAction/${index}`,\n {\n ...(action as any),\n isMenuItem: true\n },\n {\n key: index,\n item: store.hoverRow,\n data: store.hoverRow!.locals,\n rowIndex: store.hoverRow!.index\n }\n )\n )}\n </div>\n </ItemActionsWrapper>\n );\n }\n\n render() {\n const {\n placeholder,\n classnames: cx,\n render,\n className,\n columns,\n columnsGroup,\n onMouseMove,\n onScroll,\n tableRef,\n rows,\n renderHeadCell,\n renderCell,\n onCheck,\n rowClassName,\n onQuickChange,\n footable,\n footableColumns,\n checkOnItemClick,\n buildItemProps,\n onAction,\n rowClassNameExpr,\n data,\n prefixRow,\n locale,\n translate,\n itemAction,\n affixRow,\n store\n } = this.props;\n\n const tableClassName = cx('Table-table', this.props.tableClassName);\n const hideHeader = columns.every(column => !column.label);\n\n return (\n <div\n onMouseMove={onMouseMove}\n className={cx('Table-content', className)}\n onScroll={onScroll}\n >\n {store.hoverRow ? this.renderItemActions() : null}\n <table ref={tableRef} className={tableClassName}>\n <thead>\n {columnsGroup.length ? (\n <tr>\n {columnsGroup.map((item, index) => (\n <th\n key={index}\n data-index={item.index}\n colSpan={item.colSpan}\n rowSpan={item.rowSpan}\n >\n {item.label ? render('tpl', item.label) : null}\n </th>\n ))}\n </tr>\n ) : null}\n <tr className={hideHeader ? 'fake-hide' : ''}>\n {columns.map(column =>\n columnsGroup.find(group => ~group.has.indexOf(column))\n ?.rowSpan === 2\n ? null\n : renderHeadCell(column, {\n 'data-index': column.index,\n 'key': column.index\n })\n )}\n </tr>\n </thead>\n {!rows.length ? (\n <tbody>\n <tr className={cx('Table-placeholder')}>\n <td colSpan={columns.length}>\n {render(\n 'placeholder',\n translate(placeholder || 'placeholder.noData')\n )}\n </td>\n </tr>\n </tbody>\n ) : (\n <TableBody\n itemAction={itemAction}\n classnames={cx}\n render={render}\n renderCell={renderCell}\n onCheck={onCheck}\n onQuickChange={onQuickChange}\n footable={footable}\n footableColumns={footableColumns}\n checkOnItemClick={checkOnItemClick}\n buildItemProps={buildItemProps}\n onAction={onAction}\n rowClassNameExpr={rowClassNameExpr}\n rowClassName={rowClassName}\n rows={rows}\n columns={columns}\n locale={locale}\n translate={translate}\n prefixRow={prefixRow}\n affixRow={affixRow}\n data={data}\n ></TableBody>\n )}\n </table>\n </div>\n );\n }\n}\n"
12
12
  ]
13
13
  }
@@ -291,6 +291,11 @@ export default class Table extends React.Component<TableProps, object> {
291
291
  constructor(props: TableProps);
292
292
  static syncRows(store: ITableStore, props: TableProps, prevProps?: TableProps): boolean;
293
293
  componentDidMount(): void;
294
+ /**
295
+ * 自动设置表格高度占满界面剩余区域
296
+ * 用 css 实现有点麻烦,要改很多结构,所以先用 dom hack 了,避免对之前的功能有影响
297
+ */
298
+ updateAutoFillHeight(): void;
294
299
  componentDidUpdate(prevProps: TableProps): void;
295
300
  componentWillUnmount(): void;
296
301
  subFormRef(form: any, x: number, y: number): void;
@@ -348,7 +353,6 @@ export default class Table extends React.Component<TableProps, object> {
348
353
  renderActions(region: string): JSX.Element | null;
349
354
  renderHeader(editable?: boolean): JSX.Element | JSX.Element[] | null;
350
355
  renderFooter(): JSX.Element | JSX.Element[] | null;
351
- renderItemActions(): JSX.Element | null;
352
356
  renderTableContent(): JSX.Element;
353
357
  render(): JSX.Element;
354
358
  }