@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,183 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Decoration = exports.TargetMatchMode = void 0;
4
+ const TreeNode_1 = require("../TreeNode");
5
+ const utils_1 = require("../../../utils");
6
+ var TargetMatchMode;
7
+ (function (TargetMatchMode) {
8
+ TargetMatchMode[TargetMatchMode["None"] = 1] = "None";
9
+ // 样式作用于自身
10
+ TargetMatchMode[TargetMatchMode["Self"] = 2] = "Self";
11
+ // 样式作用于子元素
12
+ TargetMatchMode[TargetMatchMode["Children"] = 3] = "Children";
13
+ // 样式作用于自身及子元素
14
+ TargetMatchMode[TargetMatchMode["SelfAndChildren"] = 4] = "SelfAndChildren";
15
+ })(TargetMatchMode = exports.TargetMatchMode || (exports.TargetMatchMode = {}));
16
+ class Decoration {
17
+ constructor(...cssClassList) {
18
+ this._appliedTargets = new Map();
19
+ this._negatedTargets = new Map();
20
+ this._disabled = false;
21
+ this.appliedTargetsDisposables = new WeakMap();
22
+ this.negatedTargetsDisposables = new WeakMap();
23
+ this.onDidAddCSSClassnameEmitter = new utils_1.Emitter();
24
+ this.onDidRemoveCSSClassnameEmitter = new utils_1.Emitter();
25
+ this.onDidDisableDecorationEmitter = new utils_1.Emitter();
26
+ this.onDidEnableDecorationEmitter = new utils_1.Emitter();
27
+ this.onDidAddTargetEmitter = new utils_1.Emitter();
28
+ this.onDidRemoveTargetEmitter = new utils_1.Emitter();
29
+ this.onDidNegateTargetEmitter = new utils_1.Emitter();
30
+ this.onDidUnNegateTargetEmitter = new utils_1.Emitter();
31
+ if (Array.isArray(cssClassList)) {
32
+ if (cssClassList.every((classname) => typeof classname === 'string')) {
33
+ this._cssClassList = new Set(cssClassList);
34
+ }
35
+ else {
36
+ throw new TypeError('classlist must be of type `Array<string>`');
37
+ }
38
+ }
39
+ else {
40
+ this._cssClassList = new Set();
41
+ }
42
+ }
43
+ get disabled() {
44
+ return this._disabled;
45
+ }
46
+ set disabled(disabled) {
47
+ this._disabled = disabled;
48
+ if (disabled) {
49
+ this.onDidDisableDecorationEmitter.fire({ decoration: this });
50
+ }
51
+ else {
52
+ this.onDidEnableDecorationEmitter.fire({ decoration: this });
53
+ }
54
+ }
55
+ get appliedTargets() {
56
+ return this._appliedTargets;
57
+ }
58
+ get negatedTargets() {
59
+ return this._negatedTargets;
60
+ }
61
+ get cssClassList() {
62
+ return this._cssClassList;
63
+ }
64
+ get onDidAddCSSClassname() {
65
+ return this.onDidAddCSSClassnameEmitter.event;
66
+ }
67
+ get onDidRemoveCSSClassname() {
68
+ return this.onDidRemoveCSSClassnameEmitter.event;
69
+ }
70
+ get onDidDisableDecoration() {
71
+ return this.onDidDisableDecorationEmitter.event;
72
+ }
73
+ get onDidEnableDecoration() {
74
+ return this.onDidEnableDecorationEmitter.event;
75
+ }
76
+ get onDidAddTarget() {
77
+ return this.onDidAddTargetEmitter.event;
78
+ }
79
+ get onDidRemoveTarget() {
80
+ return this.onDidRemoveTargetEmitter.event;
81
+ }
82
+ get onDidNegateTarget() {
83
+ return this.onDidNegateTargetEmitter.event;
84
+ }
85
+ get onDidUnNegateTarget() {
86
+ return this.onDidUnNegateTargetEmitter.event;
87
+ }
88
+ addCSSClass(className) {
89
+ if (this._cssClassList.has(className)) {
90
+ return;
91
+ }
92
+ this._cssClassList.add(className);
93
+ this.onDidAddCSSClassnameEmitter.fire({ decoration: this, classname: className });
94
+ }
95
+ removeCSSClass(className) {
96
+ if (!this._cssClassList.has(className)) {
97
+ return;
98
+ }
99
+ this._cssClassList.delete(className);
100
+ this.onDidRemoveCSSClassnameEmitter.fire({ decoration: this, classname: className });
101
+ }
102
+ /**
103
+ * 判断当前装饰器是否包含指定的对象绑定
104
+ * @param target
105
+ */
106
+ hasTarget(target) {
107
+ const existingFlags = this._appliedTargets.get(target);
108
+ return !!existingFlags;
109
+ }
110
+ /**
111
+ * 为当前装饰器绑定对象
112
+ * @param target
113
+ * @param flags
114
+ */
115
+ addTarget(target, flags = TargetMatchMode.Self) {
116
+ const existingFlags = this._appliedTargets.get(target);
117
+ if (existingFlags === flags) {
118
+ return;
119
+ }
120
+ if (!(TreeNode_1.TreeNode.is(target))) {
121
+ return;
122
+ }
123
+ this._appliedTargets.set(target, flags);
124
+ const dispose = utils_1.Disposable.create(() => {
125
+ this.removeTarget(target);
126
+ });
127
+ this.appliedTargetsDisposables.set(target, dispose);
128
+ this.onDidAddTargetEmitter.fire({ decoration: this, target });
129
+ return dispose;
130
+ }
131
+ /**
132
+ * 为当前装饰器移除对象绑定
133
+ * @param target
134
+ * @param flags
135
+ */
136
+ removeTarget(target) {
137
+ if (this._appliedTargets.delete(target)) {
138
+ const disposable = this.appliedTargetsDisposables.get(target);
139
+ if (disposable) {
140
+ disposable.dispose();
141
+ }
142
+ this.onDidRemoveTargetEmitter.fire({ decoration: this, target });
143
+ }
144
+ }
145
+ /**
146
+ * 否定装饰器绑定
147
+ * negate 表示 :not修饰符
148
+ * 定义节点不应用样式
149
+ * @param target
150
+ * @param flags
151
+ */
152
+ negateTarget(target, flags = TargetMatchMode.Self) {
153
+ const existingFlags = this._negatedTargets.get(target);
154
+ if (existingFlags === flags) {
155
+ return;
156
+ }
157
+ if (!(TreeNode_1.TreeNode.is(target))) {
158
+ return;
159
+ }
160
+ this._negatedTargets.set(target, flags);
161
+ const dispose = utils_1.Disposable.create(() => {
162
+ this.unNegateTarget(target);
163
+ });
164
+ this.negatedTargetsDisposables.set(target, dispose);
165
+ this.onDidNegateTargetEmitter.fire({ decoration: this, target });
166
+ return dispose;
167
+ }
168
+ /**
169
+ * 取消否定装饰器绑定
170
+ * @param target
171
+ */
172
+ unNegateTarget(target) {
173
+ if (this._negatedTargets.delete(target)) {
174
+ const disposable = this.negatedTargetsDisposables.get(target);
175
+ if (disposable) {
176
+ disposable.dispose();
177
+ }
178
+ this.onDidUnNegateTargetEmitter.fire({ decoration: this, target });
179
+ }
180
+ }
181
+ }
182
+ exports.Decoration = Decoration;
183
+ //# sourceMappingURL=Decoration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Decoration.js","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/decoration/Decoration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { IDisposable } from '../../../utils';
2
+ import { CompositeTreeNode } from '../TreeNode';
3
+ import { Decoration } from './Decoration';
4
+ import { CompositeDecoration, ClasslistComposite } from './CompositeDecoration';
5
+ import { ITreeNodeOrCompositeTreeNode } from '../../types';
6
+ interface IDecorationMeta {
7
+ /**
8
+ * 所有应用于自身的装饰器属性, 同时继承父级继承的装饰器
9
+ */
10
+ applicable: CompositeDecoration;
11
+ /**
12
+ * 所有可应用于子级的装饰器属性(一直继承,除非在继承过程中使用negated方法取消继承)
13
+ */
14
+ inheritable?: CompositeDecoration;
15
+ }
16
+ export declare class DecorationsManager implements IDisposable {
17
+ private decorations;
18
+ private decorationsMeta;
19
+ private disposables;
20
+ private disposed;
21
+ constructor(root: CompositeTreeNode);
22
+ dispose(): void;
23
+ addDecoration(decoration: Decoration): void;
24
+ removeDecoration(decoration: Decoration): void;
25
+ getDecorations(item: ITreeNodeOrCompositeTreeNode): ClasslistComposite | undefined;
26
+ getDecorationData(item: ITreeNodeOrCompositeTreeNode): IDecorationMeta | undefined;
27
+ private targetDecoration;
28
+ private unTargetDecoration;
29
+ private negateDecoration;
30
+ private unNegateDecoration;
31
+ private switchParent;
32
+ }
33
+ export {};
34
+ //# sourceMappingURL=DecorationManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DecorationManager.d.ts","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/decoration/DecorationManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAwB,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAY,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAoC,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAA2B,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAiB,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAE1E,UAAU,eAAe;IACvB;;OAEG;IACH,UAAU,EAAE,mBAAmB,CAAC;IAEhC;;OAEG;IACH,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED,qBAAa,kBAAmB,YAAW,WAAW;IACpD,OAAO,CAAC,WAAW,CAA2C;IAC9D,OAAO,CAAC,eAAe,CAAyE;IAChG,OAAO,CAAC,WAAW,CAAoD;IACvE,OAAO,CAAC,QAAQ,CAAS;gBAEb,IAAI,EAAE,iBAAiB;IAS5B,OAAO,IAAI,IAAI;IAQf,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAyB3C,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IA+B9C,cAAc,CAAC,IAAI,EAAE,4BAA4B,GAAG,kBAAkB,GAAG,SAAS;IAWlF,iBAAiB,CAAC,IAAI,EAAE,4BAA4B,GAAG,eAAe,GAAG,SAAS;IAsBzF,OAAO,CAAC,gBAAgB,CAYvB;IAED,OAAO,CAAC,kBAAkB,CAYzB;IAED,OAAO,CAAC,gBAAgB,CAYvB;IAED,OAAO,CAAC,kBAAkB,CAYzB;IAED,OAAO,CAAC,YAAY,CAYnB;CACF"}
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DecorationsManager = void 0;
4
+ const utils_1 = require("../../../utils");
5
+ const TreeNode_1 = require("../TreeNode");
6
+ const CompositeDecoration_1 = require("./CompositeDecoration");
7
+ const types_1 = require("../../types");
8
+ class DecorationsManager {
9
+ constructor(root) {
10
+ this.decorations = new Map();
11
+ this.decorationsMeta = new WeakMap();
12
+ this.disposables = new utils_1.DisposableCollection();
13
+ this.disposed = false;
14
+ this.targetDecoration = (event) => {
15
+ const { decoration, target } = event;
16
+ const decorationData = this.getDecorationData(target);
17
+ if (decorationData) {
18
+ const { applicable, inheritable } = decorationData;
19
+ applicable.add(decoration);
20
+ if (inheritable) {
21
+ inheritable.add(decoration);
22
+ }
23
+ }
24
+ };
25
+ this.unTargetDecoration = (event) => {
26
+ const { decoration, target } = event;
27
+ const decorationData = this.getDecorationData(target);
28
+ if (decorationData) {
29
+ const { applicable, inheritable } = decorationData;
30
+ applicable.remove(decoration);
31
+ if (inheritable) {
32
+ inheritable.remove(decoration);
33
+ }
34
+ }
35
+ };
36
+ this.negateDecoration = (event) => {
37
+ const { decoration, target } = event;
38
+ const decorationData = this.getDecorationData(target);
39
+ if (decorationData) {
40
+ const { applicable, inheritable } = decorationData;
41
+ applicable.negate(decoration);
42
+ if (inheritable) {
43
+ inheritable.negate(decoration);
44
+ }
45
+ }
46
+ };
47
+ this.unNegateDecoration = (event) => {
48
+ const { decoration, target } = event;
49
+ const decorationData = this.getDecorationData(target);
50
+ if (decorationData) {
51
+ const { applicable, inheritable } = decorationData;
52
+ applicable.unNegate(decoration);
53
+ if (inheritable) {
54
+ inheritable.unNegate(decoration);
55
+ }
56
+ }
57
+ };
58
+ this.switchParent = (target, prevParent, newParent) => {
59
+ const ownMeta = this.decorationsMeta.get(target);
60
+ if (!ownMeta) {
61
+ return;
62
+ }
63
+ const newParentMeta = this.getDecorationData(newParent);
64
+ if (newParentMeta) {
65
+ ownMeta.applicable.changeParent(newParentMeta.inheritable);
66
+ if (ownMeta.inheritable) {
67
+ ownMeta.inheritable.changeParent(newParentMeta.inheritable);
68
+ }
69
+ }
70
+ };
71
+ this.decorationsMeta.set(root, {
72
+ applicable: new CompositeDecoration_1.CompositeDecoration(root, CompositeDecoration_1.CompositeDecorationType.Applicable),
73
+ inheritable: new CompositeDecoration_1.CompositeDecoration(root, CompositeDecoration_1.CompositeDecorationType.Inheritable),
74
+ });
75
+ this.disposables.push(root.watcher.on(types_1.TreeNodeEvent.DidChangeParent, this.switchParent));
76
+ this.disposables.push(root.watcher.on(types_1.TreeNodeEvent.DidDispose, this.decorationsMeta.delete));
77
+ }
78
+ dispose() {
79
+ for (const [decoration] of this.decorations) {
80
+ this.removeDecoration(decoration);
81
+ }
82
+ this.disposables.dispose();
83
+ this.disposed = true;
84
+ }
85
+ addDecoration(decoration) {
86
+ if (this.disposed) {
87
+ throw new Error(`DecorationManager disposed`);
88
+ }
89
+ if (this.decorations.has(decoration)) {
90
+ return;
91
+ }
92
+ const disposable = new utils_1.DisposableCollection();
93
+ disposable.push(decoration.onDidAddTarget(this.targetDecoration));
94
+ disposable.push(decoration.onDidRemoveTarget(this.unTargetDecoration));
95
+ disposable.push(decoration.onDidNegateTarget(this.negateDecoration));
96
+ disposable.push(decoration.onDidUnNegateTarget(this.unNegateDecoration));
97
+ this.decorations.set(decoration, disposable);
98
+ for (const [target] of decoration.appliedTargets) {
99
+ this.targetDecoration({ decoration, target });
100
+ }
101
+ for (const [target] of decoration.negatedTargets) {
102
+ this.negateDecoration({ decoration, target });
103
+ }
104
+ }
105
+ removeDecoration(decoration) {
106
+ const decorationSubscriptions = this.decorations.get(decoration);
107
+ if (!decorationSubscriptions) {
108
+ return;
109
+ }
110
+ for (const [target] of decoration.appliedTargets) {
111
+ const meta = this.decorationsMeta.get(target);
112
+ if (meta) {
113
+ meta.applicable.remove(decoration);
114
+ if (meta.inheritable) {
115
+ meta.inheritable.remove(decoration);
116
+ }
117
+ }
118
+ }
119
+ for (const [target] of decoration.negatedTargets) {
120
+ const meta = this.decorationsMeta.get(target);
121
+ if (meta) {
122
+ meta.applicable.unNegate(decoration);
123
+ if (meta.inheritable) {
124
+ meta.inheritable.unNegate(decoration);
125
+ }
126
+ }
127
+ }
128
+ decorationSubscriptions.dispose();
129
+ this.decorations.delete(decoration);
130
+ }
131
+ getDecorations(item) {
132
+ if (!item || (!TreeNode_1.TreeNode.is(item))) {
133
+ return;
134
+ }
135
+ const decMeta = this.getDecorationData(item);
136
+ if (decMeta) {
137
+ return decMeta.applicable.compositeCssClasslist;
138
+ }
139
+ return;
140
+ }
141
+ getDecorationData(item) {
142
+ if (this.disposed) {
143
+ return;
144
+ }
145
+ const meta = this.decorationsMeta.get(item);
146
+ if (meta) {
147
+ return meta;
148
+ }
149
+ // 执行到这里说明该节点不是直接节点,而是需要从父级节点继承装饰器属性
150
+ if (!item || !item.parent) {
151
+ return;
152
+ }
153
+ const parentMeta = this.getDecorationData(item.parent);
154
+ if (parentMeta) {
155
+ const ownMeta = {
156
+ applicable: new CompositeDecoration_1.CompositeDecoration(item, CompositeDecoration_1.CompositeDecorationType.Applicable, parentMeta.inheritable),
157
+ inheritable: TreeNode_1.CompositeTreeNode.is(item) ? new CompositeDecoration_1.CompositeDecoration(item, CompositeDecoration_1.CompositeDecorationType.Inheritable, parentMeta.inheritable) : undefined,
158
+ };
159
+ this.decorationsMeta.set(item, ownMeta);
160
+ return ownMeta;
161
+ }
162
+ return;
163
+ }
164
+ }
165
+ exports.DecorationsManager = DecorationsManager;
166
+ //# sourceMappingURL=DecorationManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DecorationManager.js","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/decoration/DecorationManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './Decoration';
2
+ export * from './DecorationManager';
3
+ export * from './CompositeDecoration';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/decoration/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,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("./Decoration"), exports);
5
+ (0, tslib_1.__exportStar)(require("./DecorationManager"), exports);
6
+ (0, tslib_1.__exportStar)(require("./CompositeDecoration"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/decoration/index.ts"],"names":[],"mappings":";;;AAAA,4DAA6B;AAC7B,mEAAoC;AACpC,qEAAsC"}
@@ -0,0 +1,5 @@
1
+ export * from './Tree';
2
+ export * from './TreeNode';
3
+ export * from './model';
4
+ export * from './decoration';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/recycle-tree/tree/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
@@ -0,0 +1,8 @@
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("./TreeNode"), exports);
6
+ (0, tslib_1.__exportStar)(require("./model"), exports);
7
+ (0, tslib_1.__exportStar)(require("./decoration"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/recycle-tree/tree/index.ts"],"names":[],"mappings":";;;AAAA,sDAAuB;AACvB,0DAA2B;AAC3B,uDAAwB;AACxB,4DAA6B"}
@@ -0,0 +1,50 @@
1
+ import { Event } from '../../../utils';
2
+ import { ISerializableState, TreeStateManager, TreeStateWatcher } from './treeState';
3
+ import { CompositeTreeNode, TreeNode } from '../TreeNode';
4
+ import { ICompositeTreeNode } from '../../types';
5
+ export declare class TreeModel {
6
+ private _state;
7
+ private _root;
8
+ private onChangeEmitter;
9
+ get onChange(): Event<void>;
10
+ get root(): CompositeTreeNode;
11
+ set root(root: CompositeTreeNode);
12
+ get state(): TreeStateManager;
13
+ set state(state: TreeStateManager);
14
+ init(root: CompositeTreeNode): void;
15
+ initState(root: ICompositeTreeNode): void;
16
+ dispatchChange: () => void;
17
+ /**
18
+ * 根据给定的状态信息还原Tree组件
19
+ *
20
+ * TreeState中包含:
21
+ * - 可展开节点的展开状态
22
+ * - 滚动偏移
23
+ *
24
+ * TreeState中不包含:
25
+ * - 装饰器
26
+ * - 临时的输入框节点
27
+ *
28
+ */
29
+ loadTreeState(state: ISerializableState | string): Promise<void>;
30
+ /**
31
+ * 返回一个与实际树状态同步的`TreeStateWatcher`
32
+ *
33
+ * TreeState中包含:
34
+ * - 可展开节点的展开状态
35
+ * - 滚动偏移
36
+ *
37
+ * TreeState中不包含:
38
+ * - 装饰器
39
+ * - 临时的输入框节点
40
+ *
41
+ * `TreeStateWatcher#onDidChange` 用于在状态变更时绑定监听函数
42
+ *
43
+ * `TreeStateWatcher#snapshot` 用于获取当前树的快照信息(用于状态恢复),返回state对象
44
+ *
45
+ * `TreeStateWatcher#toString` 用于将当前状态转换为JSON字符串
46
+ */
47
+ getTreeStateWatcher(atSurfaceExpandedDirsOnly?: boolean): TreeStateWatcher;
48
+ protected resolveChildren(parent: CompositeTreeNode): Promise<TreeNode[]>;
49
+ }
50
+ //# sourceMappingURL=TreeModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeModel.d.ts","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/model/TreeModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAW,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAiB,MAAM,aAAa,CAAC;AAEhE,qBAAa,SAAS;IAEpB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,KAAK,CAAoB;IAEjC,OAAO,CAAC,eAAe,CAAgC;IAEvD,IAAI,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,CAE1B;IAED,IAAI,IAAI,IAIO,iBAAiB,CAF/B;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAG/B;IAED,IAAI,KAAK,IAIQ,gBAAgB,CAFhC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,gBAAgB,EAEhC;IAED,IAAI,CAAC,IAAI,EAAE,iBAAiB;IAM5B,SAAS,CAAC,IAAI,EAAE,kBAAkB;IAIlC,cAAc,aAEb;IAED;;;;;;;;;;;OAWG;IACU,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM;IAO7D;;;;;;;;;;;;;;;;OAgBG;IACI,mBAAmB,CAAC,yBAAyB,GAAE,OAAe,GAAG,gBAAgB;IAIxF,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAI1E"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TreeModel = void 0;
4
+ const utils_1 = require("../../../utils");
5
+ const treeState_1 = require("./treeState");
6
+ const types_1 = require("../../types");
7
+ class TreeModel {
8
+ constructor() {
9
+ this.onChangeEmitter = new utils_1.Emitter();
10
+ this.dispatchChange = () => {
11
+ this.onChangeEmitter.fire();
12
+ };
13
+ }
14
+ get onChange() {
15
+ return this.onChangeEmitter.event;
16
+ }
17
+ get root() {
18
+ return this._root;
19
+ }
20
+ set root(root) {
21
+ this._root = root;
22
+ this.initState(root);
23
+ }
24
+ get state() {
25
+ return this._state;
26
+ }
27
+ set state(state) {
28
+ this._state = state;
29
+ }
30
+ init(root) {
31
+ this.root = root;
32
+ // 分支更新时通知树刷新
33
+ this.root.watcher.on(types_1.TreeNodeEvent.BranchDidUpdate, this.dispatchChange);
34
+ }
35
+ initState(root) {
36
+ this.state = new treeState_1.TreeStateManager(root);
37
+ }
38
+ /**
39
+ * 根据给定的状态信息还原Tree组件
40
+ *
41
+ * TreeState中包含:
42
+ * - 可展开节点的展开状态
43
+ * - 滚动偏移
44
+ *
45
+ * TreeState中不包含:
46
+ * - 装饰器
47
+ * - 临时的输入框节点
48
+ *
49
+ */
50
+ async loadTreeState(state) {
51
+ if (typeof state === 'string') {
52
+ state = JSON.parse(state);
53
+ }
54
+ return this.state.loadTreeState(state);
55
+ }
56
+ /**
57
+ * 返回一个与实际树状态同步的`TreeStateWatcher`
58
+ *
59
+ * TreeState中包含:
60
+ * - 可展开节点的展开状态
61
+ * - 滚动偏移
62
+ *
63
+ * TreeState中不包含:
64
+ * - 装饰器
65
+ * - 临时的输入框节点
66
+ *
67
+ * `TreeStateWatcher#onDidChange` 用于在状态变更时绑定监听函数
68
+ *
69
+ * `TreeStateWatcher#snapshot` 用于获取当前树的快照信息(用于状态恢复),返回state对象
70
+ *
71
+ * `TreeStateWatcher#toString` 用于将当前状态转换为JSON字符串
72
+ */
73
+ getTreeStateWatcher(atSurfaceExpandedDirsOnly = false) {
74
+ return new treeState_1.TreeStateWatcher(this.state, atSurfaceExpandedDirsOnly);
75
+ }
76
+ resolveChildren(parent) {
77
+ return Promise.resolve(Array.from(parent.children));
78
+ }
79
+ }
80
+ exports.TreeModel = TreeModel;
81
+ //# sourceMappingURL=TreeModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeModel.js","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/model/TreeModel.ts"],"names":[],"mappings":";;;AAAA,0CAAgD;AAChD,2CAAqF;AAErF,uCAAgE;AAEhE,MAAa,SAAS;IAAtB;QAKU,oBAAe,GAAkB,IAAI,eAAO,EAAE,CAAC;QAiCvD,mBAAc,GAAG,GAAG,EAAE;YACpB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC,CAAA;IA8CH,CAAC;IA/EC,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;IACpC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,IAAuB;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAAuB;QAC/B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,CAAC,IAAuB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,aAAa;QACb,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,qBAAa,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3E,CAAC;IAED,SAAS,CAAC,IAAwB;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,4BAAgB,CAAC,IAAyB,CAAC,CAAC;IAC/D,CAAC;IAMD;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,aAAa,CAAC,KAAkC;QAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAA2B,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACI,mBAAmB,CAAC,4BAAqC,KAAK;QACnE,OAAO,IAAI,4BAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACrE,CAAC;IAES,eAAe,CAAC,MAAyB;QACjD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAS,CAAe,CAAC,CAAC;IACrE,CAAC;CAEF;AAtFD,8BAsFC"}
@@ -0,0 +1,2 @@
1
+ export * from './TreeModel';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ (0, tslib_1.__exportStar)(require("./TreeModel"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/model/index.ts"],"names":[],"mappings":";;;AAAA,2DAA4B"}