amis 1.4.1 → 1.4.2-beta.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (516) hide show
  1. package/README.md +1 -1
  2. package/lib/Schema.d.ts +26 -2
  3. package/lib/Schema.js.map +1 -1
  4. package/lib/components/Alert.js +3 -1
  5. package/lib/components/Alert.js.map +2 -2
  6. package/lib/components/AnchorNav.d.ts +22 -21
  7. package/lib/components/AnchorNav.js +7 -3
  8. package/lib/components/AnchorNav.js.map +2 -2
  9. package/lib/components/ArrayInput.d.ts +84 -84
  10. package/lib/components/AssociatedSelection.d.ts +930 -0
  11. package/lib/components/AssociatedSelection.js +89 -0
  12. package/lib/components/AssociatedSelection.js.map +13 -0
  13. package/lib/components/Badge.d.ts +2 -2
  14. package/lib/components/Badge.js +13 -7
  15. package/lib/components/Badge.js.map +2 -2
  16. package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
  17. package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
  18. package/lib/components/ChainedSelection.js.map +13 -0
  19. package/lib/components/Collapse.js +1 -1
  20. package/lib/components/Collapse.js.map +2 -2
  21. package/lib/components/ColorPicker.d.ts +84 -84
  22. package/lib/components/DatePicker.d.ts +84 -84
  23. package/lib/components/DatePicker.js +1 -1
  24. package/lib/components/DatePicker.js.map +2 -2
  25. package/lib/components/DateRangePicker.d.ts +84 -84
  26. package/lib/components/DateRangePicker.js +1 -1
  27. package/lib/components/DateRangePicker.js.map +2 -2
  28. package/lib/components/Editor.d.ts +84 -84
  29. package/lib/components/GroupedSelection.d.ts +907 -0
  30. package/lib/components/GroupedSelection.js +48 -0
  31. package/lib/components/GroupedSelection.js.map +13 -0
  32. package/lib/components/InputBox.d.ts +22 -21
  33. package/lib/components/InputBox.js +11 -3
  34. package/lib/components/InputBox.js.map +2 -2
  35. package/lib/components/Link.d.ts +84 -0
  36. package/lib/components/Link.js +43 -0
  37. package/lib/components/Link.js.map +13 -0
  38. package/lib/components/ListGroup.d.ts +21 -21
  39. package/lib/components/ModalManager.js +1 -1
  40. package/lib/components/ModalManager.js.map +2 -2
  41. package/lib/components/MonthRangePicker.d.ts +84 -84
  42. package/lib/components/MonthRangePicker.js +1 -1
  43. package/lib/components/MonthRangePicker.js.map +2 -2
  44. package/lib/components/NumberInput.d.ts +20 -20
  45. package/lib/components/PickerColumn.d.ts +514 -0
  46. package/lib/components/PickerColumn.js +279 -0
  47. package/lib/components/PickerColumn.js.map +13 -0
  48. package/lib/components/PickerContainer.d.ts +513 -0
  49. package/lib/components/PickerContainer.js +96 -0
  50. package/lib/components/PickerContainer.js.map +13 -0
  51. package/lib/components/Radios.d.ts +22 -21
  52. package/lib/components/Radios.js +1 -0
  53. package/lib/components/Radios.js.map +2 -2
  54. package/lib/components/Rating.d.ts +21 -21
  55. package/lib/components/ResultBox.d.ts +84 -84
  56. package/lib/components/ResultBox.js +10 -2
  57. package/lib/components/ResultBox.js.map +2 -2
  58. package/lib/components/RichText.js +17 -53
  59. package/lib/components/RichText.js.map +2 -2
  60. package/lib/components/SearchBox.d.ts +84 -84
  61. package/lib/components/SearchBox.js +4 -4
  62. package/lib/components/SearchBox.js.map +2 -2
  63. package/lib/components/Select.d.ts +245 -237
  64. package/lib/components/Select.js +28 -4
  65. package/lib/components/Select.js.map +2 -2
  66. package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
  67. package/lib/components/Selection.js +134 -0
  68. package/lib/components/Selection.js.map +13 -0
  69. package/lib/components/SparkLine.d.ts +85 -84
  70. package/lib/components/SparkLine.js +2 -2
  71. package/lib/components/SparkLine.js.map +2 -2
  72. package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
  73. package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
  74. package/lib/components/TableSelection.js.map +13 -0
  75. package/lib/components/Tabs.d.ts +20 -20
  76. package/lib/components/TabsTransfer.d.ts +84 -84
  77. package/lib/components/TabsTransfer.js +9 -9
  78. package/lib/components/TabsTransfer.js.map +2 -2
  79. package/lib/components/TabsTransferPicker.d.ts +489 -0
  80. package/lib/components/TabsTransferPicker.js +60 -0
  81. package/lib/components/TabsTransferPicker.js.map +13 -0
  82. package/lib/components/Toast.js +2 -2
  83. package/lib/components/Toast.js.map +2 -2
  84. package/lib/components/Transfer.d.ts +908 -274
  85. package/lib/components/Transfer.js +31 -24
  86. package/lib/components/Transfer.js.map +2 -2
  87. package/lib/components/TransferDropDown.d.ts +488 -0
  88. package/lib/components/TransferDropDown.js +59 -0
  89. package/lib/components/TransferDropDown.js.map +13 -0
  90. package/lib/components/TransferPicker.d.ts +493 -0
  91. package/lib/components/TransferPicker.js +60 -0
  92. package/lib/components/TransferPicker.js.map +13 -0
  93. package/lib/components/Tree.d.ts +84 -84
  94. package/lib/components/Tree.js +5 -3
  95. package/lib/components/Tree.js.map +2 -2
  96. package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
  97. package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
  98. package/lib/components/TreeSelection.js.map +13 -0
  99. package/lib/components/WithRemoteConfig.js +1 -1
  100. package/lib/components/WithRemoteConfig.js.map +2 -2
  101. package/lib/components/condition-builder/Field.js +5 -2
  102. package/lib/components/condition-builder/Field.js.map +2 -2
  103. package/lib/components/condition-builder/Func.js +2 -2
  104. package/lib/components/condition-builder/Func.js.map +2 -2
  105. package/lib/components/condition-builder/InputSwitch.js +2 -2
  106. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  107. package/lib/components/condition-builder/Item.js +3 -3
  108. package/lib/components/condition-builder/Item.js.map +2 -2
  109. package/lib/components/icons.js +14 -0
  110. package/lib/components/icons.js.map +2 -2
  111. package/lib/components/index.d.ts +8 -8
  112. package/lib/components/index.js +16 -16
  113. package/lib/components/index.js.map +2 -2
  114. package/lib/envOverwrite.js.map +2 -2
  115. package/lib/factory.d.ts +4 -0
  116. package/lib/factory.js +4 -2
  117. package/lib/factory.js.map +2 -2
  118. package/lib/helper.css.map +1 -1
  119. package/lib/hooks/index.d.ts +5 -0
  120. package/lib/hooks/index.js +14 -0
  121. package/lib/hooks/index.js.map +13 -0
  122. package/lib/hooks/use-set-state.d.ts +2 -0
  123. package/lib/hooks/use-set-state.js +15 -0
  124. package/lib/hooks/use-set-state.js.map +13 -0
  125. package/lib/hooks/use-touch.d.ts +16 -0
  126. package/lib/hooks/use-touch.js +73 -0
  127. package/lib/hooks/use-touch.js.map +13 -0
  128. package/lib/hooks/use-update-effect.d.ts +3 -0
  129. package/lib/hooks/use-update-effect.js +17 -0
  130. package/lib/hooks/use-update-effect.js.map +13 -0
  131. package/lib/icons/clock.js +10 -0
  132. package/lib/icons/download.js +7 -0
  133. package/lib/icons/status-close.js +11 -0
  134. package/lib/icons/status-fail.js +11 -0
  135. package/lib/icons/status-info.js +10 -0
  136. package/lib/icons/status-success.js +11 -0
  137. package/lib/icons/status-warning.js +10 -0
  138. package/lib/index.d.ts +3 -0
  139. package/lib/index.js +4 -1
  140. package/lib/index.js.map +2 -2
  141. package/lib/locale/de-DE.js +4 -0
  142. package/lib/locale/de-DE.js.map +2 -2
  143. package/lib/locale/en-US.js +5 -0
  144. package/lib/locale/en-US.js.map +2 -2
  145. package/lib/locale/zh-CN.js +8 -3
  146. package/lib/locale/zh-CN.js.map +2 -2
  147. package/lib/renderers/Action.d.ts +8 -0
  148. package/lib/renderers/Action.js +17 -4
  149. package/lib/renderers/Action.js.map +2 -2
  150. package/lib/renderers/AnchorNav.d.ts +1 -0
  151. package/lib/renderers/AnchorNav.js +2 -2
  152. package/lib/renderers/AnchorNav.js.map +2 -2
  153. package/lib/renderers/Avatar.js +3 -3
  154. package/lib/renderers/Avatar.js.map +2 -2
  155. package/lib/renderers/Breadcrumb.js +1 -1
  156. package/lib/renderers/Breadcrumb.js.map +2 -2
  157. package/lib/renderers/CRUD.d.ts +9 -0
  158. package/lib/renderers/CRUD.js +43 -8
  159. package/lib/renderers/CRUD.js.map +2 -2
  160. package/lib/renderers/Card.d.ts +4 -0
  161. package/lib/renderers/Card.js +29 -23
  162. package/lib/renderers/Card.js.map +2 -2
  163. package/lib/renderers/Chart.js +1 -1
  164. package/lib/renderers/Chart.js.map +2 -2
  165. package/lib/renderers/Collapse.js +3 -2
  166. package/lib/renderers/Collapse.js.map +2 -2
  167. package/lib/renderers/Dialog.js +0 -3
  168. package/lib/renderers/Dialog.js.map +2 -2
  169. package/lib/renderers/Drawer.js +0 -3
  170. package/lib/renderers/Drawer.js.map +2 -2
  171. package/lib/renderers/DropDownButton.d.ts +5 -1
  172. package/lib/renderers/DropDownButton.js +8 -6
  173. package/lib/renderers/DropDownButton.js.map +2 -2
  174. package/lib/renderers/Form/Checkbox.d.ts +5 -0
  175. package/lib/renderers/Form/Checkbox.js +4 -0
  176. package/lib/renderers/Form/Checkbox.js.map +2 -2
  177. package/lib/renderers/Form/Combo.js +2 -2
  178. package/lib/renderers/Form/Combo.js.map +2 -2
  179. package/lib/renderers/Form/DiffEditor.d.ts +4 -3
  180. package/lib/renderers/Form/Editor.d.ts +3 -2
  181. package/lib/renderers/Form/InputCity.d.ts +84 -84
  182. package/lib/renderers/Form/InputCity.js +7 -6
  183. package/lib/renderers/Form/InputCity.js.map +2 -2
  184. package/lib/renderers/Form/InputColor.d.ts +84 -84
  185. package/lib/renderers/Form/InputFile.d.ts +6 -0
  186. package/lib/renderers/Form/InputFile.js +30 -10
  187. package/lib/renderers/Form/InputFile.js.map +2 -2
  188. package/lib/renderers/Form/InputImage.js +16 -7
  189. package/lib/renderers/Form/InputImage.js.map +2 -2
  190. package/lib/renderers/Form/Item.d.ts +1 -1
  191. package/lib/renderers/Form/Item.js.map +1 -1
  192. package/lib/renderers/Form/Options.js +19 -6
  193. package/lib/renderers/Form/Options.js.map +2 -2
  194. package/lib/renderers/Form/Picker.js +2 -2
  195. package/lib/renderers/Form/Picker.js.map +2 -2
  196. package/lib/renderers/Form/Select.d.ts +42 -4
  197. package/lib/renderers/Form/Select.js +37 -3
  198. package/lib/renderers/Form/Select.js.map +2 -2
  199. package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
  200. package/lib/renderers/Form/TabsTransferPicker.js +29 -0
  201. package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
  202. package/lib/renderers/Form/Transfer.js +18 -3
  203. package/lib/renderers/Form/Transfer.js.map +2 -2
  204. package/lib/renderers/Form/TransferPicker.d.ts +52 -0
  205. package/lib/renderers/Form/TransferPicker.js +43 -0
  206. package/lib/renderers/Form/TransferPicker.js.map +13 -0
  207. package/lib/renderers/Form/TreeSelect.js +2 -2
  208. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  209. package/lib/renderers/Form/index.d.ts +5 -0
  210. package/lib/renderers/Form/index.js +5 -3
  211. package/lib/renderers/Form/index.js.map +2 -2
  212. package/lib/renderers/Form/wrapControl.js +15 -3
  213. package/lib/renderers/Form/wrapControl.js.map +2 -2
  214. package/lib/renderers/IFrame.js +3 -5
  215. package/lib/renderers/IFrame.js.map +2 -2
  216. package/lib/renderers/Image.d.ts +1 -0
  217. package/lib/renderers/Image.js +15 -1
  218. package/lib/renderers/Image.js.map +2 -2
  219. package/lib/renderers/Json.d.ts +4 -0
  220. package/lib/renderers/Json.js +4 -13
  221. package/lib/renderers/Json.js.map +2 -2
  222. package/lib/renderers/Link.d.ts +18 -3
  223. package/lib/renderers/Link.js +27 -15
  224. package/lib/renderers/Link.js.map +2 -2
  225. package/lib/renderers/List.js +1 -1
  226. package/lib/renderers/List.js.map +2 -2
  227. package/lib/renderers/Log.d.ts +2 -2
  228. package/lib/renderers/Log.js +7 -1
  229. package/lib/renderers/Log.js.map +2 -2
  230. package/lib/renderers/Mapping.d.ts +9 -2
  231. package/lib/renderers/Mapping.js +18 -6
  232. package/lib/renderers/Mapping.js.map +2 -2
  233. package/lib/renderers/Nav.d.ts +62 -36
  234. package/lib/renderers/Nav.js +272 -96
  235. package/lib/renderers/Nav.js.map +2 -2
  236. package/lib/renderers/Portlet.d.ts +125 -0
  237. package/lib/renderers/Portlet.js +156 -0
  238. package/lib/renderers/Portlet.js.map +13 -0
  239. package/lib/renderers/Property.js +2 -1
  240. package/lib/renderers/Property.js.map +2 -2
  241. package/lib/renderers/SearchBox.d.ts +6 -1
  242. package/lib/renderers/SearchBox.js +19 -5
  243. package/lib/renderers/SearchBox.js.map +2 -2
  244. package/lib/renderers/SparkLine.d.ts +4 -0
  245. package/lib/renderers/SparkLine.js.map +2 -2
  246. package/lib/renderers/Table/ColumnToggler.d.ts +113 -0
  247. package/lib/renderers/Table/ColumnToggler.js +216 -0
  248. package/lib/renderers/Table/ColumnToggler.js.map +13 -0
  249. package/lib/renderers/Table/ItemActionsWrapper.d.ts +11 -0
  250. package/lib/renderers/Table/ItemActionsWrapper.js +31 -0
  251. package/lib/renderers/Table/ItemActionsWrapper.js.map +13 -0
  252. package/lib/renderers/Table/TableBody.d.ts +4 -0
  253. package/lib/renderers/Table/TableCell.js +3 -1
  254. package/lib/renderers/Table/TableCell.js.map +2 -2
  255. package/lib/renderers/Table/TableContent.d.ts +4 -1
  256. package/lib/renderers/Table/TableContent.js +21 -1
  257. package/lib/renderers/Table/TableContent.js.map +2 -2
  258. package/lib/renderers/Table/index.d.ts +19 -2
  259. package/lib/renderers/Table/index.js +172 -57
  260. package/lib/renderers/Table/index.js.map +2 -2
  261. package/lib/renderers/Tabs.js +9 -1
  262. package/lib/renderers/Tabs.js.map +2 -2
  263. package/lib/renderers/WebComponent.js +1 -1
  264. package/lib/renderers/WebComponent.js.map +2 -2
  265. package/lib/store/combo.d.ts +2 -16
  266. package/lib/store/crud.js +3 -7
  267. package/lib/store/crud.js.map +2 -2
  268. package/lib/store/form.d.ts +1 -1
  269. package/lib/store/form.js +5 -6
  270. package/lib/store/form.js.map +2 -2
  271. package/lib/store/service.js +5 -4
  272. package/lib/store/service.js.map +2 -2
  273. package/lib/store/table.d.ts +260 -3
  274. package/lib/store/table.js +69 -11
  275. package/lib/store/table.js.map +2 -2
  276. package/lib/themes/ang-ie11.css +888 -238
  277. package/lib/themes/ang.css +888 -238
  278. package/lib/themes/ang.css.map +1 -1
  279. package/lib/themes/antd-ie11.css +888 -238
  280. package/lib/themes/antd.css +888 -238
  281. package/lib/themes/antd.css.map +1 -1
  282. package/lib/themes/cxd-ie11.css +1446 -457
  283. package/lib/themes/cxd.css +1446 -457
  284. package/lib/themes/cxd.css.map +1 -1
  285. package/lib/themes/dark-ie11.css +888 -238
  286. package/lib/themes/dark.css +888 -238
  287. package/lib/themes/dark.css.map +1 -1
  288. package/lib/themes/default.css +1446 -457
  289. package/lib/themes/default.css.map +1 -1
  290. package/lib/types.d.ts +37 -0
  291. package/lib/types.js +0 -5
  292. package/lib/types.js.map +2 -2
  293. package/lib/utils/api.d.ts +3 -2
  294. package/lib/utils/api.js +31 -15
  295. package/lib/utils/api.js.map +2 -2
  296. package/lib/utils/dom.d.ts +4 -0
  297. package/lib/utils/dom.js +11 -1
  298. package/lib/utils/dom.js.map +2 -2
  299. package/lib/utils/handleAction.d.ts +7 -0
  300. package/lib/utils/handleAction.js +30 -0
  301. package/lib/utils/handleAction.js.map +13 -0
  302. package/lib/utils/helper.d.ts +3 -1
  303. package/lib/utils/helper.js +14 -5
  304. package/lib/utils/helper.js.map +2 -2
  305. package/lib/utils/icon.js +3 -0
  306. package/lib/utils/icon.js.map +2 -2
  307. package/lib/utils/tpl-builtin.d.ts +1 -1
  308. package/lib/utils/tpl-builtin.js +25 -15
  309. package/lib/utils/tpl-builtin.js.map +2 -2
  310. package/package.json +1 -1
  311. package/schema.json +3341 -998
  312. package/scss/_mixins.scss +1 -3
  313. package/scss/_properties.scss +63 -4
  314. package/scss/_utilities.scss +4 -0
  315. package/scss/base/_common.scss +3 -0
  316. package/scss/base/_normalize.scss +2 -0
  317. package/scss/components/_anchor-nav.scss +88 -29
  318. package/scss/components/_button.scss +4 -5
  319. package/scss/components/_card.scss +8 -14
  320. package/scss/components/_collapse.scss +41 -8
  321. package/scss/components/_column-toggler.scss +234 -0
  322. package/scss/components/_dropdown.scss +2 -1
  323. package/scss/components/_images.scss +2 -1
  324. package/scss/components/_input-box.scss +1 -0
  325. package/scss/components/_link.scss +6 -0
  326. package/scss/components/_mapping.scss +6 -0
  327. package/scss/components/_nav.scss +231 -223
  328. package/scss/components/_page.scss +5 -4
  329. package/scss/components/_picker-columns.scss +124 -0
  330. package/scss/components/_popover.scss +13 -0
  331. package/scss/components/_portlet.scss +51 -0
  332. package/scss/components/_progress.scss +2 -0
  333. package/scss/components/_result-box.scss +1 -0
  334. package/scss/components/_status.scss +1 -1
  335. package/scss/components/_steps.scss +1 -1
  336. package/scss/components/_table.scss +51 -1
  337. package/scss/components/form/_checks.scss +0 -351
  338. package/scss/components/form/_color.scss +1 -0
  339. package/scss/components/form/_date-range.scss +2 -0
  340. package/scss/components/form/_date.scss +2 -0
  341. package/scss/components/form/_fieldset.scss +6 -3
  342. package/scss/components/form/_file.scss +16 -4
  343. package/scss/components/form/_form.scss +48 -0
  344. package/scss/components/form/_image.scss +7 -2
  345. package/scss/components/form/_list.scss +1 -0
  346. package/scss/components/form/_location.scss +1 -1
  347. package/scss/components/form/_selection.scss +354 -0
  348. package/scss/components/form/_text.scss +13 -0
  349. package/scss/components/form/_textarea.scss +10 -0
  350. package/scss/components/form/_transfer.scss +77 -18
  351. package/scss/themes/_common.scss +7 -0
  352. package/scss/themes/_cxd-colors.scss +56 -0
  353. package/scss/themes/_cxd-variables.scss +217 -89
  354. package/scss/themes/cxd.scss +370 -0
  355. package/sdk/ang-ie11.css +1117 -392
  356. package/sdk/ang.css +1110 -342
  357. package/sdk/antd-ie11.css +1105 -380
  358. package/sdk/antd.css +1110 -342
  359. package/sdk/charts.js +13 -13
  360. package/sdk/color-picker.js +65 -69
  361. package/sdk/cropperjs.js +2 -2
  362. package/sdk/cxd-ie11.css +2086 -1062
  363. package/sdk/cxd.css +1643 -495
  364. package/sdk/dark-ie11.css +1117 -392
  365. package/sdk/dark.css +1110 -342
  366. package/sdk/exceljs.js +1 -1
  367. package/sdk/helper.css.map +1 -1
  368. package/sdk/iconfont.svg +2513 -0
  369. package/sdk/iconfont.ttf +0 -0
  370. package/sdk/iconfont.woff +0 -0
  371. package/sdk/ie11-patch.css +1 -0
  372. package/sdk/locale/de-DE.js +4 -0
  373. package/sdk/markdown.js +69 -69
  374. package/sdk/papaparse.js +1 -1
  375. package/sdk/renderers/Form/CityDB.js +1 -1
  376. package/sdk/rest.js +20 -28
  377. package/sdk/rich-text.js +62 -62
  378. package/sdk/sdk-ie11.css +2086 -1062
  379. package/sdk/sdk.css +1643 -495
  380. package/sdk/sdk.js +1219 -1165
  381. package/sdk/thirds/hls.js/hls.js +1 -1
  382. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  383. package/sdk/tinymce.js +57 -57
  384. package/src/Schema.ts +32 -0
  385. package/src/components/Alert.tsx +3 -1
  386. package/src/components/AnchorNav.tsx +15 -4
  387. package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +41 -37
  388. package/src/components/Badge.tsx +38 -26
  389. package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
  390. package/src/components/Collapse.tsx +14 -9
  391. package/src/components/DatePicker.tsx +1 -1
  392. package/src/components/DateRangePicker.tsx +23 -11
  393. package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
  394. package/src/components/InputBox.tsx +11 -10
  395. package/src/components/Link.tsx +85 -0
  396. package/src/components/ModalManager.ts +1 -1
  397. package/src/components/MonthRangePicker.tsx +10 -2
  398. package/src/components/PickerColumn.tsx +429 -0
  399. package/src/components/PickerContainer.tsx +128 -0
  400. package/src/components/Radios.tsx +3 -8
  401. package/src/components/ResultBox.tsx +9 -9
  402. package/src/components/RichText.tsx +17 -57
  403. package/src/components/SearchBox.tsx +4 -5
  404. package/src/components/Select.tsx +60 -5
  405. package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
  406. package/src/components/SparkLine.tsx +4 -1
  407. package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
  408. package/src/components/TabsTransfer.tsx +13 -7
  409. package/src/components/TabsTransferPicker.tsx +85 -0
  410. package/src/components/Toast.tsx +5 -5
  411. package/src/components/Transfer.tsx +71 -50
  412. package/src/components/TransferDropDown.tsx +120 -0
  413. package/src/components/TransferPicker.tsx +91 -0
  414. package/src/components/Tree.tsx +6 -8
  415. package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
  416. package/src/components/WithRemoteConfig.tsx +7 -2
  417. package/src/components/condition-builder/Field.tsx +5 -5
  418. package/src/components/condition-builder/Func.tsx +3 -3
  419. package/src/components/condition-builder/InputSwitch.tsx +3 -3
  420. package/src/components/condition-builder/Item.tsx +5 -12
  421. package/src/components/icons.tsx +15 -0
  422. package/src/components/index.tsx +13 -13
  423. package/src/envOverwrite.ts +0 -1
  424. package/src/factory.tsx +18 -3
  425. package/src/hooks/index.ts +5 -0
  426. package/src/hooks/use-set-state.ts +19 -0
  427. package/src/hooks/use-touch.ts +100 -0
  428. package/src/hooks/use-update-effect.ts +16 -0
  429. package/src/icons/clock.svg +1 -0
  430. package/src/icons/download.svg +4 -0
  431. package/src/icons/status-close.svg +10 -0
  432. package/src/icons/status-fail.svg +10 -0
  433. package/src/icons/status-info.svg +8 -0
  434. package/src/icons/status-success.svg +10 -0
  435. package/src/icons/status-warning.svg +8 -0
  436. package/src/index.tsx +3 -0
  437. package/src/locale/de-DE.ts +4 -0
  438. package/src/locale/en-US.ts +5 -0
  439. package/src/locale/zh-CN.ts +8 -3
  440. package/src/renderers/Action.tsx +33 -2
  441. package/src/renderers/AnchorNav.tsx +4 -0
  442. package/src/renderers/Avatar.tsx +8 -4
  443. package/src/renderers/Breadcrumb.tsx +5 -1
  444. package/src/renderers/CRUD.tsx +63 -28
  445. package/src/renderers/Card.tsx +63 -34
  446. package/src/renderers/Chart.tsx +6 -2
  447. package/src/renderers/Collapse.tsx +4 -2
  448. package/src/renderers/Dialog.tsx +0 -4
  449. package/src/renderers/Drawer.tsx +0 -4
  450. package/src/renderers/DropDownButton.tsx +18 -13
  451. package/src/renderers/Form/Checkbox.tsx +8 -0
  452. package/src/renderers/Form/Combo.tsx +2 -3
  453. package/src/renderers/Form/InputCity.tsx +4 -8
  454. package/src/renderers/Form/InputFile.tsx +66 -24
  455. package/src/renderers/Form/InputImage.tsx +16 -5
  456. package/src/renderers/Form/Item.tsx +3 -2
  457. package/src/renderers/Form/Options.tsx +32 -7
  458. package/src/renderers/Form/Picker.tsx +3 -2
  459. package/src/renderers/Form/Select.tsx +162 -21
  460. package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
  461. package/src/renderers/Form/Transfer.tsx +19 -4
  462. package/src/renderers/Form/TransferPicker.tsx +145 -0
  463. package/src/renderers/Form/TreeSelect.tsx +25 -0
  464. package/src/renderers/Form/index.tsx +15 -2
  465. package/src/renderers/Form/wrapControl.tsx +28 -3
  466. package/src/renderers/IFrame.tsx +4 -5
  467. package/src/renderers/Image.tsx +10 -0
  468. package/src/renderers/Json.tsx +9 -9
  469. package/src/renderers/Link.tsx +53 -14
  470. package/src/renderers/List.tsx +1 -1
  471. package/src/renderers/Log.tsx +16 -3
  472. package/src/renderers/Mapping.tsx +27 -11
  473. package/src/renderers/Nav.tsx +325 -122
  474. package/src/renderers/Portlet.tsx +423 -0
  475. package/src/renderers/Property.tsx +3 -2
  476. package/src/renderers/SearchBox.tsx +23 -4
  477. package/src/renderers/SparkLine.tsx +5 -0
  478. package/src/renderers/Table/ColumnToggler.tsx +544 -0
  479. package/src/renderers/Table/ItemActionsWrapper.tsx +44 -0
  480. package/src/renderers/Table/TableCell.tsx +16 -1
  481. package/src/renderers/Table/TableContent.tsx +40 -2
  482. package/src/renderers/Table/index.tsx +257 -80
  483. package/src/renderers/Tabs.tsx +9 -1
  484. package/src/renderers/WebComponent.tsx +2 -2
  485. package/src/store/crud.ts +3 -8
  486. package/src/store/form.ts +5 -10
  487. package/src/store/service.ts +5 -4
  488. package/src/store/table.ts +103 -11
  489. package/src/types.ts +57 -0
  490. package/src/utils/api.ts +52 -23
  491. package/src/utils/dom.tsx +12 -0
  492. package/src/utils/handleAction.ts +41 -0
  493. package/src/utils/helper.ts +12 -4
  494. package/src/utils/icon.tsx +4 -0
  495. package/src/utils/tpl-builtin.ts +48 -17
  496. package/dump.rdb +0 -0
  497. package/lib/components/AssociatedCheckboxes.d.ts +0 -762
  498. package/lib/components/AssociatedCheckboxes.js +0 -90
  499. package/lib/components/AssociatedCheckboxes.js.map +0 -13
  500. package/lib/components/ChainedCheckboxes.js.map +0 -13
  501. package/lib/components/Checkboxes.js +0 -101
  502. package/lib/components/Checkboxes.js.map +0 -13
  503. package/lib/components/ListCheckboxes.d.ts +0 -739
  504. package/lib/components/ListCheckboxes.js +0 -48
  505. package/lib/components/ListCheckboxes.js.map +0 -13
  506. package/lib/components/ListRadios.d.ts +0 -763
  507. package/lib/components/ListRadios.js +0 -86
  508. package/lib/components/ListRadios.js.map +0 -13
  509. package/lib/components/TableCheckboxes.js.map +0 -13
  510. package/lib/components/TreeCheckboxes.js.map +0 -13
  511. package/lib/components/TreeRadios.d.ts +0 -838
  512. package/lib/components/TreeRadios.js +0 -116
  513. package/lib/components/TreeRadios.js.map +0 -13
  514. package/sdk.zip +0 -0
  515. package/src/components/ListRadios.tsx +0 -159
  516. package/src/components/TreeRadios.tsx +0 -202
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NavigationRenderer = exports.Navigation = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
- var sortablejs_1 = (0, tslib_1.__importDefault)(require("sortablejs"));
6
+ var react_dom_1 = require("react-dom");
7
7
  var factory_1 = require("../factory");
8
8
  var filter_schema_1 = (0, tslib_1.__importDefault)(require("../utils/filter-schema"));
9
9
  var tpl_1 = require("../utils/tpl");
@@ -14,86 +14,160 @@ var icons_1 = require("../components/icons");
14
14
  var icon_1 = require("../utils/icon");
15
15
  var WithRemoteConfig_1 = require("../components/WithRemoteConfig");
16
16
  var Spinner_1 = (0, tslib_1.__importDefault)(require("../components/Spinner"));
17
- var cloneDeep_1 = (0, tslib_1.__importDefault)(require("lodash/cloneDeep"));
18
17
  var api_1 = require("../utils/api");
19
18
  var Badge_1 = require("../components/Badge");
20
19
  var Navigation = /** @class */ (function (_super) {
21
20
  (0, tslib_1.__extends)(Navigation, _super);
22
21
  function Navigation() {
23
22
  var _this = _super !== null && _super.apply(this, arguments) || this;
24
- _this.sortable = [];
23
+ _this.startPoint = {
24
+ y: 0,
25
+ x: 0
26
+ };
27
+ _this.state = {};
25
28
  return _this;
26
29
  }
27
30
  Navigation.prototype.handleClick = function (link) {
31
+ var _a = this.props, env = _a.env, onSelect = _a.onSelect;
32
+ // 和 action 里命名一致方便分析
33
+ if (link && link.to) {
34
+ env === null || env === void 0 ? void 0 : env.tracker({
35
+ eventType: 'link',
36
+ eventData: {
37
+ label: link.label,
38
+ link: link.to
39
+ }
40
+ });
41
+ }
42
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(link);
43
+ };
44
+ Navigation.prototype.toggleLink = function (target, forceFold) {
28
45
  var _a, _b;
29
- (_b = (_a = this.props).onSelect) === null || _b === void 0 ? void 0 : _b.call(_a, link);
46
+ (_b = (_a = this.props).onToggle) === null || _b === void 0 ? void 0 : _b.call(_a, target, forceFold);
30
47
  };
31
- Navigation.prototype.toggleLink = function (target) {
48
+ Navigation.prototype.getDropInfo = function (e, id, depth) {
32
49
  var _a, _b;
33
- (_b = (_a = this.props).onToggle) === null || _b === void 0 ? void 0 : _b.call(_a, target);
50
+ var _c = this.props, dragOnSameLevel = _c.dragOnSameLevel, indentSize = _c.indentSize;
51
+ var rect = e.target.getBoundingClientRect();
52
+ var dragLink = (_a = this.dragNode) === null || _a === void 0 ? void 0 : _a.link;
53
+ var top = rect.top, height = rect.height, width = rect.width;
54
+ var clientY = e.clientY, clientX = e.clientX;
55
+ var left = depth * ((_b = parseInt(indentSize, 10)) !== null && _b !== void 0 ? _b : 24);
56
+ var deltaX = left + width * 0.2;
57
+ var position;
58
+ if (clientY >= top + height / 2) {
59
+ position = 'bottom';
60
+ }
61
+ else {
62
+ position = 'top';
63
+ }
64
+ if (!dragOnSameLevel &&
65
+ position === 'bottom' &&
66
+ clientX >= this.startPoint.x + deltaX) {
67
+ position = 'self';
68
+ }
69
+ return {
70
+ nodeId: id,
71
+ dragLink: dragLink,
72
+ position: position,
73
+ rect: rect,
74
+ height: height,
75
+ left: left
76
+ };
34
77
  };
35
- Navigation.prototype.dragRefFn = function (ref) {
36
- var draggable = this.props.draggable;
37
- if (ref && draggable) {
38
- this.id = (0, helper_1.guid)();
39
- this.initDragging(ref);
78
+ Navigation.prototype.updateDropIndicator = function (e) {
79
+ var _a, _b;
80
+ var dragOnSameLevel = this.props.dragOnSameLevel;
81
+ var target = e.target; // a标签
82
+ var targetId = target.getAttribute('data-id');
83
+ var targetDepth = Number(target.getAttribute('data-depth'));
84
+ if (dragOnSameLevel &&
85
+ ((_a = this.dragNode) === null || _a === void 0 ? void 0 : _a.node.parentElement) !== ((_b = target.parentElement) === null || _b === void 0 ? void 0 : _b.parentElement)) {
86
+ this.setState({ dropIndicator: undefined });
87
+ this.dropInfo = null;
88
+ return;
89
+ }
90
+ this.dropInfo = this.getDropInfo(e, targetId, targetDepth);
91
+ var _c = this.dropInfo, position = _c.position, rect = _c.rect, dragLink = _c.dragLink, height = _c.height, left = _c.left;
92
+ if (targetId === (dragLink === null || dragLink === void 0 ? void 0 : dragLink.__id)) {
93
+ this.setState({ dropIndicator: undefined });
94
+ this.dropInfo = null;
95
+ return;
96
+ }
97
+ var ul = (0, react_dom_1.findDOMNode)(this).firstChild;
98
+ if (position === 'self') {
99
+ this.setState({
100
+ dropIndicator: {
101
+ top: rect.top - ul.getBoundingClientRect().top,
102
+ left: left,
103
+ width: ul.getBoundingClientRect().width - left,
104
+ height: height,
105
+ opacity: 0.2
106
+ }
107
+ });
108
+ }
109
+ else {
110
+ this.setState({
111
+ dropIndicator: {
112
+ top: (position === 'bottom' ? rect.top + rect.height : rect.top) -
113
+ ul.getBoundingClientRect().top,
114
+ left: left,
115
+ width: ul.getBoundingClientRect().width - left
116
+ }
117
+ });
40
118
  }
41
119
  };
42
- Navigation.prototype.initDragging = function (ref) {
120
+ Navigation.prototype.handleDragStart = function (link) {
43
121
  var _this = this;
44
- var ns = this.props.classPrefix;
45
- this.sortable.push(new sortablejs_1.default(ref, {
46
- group: "nav-" + this.id,
47
- animation: 150,
48
- handle: "." + ns + "Nav-itemDrager",
49
- ghostClass: ns + "Nav-item--dragging",
50
- onEnd: function (e) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
51
- var id, parentNode, links, parent, _a, saveOrderApi, env;
52
- return (0, tslib_1.__generator)(this, function (_b) {
53
- switch (_b.label) {
54
- case 0:
55
- // 没有移动
56
- if (e.newIndex === e.oldIndex) {
57
- return [2 /*return*/];
58
- }
59
- id = e.item.getAttribute('data-id');
60
- parentNode = e.to;
61
- if (e.newIndex < e.oldIndex &&
62
- e.oldIndex < parentNode.childNodes.length - 1) {
63
- parentNode.insertBefore(e.item, parentNode.childNodes[e.oldIndex + 1]);
64
- }
65
- else if (e.oldIndex < parentNode.childNodes.length - 1) {
66
- parentNode.insertBefore(e.item, parentNode.childNodes[e.oldIndex]);
67
- }
68
- else {
69
- parentNode.appendChild(e.item);
70
- }
71
- links = (0, cloneDeep_1.default)(this.props.links);
72
- parent = links;
73
- (0, helper_1.someTree)(links, function (item, key, level, paths) {
74
- if (item.id === id) {
75
- var len = paths.length - 1;
76
- parent = (~len ? paths[len].children : links);
77
- return true;
78
- }
79
- return false;
80
- });
81
- parent.splice(e.newIndex, 0, parent.splice(e.oldIndex, 1)[0]);
82
- _a = this.props, saveOrderApi = _a.saveOrderApi, env = _a.env;
83
- if (!(saveOrderApi && (0, api_1.isEffectiveApi)(saveOrderApi))) return [3 /*break*/, 2];
84
- return [4 /*yield*/, env.fetcher(saveOrderApi, { data: links }, { method: 'post' })];
85
- case 1:
86
- _b.sent();
87
- this.props.reload();
88
- return [3 /*break*/, 3];
89
- case 2:
90
- console.warn('请配置saveOrderApi');
91
- _b.label = 3;
92
- case 3: return [2 /*return*/];
93
- }
94
- });
95
- }); }
96
- }));
122
+ return function (e) {
123
+ e.stopPropagation();
124
+ var currentTarget = e.currentTarget;
125
+ e.dataTransfer.effectAllowed = 'copyMove';
126
+ e.dataTransfer.setDragImage(currentTarget, 0, 0);
127
+ _this.dragNode = {
128
+ node: currentTarget,
129
+ link: link
130
+ };
131
+ _this.dropInfo = null;
132
+ _this.startPoint = {
133
+ x: e.clientX,
134
+ y: e.clientY
135
+ };
136
+ currentTarget.addEventListener('dragend', _this.handleDragEnd);
137
+ document.body.addEventListener('dragover', _this.handleDragOver);
138
+ };
139
+ };
140
+ Navigation.prototype.handleDragOver = function (e) {
141
+ e.preventDefault();
142
+ e.stopPropagation();
143
+ if (!this.dragNode) {
144
+ return;
145
+ }
146
+ var target = e.target;
147
+ var id = target.getAttribute('data-id');
148
+ if (!id) {
149
+ return;
150
+ }
151
+ this.updateDropIndicator(e);
152
+ };
153
+ Navigation.prototype.handleDragEnd = function (e) {
154
+ var _a, _b, _c;
155
+ e.preventDefault();
156
+ e.stopPropagation();
157
+ this.setState({
158
+ dropIndicator: undefined
159
+ });
160
+ var currentTarget = e.currentTarget;
161
+ var id = currentTarget.getAttribute('data-id');
162
+ var nodeId = (_a = this.dropInfo) === null || _a === void 0 ? void 0 : _a.nodeId;
163
+ if (!this.dropInfo || !nodeId || id === nodeId) {
164
+ return;
165
+ }
166
+ currentTarget.removeEventListener('dragend', this.handleDragEnd);
167
+ document.body.removeEventListener('dragover', this.handleDragOver);
168
+ (_c = (_b = this.props).onDragUpdate) === null || _c === void 0 ? void 0 : _c.call(_b, this.dropInfo);
169
+ this.dragNode = null;
170
+ this.dropInfo = null;
97
171
  };
98
172
  Navigation.prototype.renderItem = function (link, index, depth) {
99
173
  var _this = this;
@@ -103,44 +177,51 @@ var Navigation = /** @class */ (function (_super) {
103
177
  return null;
104
178
  }
105
179
  var isActive = !!link.active;
106
- var _b = this.props, disabled = _b.disabled, togglerClassName = _b.togglerClassName, cx = _b.classnames, indentSize = _b.indentSize, render = _b.render, itemActions = _b.itemActions, draggable = _b.draggable, links = _b.links, defaultBadge = _b.badge;
180
+ var _b = this.props, disabled = _b.disabled, togglerClassName = _b.togglerClassName, cx = _b.classnames, indentSize = _b.indentSize, render = _b.render, itemActions = _b.itemActions, draggable = _b.draggable, links = _b.links, itemBadge = _b.itemBadge, defaultData = _b.data;
107
181
  var hasSub = (link.defer && !link.loaded) || (link.children && link.children.length);
108
- var id = (0, helper_1.guid)();
109
- link.id = id;
110
- var badge = defaultBadge ? Object.assign(defaultBadge, link.badge) : link.badge;
111
- return (react_1.default.createElement("li", { key: index, className: cx('Nav-item', link.className, {
182
+ return (react_1.default.createElement("li", { key: link.__id, "data-id": link.__id, className: cx('Nav-item', link.className, {
112
183
  'is-disabled': disabled || link.disabled || link.loading,
113
184
  'is-active': isActive,
114
185
  'is-unfolded': link.unfolded,
115
186
  'has-sub': hasSub
116
- }), "data-id": id },
117
- react_1.default.createElement(Badge_1.Badge, { classnames: cx, badge: badge, data: link },
118
- react_1.default.createElement("a", { onClick: this.handleClick.bind(this, link), style: { paddingLeft: depth * ((_a = parseInt(indentSize, 10)) !== null && _a !== void 0 ? _a : 24) } },
119
- !disabled && draggable && links && links.length > 1 ? (react_1.default.createElement("div", { className: cx('Nav-itemDrager') },
120
- react_1.default.createElement("a", { key: "drag", "data-position": "bottom" },
121
- react_1.default.createElement(icons_1.Icon, { icon: "drag-bar", className: "icon" })))) : null,
187
+ }), onDragStart: this.handleDragStart(link) },
188
+ react_1.default.createElement(Badge_1.Badge, { classnames: cx, badge: itemBadge, data: (0, helper_1.createObject)(defaultData, link) },
189
+ react_1.default.createElement("a", { "data-id": link.__id, "data-depth": depth, onClick: this.handleClick.bind(this, link), style: {
190
+ paddingLeft: depth * ((_a = parseInt(indentSize, 10)) !== null && _a !== void 0 ? _a : 24)
191
+ } },
192
+ !disabled && draggable ? (react_1.default.createElement("div", { className: cx('Nav-itemDrager'), draggable: true, onMouseDown: function (e) {
193
+ _this.toggleLink(link, true);
194
+ e.stopPropagation();
195
+ } },
196
+ react_1.default.createElement(icons_1.Icon, { icon: "drag-bar", className: "icon" }))) : null,
122
197
  link.loading ? (react_1.default.createElement(Spinner_1.default, { size: "sm", show: true, icon: "reload", spinnerClassName: cx('Nav-spinner') })) : hasSub ? (react_1.default.createElement("span", { onClick: function () { return _this.toggleLink(link); }, className: cx('Nav-itemToggler', togglerClassName) },
123
198
  react_1.default.createElement(icons_1.Icon, { icon: "caret", className: "icon" }))) : null,
124
199
  (0, icon_1.generateIcon)(cx, link.icon, 'Nav-itemIcon'),
125
- link.label && (typeof link.label === 'string'
126
- ? link.label
127
- : render('inline', link.label))),
200
+ link.label &&
201
+ (typeof link.label === 'string'
202
+ ? link.label
203
+ : render('inline', link.label))),
128
204
  // 更多操作
129
- itemActions
130
- ? react_1.default.createElement("div", { className: cx('Nav-item-atcions') }, render('inline', itemActions, { data: link })) : null,
131
- Array.isArray(link.children) && link.children.length ? (react_1.default.createElement("ul", { className: cx('Nav-subItems'), ref: this.dragRefFn }, link.children.map(function (link, index) {
205
+ itemActions ? (react_1.default.createElement("div", { className: cx('Nav-item-atcions') }, render('inline', itemActions, {
206
+ data: (0, helper_1.createObject)(defaultData, link)
207
+ }))) : null,
208
+ Array.isArray(link.children) && link.children.length ? (react_1.default.createElement("ul", { className: cx('Nav-subItems') }, link.children.map(function (link, index) {
132
209
  return _this.renderItem(link, index, depth + 1);
133
210
  }))) : null)));
134
211
  };
135
212
  Navigation.prototype.render = function () {
136
213
  var _this = this;
137
214
  var _a = this.props, className = _a.className, stacked = _a.stacked, cx = _a.classnames, links = _a.links, loading = _a.loading;
138
- return (react_1.default.createElement("ul", { className: cx('Nav', className, stacked ? 'Nav--stacked' : 'Nav--tabs'), ref: this.dragRefFn },
139
- Array.isArray(links)
140
- ? links.map(function (item, index) { return _this.renderItem(item, index); })
141
- : null,
142
- react_1.default.createElement(Spinner_1.default, { show: !!loading, overlay: true, icon: "reload" })));
215
+ var dropIndicator = this.state.dropIndicator;
216
+ return (react_1.default.createElement("div", { className: cx('Nav') },
217
+ react_1.default.createElement("ul", { className: cx('Nav-list', className, stacked ? 'Nav-list--stacked' : 'Nav-list--tabs') },
218
+ Array.isArray(links)
219
+ ? links.map(function (item, index) { return _this.renderItem(item, index); })
220
+ : null,
221
+ react_1.default.createElement(Spinner_1.default, { show: !!loading, overlay: true, icon: "reload" })),
222
+ dropIndicator ? (react_1.default.createElement("div", { className: cx('Nav-dropIndicator'), style: dropIndicator })) : null));
143
223
  };
224
+ var _a, _b, _c, _d;
144
225
  Navigation.defaultProps = {
145
226
  indentSize: 24
146
227
  };
@@ -153,15 +234,39 @@ var Navigation = /** @class */ (function (_super) {
153
234
  (0, tslib_1.__decorate)([
154
235
  helper_1.autobind,
155
236
  (0, tslib_1.__metadata)("design:type", Function),
156
- (0, tslib_1.__metadata)("design:paramtypes", [Object]),
237
+ (0, tslib_1.__metadata)("design:paramtypes", [Object, Boolean]),
157
238
  (0, tslib_1.__metadata)("design:returntype", void 0)
158
239
  ], Navigation.prototype, "toggleLink", null);
240
+ (0, tslib_1.__decorate)([
241
+ helper_1.autobind,
242
+ (0, tslib_1.__metadata)("design:type", Function),
243
+ (0, tslib_1.__metadata)("design:paramtypes", [typeof (_a = typeof DragEvent !== "undefined" && DragEvent) === "function" ? _a : Object, String, Number]),
244
+ (0, tslib_1.__metadata)("design:returntype", Object)
245
+ ], Navigation.prototype, "getDropInfo", null);
246
+ (0, tslib_1.__decorate)([
247
+ helper_1.autobind,
248
+ (0, tslib_1.__metadata)("design:type", Function),
249
+ (0, tslib_1.__metadata)("design:paramtypes", [typeof (_b = typeof DragEvent !== "undefined" && DragEvent) === "function" ? _b : Object]),
250
+ (0, tslib_1.__metadata)("design:returntype", void 0)
251
+ ], Navigation.prototype, "updateDropIndicator", null);
159
252
  (0, tslib_1.__decorate)([
160
253
  helper_1.autobind,
161
254
  (0, tslib_1.__metadata)("design:type", Function),
162
255
  (0, tslib_1.__metadata)("design:paramtypes", [Object]),
163
256
  (0, tslib_1.__metadata)("design:returntype", void 0)
164
- ], Navigation.prototype, "dragRefFn", null);
257
+ ], Navigation.prototype, "handleDragStart", null);
258
+ (0, tslib_1.__decorate)([
259
+ helper_1.autobind,
260
+ (0, tslib_1.__metadata)("design:type", Function),
261
+ (0, tslib_1.__metadata)("design:paramtypes", [typeof (_c = typeof DragEvent !== "undefined" && DragEvent) === "function" ? _c : Object]),
262
+ (0, tslib_1.__metadata)("design:returntype", void 0)
263
+ ], Navigation.prototype, "handleDragOver", null);
264
+ (0, tslib_1.__decorate)([
265
+ helper_1.autobind,
266
+ (0, tslib_1.__metadata)("design:type", Function),
267
+ (0, tslib_1.__metadata)("design:paramtypes", [typeof (_d = typeof DragEvent !== "undefined" && DragEvent) === "function" ? _d : Object]),
268
+ (0, tslib_1.__metadata)("design:returntype", void 0)
269
+ ], Navigation.prototype, "handleDragEnd", null);
165
270
  return Navigation;
166
271
  }(react_1.default.Component));
167
272
  exports.Navigation = Navigation;
@@ -172,7 +277,7 @@ var ConditionBuilderWithRemoteOptions = (0, WithRemoteConfig_1.withRemoteConfig)
172
277
  ? config
173
278
  : config.links || config.options || config.items || config.rows;
174
279
  if (!Array.isArray(links)) {
175
- throw new Error('payload.data.options is not array.');
280
+ throw new Error('payload.data.options is not array.');
176
281
  }
177
282
  return links;
178
283
  },
@@ -191,7 +296,7 @@ var ConditionBuilderWithRemoteOptions = (0, WithRemoteConfig_1.withRemoteConfig)
191
296
  ? (0, tpl_1.evalExpression)(link.activeOn, data_1)
192
297
  : !!(link.hasOwnProperty('to') &&
193
298
  env_1 &&
194
- env_1.isCurrentUrl((0, tpl_1.filter)(link.to, data_1)))) });
299
+ env_1.isCurrentUrl((0, tpl_1.filter)(link.to, data_1)))), __id: link.__id || (0, helper_1.guid)() });
195
300
  item.unfolded =
196
301
  (0, helper_1.isUnfolded)(item, { unfoldedField: unfoldedField_1, foldedField: foldedField_1 }) ||
197
302
  (link.children && link.children.some(function (link) { return !!link.active; }));
@@ -220,6 +325,7 @@ var ConditionBuilderWithRemoteOptions = (0, WithRemoteConfig_1.withRemoteConfig)
220
325
  var _this = _super.call(this, props) || this;
221
326
  _this.toggleLink = _this.toggleLink.bind(_this);
222
327
  _this.handleSelect = _this.handleSelect.bind(_this);
328
+ _this.dragUpdate = _this.dragUpdate.bind(_this);
223
329
  return _this;
224
330
  }
225
331
  class_1.prototype.componentDidMount = function () {
@@ -235,7 +341,7 @@ var ConditionBuilderWithRemoteOptions = (0, WithRemoteConfig_1.withRemoteConfig)
235
341
  this.props.updateConfig(this.props.links, 'update');
236
342
  }
237
343
  };
238
- class_1.prototype.toggleLink = function (target) {
344
+ class_1.prototype.toggleLink = function (target, forceFold) {
239
345
  var _a = this.props, config = _a.config, updateConfig = _a.updateConfig, deferLoad = _a.deferLoad;
240
346
  if (target.defer && !target.loaded) {
241
347
  deferLoad(target);
@@ -243,10 +349,80 @@ var ConditionBuilderWithRemoteOptions = (0, WithRemoteConfig_1.withRemoteConfig)
243
349
  else {
244
350
  updateConfig((0, helper_1.mapTree)(config, function (link) {
245
351
  return target === link
246
- ? (0, tslib_1.__assign)((0, tslib_1.__assign)({}, link), { unfolded: !link.unfolded }) : link;
352
+ ? (0, tslib_1.__assign)((0, tslib_1.__assign)({}, link), { unfolded: forceFold ? false : !link.unfolded }) : link;
247
353
  }), 'toggle');
248
354
  }
249
355
  };
356
+ class_1.prototype.dragUpdate = function (dropInfo) {
357
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
358
+ var links, nodeId, dragLink, position, sourceIdx, idx;
359
+ return (0, tslib_1.__generator)(this, function (_a) {
360
+ switch (_a.label) {
361
+ case 0:
362
+ links = this.props.config;
363
+ nodeId = dropInfo.nodeId, dragLink = dropInfo.dragLink, position = dropInfo.position;
364
+ if (dragLink) {
365
+ sourceIdx = (0, helper_1.findTreeIndex)(links, function (link) { return link.__id === dragLink.__id; });
366
+ links = (0, helper_1.spliceTree)(links, sourceIdx, 1);
367
+ if (position === 'self') {
368
+ // 插入到对应节点的children中
369
+ (0, helper_1.mapTree)(links, function (link) {
370
+ if (link.__id === nodeId) {
371
+ if (!link.children) {
372
+ link.children = [];
373
+ }
374
+ link.children.push(dragLink);
375
+ }
376
+ return link;
377
+ });
378
+ }
379
+ else {
380
+ idx = (0, helper_1.findTreeIndex)(links, function (link) { return link.__id === nodeId; });
381
+ // 插入节点之后
382
+ if (position === 'bottom') {
383
+ idx.push(idx.pop() + 1);
384
+ }
385
+ links = (0, helper_1.spliceTree)(links, idx, 0, dragLink);
386
+ }
387
+ }
388
+ this.props.updateConfig(links, 'update');
389
+ return [4 /*yield*/, this.saveOrder((0, helper_1.mapTree)(links, function (link) {
390
+ // 清除内部加的字段
391
+ for (var key in link) {
392
+ if (/^__.*$/.test(key)) {
393
+ delete link[key];
394
+ }
395
+ }
396
+ return link;
397
+ }))];
398
+ case 1:
399
+ _a.sent();
400
+ return [2 /*return*/];
401
+ }
402
+ });
403
+ });
404
+ };
405
+ class_1.prototype.saveOrder = function (links) {
406
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
407
+ var _a, saveOrderApi, env, data, reload;
408
+ return (0, tslib_1.__generator)(this, function (_b) {
409
+ switch (_b.label) {
410
+ case 0:
411
+ _a = this.props, saveOrderApi = _a.saveOrderApi, env = _a.env, data = _a.data, reload = _a.reload;
412
+ if (!(saveOrderApi && (0, api_1.isEffectiveApi)(saveOrderApi))) return [3 /*break*/, 2];
413
+ return [4 /*yield*/, env.fetcher(saveOrderApi, (0, helper_1.createObject)(data, { data: links }), { method: 'post' })];
414
+ case 1:
415
+ _b.sent();
416
+ reload();
417
+ return [3 /*break*/, 3];
418
+ case 2:
419
+ env.alert('NAV saveOrderApi is required!');
420
+ _b.label = 3;
421
+ case 3: return [2 /*return*/];
422
+ }
423
+ });
424
+ });
425
+ };
250
426
  class_1.prototype.handleSelect = function (link) {
251
427
  var _a = this.props, onSelect = _a.onSelect, env = _a.env, data = _a.data;
252
428
  if (onSelect && onSelect(link) === false) {
@@ -262,7 +438,7 @@ var ConditionBuilderWithRemoteOptions = (0, WithRemoteConfig_1.withRemoteConfig)
262
438
  };
263
439
  class_1.prototype.render = function () {
264
440
  var _a = this.props, loading = _a.loading, config = _a.config, deferLoad = _a.deferLoad, updateConfig = _a.updateConfig, rest = (0, tslib_1.__rest)(_a, ["loading", "config", "deferLoad", "updateConfig"]);
265
- return (react_1.default.createElement(ThemedNavigation, (0, tslib_1.__assign)({}, rest, { loading: loading, links: config || rest.links || [], disabled: loading, onSelect: this.handleSelect, onToggle: this.toggleLink })));
441
+ return (react_1.default.createElement(ThemedNavigation, (0, tslib_1.__assign)({}, rest, { loading: loading, links: config || [], disabled: loading, onSelect: this.handleSelect, onToggle: this.toggleLink, onDragUpdate: this.dragUpdate })));
266
442
  };
267
443
  return class_1;
268
444
  }(react_1.default.Component)));
@@ -299,7 +475,7 @@ var NavigationRenderer = /** @class */ (function (_super) {
299
475
  var rest = (0, tslib_1.__rest)(this.props, []);
300
476
  return (react_1.default.createElement(ConditionBuilderWithRemoteOptions, (0, tslib_1.__assign)({}, rest, { reload: this.reload, remoteConfigRef: this.remoteConfigRef })));
301
477
  };
302
- var _a, _b;
478
+ var _e, _f;
303
479
  NavigationRenderer.contextType = Scoped_1.ScopedContext;
304
480
  (0, tslib_1.__decorate)([
305
481
  helper_1.autobind,
@@ -324,7 +500,7 @@ var NavigationRenderer = /** @class */ (function (_super) {
324
500
  test: /(^|\/)(?:nav|navigation)$/,
325
501
  name: 'nav'
326
502
  }),
327
- (0, tslib_1.__metadata)("design:paramtypes", [typeof (_a = typeof factory_1.RendererProps !== "undefined" && factory_1.RendererProps) === "function" ? _a : Object, typeof (_b = typeof Scoped_1.IScopedContext !== "undefined" && Scoped_1.IScopedContext) === "function" ? _b : Object])
503
+ (0, tslib_1.__metadata)("design:paramtypes", [typeof (_e = typeof factory_1.RendererProps !== "undefined" && factory_1.RendererProps) === "function" ? _e : Object, typeof (_f = typeof Scoped_1.IScopedContext !== "undefined" && Scoped_1.IScopedContext) === "function" ? _f : Object])
328
504
  ], NavigationRenderer);
329
505
  return NavigationRenderer;
330
506
  }(react_1.default.Component));