amis 1.4.2-beta.1 → 1.4.2-beta.15

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 (449) hide show
  1. package/lib/Schema.d.ts +11 -3
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/components/AnchorNav.d.ts +22 -21
  4. package/lib/components/AnchorNav.js +7 -3
  5. package/lib/components/AnchorNav.js.map +2 -2
  6. package/lib/components/ArrayInput.d.ts +84 -84
  7. package/lib/components/AssociatedSelection.d.ts +930 -0
  8. package/lib/components/AssociatedSelection.js +89 -0
  9. package/lib/components/AssociatedSelection.js.map +13 -0
  10. package/lib/components/Badge.js +2 -2
  11. package/lib/components/Badge.js.map +2 -2
  12. package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
  13. package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
  14. package/lib/components/ChainedSelection.js.map +13 -0
  15. package/lib/components/Checkbox.d.ts +20 -20
  16. package/lib/components/Collapse.d.ts +51 -23
  17. package/lib/components/Collapse.js +69 -11
  18. package/lib/components/Collapse.js.map +2 -2
  19. package/lib/components/CollapseGroup.d.ts +88 -0
  20. package/lib/components/CollapseGroup.js +81 -0
  21. package/lib/components/CollapseGroup.js.map +13 -0
  22. package/lib/components/ColorPicker.d.ts +84 -84
  23. package/lib/components/DatePicker.d.ts +84 -84
  24. package/lib/components/DateRangePicker.d.ts +84 -84
  25. package/lib/components/Editor.d.ts +84 -84
  26. package/lib/components/GridNav.d.ts +52 -0
  27. package/lib/components/GridNav.js +123 -0
  28. package/lib/components/GridNav.js.map +13 -0
  29. package/lib/components/GroupedSelection.d.ts +907 -0
  30. package/lib/components/GroupedSelection.js +48 -0
  31. package/lib/components/GroupedSelection.js.map +13 -0
  32. package/lib/components/InputBox.d.ts +22 -21
  33. package/lib/components/InputBox.js +10 -2
  34. package/lib/components/InputBox.js.map +2 -2
  35. package/lib/components/Link.d.ts +29 -36
  36. package/lib/components/Link.js +14 -15
  37. package/lib/components/Link.js.map +2 -2
  38. package/lib/components/ListGroup.d.ts +21 -21
  39. package/lib/components/ModalManager.js +1 -1
  40. package/lib/components/ModalManager.js.map +2 -2
  41. package/lib/components/MonthRangePicker.d.ts +84 -84
  42. package/lib/components/NumberInput.d.ts +20 -20
  43. package/lib/components/PickerColumn.d.ts +514 -0
  44. package/lib/components/PickerColumn.js +279 -0
  45. package/lib/components/PickerColumn.js.map +13 -0
  46. package/lib/components/PickerContainer.d.ts +513 -0
  47. package/lib/components/PickerContainer.js +96 -0
  48. package/lib/components/PickerContainer.js.map +13 -0
  49. package/lib/components/Radios.d.ts +22 -21
  50. package/lib/components/Radios.js +1 -0
  51. package/lib/components/Radios.js.map +2 -2
  52. package/lib/components/Rating.d.ts +21 -21
  53. package/lib/components/ResultBox.d.ts +84 -84
  54. package/lib/components/ResultBox.js +10 -2
  55. package/lib/components/ResultBox.js.map +2 -2
  56. package/lib/components/SearchBox.d.ts +84 -84
  57. package/lib/components/SearchBox.js +4 -4
  58. package/lib/components/SearchBox.js.map +2 -2
  59. package/lib/components/Select.d.ts +245 -237
  60. package/lib/components/Select.js +25 -4
  61. package/lib/components/Select.js.map +2 -2
  62. package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
  63. package/lib/components/Selection.js +134 -0
  64. package/lib/components/Selection.js.map +13 -0
  65. package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
  66. package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
  67. package/lib/components/TableSelection.js.map +13 -0
  68. package/lib/components/Tabs.d.ts +20 -20
  69. package/lib/components/TabsTransfer.d.ts +84 -84
  70. package/lib/components/TabsTransfer.js +9 -9
  71. package/lib/components/TabsTransfer.js.map +2 -2
  72. package/lib/components/TabsTransferPicker.d.ts +489 -0
  73. package/lib/components/TabsTransferPicker.js +60 -0
  74. package/lib/components/TabsTransferPicker.js.map +13 -0
  75. package/lib/components/Toast.d.ts +86 -85
  76. package/lib/components/Toast.js +6 -3
  77. package/lib/components/Toast.js.map +2 -2
  78. package/lib/components/Transfer.d.ts +908 -274
  79. package/lib/components/Transfer.js +31 -24
  80. package/lib/components/Transfer.js.map +2 -2
  81. package/lib/components/TransferDropDown.d.ts +488 -0
  82. package/lib/components/TransferDropDown.js +59 -0
  83. package/lib/components/TransferDropDown.js.map +13 -0
  84. package/lib/components/TransferPicker.d.ts +493 -0
  85. package/lib/components/TransferPicker.js +60 -0
  86. package/lib/components/TransferPicker.js.map +13 -0
  87. package/lib/components/Tree.d.ts +115 -84
  88. package/lib/components/Tree.js +183 -30
  89. package/lib/components/Tree.js.map +2 -2
  90. package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
  91. package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
  92. package/lib/components/TreeSelection.js.map +13 -0
  93. package/lib/components/WithRemoteConfig.js +1 -1
  94. package/lib/components/WithRemoteConfig.js.map +2 -2
  95. package/lib/components/condition-builder/Field.js +5 -2
  96. package/lib/components/condition-builder/Field.js.map +2 -2
  97. package/lib/components/condition-builder/Func.js +2 -2
  98. package/lib/components/condition-builder/Func.js.map +2 -2
  99. package/lib/components/condition-builder/InputSwitch.js +2 -2
  100. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  101. package/lib/components/condition-builder/Item.js +3 -3
  102. package/lib/components/condition-builder/Item.js.map +2 -2
  103. package/lib/components/icons.js +2 -0
  104. package/lib/components/icons.js.map +2 -2
  105. package/lib/components/index.d.ts +8 -8
  106. package/lib/components/index.js +16 -16
  107. package/lib/components/index.js.map +2 -2
  108. package/lib/envOverwrite.d.ts +1 -1
  109. package/lib/envOverwrite.js +24 -9
  110. package/lib/envOverwrite.js.map +2 -2
  111. package/lib/factory.d.ts +15 -1
  112. package/lib/factory.js +35 -6
  113. package/lib/factory.js.map +2 -2
  114. package/lib/helper.css.map +1 -1
  115. package/lib/hooks/index.d.ts +5 -0
  116. package/lib/hooks/index.js +14 -0
  117. package/lib/hooks/index.js.map +13 -0
  118. package/lib/hooks/use-set-state.d.ts +2 -0
  119. package/lib/hooks/use-set-state.js +15 -0
  120. package/lib/hooks/use-set-state.js.map +13 -0
  121. package/lib/hooks/use-touch.d.ts +16 -0
  122. package/lib/hooks/use-touch.js +73 -0
  123. package/lib/hooks/use-touch.js.map +13 -0
  124. package/lib/hooks/use-update-effect.d.ts +3 -0
  125. package/lib/hooks/use-update-effect.js +17 -0
  126. package/lib/hooks/use-update-effect.js.map +13 -0
  127. package/lib/icons/download.js +7 -0
  128. package/lib/icons/drag-bar.js +10 -3
  129. package/lib/index.d.ts +5 -0
  130. package/lib/index.js +6 -1
  131. package/lib/index.js.map +2 -2
  132. package/lib/locale/de-DE.js +2 -0
  133. package/lib/locale/de-DE.js.map +2 -2
  134. package/lib/locale/en-US.js +3 -0
  135. package/lib/locale/en-US.js.map +2 -2
  136. package/lib/locale/zh-CN.js +5 -2
  137. package/lib/locale/zh-CN.js.map +2 -2
  138. package/lib/renderers/Action.d.ts +4 -3
  139. package/lib/renderers/Action.js +17 -4
  140. package/lib/renderers/Action.js.map +2 -2
  141. package/lib/renderers/AnchorNav.d.ts +1 -0
  142. package/lib/renderers/AnchorNav.js +2 -2
  143. package/lib/renderers/AnchorNav.js.map +2 -2
  144. package/lib/renderers/Avatar.js +3 -3
  145. package/lib/renderers/Avatar.js.map +2 -2
  146. package/lib/renderers/Breadcrumb.js +1 -1
  147. package/lib/renderers/Breadcrumb.js.map +2 -2
  148. package/lib/renderers/CRUD.d.ts +9 -0
  149. package/lib/renderers/CRUD.js +24 -4
  150. package/lib/renderers/CRUD.js.map +2 -2
  151. package/lib/renderers/Card.d.ts +4 -0
  152. package/lib/renderers/Card.js +29 -23
  153. package/lib/renderers/Card.js.map +2 -2
  154. package/lib/renderers/Chart.js +1 -1
  155. package/lib/renderers/Chart.js.map +2 -2
  156. package/lib/renderers/Collapse.d.ts +25 -20
  157. package/lib/renderers/Collapse.js +10 -72
  158. package/lib/renderers/Collapse.js.map +2 -2
  159. package/lib/renderers/CollapseGroup.d.ts +42 -0
  160. package/lib/renderers/CollapseGroup.js +33 -0
  161. package/lib/renderers/CollapseGroup.js.map +13 -0
  162. package/lib/renderers/DropDownButton.js +1 -1
  163. package/lib/renderers/DropDownButton.js.map +2 -2
  164. package/lib/renderers/Form/DiffEditor.d.ts +4 -3
  165. package/lib/renderers/Form/Editor.d.ts +3 -2
  166. package/lib/renderers/Form/InputCity.d.ts +84 -84
  167. package/lib/renderers/Form/InputCity.js +7 -6
  168. package/lib/renderers/Form/InputCity.js.map +2 -2
  169. package/lib/renderers/Form/InputColor.d.ts +84 -84
  170. package/lib/renderers/Form/InputFile.d.ts +6 -0
  171. package/lib/renderers/Form/InputFile.js +28 -8
  172. package/lib/renderers/Form/InputFile.js.map +2 -2
  173. package/lib/renderers/Form/InputImage.js +11 -4
  174. package/lib/renderers/Form/InputImage.js.map +2 -2
  175. package/lib/renderers/Form/Item.d.ts +1 -1
  176. package/lib/renderers/Form/Item.js +2 -1
  177. package/lib/renderers/Form/Item.js.map +2 -2
  178. package/lib/renderers/Form/Options.js +13 -3
  179. package/lib/renderers/Form/Options.js.map +2 -2
  180. package/lib/renderers/Form/Select.d.ts +42 -4
  181. package/lib/renderers/Form/Select.js +37 -3
  182. package/lib/renderers/Form/Select.js.map +2 -2
  183. package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
  184. package/lib/renderers/Form/TabsTransferPicker.js +29 -0
  185. package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
  186. package/lib/renderers/Form/Transfer.js +18 -3
  187. package/lib/renderers/Form/Transfer.js.map +2 -2
  188. package/lib/renderers/Form/TransferPicker.d.ts +52 -0
  189. package/lib/renderers/Form/TransferPicker.js +43 -0
  190. package/lib/renderers/Form/TransferPicker.js.map +13 -0
  191. package/lib/renderers/Form/TreeSelect.js +2 -2
  192. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  193. package/lib/renderers/Form/index.d.ts +5 -0
  194. package/lib/renderers/Form/index.js +5 -3
  195. package/lib/renderers/Form/index.js.map +2 -2
  196. package/lib/renderers/Form/wrapControl.js +13 -1
  197. package/lib/renderers/Form/wrapControl.js.map +2 -2
  198. package/lib/renderers/GridNav.d.ts +99 -0
  199. package/lib/renderers/GridNav.js +82 -0
  200. package/lib/renderers/GridNav.js.map +13 -0
  201. package/lib/renderers/IFrame.js +1 -3
  202. package/lib/renderers/IFrame.js.map +2 -2
  203. package/lib/renderers/Json.d.ts +4 -0
  204. package/lib/renderers/Json.js +4 -13
  205. package/lib/renderers/Json.js.map +2 -2
  206. package/lib/renderers/Link.d.ts +4 -2
  207. package/lib/renderers/Link.js +15 -6
  208. package/lib/renderers/Link.js.map +2 -2
  209. package/lib/renderers/List.js +1 -1
  210. package/lib/renderers/List.js.map +2 -2
  211. package/lib/renderers/Mapping.d.ts +9 -2
  212. package/lib/renderers/Mapping.js +18 -6
  213. package/lib/renderers/Mapping.js.map +2 -2
  214. package/lib/renderers/Nav.d.ts +21 -21
  215. package/lib/renderers/Nav.js +39 -21
  216. package/lib/renderers/Nav.js.map +2 -2
  217. package/lib/renderers/Portlet.d.ts +125 -0
  218. package/lib/renderers/Portlet.js +156 -0
  219. package/lib/renderers/Portlet.js.map +13 -0
  220. package/lib/renderers/Property.js +2 -1
  221. package/lib/renderers/Property.js.map +2 -2
  222. package/lib/renderers/SearchBox.d.ts +6 -1
  223. package/lib/renderers/SearchBox.js +19 -5
  224. package/lib/renderers/SearchBox.js.map +2 -2
  225. package/lib/renderers/Table/TableContent.d.ts +4 -1
  226. package/lib/renderers/Table/TableContent.js +21 -1
  227. package/lib/renderers/Table/TableContent.js.map +2 -2
  228. package/lib/renderers/Table/index.d.ts +5 -1
  229. package/lib/renderers/Table/index.js +65 -30
  230. package/lib/renderers/Table/index.js.map +2 -2
  231. package/lib/renderers/Tabs.js +9 -1
  232. package/lib/renderers/Tabs.js.map +2 -2
  233. package/lib/renderers/WebComponent.js +1 -1
  234. package/lib/renderers/WebComponent.js.map +2 -2
  235. package/lib/store/combo.d.ts +2 -16
  236. package/lib/store/crud.js +3 -7
  237. package/lib/store/crud.js.map +2 -2
  238. package/lib/store/form.d.ts +1 -1
  239. package/lib/store/form.js +5 -6
  240. package/lib/store/form.js.map +2 -2
  241. package/lib/store/formItem.js +44 -4
  242. package/lib/store/formItem.js.map +2 -2
  243. package/lib/store/service.js +5 -4
  244. package/lib/store/service.js.map +2 -2
  245. package/lib/store/table.d.ts +3 -2
  246. package/lib/store/table.js +35 -12
  247. package/lib/store/table.js.map +2 -2
  248. package/lib/themes/ang-ie11.css +689 -175
  249. package/lib/themes/ang.css +689 -175
  250. package/lib/themes/ang.css.map +1 -1
  251. package/lib/themes/antd-ie11.css +689 -175
  252. package/lib/themes/antd.css +689 -175
  253. package/lib/themes/antd.css.map +1 -1
  254. package/lib/themes/cxd-ie11.css +728 -213
  255. package/lib/themes/cxd.css +728 -213
  256. package/lib/themes/cxd.css.map +1 -1
  257. package/lib/themes/dark-ie11.css +689 -175
  258. package/lib/themes/dark.css +689 -175
  259. package/lib/themes/dark.css.map +1 -1
  260. package/lib/themes/default.css +728 -213
  261. package/lib/themes/default.css.map +1 -1
  262. package/lib/types.d.ts +38 -1
  263. package/lib/types.js +0 -5
  264. package/lib/types.js.map +2 -2
  265. package/lib/utils/api.d.ts +4 -2
  266. package/lib/utils/api.js +104 -17
  267. package/lib/utils/api.js.map +2 -2
  268. package/lib/utils/dom.d.ts +4 -0
  269. package/lib/utils/dom.js +11 -1
  270. package/lib/utils/dom.js.map +2 -2
  271. package/lib/utils/helper.d.ts +8 -0
  272. package/lib/utils/helper.js +28 -2
  273. package/lib/utils/helper.js.map +2 -2
  274. package/lib/utils/icon.js +3 -0
  275. package/lib/utils/icon.js.map +2 -2
  276. package/package.json +1 -1
  277. package/schema.json +3326 -836
  278. package/scss/_mixins.scss +1 -3
  279. package/scss/_properties.scss +25 -1
  280. package/scss/base/_common.scss +3 -0
  281. package/scss/base/_normalize.scss +2 -0
  282. package/scss/components/_anchor-nav.scss +89 -29
  283. package/scss/components/_card.scss +8 -14
  284. package/scss/components/_collapse-group.scss +11 -0
  285. package/scss/components/_collapse.scss +48 -22
  286. package/scss/components/_grid-nav.scss +128 -0
  287. package/scss/components/_input-box.scss +1 -0
  288. package/scss/components/_mapping.scss +6 -0
  289. package/scss/components/_nav.scss +2 -2
  290. package/scss/components/_picker-columns.scss +124 -0
  291. package/scss/components/_popover.scss +13 -0
  292. package/scss/components/_portlet.scss +51 -0
  293. package/scss/components/_result-box.scss +1 -0
  294. package/scss/components/_spinner.scss +5 -4
  295. package/scss/components/_status.scss +1 -1
  296. package/scss/components/_table.scss +32 -0
  297. package/scss/components/form/_checks.scss +0 -351
  298. package/scss/components/form/_combo.scss +4 -0
  299. package/scss/components/form/_fieldset.scss +5 -1
  300. package/scss/components/form/_file.scss +11 -0
  301. package/scss/components/form/_form.scss +48 -0
  302. package/scss/components/form/_selection.scss +354 -0
  303. package/scss/components/form/_transfer.scss +75 -18
  304. package/scss/components/form/_tree.scss +42 -0
  305. package/scss/themes/_common.scss +7 -0
  306. package/scss/themes/_cxd-variables.scss +8 -6
  307. package/scss/themes/cxd.scss +17 -12
  308. package/sdk/ang-ie11.css +786 -196
  309. package/sdk/ang.css +820 -213
  310. package/sdk/antd-ie11.css +786 -196
  311. package/sdk/antd.css +820 -213
  312. package/sdk/charts.js +13 -13
  313. package/sdk/color-picker.js +65 -69
  314. package/sdk/cropperjs.js +2 -2
  315. package/sdk/cxd-ie11.css +825 -236
  316. package/sdk/cxd.css +862 -254
  317. package/sdk/dark-ie11.css +787 -197
  318. package/sdk/dark.css +820 -213
  319. package/sdk/exceljs.js +1 -1
  320. package/sdk/helper.css.map +1 -1
  321. package/sdk/iconfont.svg +2513 -0
  322. package/sdk/iconfont.ttf +0 -0
  323. package/sdk/iconfont.woff +0 -0
  324. package/sdk/locale/de-DE.js +2 -0
  325. package/sdk/markdown.js +69 -69
  326. package/sdk/papaparse.js +1 -1
  327. package/sdk/renderers/Form/CityDB.js +1 -1
  328. package/sdk/rest.js +20 -28
  329. package/sdk/rich-text.js +62 -62
  330. package/sdk/sdk-ie11.css +825 -236
  331. package/sdk/sdk.css +862 -254
  332. package/sdk/sdk.js +1243 -1175
  333. package/sdk/thirds/hls.js/hls.js +1 -1
  334. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  335. package/sdk/tinymce.js +57 -57
  336. package/src/Schema.ts +19 -1
  337. package/src/components/AnchorNav.tsx +15 -4
  338. package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +43 -37
  339. package/src/components/Badge.tsx +3 -3
  340. package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
  341. package/src/components/Collapse.tsx +144 -20
  342. package/src/components/CollapseGroup.tsx +130 -0
  343. package/src/components/GridNav.tsx +233 -0
  344. package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
  345. package/src/components/InputBox.tsx +10 -9
  346. package/src/components/Link.tsx +28 -37
  347. package/src/components/ModalManager.ts +1 -1
  348. package/src/components/PickerColumn.tsx +429 -0
  349. package/src/components/PickerContainer.tsx +128 -0
  350. package/src/components/Radios.tsx +3 -8
  351. package/src/components/ResultBox.tsx +9 -9
  352. package/src/components/SearchBox.tsx +4 -5
  353. package/src/components/Select.tsx +57 -5
  354. package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
  355. package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
  356. package/src/components/TabsTransfer.tsx +13 -7
  357. package/src/components/TabsTransferPicker.tsx +85 -0
  358. package/src/components/Toast.tsx +23 -16
  359. package/src/components/Transfer.tsx +71 -50
  360. package/src/components/TransferDropDown.tsx +120 -0
  361. package/src/components/TransferPicker.tsx +91 -0
  362. package/src/components/Tree.tsx +194 -8
  363. package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
  364. package/src/components/WithRemoteConfig.tsx +7 -2
  365. package/src/components/condition-builder/Field.tsx +5 -5
  366. package/src/components/condition-builder/Func.tsx +3 -3
  367. package/src/components/condition-builder/InputSwitch.tsx +3 -3
  368. package/src/components/condition-builder/Item.tsx +5 -12
  369. package/src/components/icons.tsx +2 -0
  370. package/src/components/index.tsx +13 -13
  371. package/src/envOverwrite.ts +20 -8
  372. package/src/factory.tsx +70 -9
  373. package/src/hooks/index.ts +5 -0
  374. package/src/hooks/use-set-state.ts +19 -0
  375. package/src/hooks/use-touch.ts +100 -0
  376. package/src/hooks/use-update-effect.ts +16 -0
  377. package/src/icons/download.svg +4 -0
  378. package/src/icons/drag-bar.svg +12 -6
  379. package/src/index.tsx +5 -0
  380. package/src/locale/de-DE.ts +2 -0
  381. package/src/locale/en-US.ts +3 -0
  382. package/src/locale/zh-CN.ts +5 -2
  383. package/src/renderers/Action.tsx +28 -2
  384. package/src/renderers/AnchorNav.tsx +4 -0
  385. package/src/renderers/Avatar.tsx +8 -4
  386. package/src/renderers/Breadcrumb.tsx +5 -1
  387. package/src/renderers/CRUD.tsx +33 -3
  388. package/src/renderers/Card.tsx +63 -34
  389. package/src/renderers/Chart.tsx +6 -2
  390. package/src/renderers/Collapse.tsx +70 -115
  391. package/src/renderers/CollapseGroup.tsx +80 -0
  392. package/src/renderers/DropDownButton.tsx +1 -1
  393. package/src/renderers/Form/InputCity.tsx +4 -8
  394. package/src/renderers/Form/InputFile.tsx +65 -24
  395. package/src/renderers/Form/InputImage.tsx +11 -3
  396. package/src/renderers/Form/Item.tsx +3 -2
  397. package/src/renderers/Form/Options.tsx +16 -2
  398. package/src/renderers/Form/Select.tsx +162 -21
  399. package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
  400. package/src/renderers/Form/Transfer.tsx +19 -4
  401. package/src/renderers/Form/TransferPicker.tsx +145 -0
  402. package/src/renderers/Form/TreeSelect.tsx +25 -0
  403. package/src/renderers/Form/index.tsx +15 -2
  404. package/src/renderers/Form/wrapControl.tsx +26 -1
  405. package/src/renderers/GridNav.tsx +204 -0
  406. package/src/renderers/IFrame.tsx +2 -4
  407. package/src/renderers/Json.tsx +9 -9
  408. package/src/renderers/Link.tsx +27 -13
  409. package/src/renderers/List.tsx +1 -1
  410. package/src/renderers/Mapping.tsx +27 -11
  411. package/src/renderers/Nav.tsx +108 -60
  412. package/src/renderers/Portlet.tsx +423 -0
  413. package/src/renderers/Property.tsx +3 -2
  414. package/src/renderers/SearchBox.tsx +23 -4
  415. package/src/renderers/Table/TableContent.tsx +40 -2
  416. package/src/renderers/Table/index.tsx +88 -43
  417. package/src/renderers/Tabs.tsx +9 -1
  418. package/src/renderers/WebComponent.tsx +2 -2
  419. package/src/store/crud.ts +3 -8
  420. package/src/store/form.ts +5 -10
  421. package/src/store/formItem.ts +94 -2
  422. package/src/store/service.ts +5 -4
  423. package/src/store/table.ts +55 -14
  424. package/src/types.ts +58 -1
  425. package/src/utils/api.ts +133 -26
  426. package/src/utils/dom.tsx +12 -0
  427. package/src/utils/helper.ts +27 -0
  428. package/src/utils/icon.tsx +4 -0
  429. package/tsconfig-for-declaration.json +1 -1
  430. package/dump.rdb +0 -0
  431. package/lib/components/AssociatedCheckboxes.d.ts +0 -762
  432. package/lib/components/AssociatedCheckboxes.js +0 -90
  433. package/lib/components/AssociatedCheckboxes.js.map +0 -13
  434. package/lib/components/ChainedCheckboxes.js.map +0 -13
  435. package/lib/components/Checkboxes.js +0 -101
  436. package/lib/components/Checkboxes.js.map +0 -13
  437. package/lib/components/ListCheckboxes.d.ts +0 -739
  438. package/lib/components/ListCheckboxes.js +0 -48
  439. package/lib/components/ListCheckboxes.js.map +0 -13
  440. package/lib/components/ListRadios.d.ts +0 -763
  441. package/lib/components/ListRadios.js +0 -86
  442. package/lib/components/ListRadios.js.map +0 -13
  443. package/lib/components/TableCheckboxes.js.map +0 -13
  444. package/lib/components/TreeCheckboxes.js.map +0 -13
  445. package/lib/components/TreeRadios.d.ts +0 -838
  446. package/lib/components/TreeRadios.js +0 -116
  447. package/lib/components/TreeRadios.js.map +0 -13
  448. package/src/components/ListRadios.tsx +0 -159
  449. 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/crud.ts CHANGED
@@ -21,6 +21,7 @@ import {
21
21
  import {Api, Payload, fetchOptions, Action, ApiObject} from '../types';
22
22
  import pick from 'lodash/pick';
23
23
  import {resolveVariableAndFilter} from '../utils/tpl-builtin';
24
+ import {normalizeApiResponseData} from '../utils/api';
24
25
 
25
26
  class ServerError extends Error {
26
27
  type = 'ServerError';
@@ -228,13 +229,7 @@ export const CRUDStore = ServiceStore.named('CRUDStore')
228
229
  }
229
230
 
230
231
  self.updatedAt = Date.now();
231
- let result = json.data;
232
-
233
- if (Array.isArray(result)) {
234
- result = {
235
- items: result
236
- };
237
- }
232
+ let result = normalizeApiResponseData(json.data);
238
233
 
239
234
  const {
240
235
  total,
@@ -384,7 +379,7 @@ export const CRUDStore = ServiceStore.named('CRUDStore')
384
379
 
385
380
  if (!isEmpty(json.data) || json.ok) {
386
381
  self.updateData(
387
- json.data,
382
+ normalizeApiResponseData(json.data),
388
383
  {
389
384
  __saved: Date.now()
390
385
  },
package/src/store/form.ts CHANGED
@@ -29,6 +29,7 @@ import isEqual from 'lodash/isEqual';
29
29
  import flatten from 'lodash/flatten';
30
30
  import {getStoreById, removeStore} from './manager';
31
31
  import {filter} from '../utils/tpl';
32
+ import {normalizeApiResponseData} from '../utils/api';
32
33
 
33
34
  export const FormStore = ServiceStore.named('FormStore')
34
35
  .props({
@@ -305,7 +306,7 @@ export const FormStore = ServiceStore.named('FormStore')
305
306
  self.updatedAt = Date.now();
306
307
 
307
308
  setValues(
308
- json.data,
309
+ normalizeApiResponseData(json.data),
309
310
  json.ok
310
311
  ? {
311
312
  __saved: Date.now()
@@ -587,14 +588,9 @@ export const FormStore = ServiceStore.named('FormStore')
587
588
  self.persistData = value;
588
589
  }
589
590
 
590
- const setLocalPersistData = debounce(
591
- () => localStorage.setItem(self.persistKey, JSON.stringify(self.data)),
592
- 250,
593
- {
594
- trailing: true,
595
- leading: false
596
- }
597
- );
591
+ const setLocalPersistData = () => {
592
+ localStorage.setItem(self.persistKey, JSON.stringify(self.data));
593
+ };
598
594
 
599
595
  function getLocalPersistData() {
600
596
  let data = localStorage.getItem(self.persistKey);
@@ -638,7 +634,6 @@ export const FormStore = ServiceStore.named('FormStore')
638
634
  clearRestError,
639
635
  beforeDestroy() {
640
636
  syncOptions.cancel();
641
- setLocalPersistData.cancel();
642
637
  }
643
638
  };
644
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(self.options, 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(self.options, 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(
@@ -3,6 +3,7 @@ import {iRendererStore} from './iRenderer';
3
3
  import {Api, ApiObject, Payload, fetchOptions} from '../types';
4
4
  import {extendObject, isEmpty, isObject} from '../utils/helper';
5
5
  import {ServerError} from '../utils/errors';
6
+ import {normalizeApiResponseData} from '../utils/api';
6
7
 
7
8
  export const ServiceStore = iRendererStore
8
9
  .named('ServiceStore')
@@ -96,7 +97,7 @@ export const ServiceStore = iRendererStore
96
97
  let replace = !!(api as ApiObject).replaceData;
97
98
  let data = {
98
99
  ...(replace ? {} : self.data),
99
- ...json.data
100
+ ...normalizeApiResponseData(json.data)
100
101
  };
101
102
  reInitData(data, replace);
102
103
  self.hasRemoteData = true;
@@ -176,7 +177,7 @@ export const ServiceStore = iRendererStore
176
177
 
177
178
  json.data &&
178
179
  self.updateData(
179
- json.data,
180
+ normalizeApiResponseData(json.data),
180
181
  undefined,
181
182
  !!(api as ApiObject).replaceData
182
183
  );
@@ -264,7 +265,7 @@ export const ServiceStore = iRendererStore
264
265
 
265
266
  json.data &&
266
267
  self.updateData(
267
- json.data,
268
+ normalizeApiResponseData(json.data),
268
269
  undefined,
269
270
  !!(api as ApiObject).replaceData
270
271
  );
@@ -406,7 +407,7 @@ export const ServiceStore = iRendererStore
406
407
  : {
407
408
  type: 'wrapper',
408
409
  wrap: false,
409
- ...json.data
410
+ ...normalizeApiResponseData(json.data)
410
411
  };
411
412
  self.schemaKey = '' + Date.now();
412
413
  isObject(json.data.data) &&
@@ -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,