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
@@ -9,6 +9,7 @@ import './ColumnToggler';
9
9
  import Checkbox from '../../components/Checkbox';
10
10
  import Button from '../../components/Button';
11
11
  import {TableStore, ITableStore, IColumn, IRow} from '../../store/table';
12
+ import {saveAs} from 'file-saver';
12
13
  import {
13
14
  anyChanged,
14
15
  getScrollParent,
@@ -19,7 +20,8 @@ import {
19
20
  getVariable,
20
21
  removeHTMLTag,
21
22
  eachTree,
22
- isObject
23
+ isObject,
24
+ createObject
23
25
  } from '../../utils/helper';
24
26
  import {
25
27
  isPureVariable,
@@ -53,9 +55,10 @@ import {TableBody} from './TableBody';
53
55
  import {TplSchema} from '../Tpl';
54
56
  import {MappingSchema} from '../Mapping';
55
57
  import {isAlive, getSnapshot} from 'mobx-state-tree';
56
- import ItemActionsWrapper from './ItemActionsWrapper';
57
58
  import ColumnToggler from './ColumnToggler';
58
59
  import {BadgeSchema} from '../../components/Badge';
60
+ import offset from '../../utils/offset';
61
+ import {getStyleNumber} from '../../utils/dom';
59
62
 
60
63
  /**
61
64
  * 表格列,不指定类型时默认为文本类型。
@@ -422,7 +425,8 @@ export default class Table extends React.Component<TableProps, object> {
422
425
  'headerToolbarClassName',
423
426
  'toolbarClassName',
424
427
  'footerToolbarClassName',
425
- 'itemBadge'
428
+ 'itemBadge',
429
+ 'autoFillHeight'
426
430
  ];
427
431
  static defaultProps: Partial<TableProps> = {
428
432
  className: '',
@@ -497,6 +501,7 @@ export default class Table extends React.Component<TableProps, object> {
497
501
  this.subFormRef = this.subFormRef.bind(this);
498
502
  this.handleColumnToggle = this.handleColumnToggle.bind(this);
499
503
  this.renderAutoFilterForm = this.renderAutoFilterForm.bind(this);
504
+ this.updateAutoFillHeight = this.updateAutoFillHeight.bind(this);
500
505
 
501
506
  const {
502
507
  store,
@@ -607,6 +612,68 @@ export default class Table extends React.Component<TableProps, object> {
607
612
  this.affixDetect();
608
613
  parent.addEventListener('scroll', this.affixDetect);
609
614
  window.addEventListener('resize', this.affixDetect);
615
+ this.updateAutoFillHeight();
616
+ window.addEventListener('resize', this.updateAutoFillHeight);
617
+ }
618
+
619
+ /**
620
+ * 自动设置表格高度占满界面剩余区域
621
+ * 用 css 实现有点麻烦,要改很多结构,所以先用 dom hack 了,避免对之前的功能有影响
622
+ */
623
+ updateAutoFillHeight() {
624
+ const {autoFillHeight, footerToolbar, classPrefix: ns} = this.props;
625
+ if (!autoFillHeight) {
626
+ return;
627
+ }
628
+ const table = findDOMNode(this) as HTMLElement;
629
+ const tableContent = table.querySelector(
630
+ `.${ns}Table-content`
631
+ ) as HTMLElement;
632
+ const tableContentWrap = table.querySelector(
633
+ `.${ns}Table-contentWrap`
634
+ ) as HTMLElement;
635
+ const footToolbar = table.querySelector(
636
+ `.${ns}Table-footToolbar`
637
+ ) as HTMLElement;
638
+ if (!tableContent) {
639
+ return;
640
+ }
641
+
642
+ // 计算 table-content 在 dom 中的位置
643
+ const tableContentTop = offset(tableContent).top;
644
+ const viewportHeight = window.innerHeight;
645
+ // 有时候会拿不到 footToolbar?
646
+ const footToolbarHeight = footToolbar ? offset(footToolbar).height : 0;
647
+ // 有时候会拿不到 footToolbar,等一下在执行
648
+ if (!footToolbarHeight && footerToolbar && footerToolbar.length) {
649
+ setTimeout(() => {
650
+ this.updateAutoFillHeight();
651
+ }, 100);
652
+ return;
653
+ }
654
+ const tableContentWrapMarginButtom = getStyleNumber(
655
+ tableContentWrap,
656
+ 'margin-bottom'
657
+ );
658
+
659
+ // 循环计算父级节点的 pddding,这里不考虑父级节点还可能会有其它兄弟节点的情况了
660
+ let allParentPaddingButtom = 0;
661
+ let parentNode = tableContent.parentElement;
662
+ while (parentNode) {
663
+ const paddingButtom = getStyleNumber(parentNode, 'padding-bottom');
664
+ const borderBottom = getStyleNumber(parentNode, 'border-bottom-width');
665
+ allParentPaddingButtom =
666
+ allParentPaddingButtom + paddingButtom + borderBottom;
667
+ parentNode = parentNode.parentElement;
668
+ }
669
+
670
+ tableContent.style.height = `${
671
+ viewportHeight -
672
+ tableContentTop -
673
+ tableContentWrapMarginButtom -
674
+ footToolbarHeight -
675
+ allParentPaddingButtom
676
+ }px`;
610
677
  }
611
678
 
612
679
  componentDidUpdate(prevProps: TableProps) {
@@ -692,6 +759,7 @@ export default class Table extends React.Component<TableProps, object> {
692
759
  const parent = this.parentNode;
693
760
  parent && parent.removeEventListener('scroll', this.affixDetect);
694
761
  window.removeEventListener('resize', this.affixDetect);
762
+ window.removeEventListener('resize', this.updateAutoFillHeight);
695
763
  (this.updateTableInfoLazy as any).cancel();
696
764
  this.unSensor && this.unSensor();
697
765
 
@@ -881,7 +949,7 @@ export default class Table extends React.Component<TableProps, object> {
881
949
  }
882
950
 
883
951
  affixDetect() {
884
- if (!this.props.affixHeader || !this.table) {
952
+ if (!this.props.affixHeader || !this.table || this.props.autoFillHeight) {
885
953
  return;
886
954
  }
887
955
 
@@ -1373,7 +1441,7 @@ export default class Table extends React.Component<TableProps, object> {
1373
1441
  handleColumnToggle(columns: Array<IColumn>) {
1374
1442
  const {store} = this.props;
1375
1443
 
1376
- store.update({columns});
1444
+ store.updateColumns(columns);
1377
1445
  }
1378
1446
 
1379
1447
  renderAutoFilterForm(): React.ReactNode {
@@ -2087,7 +2155,6 @@ export default class Table extends React.Component<TableProps, object> {
2087
2155
  } = this.props;
2088
2156
  const __ = rest.translate;
2089
2157
  const env = rest.env;
2090
-
2091
2158
  const render = this.props.render;
2092
2159
 
2093
2160
  if (!store.columnsTogglable) {
@@ -2381,7 +2448,10 @@ export default class Table extends React.Component<TableProps, object> {
2381
2448
  } else {
2382
2449
  if ((column as TplSchema).tpl) {
2383
2450
  sheetRow.getCell(columIndex).value = removeHTMLTag(
2384
- filter((column as TplSchema).tpl, row.data)
2451
+ filter(
2452
+ (column as TplSchema).tpl,
2453
+ createObject(data, row.data)
2454
+ )
2385
2455
  );
2386
2456
  } else {
2387
2457
  sheetRow.getCell(columIndex).value = value;
@@ -2584,39 +2654,6 @@ export default class Table extends React.Component<TableProps, object> {
2584
2654
  : footerNode || toolbarNode || null;
2585
2655
  }
2586
2656
 
2587
- renderItemActions() {
2588
- const {itemActions, render, store, classnames: cx} = this.props;
2589
- const finalActions = Array.isArray(itemActions)
2590
- ? itemActions.filter(action => !action.hiddenOnHover)
2591
- : [];
2592
-
2593
- if (!finalActions.length) {
2594
- return null;
2595
- }
2596
-
2597
- return (
2598
- <ItemActionsWrapper store={store} classnames={cx}>
2599
- <div className={cx('Table-itemActions')}>
2600
- {finalActions.map((action, index) =>
2601
- render(
2602
- `itemAction/${index}`,
2603
- {
2604
- ...(action as any),
2605
- isMenuItem: true
2606
- },
2607
- {
2608
- key: index,
2609
- item: store.hoverRow,
2610
- data: store.hoverRow!.locals,
2611
- rowIndex: store.hoverRow!.index
2612
- }
2613
- )
2614
- )}
2615
- </div>
2616
- </ItemActionsWrapper>
2617
- );
2618
- }
2619
-
2620
2657
  renderTableContent() {
2621
2658
  const {
2622
2659
  classnames: cx,
@@ -2631,8 +2668,11 @@ export default class Table extends React.Component<TableProps, object> {
2631
2668
  prefixRow,
2632
2669
  locale,
2633
2670
  affixRow,
2671
+ tableContentClassName,
2634
2672
  translate,
2635
- itemAction
2673
+ itemAction,
2674
+ autoFillHeight,
2675
+ itemActions
2636
2676
  } = this.props;
2637
2677
 
2638
2678
  // 理论上来说 store.rows 应该也行啊
@@ -2643,9 +2683,13 @@ export default class Table extends React.Component<TableProps, object> {
2643
2683
  <TableContent
2644
2684
  tableClassName={cx(
2645
2685
  store.combineNum > 0 ? 'Table-table--withCombine' : '',
2686
+ {'Table-table--checkOnItemClick': checkOnItemClick},
2646
2687
  tableClassName
2647
2688
  )}
2689
+ className={tableContentClassName}
2690
+ itemActions={itemActions}
2648
2691
  itemAction={itemAction}
2692
+ store={store}
2649
2693
  classnames={cx}
2650
2694
  columns={store.filteredColumns}
2651
2695
  columnsGroup={store.columnGroup}
@@ -2681,6 +2725,7 @@ export default class Table extends React.Component<TableProps, object> {
2681
2725
  store,
2682
2726
  classnames: cx,
2683
2727
  affixColumns,
2728
+ autoFillHeight,
2684
2729
  autoGenerateFilter
2685
2730
  } = this.props;
2686
2731
 
@@ -2697,7 +2742,8 @@ export default class Table extends React.Component<TableProps, object> {
2697
2742
  return (
2698
2743
  <div
2699
2744
  className={cx('Table', className, {
2700
- 'Table--unsaved': !!store.modified || !!store.moved
2745
+ 'Table--unsaved': !!store.modified || !!store.moved,
2746
+ 'Table--autoFillHeight': autoFillHeight
2701
2747
  })}
2702
2748
  >
2703
2749
  {autoGenerateFilter ? this.renderAutoFilterForm() : null}
@@ -2734,7 +2780,6 @@ export default class Table extends React.Component<TableProps, object> {
2734
2780
  : null}
2735
2781
  </div>
2736
2782
  {this.renderTableContent()}
2737
- {store.hoverRow ? this.renderItemActions() : null}
2738
2783
  </div>
2739
2784
  {this.renderAffixHeader(tableClassName)}
2740
2785
  {footer}
@@ -374,7 +374,15 @@ export default class Tabs extends React.Component<TabsProps, TabsState> {
374
374
 
375
375
  @autobind
376
376
  handleSelect(key: any) {
377
- const {env, onSelect} = this.props;
377
+ const {env, onSelect, id} = this.props;
378
+
379
+ env.tracker?.({
380
+ eventType: 'tabChange',
381
+ eventData: {
382
+ id,
383
+ key
384
+ }
385
+ });
378
386
 
379
387
  // 是 hash,需要更新到地址栏
380
388
  if (typeof key === 'string' && env) {
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import {Renderer, RendererProps} from '../factory';
3
3
  import {BaseSchema, SchemaCollection} from '../Schema';
4
- import {resolveVariable} from '../utils/tpl-builtin';
4
+ import {resolveVariable, resolveVariableAndFilter} from '../utils/tpl-builtin';
5
5
  import mapValues from 'lodash/mapValues';
6
6
 
7
7
  /**
@@ -43,7 +43,7 @@ export default class WebComponent extends React.Component<RendererProps> {
43
43
 
44
44
  const propsValues = mapValues(props, s => {
45
45
  if (typeof s === 'string') {
46
- return resolveVariable(s, data) || s;
46
+ return resolveVariableAndFilter(s, data, '| raw') || s;
47
47
  } else {
48
48
  return s;
49
49
  }
package/src/store/form.ts CHANGED
@@ -588,14 +588,9 @@ export const FormStore = ServiceStore.named('FormStore')
588
588
  self.persistData = value;
589
589
  }
590
590
 
591
- const setLocalPersistData = debounce(
592
- () => localStorage.setItem(self.persistKey, JSON.stringify(self.data)),
593
- 250,
594
- {
595
- trailing: true,
596
- leading: false
597
- }
598
- );
591
+ const setLocalPersistData = () => {
592
+ localStorage.setItem(self.persistKey, JSON.stringify(self.data));
593
+ };
599
594
 
600
595
  function getLocalPersistData() {
601
596
  let data = localStorage.getItem(self.persistKey);
@@ -639,7 +634,6 @@ export const FormStore = ServiceStore.named('FormStore')
639
634
  clearRestError,
640
635
  beforeDestroy() {
641
636
  syncOptions.cancel();
642
- setLocalPersistData.cancel();
643
637
  }
644
638
  };
645
639
  });
@@ -617,12 +617,104 @@ export const FormItemStore = StoreNode.named('FormItemStore')
617
617
  return json;
618
618
  });
619
619
 
620
+ const tryDeferLoadLeftOptions: (
621
+ option: any,
622
+ api: Api,
623
+ data?: object,
624
+ config?: fetchOptions
625
+ ) => Promise<Payload | null> = flow(function* (
626
+ option: any,
627
+ api: string,
628
+ data: object,
629
+ config?: fetchOptions
630
+ ) {
631
+ if (
632
+ self.options.length != 1 ||
633
+ !Array.isArray(self.options[0].leftOptions)
634
+ ) {
635
+ return;
636
+ }
637
+
638
+ let leftOptions = self.options[0].leftOptions as any;
639
+
640
+ const indexes = findTreeIndex(leftOptions, item => item === option);
641
+ if (!indexes) {
642
+ return;
643
+ }
644
+
645
+ setOptions(
646
+ [
647
+ {
648
+ ...self.options[0],
649
+ leftOptions: spliceTree(leftOptions, indexes, 1, {
650
+ ...option,
651
+ loading: true
652
+ })
653
+ }
654
+ ],
655
+ undefined,
656
+ data
657
+ );
658
+
659
+ let json = yield fetchOptions(
660
+ api,
661
+ data,
662
+ {
663
+ ...config,
664
+ silent: true
665
+ },
666
+ false
667
+ );
668
+ if (!json) {
669
+ setOptions(
670
+ [
671
+ {
672
+ ...self.options[0],
673
+ leftOptions: spliceTree(leftOptions, indexes, 1, {
674
+ ...option,
675
+ loading: false,
676
+ error: true
677
+ })
678
+ }
679
+ ],
680
+ undefined,
681
+ data
682
+ );
683
+ return;
684
+ }
685
+
686
+ let options: Array<IOption> =
687
+ json.data?.options ||
688
+ json.data.items ||
689
+ json.data.rows ||
690
+ json.data ||
691
+ [];
692
+
693
+ setOptions(
694
+ [
695
+ {
696
+ ...self.options[0],
697
+ leftOptions: spliceTree(leftOptions, indexes, 1, {
698
+ ...option,
699
+ loading: false,
700
+ loaded: true,
701
+ children: options
702
+ })
703
+ }
704
+ ],
705
+ undefined,
706
+ data
707
+ );
708
+
709
+ return json;
710
+ });
711
+
620
712
  const deferLoadOptions: (
621
713
  option: any,
622
714
  api: Api,
623
715
  data?: object,
624
716
  config?: fetchOptions
625
- ) => Promise<Payload | null> = flow(function* getInitData(
717
+ ) => Promise<Payload | null> = flow(function* (
626
718
  option: any,
627
719
  api: string,
628
720
  data: object,
@@ -630,7 +722,7 @@ export const FormItemStore = StoreNode.named('FormItemStore')
630
722
  ) {
631
723
  const indexes = findTreeIndex(self.options, item => item === option);
632
724
  if (!indexes) {
633
- return;
725
+ return yield tryDeferLoadLeftOptions(option, api, data, config);
634
726
  }
635
727
 
636
728
  setOptions(
@@ -429,7 +429,7 @@ export const TableStore = iRendererStore
429
429
  }
430
430
 
431
431
  function getUnSelectedRows() {
432
- return self.rows.filter(item => !item.checked);
432
+ return flattenTree<IRow>(self.rows).filter((item: IRow) => !item.checked);
433
433
  }
434
434
 
435
435
  function getData(superData: any): any {
@@ -523,15 +523,6 @@ export const TableStore = iRendererStore
523
523
  );
524
524
  }
525
525
 
526
- function getActivedSearchableColumns() {
527
- return self.columns.filter(
528
- column =>
529
- column.searchable &&
530
- isObject(column.searchable) &&
531
- column.enableSearch
532
- );
533
- }
534
-
535
526
  return {
536
527
  get columnsData() {
537
528
  return getColumnsExceptBuiltinTypes();
@@ -613,7 +604,9 @@ export const TableStore = iRendererStore
613
604
  },
614
605
 
615
606
  get checkableRows() {
616
- return self.rows.filter(item => item.checkable);
607
+ return flattenTree<IRow>(self.rows).filter(
608
+ (item: IRow) => item.checkable
609
+ );
617
610
  },
618
611
 
619
612
  get expandableRows() {
@@ -765,6 +758,51 @@ export const TableStore = iRendererStore
765
758
  }
766
759
  }
767
760
 
761
+ function updateColumns(columns: Array<SColumn>) {
762
+ if (columns && Array.isArray(columns)) {
763
+ columns = columns.filter(column => column).concat();
764
+
765
+ if (!columns.length) {
766
+ columns.push({
767
+ type: 'text',
768
+ label: '空'
769
+ });
770
+ }
771
+
772
+ columns.unshift({
773
+ type: '__expandme',
774
+ toggable: false,
775
+ className: 'Table-expandCell'
776
+ });
777
+
778
+ columns.unshift({
779
+ type: '__checkme',
780
+ fixed: 'left',
781
+ toggable: false,
782
+ className: 'Table-checkCell'
783
+ });
784
+
785
+ columns.unshift({
786
+ type: '__dragme',
787
+ toggable: false,
788
+ className: 'Table-dragCell'
789
+ });
790
+
791
+ columns = columns.map((item, index) => ({
792
+ ...item,
793
+ index,
794
+ rawIndex: index - 3,
795
+ type: item.type || 'plain',
796
+ pristine: item.pristine || item,
797
+ toggled: item.toggled !== false,
798
+ breakpoint: item.breakpoint,
799
+ isPrimary: index === 3
800
+ }));
801
+
802
+ self.columns.replace(columns as any);
803
+ }
804
+ }
805
+
768
806
  function combineCell(arr: Array<SRow>, keys: Array<string>): Array<SRow> {
769
807
  if (!keys.length || !arr.length) {
770
808
  return arr;
@@ -987,9 +1025,10 @@ export const TableStore = iRendererStore
987
1025
 
988
1026
  function updateSelected(selected: Array<any>, valueField?: string) {
989
1027
  self.selectedRows.clear();
990
- self.rows.forEach(item => {
1028
+
1029
+ eachTree(self.rows, item => {
991
1030
  if (~selected.indexOf(item.pristine)) {
992
- self.selectedRows.push(item);
1031
+ self.selectedRows.push(item.id);
993
1032
  } else if (
994
1033
  find(
995
1034
  selected,
@@ -998,9 +1037,10 @@ export const TableStore = iRendererStore
998
1037
  a[valueField || 'value'] == item.pristine[valueField || 'value']
999
1038
  )
1000
1039
  ) {
1001
- self.selectedRows.push(item);
1040
+ self.selectedRows.push(item.id);
1002
1041
  }
1003
1042
  });
1043
+
1004
1044
  updateCheckDisable();
1005
1045
  }
1006
1046
 
@@ -1228,6 +1268,7 @@ export const TableStore = iRendererStore
1228
1268
 
1229
1269
  return {
1230
1270
  update,
1271
+ updateColumns,
1231
1272
  initRows,
1232
1273
  updateSelected,
1233
1274
  toggleAll,
package/src/types.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type {ActionSchema} from './renderers/Action';
1
2
  import {SchemaApiObject} from './Schema';
2
3
 
3
4
  export interface ApiObject extends SchemaApiObject {
@@ -30,7 +31,7 @@ export interface fetcherResult {
30
31
  }
31
32
 
32
33
  export interface fetchOptions {
33
- method?: 'get' | 'post' | 'put' | 'patch' | 'delete';
34
+ method?: 'get' | 'post' | 'put' | 'patch' | 'delete' | 'jsonp';
34
35
  successMessage?: string;
35
36
  errorMessage?: string;
36
37
  autoAppend?: boolean;
@@ -157,3 +158,59 @@ export interface JSONSchema {
157
158
  // export type ExtractProps<
158
159
  // TComponentOrTProps
159
160
  // > = TComponentOrTProps extends React.ComponentType<infer P> ? P : never;
161
+
162
+ /**
163
+ * 事件跟踪的定义
164
+ */
165
+ export interface EventTrack {
166
+ /**
167
+ * 事件类型,目前有以下几种
168
+ *
169
+ * api: 所有 fetcher 前调用
170
+ * url: 打开外部链接,组件有可能是 action 也有可能是 link
171
+ * link: 打开内部链接
172
+ * dialog: action 的弹框
173
+ * drawer: action 的抽出式弹框
174
+ * copy: action 里的复制
175
+ * reload: action 里的 reload
176
+ * email: action 里的 email
177
+ * prev: action 里的 prev
178
+ * next: action 里的 next
179
+ * cancel: action 里的 cancel
180
+ * close: action 里的 close
181
+ * submit: 有可能是 action 里的 submit,也有可能是表单提交
182
+ * confirm: action 里的 confirm
183
+ * add: action 里的 add
184
+ * reset: action 里的 reset
185
+ * reset-and-submit: action 里的 reset-and-submit
186
+ * formItemChange: 表单项内容变化
187
+ * formError: 表单验证失败
188
+ * formSubmit: 表单成功提交,在表单验证成功之后才会触发,这个可能会和 api 重合
189
+ * tabChange: tab 切换
190
+ * netError: api 报错
191
+ */
192
+ eventType:
193
+ | 'api'
194
+ | 'url'
195
+ | 'link'
196
+ | 'dialog'
197
+ | 'drawer'
198
+ | 'copy'
199
+ | 'reload'
200
+ | 'email'
201
+ | 'prev'
202
+ | 'next'
203
+ | 'cancel'
204
+ | 'close'
205
+ | 'submit'
206
+ | 'confirm'
207
+ | 'reset'
208
+ | 'reset-and-submit'
209
+ | 'formItemChange'
210
+ | 'tabChange';
211
+
212
+ /**
213
+ * 事件数据
214
+ */
215
+ eventData: ActionSchema | Api;
216
+ }