@opensumi/ide-components 2.12.1-next-079c1930

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 (360) hide show
  1. package/README.md +65 -0
  2. package/dist/index.css +1 -0
  3. package/dist/index.js +26330 -0
  4. package/lib/badge/index.d.ts +4 -0
  5. package/lib/badge/index.d.ts.map +1 -0
  6. package/lib/badge/index.js +13 -0
  7. package/lib/badge/index.js.map +1 -0
  8. package/lib/badge/styles.less +17 -0
  9. package/lib/button/index.d.ts +54 -0
  10. package/lib/button/index.d.ts.map +1 -0
  11. package/lib/button/index.js +68 -0
  12. package/lib/button/index.js.map +1 -0
  13. package/lib/button/style.less +251 -0
  14. package/lib/checkbox/index.d.ts +9 -0
  15. package/lib/checkbox/index.d.ts.map +1 -0
  16. package/lib/checkbox/index.js +27 -0
  17. package/lib/checkbox/index.js.map +1 -0
  18. package/lib/checkbox/style.less +80 -0
  19. package/lib/common.d.ts +7 -0
  20. package/lib/common.d.ts.map +1 -0
  21. package/lib/common.js +11 -0
  22. package/lib/common.js.map +1 -0
  23. package/lib/dialog/index.d.ts +26 -0
  24. package/lib/dialog/index.d.ts.map +1 -0
  25. package/lib/dialog/index.js +28 -0
  26. package/lib/dialog/index.js.map +1 -0
  27. package/lib/dialog/styles.less +85 -0
  28. package/lib/dropdown/dropdown.d.ts +48 -0
  29. package/lib/dropdown/dropdown.d.ts.map +1 -0
  30. package/lib/dropdown/dropdown.js +80 -0
  31. package/lib/dropdown/dropdown.js.map +1 -0
  32. package/lib/dropdown/index.d.ts +5 -0
  33. package/lib/dropdown/index.d.ts.map +1 -0
  34. package/lib/dropdown/index.js +8 -0
  35. package/lib/dropdown/index.js.map +1 -0
  36. package/lib/dropdown/style.less +254 -0
  37. package/lib/icon/icon.d.ts +33 -0
  38. package/lib/icon/icon.d.ts.map +1 -0
  39. package/lib/icon/icon.js +71 -0
  40. package/lib/icon/icon.js.map +1 -0
  41. package/lib/icon/iconfont/iconManager.d.ts +187 -0
  42. package/lib/icon/iconfont/iconManager.d.ts.map +1 -0
  43. package/lib/icon/iconfont/iconManager.js +67 -0
  44. package/lib/icon/iconfont/iconManager.js.map +1 -0
  45. package/lib/icon/iconfont/iconMap.d.ts +160 -0
  46. package/lib/icon/iconfont/iconMap.d.ts.map +1 -0
  47. package/lib/icon/iconfont/iconMap.js +165 -0
  48. package/lib/icon/iconfont/iconMap.js.map +1 -0
  49. package/lib/icon/iconfont/iconfont.css +646 -0
  50. package/lib/icon/iconfont/iconfont.eot +0 -0
  51. package/lib/icon/iconfont/iconfont.html +1522 -0
  52. package/lib/icon/iconfont/iconfont.svg +333 -0
  53. package/lib/icon/iconfont/iconfont.ttf +0 -0
  54. package/lib/icon/iconfont/iconfont.woff +0 -0
  55. package/lib/icon/iconfont/iconfont.woff2 +0 -0
  56. package/lib/icon/iconfont-cn.d.ts +15 -0
  57. package/lib/icon/iconfont-cn.d.ts.map +1 -0
  58. package/lib/icon/iconfont-cn.js +78 -0
  59. package/lib/icon/iconfont-cn.js.map +1 -0
  60. package/lib/icon/index.d.ts +4 -0
  61. package/lib/icon/index.d.ts.map +1 -0
  62. package/lib/icon/index.js +9 -0
  63. package/lib/icon/index.js.map +1 -0
  64. package/lib/icon/styles.less +105 -0
  65. package/lib/icon/util.d.ts +29 -0
  66. package/lib/icon/util.d.ts.map +1 -0
  67. package/lib/icon/util.js +53 -0
  68. package/lib/icon/util.js.map +1 -0
  69. package/lib/index.d.ts +20 -0
  70. package/lib/index.d.ts.map +1 -0
  71. package/lib/index.js +23 -0
  72. package/lib/index.js.map +1 -0
  73. package/lib/input/HistoryInputBox.d.ts +38 -0
  74. package/lib/input/HistoryInputBox.d.ts.map +1 -0
  75. package/lib/input/HistoryInputBox.js +114 -0
  76. package/lib/input/HistoryInputBox.js.map +1 -0
  77. package/lib/input/Input.d.ts +43 -0
  78. package/lib/input/Input.d.ts.map +1 -0
  79. package/lib/input/Input.js +124 -0
  80. package/lib/input/Input.js.map +1 -0
  81. package/lib/input/ProxiedInput.d.ts +8 -0
  82. package/lib/input/ProxiedInput.d.ts.map +1 -0
  83. package/lib/input/ProxiedInput.js +67 -0
  84. package/lib/input/ProxiedInput.js.map +1 -0
  85. package/lib/input/TextArea.d.ts +6 -0
  86. package/lib/input/TextArea.d.ts.map +1 -0
  87. package/lib/input/TextArea.js +11 -0
  88. package/lib/input/TextArea.js.map +1 -0
  89. package/lib/input/ValidateInput.d.ts +20 -0
  90. package/lib/input/ValidateInput.d.ts.map +1 -0
  91. package/lib/input/ValidateInput.js +59 -0
  92. package/lib/input/ValidateInput.js.map +1 -0
  93. package/lib/input/index.d.ts +5 -0
  94. package/lib/input/index.d.ts.map +1 -0
  95. package/lib/input/index.js +8 -0
  96. package/lib/input/index.js.map +1 -0
  97. package/lib/input/input.less +83 -0
  98. package/lib/input/validate-input.less +88 -0
  99. package/lib/locale-context-provider.d.ts +16 -0
  100. package/lib/locale-context-provider.d.ts.map +1 -0
  101. package/lib/locale-context-provider.js +26 -0
  102. package/lib/locale-context-provider.js.map +1 -0
  103. package/lib/menu/MenuContext.d.ts +8 -0
  104. package/lib/menu/MenuContext.d.ts.map +1 -0
  105. package/lib/menu/MenuContext.js +8 -0
  106. package/lib/menu/MenuContext.js.map +1 -0
  107. package/lib/menu/MenuItem.d.ts +29 -0
  108. package/lib/menu/MenuItem.d.ts.map +1 -0
  109. package/lib/menu/MenuItem.js +32 -0
  110. package/lib/menu/MenuItem.js.map +1 -0
  111. package/lib/menu/SubMenu.d.ts +30 -0
  112. package/lib/menu/SubMenu.d.ts.map +1 -0
  113. package/lib/menu/SubMenu.js +28 -0
  114. package/lib/menu/SubMenu.js.map +1 -0
  115. package/lib/menu/index.d.ts +64 -0
  116. package/lib/menu/index.d.ts.map +1 -0
  117. package/lib/menu/index.js +203 -0
  118. package/lib/menu/index.js.map +1 -0
  119. package/lib/menu/style.less +513 -0
  120. package/lib/message/index.d.ts +10 -0
  121. package/lib/message/index.d.ts.map +1 -0
  122. package/lib/message/index.js +21 -0
  123. package/lib/message/index.js.map +1 -0
  124. package/lib/message/message.d.ts +42 -0
  125. package/lib/message/message.d.ts.map +1 -0
  126. package/lib/message/message.js +128 -0
  127. package/lib/message/message.js.map +1 -0
  128. package/lib/message/style.less +76 -0
  129. package/lib/modal/Modal.d.ts +127 -0
  130. package/lib/modal/Modal.d.ts.map +1 -0
  131. package/lib/modal/Modal.js +87 -0
  132. package/lib/modal/Modal.js.map +1 -0
  133. package/lib/modal/index.d.ts +5 -0
  134. package/lib/modal/index.d.ts.map +1 -0
  135. package/lib/modal/index.js +8 -0
  136. package/lib/modal/index.js.map +1 -0
  137. package/lib/modal/locale.d.ts +8 -0
  138. package/lib/modal/locale.d.ts.map +1 -0
  139. package/lib/modal/locale.js +23 -0
  140. package/lib/modal/locale.js.map +1 -0
  141. package/lib/modal/style.less +168 -0
  142. package/lib/notification/index.d.ts +8 -0
  143. package/lib/notification/index.d.ts.map +1 -0
  144. package/lib/notification/index.js +80 -0
  145. package/lib/notification/index.js.map +1 -0
  146. package/lib/notification/notification.d.ts +44 -0
  147. package/lib/notification/notification.d.ts.map +1 -0
  148. package/lib/notification/notification.js +156 -0
  149. package/lib/notification/notification.js.map +1 -0
  150. package/lib/notification/notification.less +231 -0
  151. package/lib/overlay/index.d.ts +19 -0
  152. package/lib/overlay/index.d.ts.map +1 -0
  153. package/lib/overlay/index.js +13 -0
  154. package/lib/overlay/index.js.map +1 -0
  155. package/lib/overlay/styles.less +44 -0
  156. package/lib/popover/index.d.ts +28 -0
  157. package/lib/popover/index.d.ts.map +1 -0
  158. package/lib/popover/index.js +127 -0
  159. package/lib/popover/index.js.map +1 -0
  160. package/lib/popover/styles.less +135 -0
  161. package/lib/recycle-list/RecycleList.d.ts +105 -0
  162. package/lib/recycle-list/RecycleList.d.ts.map +1 -0
  163. package/lib/recycle-list/RecycleList.js +253 -0
  164. package/lib/recycle-list/RecycleList.js.map +1 -0
  165. package/lib/recycle-list/index.d.ts +2 -0
  166. package/lib/recycle-list/index.d.ts.map +1 -0
  167. package/lib/recycle-list/index.js +5 -0
  168. package/lib/recycle-list/index.js.map +1 -0
  169. package/lib/recycle-tree/RecycleTree.d.ts +254 -0
  170. package/lib/recycle-tree/RecycleTree.d.ts.map +1 -0
  171. package/lib/recycle-tree/RecycleTree.js +635 -0
  172. package/lib/recycle-tree/RecycleTree.js.map +1 -0
  173. package/lib/recycle-tree/TreeNodeRendererWrap.d.ts +37 -0
  174. package/lib/recycle-tree/TreeNodeRendererWrap.d.ts.map +1 -0
  175. package/lib/recycle-tree/TreeNodeRendererWrap.js +18 -0
  176. package/lib/recycle-tree/TreeNodeRendererWrap.js.map +1 -0
  177. package/lib/recycle-tree/decorators/Adaptive/index.d.ts +10 -0
  178. package/lib/recycle-tree/decorators/Adaptive/index.d.ts.map +1 -0
  179. package/lib/recycle-tree/decorators/Adaptive/index.js +97 -0
  180. package/lib/recycle-tree/decorators/Adaptive/index.js.map +1 -0
  181. package/lib/recycle-tree/decorators/Filter/filter.less +11 -0
  182. package/lib/recycle-tree/decorators/Filter/index.d.ts +26 -0
  183. package/lib/recycle-tree/decorators/Filter/index.d.ts.map +1 -0
  184. package/lib/recycle-tree/decorators/Filter/index.js +53 -0
  185. package/lib/recycle-tree/decorators/Filter/index.js.map +1 -0
  186. package/lib/recycle-tree/decorators/index.d.ts +3 -0
  187. package/lib/recycle-tree/decorators/index.d.ts.map +1 -0
  188. package/lib/recycle-tree/decorators/index.js +6 -0
  189. package/lib/recycle-tree/decorators/index.js.map +1 -0
  190. package/lib/recycle-tree/index.d.ts +7 -0
  191. package/lib/recycle-tree/index.d.ts.map +1 -0
  192. package/lib/recycle-tree/index.js +10 -0
  193. package/lib/recycle-tree/index.js.map +1 -0
  194. package/lib/recycle-tree/prompt/NewPromptHandle.d.ts +12 -0
  195. package/lib/recycle-tree/prompt/NewPromptHandle.d.ts.map +1 -0
  196. package/lib/recycle-tree/prompt/NewPromptHandle.js +21 -0
  197. package/lib/recycle-tree/prompt/NewPromptHandle.js.map +1 -0
  198. package/lib/recycle-tree/prompt/PromptHandle.d.ts +59 -0
  199. package/lib/recycle-tree/prompt/PromptHandle.d.ts.map +1 -0
  200. package/lib/recycle-tree/prompt/PromptHandle.js +200 -0
  201. package/lib/recycle-tree/prompt/PromptHandle.js.map +1 -0
  202. package/lib/recycle-tree/prompt/RenamePromptHandle.d.ts +10 -0
  203. package/lib/recycle-tree/prompt/RenamePromptHandle.d.ts.map +1 -0
  204. package/lib/recycle-tree/prompt/RenamePromptHandle.js +21 -0
  205. package/lib/recycle-tree/prompt/RenamePromptHandle.js.map +1 -0
  206. package/lib/recycle-tree/prompt/index.d.ts +4 -0
  207. package/lib/recycle-tree/prompt/index.d.ts.map +1 -0
  208. package/lib/recycle-tree/prompt/index.js +7 -0
  209. package/lib/recycle-tree/prompt/index.js.map +1 -0
  210. package/lib/recycle-tree/tree/Tree.d.ts +20 -0
  211. package/lib/recycle-tree/tree/Tree.d.ts.map +1 -0
  212. package/lib/recycle-tree/tree/Tree.js +43 -0
  213. package/lib/recycle-tree/tree/Tree.js.map +1 -0
  214. package/lib/recycle-tree/tree/TreeNode.d.ts +222 -0
  215. package/lib/recycle-tree/tree/TreeNode.d.ts.map +1 -0
  216. package/lib/recycle-tree/tree/TreeNode.js +1099 -0
  217. package/lib/recycle-tree/tree/TreeNode.js.map +1 -0
  218. package/lib/recycle-tree/tree/decoration/CompositeDecoration.d.ts +60 -0
  219. package/lib/recycle-tree/tree/decoration/CompositeDecoration.d.ts.map +1 -0
  220. package/lib/recycle-tree/tree/decoration/CompositeDecoration.js +328 -0
  221. package/lib/recycle-tree/tree/decoration/CompositeDecoration.js.map +1 -0
  222. package/lib/recycle-tree/tree/decoration/Decoration.d.ts +79 -0
  223. package/lib/recycle-tree/tree/decoration/Decoration.d.ts.map +1 -0
  224. package/lib/recycle-tree/tree/decoration/Decoration.js +183 -0
  225. package/lib/recycle-tree/tree/decoration/Decoration.js.map +1 -0
  226. package/lib/recycle-tree/tree/decoration/DecorationManager.d.ts +34 -0
  227. package/lib/recycle-tree/tree/decoration/DecorationManager.d.ts.map +1 -0
  228. package/lib/recycle-tree/tree/decoration/DecorationManager.js +166 -0
  229. package/lib/recycle-tree/tree/decoration/DecorationManager.js.map +1 -0
  230. package/lib/recycle-tree/tree/decoration/index.d.ts +4 -0
  231. package/lib/recycle-tree/tree/decoration/index.d.ts.map +1 -0
  232. package/lib/recycle-tree/tree/decoration/index.js +7 -0
  233. package/lib/recycle-tree/tree/decoration/index.js.map +1 -0
  234. package/lib/recycle-tree/tree/index.d.ts +5 -0
  235. package/lib/recycle-tree/tree/index.d.ts.map +1 -0
  236. package/lib/recycle-tree/tree/index.js +8 -0
  237. package/lib/recycle-tree/tree/index.js.map +1 -0
  238. package/lib/recycle-tree/tree/model/TreeModel.d.ts +50 -0
  239. package/lib/recycle-tree/tree/model/TreeModel.d.ts.map +1 -0
  240. package/lib/recycle-tree/tree/model/TreeModel.js +81 -0
  241. package/lib/recycle-tree/tree/model/TreeModel.js.map +1 -0
  242. package/lib/recycle-tree/tree/model/index.d.ts +2 -0
  243. package/lib/recycle-tree/tree/model/index.d.ts.map +1 -0
  244. package/lib/recycle-tree/tree/model/index.js +5 -0
  245. package/lib/recycle-tree/tree/model/index.js.map +1 -0
  246. package/lib/recycle-tree/tree/model/treeState/TreeStateManager.d.ts +65 -0
  247. package/lib/recycle-tree/tree/model/treeState/TreeStateManager.d.ts.map +1 -0
  248. package/lib/recycle-tree/tree/model/treeState/TreeStateManager.js +191 -0
  249. package/lib/recycle-tree/tree/model/treeState/TreeStateManager.js.map +1 -0
  250. package/lib/recycle-tree/tree/model/treeState/TreeStateWatcher.d.ts +15 -0
  251. package/lib/recycle-tree/tree/model/treeState/TreeStateWatcher.d.ts.map +1 -0
  252. package/lib/recycle-tree/tree/model/treeState/TreeStateWatcher.js +104 -0
  253. package/lib/recycle-tree/tree/model/treeState/TreeStateWatcher.js.map +1 -0
  254. package/lib/recycle-tree/tree/model/treeState/index.d.ts +4 -0
  255. package/lib/recycle-tree/tree/model/treeState/index.d.ts.map +1 -0
  256. package/lib/recycle-tree/tree/model/treeState/index.js +8 -0
  257. package/lib/recycle-tree/tree/model/treeState/index.js.map +1 -0
  258. package/lib/recycle-tree/tree/model/treeState/types.d.ts +21 -0
  259. package/lib/recycle-tree/tree/model/treeState/types.d.ts.map +1 -0
  260. package/lib/recycle-tree/tree/model/treeState/types.js +18 -0
  261. package/lib/recycle-tree/tree/model/treeState/types.js.map +1 -0
  262. package/lib/recycle-tree/types/index.d.ts +4 -0
  263. package/lib/recycle-tree/types/index.d.ts.map +1 -0
  264. package/lib/recycle-tree/types/index.js +7 -0
  265. package/lib/recycle-tree/types/index.js.map +1 -0
  266. package/lib/recycle-tree/types/tree-node.d.ts +70 -0
  267. package/lib/recycle-tree/types/tree-node.d.ts.map +1 -0
  268. package/lib/recycle-tree/types/tree-node.js +11 -0
  269. package/lib/recycle-tree/types/tree-node.js.map +1 -0
  270. package/lib/recycle-tree/types/tree.d.ts +8 -0
  271. package/lib/recycle-tree/types/tree.d.ts.map +1 -0
  272. package/lib/recycle-tree/types/tree.js +3 -0
  273. package/lib/recycle-tree/types/tree.js.map +1 -0
  274. package/lib/recycle-tree/types/watcher.d.ts +114 -0
  275. package/lib/recycle-tree/types/watcher.d.ts.map +1 -0
  276. package/lib/recycle-tree/types/watcher.js +46 -0
  277. package/lib/recycle-tree/types/watcher.js.map +1 -0
  278. package/lib/scrollbars/index.d.ts +14 -0
  279. package/lib/scrollbars/index.d.ts.map +1 -0
  280. package/lib/scrollbars/index.js +52 -0
  281. package/lib/scrollbars/index.js.map +1 -0
  282. package/lib/scrollbars/styles.less +46 -0
  283. package/lib/select/index.d.ts +119 -0
  284. package/lib/select/index.d.ts.map +1 -0
  285. package/lib/select/index.js +327 -0
  286. package/lib/select/index.js.map +1 -0
  287. package/lib/select/style.less +224 -0
  288. package/lib/style/base.less +542 -0
  289. package/lib/style/index.less +14 -0
  290. package/lib/style/mixins.less +135 -0
  291. package/lib/style/motion/fade.less +31 -0
  292. package/lib/style/motion/move.less +120 -0
  293. package/lib/style/motion/other.less +45 -0
  294. package/lib/style/motion/slide.less +120 -0
  295. package/lib/style/motion/swing.less +34 -0
  296. package/lib/style/motion/zoom.less +162 -0
  297. package/lib/style/variable.less +204 -0
  298. package/lib/tabs/index.d.ts +12 -0
  299. package/lib/tabs/index.d.ts.map +1 -0
  300. package/lib/tabs/index.js +24 -0
  301. package/lib/tabs/index.js.map +1 -0
  302. package/lib/tabs/style.less +34 -0
  303. package/lib/tooltip/index.d.ts +7 -0
  304. package/lib/tooltip/index.d.ts.map +1 -0
  305. package/lib/tooltip/index.js +58 -0
  306. package/lib/tooltip/index.js.map +1 -0
  307. package/lib/tooltip/style.less +41 -0
  308. package/lib/utils/deprecated.d.ts +3 -0
  309. package/lib/utils/deprecated.d.ts.map +1 -0
  310. package/lib/utils/deprecated.js +18 -0
  311. package/lib/utils/deprecated.js.map +1 -0
  312. package/lib/utils/disposable.d.ts +37 -0
  313. package/lib/utils/disposable.d.ts.map +1 -0
  314. package/lib/utils/disposable.js +140 -0
  315. package/lib/utils/disposable.js.map +1 -0
  316. package/lib/utils/event.d.ts +189 -0
  317. package/lib/utils/event.d.ts.map +1 -0
  318. package/lib/utils/event.js +569 -0
  319. package/lib/utils/event.js.map +1 -0
  320. package/lib/utils/index.d.ts +10 -0
  321. package/lib/utils/index.d.ts.map +1 -0
  322. package/lib/utils/index.js +13 -0
  323. package/lib/utils/index.js.map +1 -0
  324. package/lib/utils/iterator.d.ts +14 -0
  325. package/lib/utils/iterator.d.ts.map +1 -0
  326. package/lib/utils/iterator.js +9 -0
  327. package/lib/utils/iterator.js.map +1 -0
  328. package/lib/utils/linkedList.d.ts +18 -0
  329. package/lib/utils/linkedList.d.ts.map +1 -0
  330. package/lib/utils/linkedList.js +139 -0
  331. package/lib/utils/linkedList.js.map +1 -0
  332. package/lib/utils/motion.d.ts +24 -0
  333. package/lib/utils/motion.d.ts.map +1 -0
  334. package/lib/utils/motion.js +17 -0
  335. package/lib/utils/motion.js.map +1 -0
  336. package/lib/utils/os.d.ts +4 -0
  337. package/lib/utils/os.d.ts.map +1 -0
  338. package/lib/utils/os.js +22 -0
  339. package/lib/utils/os.js.map +1 -0
  340. package/lib/utils/path.d.ts +92 -0
  341. package/lib/utils/path.d.ts.map +1 -0
  342. package/lib/utils/path.js +1712 -0
  343. package/lib/utils/path.js.map +1 -0
  344. package/lib/utils/process.d.ts +6 -0
  345. package/lib/utils/process.d.ts.map +1 -0
  346. package/lib/utils/process.js +17 -0
  347. package/lib/utils/process.js.map +1 -0
  348. package/lib/utils/raf.d.ts +10 -0
  349. package/lib/utils/raf.d.ts.map +1 -0
  350. package/lib/utils/raf.js +33 -0
  351. package/lib/utils/raf.js.map +1 -0
  352. package/lib/utils/type.d.ts +4 -0
  353. package/lib/utils/type.d.ts.map +1 -0
  354. package/lib/utils/type.js +9 -0
  355. package/lib/utils/type.js.map +1 -0
  356. package/lib/utils/warning.d.ts +8 -0
  357. package/lib/utils/warning.d.ts.map +1 -0
  358. package/lib/utils/warning.js +40 -0
  359. package/lib/utils/warning.js.map +1 -0
  360. package/package.json +36 -0
@@ -0,0 +1,65 @@
1
+ import { Event } from '../../../../utils';
2
+ import { ISerializableState } from './types';
3
+ import { CompositeTreeNode } from '../../TreeNode';
4
+ import { ITreeNodeOrCompositeTreeNode } from '../../../types';
5
+ export declare enum Operation {
6
+ SetExpanded = 1,
7
+ SetCollapsed = 2,
8
+ SetActive = 3
9
+ }
10
+ export interface IPathChange {
11
+ prevPath: string;
12
+ newPath: string;
13
+ }
14
+ export interface IExpansionStateChange {
15
+ relativePath: string;
16
+ isExpanded: boolean;
17
+ isVisibleAtSurface: boolean;
18
+ }
19
+ export declare class TreeStateManager {
20
+ private root;
21
+ private expandedDirectories;
22
+ private _scrollOffset;
23
+ private stashing;
24
+ private stashKeyframes;
25
+ private stashLockingItems;
26
+ private onDidLoadStateEmitter;
27
+ private onChangeScrollOffsetEmitter;
28
+ private onDidChangeExpansionStateEmitter;
29
+ private onDidChangeRelativePathEmitter;
30
+ constructor(root: CompositeTreeNode);
31
+ get scrollOffset(): number;
32
+ saveScrollOffset(scrollOffset: number): void;
33
+ get onDidLoadState(): Event<void>;
34
+ get onChangeScrollOffset(): Event<number>;
35
+ get onDidChangeExpansionState(): Event<IExpansionStateChange>;
36
+ get onDidChangeRelativePath(): Event<IPathChange>;
37
+ loadTreeState(state: ISerializableState): Promise<void>;
38
+ /**
39
+ * 确保在调用`reverseStash`时,目录扩展不会被更改,以免导致节点内文件被排除
40
+ */
41
+ excludeFromStash(file: ITreeNodeOrCompositeTreeNode): void;
42
+ /**
43
+ * 处理展开状态的变更
44
+ * @private
45
+ * @memberof TreeStateManager
46
+ */
47
+ private handleExpansionChange;
48
+ private handleDidChangePath;
49
+ /**
50
+ * 开始记录点
51
+ */
52
+ beginStashing(): void;
53
+ /**
54
+ * 结束记录点
55
+ */
56
+ endStashing(): void;
57
+ /**
58
+ * 反转记录的所有折叠/展开状态
59
+ * 用于实现一些临时的查看操作
60
+ * 例如:
61
+ * 调用beginStashing ==> 展开/折叠某个目录 ==> 调用endStashing ==> 处理完毕后调用reverseStash,回到原来的状态
62
+ */
63
+ reverseStash(): Promise<void>;
64
+ }
65
+ //# sourceMappingURL=TreeStateManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeStateManager.d.ts","sourceRoot":"","sources":["../../../../../src/recycle-tree/tree/model/treeState/TreeStateManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAiB,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAY,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAiB,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAE7E,oBAAY,SAAS;IACnB,WAAW,IAAI;IACf,YAAY,IAAA;IACZ,SAAS,IAAA;CACV;AAQD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,mBAAmB,CAA6C;IACxE,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,cAAc,CAAwC;IAC9D,OAAO,CAAC,iBAAiB,CAA4B;IAErD,OAAO,CAAC,qBAAqB,CAAgC;IAC7D,OAAO,CAAC,2BAA2B,CAAkC;IACrE,OAAO,CAAC,gCAAgC,CAAiD;IACzF,OAAO,CAAC,8BAA8B,CAAuC;gBACjE,IAAI,EAAE,iBAAiB;IAQnC,IAAI,YAAY,WAEf;IAEM,gBAAgB,CAAC,YAAY,EAAE,MAAM;IAK5C,IAAI,cAAc,IAAI,KAAK,CAAC,IAAI,CAAC,CAEhC;IAED,IAAI,oBAAoB,IAAI,KAAK,CAAC,MAAM,CAAC,CAExC;IAED,IAAI,yBAAyB,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAE5D;IAED,IAAI,uBAAuB,IAAI,KAAK,CAAC,WAAW,CAAC,CAEhD;IAEY,aAAa,CAAC,KAAK,EAAE,kBAAkB;IAuBpD;;OAEG;IACI,gBAAgB,CAAC,IAAI,EAAE,4BAA4B;IAM1D;;;;OAIG;IACH,OAAO,CAAC,qBAAqB,CA0C5B;IAED,OAAO,CAAC,mBAAmB,CAO1B;IAED;;OAEG;IACI,aAAa;IAKpB;;OAEG;IACI,WAAW;IAKlB;;;;;OAKG;IACU,YAAY;CAwB1B"}
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TreeStateManager = exports.Operation = void 0;
4
+ const utils_1 = require("../../../../utils");
5
+ const TreeNode_1 = require("../../TreeNode");
6
+ const types_1 = require("../../../types");
7
+ var Operation;
8
+ (function (Operation) {
9
+ Operation[Operation["SetExpanded"] = 1] = "SetExpanded";
10
+ Operation[Operation["SetCollapsed"] = 2] = "SetCollapsed";
11
+ Operation[Operation["SetActive"] = 3] = "SetActive";
12
+ })(Operation = exports.Operation || (exports.Operation = {}));
13
+ var StashKeyFrameFlag;
14
+ (function (StashKeyFrameFlag) {
15
+ StashKeyFrameFlag[StashKeyFrameFlag["Expanded"] = 1] = "Expanded";
16
+ StashKeyFrameFlag[StashKeyFrameFlag["Collapsed"] = 2] = "Collapsed";
17
+ StashKeyFrameFlag[StashKeyFrameFlag["Disabled"] = 4] = "Disabled";
18
+ })(StashKeyFrameFlag || (StashKeyFrameFlag = {}));
19
+ class TreeStateManager {
20
+ constructor(root) {
21
+ this.expandedDirectories = new Map();
22
+ this._scrollOffset = 0;
23
+ this.stashing = false;
24
+ this.stashLockingItems = new Set();
25
+ this.onDidLoadStateEmitter = new utils_1.Emitter();
26
+ this.onChangeScrollOffsetEmitter = new utils_1.Emitter();
27
+ this.onDidChangeExpansionStateEmitter = new utils_1.Emitter();
28
+ this.onDidChangeRelativePathEmitter = new utils_1.Emitter();
29
+ /**
30
+ * 处理展开状态的变更
31
+ * @private
32
+ * @memberof TreeStateManager
33
+ */
34
+ this.handleExpansionChange = (target, isExpanded, isVisibleAtSurface) => {
35
+ var _a;
36
+ if (this.stashing && this.stashKeyframes) {
37
+ this.stashKeyframes.set(target.id, isExpanded ? StashKeyFrameFlag.Expanded : StashKeyFrameFlag.Collapsed);
38
+ }
39
+ if (this.stashKeyframes && !this.stashing) {
40
+ // 如果用户通过交互手动修改了展开属性,则需要在记录结束后将其父节点从撤销队列中移除
41
+ if (isExpanded) {
42
+ let p = target;
43
+ while (p) {
44
+ if (this.stashKeyframes.has(p.id)) {
45
+ let flags = this.stashKeyframes.get(p.id);
46
+ // tslint:disable-next-line:no-bitwise
47
+ flags = flags | StashKeyFrameFlag.Disabled;
48
+ this.stashKeyframes.set(p.id, flags);
49
+ }
50
+ p = p.parent;
51
+ }
52
+ this.stashLockingItems.add(target);
53
+ }
54
+ if (this.stashLockingItems && this.stashLockingItems.has(target) && !isExpanded) {
55
+ let p = target;
56
+ while (p) {
57
+ if (this.stashKeyframes.has(p.id)) {
58
+ let flags = this.stashKeyframes.get(p.id);
59
+ // tslint:disable-next-line:no-bitwise
60
+ flags &= ~StashKeyFrameFlag.Disabled;
61
+ this.stashKeyframes.set(p.id, flags);
62
+ }
63
+ p = p.parent;
64
+ }
65
+ this.stashLockingItems.delete(target);
66
+ }
67
+ }
68
+ let relativePath = this.expandedDirectories.get(target);
69
+ if (isExpanded && !relativePath) {
70
+ relativePath = (_a = new utils_1.Path(this.root.path).relative(new utils_1.Path(target.path))) === null || _a === void 0 ? void 0 : _a.toString();
71
+ this.expandedDirectories.set(target, relativePath);
72
+ this.onDidChangeExpansionStateEmitter.fire({ relativePath, isExpanded, isVisibleAtSurface });
73
+ }
74
+ else if (!isExpanded && relativePath) {
75
+ this.expandedDirectories.delete(target);
76
+ this.onDidChangeExpansionStateEmitter.fire({ relativePath, isExpanded, isVisibleAtSurface });
77
+ }
78
+ };
79
+ this.handleDidChangePath = (target) => {
80
+ var _a;
81
+ if (this.expandedDirectories.has(target)) {
82
+ const prevPath = this.expandedDirectories.get(target);
83
+ const newPath = (_a = new utils_1.Path(this.root.path).relative(new utils_1.Path(target.path))) === null || _a === void 0 ? void 0 : _a.toString();
84
+ this.expandedDirectories.set(target, newPath);
85
+ this.onDidChangeRelativePathEmitter.fire({ prevPath, newPath });
86
+ }
87
+ };
88
+ this.root = root;
89
+ // 监听节点的折叠展开状态变化
90
+ this.root.watcher.on(types_1.TreeNodeEvent.DidChangeExpansionState, this.handleExpansionChange);
91
+ this.root.watcher.on(types_1.TreeNodeEvent.DidChangePath, this.handleDidChangePath);
92
+ }
93
+ get scrollOffset() {
94
+ return this._scrollOffset;
95
+ }
96
+ saveScrollOffset(scrollOffset) {
97
+ this._scrollOffset = scrollOffset;
98
+ this.onChangeScrollOffsetEmitter.fire(scrollOffset);
99
+ }
100
+ get onDidLoadState() {
101
+ return this.onDidLoadStateEmitter.event;
102
+ }
103
+ get onChangeScrollOffset() {
104
+ return this.onChangeScrollOffsetEmitter.event;
105
+ }
106
+ get onDidChangeExpansionState() {
107
+ return this.onDidChangeExpansionStateEmitter.event;
108
+ }
109
+ get onDidChangeRelativePath() {
110
+ return this.onDidChangeRelativePathEmitter.event;
111
+ }
112
+ async loadTreeState(state) {
113
+ if (state) {
114
+ for (const relPath of state.expandedDirectories.buried) {
115
+ try {
116
+ const node = await this.root.forceLoadTreeNodeAtPath(relPath);
117
+ if (node && TreeNode_1.CompositeTreeNode.is(node)) {
118
+ await node.setExpanded(false);
119
+ }
120
+ }
121
+ catch (error) { }
122
+ }
123
+ for (const relPath of state.expandedDirectories.atSurface) {
124
+ try {
125
+ const node = await this.root.forceLoadTreeNodeAtPath(relPath);
126
+ if (node && TreeNode_1.CompositeTreeNode.is(node)) {
127
+ await node.setExpanded(true);
128
+ }
129
+ }
130
+ catch (error) { }
131
+ }
132
+ this._scrollOffset = typeof state.scrollPosition === 'number' && state.scrollPosition > -1 ? state.scrollPosition : this._scrollOffset;
133
+ this.onDidLoadStateEmitter.fire();
134
+ }
135
+ }
136
+ /**
137
+ * 确保在调用`reverseStash`时,目录扩展不会被更改,以免导致节点内文件被排除
138
+ */
139
+ excludeFromStash(file) {
140
+ if (this.stashKeyframes && !this.stashing) {
141
+ this.handleExpansionChange(!TreeNode_1.CompositeTreeNode.is(file) ? file.parent : file, true, this.root.isItemVisibleAtSurface(file));
142
+ }
143
+ }
144
+ /**
145
+ * 开始记录点
146
+ */
147
+ beginStashing() {
148
+ this.stashing = true;
149
+ this.stashKeyframes = new Map();
150
+ }
151
+ /**
152
+ * 结束记录点
153
+ */
154
+ endStashing() {
155
+ this.stashing = false;
156
+ this.stashLockingItems.clear();
157
+ }
158
+ /**
159
+ * 反转记录的所有折叠/展开状态
160
+ * 用于实现一些临时的查看操作
161
+ * 例如:
162
+ * 调用beginStashing ==> 展开/折叠某个目录 ==> 调用endStashing ==> 处理完毕后调用reverseStash,回到原来的状态
163
+ */
164
+ async reverseStash() {
165
+ if (!this.stashKeyframes) {
166
+ return;
167
+ }
168
+ this.endStashing();
169
+ const keyframes = Array.from(this.stashKeyframes);
170
+ this.stashKeyframes = null;
171
+ for (const [targetID, flags] of keyframes) {
172
+ // tslint:disable-next-line:no-bitwise
173
+ const frameDisabled = (flags & StashKeyFrameFlag.Disabled) === StashKeyFrameFlag.Disabled;
174
+ const target = TreeNode_1.TreeNode.getTreeNodeById(targetID);
175
+ // 判断当前操作对象是否有效,无效则做下一步操作
176
+ if (!target || frameDisabled) {
177
+ continue;
178
+ }
179
+ // tslint:disable-next-line:no-bitwise
180
+ if ((flags & StashKeyFrameFlag.Expanded) === StashKeyFrameFlag.Expanded) {
181
+ target.setCollapsed();
182
+ // tslint:disable-next-line:no-bitwise
183
+ }
184
+ else if ((flags & StashKeyFrameFlag.Collapsed) === StashKeyFrameFlag.Collapsed) {
185
+ await target.setExpanded();
186
+ }
187
+ }
188
+ }
189
+ }
190
+ exports.TreeStateManager = TreeStateManager;
191
+ //# sourceMappingURL=TreeStateManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeStateManager.js","sourceRoot":"","sources":["../../../../../src/recycle-tree/tree/model/treeState/TreeStateManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { Event, IDisposable } from '../../../../utils';
2
+ import { TreeStateManager } from './TreeStateManager';
3
+ import { ISerializableState, TreeStateWatcherChangeType as TreeStateChangeType } from './types';
4
+ export declare class TreeStateWatcher implements IDisposable {
5
+ private _disposed;
6
+ private disposables;
7
+ private onDidTreeStateChangeEmitter;
8
+ private currentState;
9
+ constructor(treeState: TreeStateManager, atSurfaceExpandedDirsOnly?: boolean);
10
+ get onDidChange(): Event<TreeStateChangeType>;
11
+ dispose(): void;
12
+ snapshot(): ISerializableState;
13
+ toString(): string;
14
+ }
15
+ //# sourceMappingURL=TreeStateWatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeStateWatcher.d.ts","sourceRoot":"","sources":["../../../../../src/recycle-tree/tree/model/treeState/TreeStateWatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAW,WAAW,EAAwB,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAsC,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,IAAI,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEhG,qBAAa,gBAAiB,YAAW,WAAW;IAClD,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,WAAW,CAAoD;IAEvE,OAAO,CAAC,2BAA2B,CAA+C;IAElF,OAAO,CAAC,YAAY,CAOlB;gBAGA,SAAS,EAAE,gBAAgB,EAC3B,yBAAyB,GAAE,OAAe;IAqE5C,IAAI,WAAW,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAE5C;IAEM,OAAO;IAQP,QAAQ,IAAI,kBAAkB;IAU9B,QAAQ;CAGhB"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TreeStateWatcher = void 0;
4
+ const utils_1 = require("../../../../utils");
5
+ const types_1 = require("./types");
6
+ class TreeStateWatcher {
7
+ constructor(treeState, atSurfaceExpandedDirsOnly = false) {
8
+ this._disposed = false;
9
+ this.disposables = new utils_1.DisposableCollection();
10
+ this.onDidTreeStateChangeEmitter = new utils_1.Emitter();
11
+ this.currentState = {
12
+ specVersion: 1,
13
+ scrollPosition: 0,
14
+ expandedDirectories: {
15
+ atSurface: [],
16
+ buried: [],
17
+ },
18
+ };
19
+ this.disposables.push(treeState.onChangeScrollOffset((newOffset) => {
20
+ this.currentState.scrollPosition = newOffset;
21
+ this.onDidTreeStateChangeEmitter.fire(types_1.TreeStateWatcherChangeType.ScrollOffset);
22
+ }));
23
+ this.disposables.push(treeState.onDidChangeRelativePath(({ prevPath, newPath }) => {
24
+ let shouldNotify = false;
25
+ const surfaceSets = new Set(this.currentState.expandedDirectories.atSurface);
26
+ if (surfaceSets.has(prevPath)) {
27
+ surfaceSets.delete(prevPath);
28
+ surfaceSets.add(newPath);
29
+ shouldNotify = true;
30
+ }
31
+ this.currentState.expandedDirectories.atSurface = Array.from(surfaceSets);
32
+ if (atSurfaceExpandedDirsOnly) {
33
+ const buriedSets = new Set(this.currentState.expandedDirectories.buried);
34
+ if (buriedSets.has(prevPath)) {
35
+ surfaceSets.delete(prevPath);
36
+ surfaceSets.add(newPath);
37
+ shouldNotify = true;
38
+ }
39
+ this.currentState.expandedDirectories.buried = Array.from(buriedSets);
40
+ }
41
+ if (shouldNotify) {
42
+ this.onDidTreeStateChangeEmitter.fire(types_1.TreeStateWatcherChangeType.PathsUpdated);
43
+ }
44
+ }));
45
+ this.disposables.push(treeState.onDidChangeExpansionState(({ relativePath, isExpanded, isVisibleAtSurface }) => {
46
+ let shouldNotify = false;
47
+ const surfaceSets = new Set(this.currentState.expandedDirectories.atSurface);
48
+ const buriedSets = new Set(this.currentState.expandedDirectories.buried);
49
+ if (surfaceSets.has(relativePath) && (!isExpanded || !isVisibleAtSurface)) {
50
+ surfaceSets.delete(relativePath);
51
+ // 该目录下的子目录需要变为buried状态
52
+ const restSurfaceArray = Array.from(surfaceSets);
53
+ const pathsShouldBeBuried = restSurfaceArray.filter((rest) => rest.indexOf(relativePath) >= 0);
54
+ for (const path of pathsShouldBeBuried) {
55
+ surfaceSets.delete(path);
56
+ if (!buriedSets.has(path)) {
57
+ buriedSets.add(path);
58
+ }
59
+ }
60
+ shouldNotify = true;
61
+ }
62
+ else if (isExpanded && isVisibleAtSurface) {
63
+ surfaceSets.add(relativePath);
64
+ shouldNotify = true;
65
+ }
66
+ this.currentState.expandedDirectories.atSurface = Array.from(surfaceSets);
67
+ if (!atSurfaceExpandedDirsOnly) {
68
+ if (buriedSets.has(relativePath) && (!isExpanded || isVisibleAtSurface)) {
69
+ buriedSets.delete(relativePath);
70
+ shouldNotify = true;
71
+ }
72
+ else if (isExpanded && !isVisibleAtSurface) {
73
+ buriedSets.add(relativePath);
74
+ shouldNotify = true;
75
+ }
76
+ this.currentState.expandedDirectories.buried = Array.from(buriedSets);
77
+ }
78
+ if (shouldNotify) {
79
+ this.onDidTreeStateChangeEmitter.fire(types_1.TreeStateWatcherChangeType.DirExpansionState);
80
+ }
81
+ }));
82
+ }
83
+ get onDidChange() {
84
+ return this.onDidTreeStateChangeEmitter.event;
85
+ }
86
+ dispose() {
87
+ if (this._disposed) {
88
+ return;
89
+ }
90
+ this._disposed = true;
91
+ this.disposables.dispose();
92
+ }
93
+ snapshot() {
94
+ return Object.assign(Object.assign({}, this.currentState), { expandedDirectories: {
95
+ atSurface: this.currentState.expandedDirectories.atSurface.slice(),
96
+ buried: this.currentState.expandedDirectories.buried.slice(),
97
+ } });
98
+ }
99
+ toString() {
100
+ return JSON.stringify(this.currentState);
101
+ }
102
+ }
103
+ exports.TreeStateWatcher = TreeStateWatcher;
104
+ //# sourceMappingURL=TreeStateWatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeStateWatcher.js","sourceRoot":"","sources":["../../../../../src/recycle-tree/tree/model/treeState/TreeStateWatcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { TreeStateManager } from './TreeStateManager';
2
+ export { TreeStateWatcher } from './TreeStateWatcher';
3
+ export { ISerializableState } from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/recycle-tree/tree/model/treeState/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TreeStateWatcher = exports.TreeStateManager = void 0;
4
+ var TreeStateManager_1 = require("./TreeStateManager");
5
+ Object.defineProperty(exports, "TreeStateManager", { enumerable: true, get: function () { return TreeStateManager_1.TreeStateManager; } });
6
+ var TreeStateWatcher_1 = require("./TreeStateWatcher");
7
+ Object.defineProperty(exports, "TreeStateWatcher", { enumerable: true, get: function () { return TreeStateWatcher_1.TreeStateWatcher; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/recycle-tree/tree/model/treeState/index.ts"],"names":[],"mappings":";;;AAAA,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA"}
@@ -0,0 +1,21 @@
1
+ export interface ISerializableState {
2
+ specVersion: number;
3
+ scrollPosition: number;
4
+ expandedDirectories: {
5
+ atSurface: string[];
6
+ buried: string[];
7
+ };
8
+ }
9
+ export declare enum TreeStateEvent {
10
+ DidChangeScrollOffset = 1,
11
+ DidChangeDirExpansionState = 2,
12
+ DidChangeRelativePath = 3,
13
+ DidChange = 4,
14
+ DidLoadState = 5
15
+ }
16
+ export declare enum TreeStateWatcherChangeType {
17
+ ScrollOffset = 1,
18
+ DirExpansionState = 2,
19
+ PathsUpdated = 3
20
+ }
21
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/recycle-tree/tree/model/treeState/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE;QACnB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACH;AAED,oBAAY,cAAc;IACxB,qBAAqB,IAAI;IACzB,0BAA0B,IAAA;IAC1B,qBAAqB,IAAA;IACrB,SAAS,IAAA;IACT,YAAY,IAAA;CACb;AAED,oBAAY,0BAA0B;IACpC,YAAY,IAAI;IAChB,iBAAiB,IAAA;IACjB,YAAY,IAAA;CACb"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TreeStateWatcherChangeType = exports.TreeStateEvent = void 0;
4
+ var TreeStateEvent;
5
+ (function (TreeStateEvent) {
6
+ TreeStateEvent[TreeStateEvent["DidChangeScrollOffset"] = 1] = "DidChangeScrollOffset";
7
+ TreeStateEvent[TreeStateEvent["DidChangeDirExpansionState"] = 2] = "DidChangeDirExpansionState";
8
+ TreeStateEvent[TreeStateEvent["DidChangeRelativePath"] = 3] = "DidChangeRelativePath";
9
+ TreeStateEvent[TreeStateEvent["DidChange"] = 4] = "DidChange";
10
+ TreeStateEvent[TreeStateEvent["DidLoadState"] = 5] = "DidLoadState";
11
+ })(TreeStateEvent = exports.TreeStateEvent || (exports.TreeStateEvent = {}));
12
+ var TreeStateWatcherChangeType;
13
+ (function (TreeStateWatcherChangeType) {
14
+ TreeStateWatcherChangeType[TreeStateWatcherChangeType["ScrollOffset"] = 1] = "ScrollOffset";
15
+ TreeStateWatcherChangeType[TreeStateWatcherChangeType["DirExpansionState"] = 2] = "DirExpansionState";
16
+ TreeStateWatcherChangeType[TreeStateWatcherChangeType["PathsUpdated"] = 3] = "PathsUpdated";
17
+ })(TreeStateWatcherChangeType = exports.TreeStateWatcherChangeType || (exports.TreeStateWatcherChangeType = {}));
18
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/recycle-tree/tree/model/treeState/types.ts"],"names":[],"mappings":";;;AASA,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,qFAAyB,CAAA;IACzB,+FAA0B,CAAA;IAC1B,qFAAqB,CAAA;IACrB,6DAAS,CAAA;IACT,mEAAY,CAAA;AACd,CAAC,EANW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAMzB;AAED,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IACpC,2FAAgB,CAAA;IAChB,qGAAiB,CAAA;IACjB,2FAAY,CAAA;AACd,CAAC,EAJW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAIrC"}
@@ -0,0 +1,4 @@
1
+ export * from './tree';
2
+ export * from './tree-node';
3
+ export * from './watcher';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/recycle-tree/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ (0, tslib_1.__exportStar)(require("./tree"), exports);
5
+ (0, tslib_1.__exportStar)(require("./tree-node"), exports);
6
+ (0, tslib_1.__exportStar)(require("./watcher"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/recycle-tree/types/index.ts"],"names":[],"mappings":";;;AAAA,sDAAuB;AACvB,2DAA4B;AAC5B,yDAA0B"}
@@ -0,0 +1,70 @@
1
+ export interface IAccessibilityInformation {
2
+ label: string;
3
+ role?: string;
4
+ }
5
+ export interface ITreeNode {
6
+ /**
7
+ * 唯一标识id
8
+ */
9
+ readonly id: number;
10
+ /**
11
+ * 节点深度
12
+ */
13
+ readonly depth: number;
14
+ /**
15
+ * 节点类型
16
+ */
17
+ readonly type: TreeNodeType;
18
+ /**
19
+ * 节点名称
20
+ */
21
+ readonly name: string;
22
+ /**
23
+ * 节点路径,这里的路径不一定指的是文件路径
24
+ * 一般为${parent.name}/${this.name}拼接而成的绝对路径
25
+ */
26
+ readonly path: string;
27
+ /**
28
+ * 自定义节点icon
29
+ */
30
+ readonly icon?: string;
31
+ /**
32
+ * 描述节点是否可见,这里的可见表示的是否在展示数据内,并不是代表是否在用户视窗范围内
33
+ */
34
+ readonly visible?: boolean;
35
+ /**
36
+ * 父节点,但为undefined时,表示该节点为根节点
37
+ */
38
+ readonly parent: ICompositeTreeNode | undefined;
39
+ /**
40
+ * 节点无障碍信息
41
+ */
42
+ readonly accessibilityInformation?: IAccessibilityInformation;
43
+ /**
44
+ * 移动函数
45
+ */
46
+ mv: (to: ICompositeTreeNode | null, name?: string) => void;
47
+ /**
48
+ * 设置是否可见,这里的可见表示的是否在展示数据内,并不是代表是否在用户视窗范围内
49
+ */
50
+ setVisible: (b: boolean) => this;
51
+ }
52
+ export interface ICompositeTreeNode extends ITreeNode {
53
+ expanded: boolean;
54
+ /**
55
+ * 子节点
56
+ */
57
+ children: ReadonlyArray<ITreeNodeOrCompositeTreeNode> | null;
58
+ }
59
+ export declare type ITreeNodeOrCompositeTreeNode = ITreeNode | ICompositeTreeNode;
60
+ export declare enum TreeNodeType {
61
+ TreeNode = 1,
62
+ CompositeTreeNode = 2,
63
+ NewPrompt = 3,
64
+ RenamePrompt = 4
65
+ }
66
+ export interface IOptionalMetaData {
67
+ name?: string;
68
+ [key: string]: any;
69
+ }
70
+ //# sourceMappingURL=tree-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-node.d.ts","sourceRoot":"","sources":["../../../src/recycle-tree/types/tree-node.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAChD;;OAEG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,yBAAyB,CAAC;IAC9D;;OAEG;IACH,EAAE,EAAE,CAAC,EAAE,EAAE,kBAAkB,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D;;OAEG;IACH,UAAU,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,aAAa,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC;CAC9D;AAED,oBAAY,4BAA4B,GAAG,SAAS,GAAG,kBAAkB,CAAC;AAE1E,oBAAY,YAAY;IACtB,QAAQ,IAAI;IACZ,iBAAiB,IAAA;IACjB,SAAS,IAAA;IACT,YAAY,IAAA;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TreeNodeType = void 0;
4
+ var TreeNodeType;
5
+ (function (TreeNodeType) {
6
+ TreeNodeType[TreeNodeType["TreeNode"] = 1] = "TreeNode";
7
+ TreeNodeType[TreeNodeType["CompositeTreeNode"] = 2] = "CompositeTreeNode";
8
+ TreeNodeType[TreeNodeType["NewPrompt"] = 3] = "NewPrompt";
9
+ TreeNodeType[TreeNodeType["RenamePrompt"] = 4] = "RenamePrompt";
10
+ })(TreeNodeType = exports.TreeNodeType || (exports.TreeNodeType = {}));
11
+ //# sourceMappingURL=tree-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-node.js","sourceRoot":"","sources":["../../../src/recycle-tree/types/tree-node.ts"],"names":[],"mappings":";;;AA+DA,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,uDAAY,CAAA;IACZ,yEAAiB,CAAA;IACjB,yDAAS,CAAA;IACT,+DAAY,CAAA;AACd,CAAC,EALW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAKvB"}
@@ -0,0 +1,8 @@
1
+ import { CompositeTreeNode } from '../tree/TreeNode';
2
+ import { ITreeNodeOrCompositeTreeNode, ICompositeTreeNode } from './tree-node';
3
+ export interface ITree {
4
+ resolveChildren: (parent?: ICompositeTreeNode) => Promise<ITreeNodeOrCompositeTreeNode[] | null>;
5
+ sortComparator?: (a: ITreeNodeOrCompositeTreeNode, b: ITreeNodeOrCompositeTreeNode) => number;
6
+ root?: CompositeTreeNode;
7
+ }
8
+ //# sourceMappingURL=tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../src/recycle-tree/types/tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE/E,MAAM,WAAW,KAAK;IAEpB,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,kBAAkB,KAAM,OAAO,CAAC,4BAA4B,EAAG,GAAG,IAAI,CAAE,CAAE;IAErG,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,4BAA4B,EAAE,CAAC,EAAE,4BAA4B,KAAK,MAAM,CAAC;IAE9F,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../src/recycle-tree/types/tree.ts"],"names":[],"mappings":""}