@opensumi/ide-core-browser 2.21.13-rc-1673328992.0 → 2.21.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 (562) hide show
  1. package/lib/application/application-state-service.d.ts +1 -1
  2. package/lib/application/application-state-service.d.ts.map +1 -1
  3. package/lib/application/application-state-service.js.map +1 -1
  4. package/lib/application/application.service.js.map +1 -1
  5. package/lib/authentication/authentication.contribution.js.map +1 -1
  6. package/lib/authentication/authentication.service.js.map +1 -1
  7. package/lib/bootstrap/app.d.ts +35 -2
  8. package/lib/bootstrap/app.d.ts.map +1 -1
  9. package/lib/bootstrap/app.js +8 -8
  10. package/lib/bootstrap/app.js.map +1 -1
  11. package/lib/bootstrap/app.view.d.ts +1 -1
  12. package/lib/bootstrap/app.view.d.ts.map +1 -1
  13. package/lib/bootstrap/connection.d.ts +1 -1
  14. package/lib/bootstrap/connection.d.ts.map +1 -1
  15. package/lib/bootstrap/connection.js +4 -4
  16. package/lib/bootstrap/connection.js.map +1 -1
  17. package/lib/bootstrap/index.d.ts +1 -1
  18. package/lib/bootstrap/index.d.ts.map +1 -1
  19. package/lib/bootstrap/index.js +1 -1
  20. package/lib/bootstrap/index.js.map +1 -1
  21. package/lib/bootstrap/inner-providers.js +1 -1
  22. package/lib/bootstrap/inner-providers.js.map +1 -1
  23. package/lib/bootstrap/lifecycle.service.js.map +1 -1
  24. package/lib/browser-module.js.map +1 -1
  25. package/lib/common/common.command.d.ts +1 -24
  26. package/lib/common/common.command.d.ts.map +1 -1
  27. package/lib/common/common.command.js +6 -42
  28. package/lib/common/common.command.js.map +1 -1
  29. package/lib/common/common.contribution.js.map +1 -1
  30. package/lib/common/common.module.js.map +1 -1
  31. package/lib/common/common.storage.js.map +1 -1
  32. package/lib/components/actions/index.d.ts +2 -2
  33. package/lib/components/actions/index.d.ts.map +1 -1
  34. package/lib/components/actions/index.js +22 -2
  35. package/lib/components/actions/index.js.map +1 -1
  36. package/lib/components/index.d.ts +4 -0
  37. package/lib/components/index.d.ts.map +1 -1
  38. package/lib/components/index.js +4 -0
  39. package/lib/components/index.js.map +1 -1
  40. package/lib/components/layout/box-panel.d.ts +1 -1
  41. package/lib/components/layout/box-panel.d.ts.map +1 -1
  42. package/lib/components/layout/split-panel.d.ts +1 -17
  43. package/lib/components/layout/split-panel.d.ts.map +1 -1
  44. package/lib/components/layout/split-panel.js +16 -16
  45. package/lib/components/layout/split-panel.js.map +1 -1
  46. package/lib/components/layout/split-panel.service.js.map +1 -1
  47. package/lib/components/progressbar/index.d.ts +2 -2
  48. package/lib/components/progressbar/index.d.ts.map +1 -1
  49. package/lib/components/progressbar/index.js +10 -2
  50. package/lib/components/progressbar/index.js.map +1 -1
  51. package/lib/components/progressbar/styles.module.less +31 -0
  52. package/lib/components/recycle-tree/index.d.ts +2 -0
  53. package/lib/components/recycle-tree/index.d.ts.map +1 -0
  54. package/lib/components/recycle-tree/index.js +5 -0
  55. package/lib/components/recycle-tree/index.js.map +1 -0
  56. package/lib/components/recycle-tree/recycle-tree.view.d.ts +82 -0
  57. package/lib/components/recycle-tree/recycle-tree.view.d.ts.map +1 -0
  58. package/lib/components/recycle-tree/recycle-tree.view.js +188 -0
  59. package/lib/components/recycle-tree/recycle-tree.view.js.map +1 -0
  60. package/lib/components/scroll/index.d.ts +68 -0
  61. package/lib/components/scroll/index.d.ts.map +1 -0
  62. package/lib/components/scroll/index.js +279 -0
  63. package/lib/components/scroll/index.js.map +1 -0
  64. package/lib/components/scroll/scroll.module.less +108 -0
  65. package/lib/components/scrollbar/index.d.ts +2 -0
  66. package/lib/components/scrollbar/index.d.ts.map +1 -0
  67. package/lib/components/scrollbar/index.js +5 -0
  68. package/lib/components/scrollbar/index.js.map +1 -0
  69. package/lib/components/scrollbar/scrollbar.less +36 -0
  70. package/lib/components/scrollbar/scrollbar.view.d.ts +7 -0
  71. package/lib/components/scrollbar/scrollbar.view.d.ts.map +1 -0
  72. package/lib/components/scrollbar/scrollbar.view.js +11 -0
  73. package/lib/components/scrollbar/scrollbar.view.js.map +1 -0
  74. package/lib/components/tree/index.d.ts +4 -0
  75. package/lib/components/tree/index.d.ts.map +1 -0
  76. package/lib/components/tree/index.js +7 -0
  77. package/lib/components/tree/index.js.map +1 -0
  78. package/lib/components/tree/tree-node.view.d.ts +26 -0
  79. package/lib/components/tree/tree-node.view.d.ts.map +1 -0
  80. package/lib/components/tree/tree-node.view.js +350 -0
  81. package/lib/components/tree/tree-node.view.js.map +1 -0
  82. package/lib/components/tree/tree.module.less +296 -0
  83. package/lib/components/tree/tree.view.d.ts +132 -0
  84. package/lib/components/tree/tree.view.d.ts.map +1 -0
  85. package/lib/components/tree/tree.view.js +238 -0
  86. package/lib/components/tree/tree.view.js.map +1 -0
  87. package/lib/contextkey/resource.d.ts +1 -1
  88. package/lib/contextkey/resource.d.ts.map +1 -1
  89. package/lib/contextkey/testing.d.ts +0 -1
  90. package/lib/contextkey/testing.d.ts.map +1 -1
  91. package/lib/contextkey/testing.js +1 -2
  92. package/lib/contextkey/testing.js.map +1 -1
  93. package/lib/core-preferences.d.ts +2 -3
  94. package/lib/core-preferences.d.ts.map +1 -1
  95. package/lib/core-preferences.js +1 -1
  96. package/lib/core-preferences.js.map +1 -1
  97. package/lib/dom/index.d.ts +1 -1
  98. package/lib/dom/index.d.ts.map +1 -1
  99. package/lib/encoding-registry.js.map +1 -1
  100. package/lib/extensions/extensions-point.service.js.map +1 -1
  101. package/lib/hash-calculate/hash-calculate.contribution.js.map +1 -1
  102. package/lib/index.d.ts +1 -1
  103. package/lib/index.d.ts.map +1 -1
  104. package/lib/index.js +1 -1
  105. package/lib/index.js.map +1 -1
  106. package/lib/keybinding/keybinding.js.map +1 -1
  107. package/lib/keyboard/keyboard-layout-provider.d.ts +2 -2
  108. package/lib/keyboard/keyboard-layout-provider.d.ts.map +1 -1
  109. package/lib/keyboard/keyboard-layout-provider.js +13 -13
  110. package/lib/keyboard/keyboard-layout-provider.js.map +1 -1
  111. package/lib/keyboard/keyboard-layout-service.js.map +1 -1
  112. package/lib/keyboard/keys.d.ts +2 -2
  113. package/lib/keyboard/keys.d.ts.map +1 -1
  114. package/lib/keyboard/layouts/_.contribution.js +3 -3
  115. package/lib/keyboard/layouts/_.contribution.js.map +1 -1
  116. package/lib/layout/accordion/tab-bar-toolbar.js.map +1 -1
  117. package/lib/layout/accordion/view-context-key.registry.js.map +1 -1
  118. package/lib/layout/layout-hooks.d.ts +1 -1
  119. package/lib/layout/layout-hooks.d.ts.map +1 -1
  120. package/lib/layout/layout-hooks.js +3 -1
  121. package/lib/layout/layout-hooks.js.map +1 -1
  122. package/lib/layout/layout-state.js.map +1 -1
  123. package/lib/layout/layout.interface.d.ts +1 -1
  124. package/lib/layout/layout.interface.d.ts.map +1 -1
  125. package/lib/layout/layout.js.map +1 -1
  126. package/lib/logger/browser-logger.js.map +1 -1
  127. package/lib/markdown/index.d.ts +1 -1
  128. package/lib/markdown/index.d.ts.map +1 -1
  129. package/lib/markdown/index.js +31 -4
  130. package/lib/markdown/index.js.map +1 -1
  131. package/lib/menu/next/base.d.ts +4 -4
  132. package/lib/menu/next/base.d.ts.map +1 -1
  133. package/lib/menu/next/base.js.map +1 -1
  134. package/lib/menu/next/ctxmenu-service.js +10 -10
  135. package/lib/menu/next/ctxmenu-service.js.map +1 -1
  136. package/lib/menu/next/menu-service.js +6 -6
  137. package/lib/menu/next/menu-service.js.map +1 -1
  138. package/lib/menu/next/menu.contrib.interface.d.ts +15 -16
  139. package/lib/menu/next/menu.contrib.interface.d.ts.map +1 -1
  140. package/lib/menu/next/menu.contrib.interface.js.map +1 -1
  141. package/lib/menu/next/menu.interface.d.ts +2 -2
  142. package/lib/menu/next/menu.interface.d.ts.map +1 -1
  143. package/lib/menu/next/menu.interface.js.map +1 -1
  144. package/lib/menu/next/menubar-service.js +10 -10
  145. package/lib/menu/next/menubar-service.js.map +1 -1
  146. package/lib/menu/next/renderer/ctxmenu/browser.js.map +1 -1
  147. package/lib/menu/next/renderer/ctxmenu/electron.js.map +1 -1
  148. package/lib/menu/next/toolbar-action.service.d.ts +1 -1
  149. package/lib/menu/next/toolbar-action.service.d.ts.map +1 -1
  150. package/lib/menu/next/toolbar-action.service.js.map +1 -1
  151. package/lib/monaco/index.d.ts +3 -7
  152. package/lib/monaco/index.d.ts.map +1 -1
  153. package/lib/monaco/index.js.map +1 -1
  154. package/lib/opener/command-opener.js.map +1 -1
  155. package/lib/opener/default-opener.js.map +1 -1
  156. package/lib/opener/http-opener.js.map +1 -1
  157. package/lib/opener/opener.contribution.js.map +1 -1
  158. package/lib/opener/opener.service.js.map +1 -1
  159. package/lib/preferences/early-preferences.js +4 -4
  160. package/lib/preferences/early-preferences.js.map +1 -1
  161. package/lib/preferences/preference-configurations.js +1 -1
  162. package/lib/preferences/preference-configurations.js.map +1 -1
  163. package/lib/preferences/preference-contribution.d.ts +2 -1
  164. package/lib/preferences/preference-contribution.d.ts.map +1 -1
  165. package/lib/preferences/preference-contribution.js +20 -23
  166. package/lib/preferences/preference-contribution.js.map +1 -1
  167. package/lib/preferences/preference-provider.js.map +1 -1
  168. package/lib/preferences/preference-proxy.d.ts +3 -2
  169. package/lib/preferences/preference-proxy.d.ts.map +1 -1
  170. package/lib/preferences/preference-proxy.js.map +1 -1
  171. package/lib/preferences/preference-service.d.ts +0 -1
  172. package/lib/preferences/preference-service.d.ts.map +1 -1
  173. package/lib/preferences/preference-service.js +3 -50
  174. package/lib/preferences/preference-service.js.map +1 -1
  175. package/lib/preferences/settings.d.ts +5 -44
  176. package/lib/preferences/settings.d.ts.map +1 -1
  177. package/lib/preferences/settings.js.map +1 -1
  178. package/lib/preferences/types.d.ts +1 -8
  179. package/lib/preferences/types.d.ts.map +1 -1
  180. package/lib/preferences/types.js.map +1 -1
  181. package/lib/progress/progress-bar.d.ts +1 -4
  182. package/lib/progress/progress-bar.d.ts.map +1 -1
  183. package/lib/progress/progress-bar.js +4 -11
  184. package/lib/progress/progress-bar.js.map +1 -1
  185. package/lib/progress/progress-indicator.js.map +1 -1
  186. package/lib/progress/progress.service.js +6 -6
  187. package/lib/progress/progress.service.js.map +1 -1
  188. package/lib/quick-open/index.d.ts +1 -1
  189. package/lib/quick-open/index.d.ts.map +1 -1
  190. package/lib/quick-open/index.js.map +1 -1
  191. package/lib/quick-open/recent-files.js.map +1 -1
  192. package/lib/raw-context-key.d.ts +1 -1
  193. package/lib/raw-context-key.d.ts.map +1 -1
  194. package/lib/raw-context-key.js +4 -4
  195. package/lib/raw-context-key.js.map +1 -1
  196. package/lib/react-providers/config-provider.d.ts +0 -5
  197. package/lib/react-providers/config-provider.d.ts.map +1 -1
  198. package/lib/react-providers/config-provider.js.map +1 -1
  199. package/lib/react-providers/slot.d.ts +2 -2
  200. package/lib/react-providers/slot.d.ts.map +1 -1
  201. package/lib/services/clipboard.service.d.ts +0 -1
  202. package/lib/services/clipboard.service.d.ts.map +1 -1
  203. package/lib/services/clipboard.service.js +30 -17
  204. package/lib/services/clipboard.service.js.map +1 -1
  205. package/lib/services/credentials-service.js.map +1 -1
  206. package/lib/services/crypto-service.js.map +1 -1
  207. package/lib/services/external-uri.service.js.map +1 -1
  208. package/lib/services/label-service.js.map +1 -1
  209. package/lib/services/storage-service.d.ts +0 -1
  210. package/lib/services/storage-service.d.ts.map +1 -1
  211. package/lib/services/storage-service.js +2 -13
  212. package/lib/services/storage-service.js.map +1 -1
  213. package/lib/style/icon/icon.d.ts +2 -3
  214. package/lib/style/icon/icon.d.ts.map +1 -1
  215. package/lib/style/icon/icon.js +1 -5
  216. package/lib/style/icon/icon.js.map +1 -1
  217. package/lib/style/icon/ide-iconfont.d.ts +1 -1
  218. package/lib/style/icon/ide-iconfont.d.ts.map +1 -1
  219. package/lib/style/icon/ide-iconfont.js +1 -1
  220. package/lib/style/icon/ide-iconfont.js.map +1 -1
  221. package/lib/style/icon/index.less +0 -13
  222. package/lib/toolbar/components/button.js +12 -12
  223. package/lib/toolbar/components/button.js.map +1 -1
  224. package/lib/toolbar/toolbar.popover.registry.js.map +1 -1
  225. package/lib/toolbar/toolbar.registry.d.ts +1 -1
  226. package/lib/toolbar/toolbar.registry.d.ts.map +1 -1
  227. package/lib/toolbar/toolbar.registry.js.map +1 -1
  228. package/lib/toolbar/types.d.ts +1 -1
  229. package/lib/toolbar/types.d.ts.map +1 -1
  230. package/lib/tree/index.d.ts +4 -0
  231. package/lib/tree/index.d.ts.map +1 -0
  232. package/lib/tree/index.js +7 -0
  233. package/lib/tree/index.js.map +1 -0
  234. package/lib/tree/tree-expansion.d.ts +16 -0
  235. package/lib/tree/tree-expansion.d.ts.map +1 -0
  236. package/lib/tree/tree-expansion.js +20 -0
  237. package/lib/tree/tree-expansion.js.map +1 -0
  238. package/lib/tree/tree-selection.d.ts +48 -0
  239. package/lib/tree/tree-selection.d.ts.map +1 -0
  240. package/lib/tree/tree-selection.js +64 -0
  241. package/lib/tree/tree-selection.js.map +1 -0
  242. package/lib/tree/tree.d.ts +195 -0
  243. package/lib/tree/tree.d.ts.map +1 -0
  244. package/lib/tree/tree.js +108 -0
  245. package/lib/tree/tree.js.map +1 -0
  246. package/lib/utils/json.d.ts +5 -5
  247. package/lib/utils/json.d.ts.map +1 -1
  248. package/lib/utils/label.d.ts.map +1 -1
  249. package/lib/utils/label.js +9 -16
  250. package/lib/utils/label.js.map +1 -1
  251. package/lib/utils/parse.d.ts +1 -2
  252. package/lib/utils/parse.d.ts.map +1 -1
  253. package/lib/utils/parse.js +1 -10
  254. package/lib/utils/parse.js.map +1 -1
  255. package/lib/variable/variable.d.ts +1 -1
  256. package/lib/variable/variable.d.ts.map +1 -1
  257. package/lib/variable/variable.js.map +1 -1
  258. package/lib/window/window.service.js.map +1 -1
  259. package/package.json +11 -9
  260. package/lib/bootstrap/app.interface.d.ts +0 -39
  261. package/lib/bootstrap/app.interface.d.ts.map +0 -1
  262. package/lib/bootstrap/app.interface.js +0 -3
  263. package/lib/bootstrap/app.interface.js.map +0 -1
  264. package/lib/contextkey/search.d.ts +0 -24
  265. package/lib/contextkey/search.d.ts.map +0 -1
  266. package/lib/contextkey/search.js +0 -29
  267. package/lib/contextkey/search.js.map +0 -1
  268. package/lib/file-decoration.d.ts +0 -10
  269. package/lib/file-decoration.d.ts.map +0 -1
  270. package/lib/file-decoration.js +0 -3
  271. package/lib/file-decoration.js.map +0 -1
  272. package/lib/monaco/merge-editor-widget.d.ts +0 -53
  273. package/lib/monaco/merge-editor-widget.d.ts.map +0 -1
  274. package/lib/monaco/merge-editor-widget.js +0 -107
  275. package/lib/monaco/merge-editor-widget.js.map +0 -1
  276. package/lib/react-hooks/useThrottleFn/index.d.ts +0 -13
  277. package/lib/react-hooks/useThrottleFn/index.d.ts.map +0 -1
  278. package/lib/react-hooks/useThrottleFn/index.js +0 -20
  279. package/lib/react-hooks/useThrottleFn/index.js.map +0 -1
  280. package/src/application/application-state-service.ts +0 -54
  281. package/src/application/application.service.ts +0 -51
  282. package/src/application/index.ts +0 -2
  283. package/src/authentication/authentication.contribution.ts +0 -35
  284. package/src/authentication/authentication.service.ts +0 -517
  285. package/src/bootstrap/app.interface.ts +0 -46
  286. package/src/bootstrap/app.ts +0 -710
  287. package/src/bootstrap/app.view.tsx +0 -88
  288. package/src/bootstrap/connection.ts +0 -116
  289. package/src/bootstrap/index.ts +0 -3
  290. package/src/bootstrap/inner-providers.ts +0 -297
  291. package/src/bootstrap/lifecycle.service.ts +0 -19
  292. package/src/browser-module.ts +0 -24
  293. package/src/common/common.command.ts +0 -1018
  294. package/src/common/common.contribution.ts +0 -343
  295. package/src/common/common.define.ts +0 -55
  296. package/src/common/common.module.ts +0 -33
  297. package/src/common/common.storage.ts +0 -22
  298. package/src/common/container-id.ts +0 -12
  299. package/src/common/index.ts +0 -4
  300. package/src/components/actions/index.tsx +0 -486
  301. package/src/components/actions/placements.ts +0 -47
  302. package/src/components/actions/styles.module.less +0 -144
  303. package/src/components/badge/index.tsx +0 -1
  304. package/src/components/index.ts +0 -22
  305. package/src/components/layout/box-panel.tsx +0 -88
  306. package/src/components/layout/default-layout.tsx +0 -61
  307. package/src/components/layout/index.ts +0 -4
  308. package/src/components/layout/layout.ts +0 -80
  309. package/src/components/layout/split-panel.service.ts +0 -56
  310. package/src/components/layout/split-panel.tsx +0 -315
  311. package/src/components/layout/styles.module.less +0 -21
  312. package/src/components/loading/index.ts +0 -1
  313. package/src/components/loading/loading.less +0 -14
  314. package/src/components/loading/loading.view.tsx +0 -7
  315. package/src/components/loading/media/loading-dark.svg +0 -52
  316. package/src/components/loading/media/loading-hc.svg +0 -52
  317. package/src/components/loading/media/loading.svg +0 -52
  318. package/src/components/popover/styles.module.less +0 -81
  319. package/src/components/portal/index.tsx +0 -13
  320. package/src/components/progressbar/index.tsx +0 -3
  321. package/src/components/resize/resize.module.less +0 -78
  322. package/src/components/resize/resize.tsx +0 -663
  323. package/src/components/select/index.tsx +0 -12
  324. package/src/components/select/styles.less +0 -6
  325. package/src/context-key.ts +0 -48
  326. package/src/contextkey/dialog.ts +0 -3
  327. package/src/contextkey/explorer.ts +0 -26
  328. package/src/contextkey/index.ts +0 -6
  329. package/src/contextkey/outline.ts +0 -4
  330. package/src/contextkey/resource.ts +0 -61
  331. package/src/contextkey/search.ts +0 -30
  332. package/src/contextkey/terminal.ts +0 -7
  333. package/src/contextkey/testing.ts +0 -9
  334. package/src/contextkey/workspace.ts +0 -7
  335. package/src/core-preferences.ts +0 -318
  336. package/src/dom/index.ts +0 -176
  337. package/src/encoding-registry.ts +0 -83
  338. package/src/extensions/extensions-point.service.ts +0 -78
  339. package/src/extensions/index.ts +0 -3
  340. package/src/extensions/schema/browserViews.ts +0 -96
  341. package/src/extensions/schema/menu.ts +0 -245
  342. package/src/extensions/schema/opensumiExtensionPackageSchema.ts +0 -12
  343. package/src/extensions/schema/toolbar.ts +0 -338
  344. package/src/extensions/schema/vscodeExtensionPackageSchema.ts +0 -330
  345. package/src/file-decoration.ts +0 -10
  346. package/src/fs/index.ts +0 -12
  347. package/src/hash-calculate/hash-calculate.contribution.ts +0 -19
  348. package/src/index.ts +0 -42
  349. package/src/keybinding/index.ts +0 -1
  350. package/src/keybinding/keybinding.ts +0 -908
  351. package/src/keyboard/index.ts +0 -3
  352. package/src/keyboard/keyboard-layout-provider.ts +0 -412
  353. package/src/keyboard/keyboard-layout-service.ts +0 -449
  354. package/src/keyboard/keys.ts +0 -748
  355. package/src/keyboard/layouts/_.contribution.ts +0 -24
  356. package/src/keyboard/layouts/cz.win.ts +0 -168
  357. package/src/keyboard/layouts/de-swiss.win.ts +0 -168
  358. package/src/keyboard/layouts/de.darwin.ts +0 -131
  359. package/src/keyboard/layouts/de.linux.ts +0 -186
  360. package/src/keyboard/layouts/de.win.ts +0 -168
  361. package/src/keyboard/layouts/dk.win.ts +0 -168
  362. package/src/keyboard/layouts/dvorak.darwin.ts +0 -131
  363. package/src/keyboard/layouts/en-belgian.win.ts +0 -168
  364. package/src/keyboard/layouts/en-ext.darwin.ts +0 -131
  365. package/src/keyboard/layouts/en-in.win.ts +0 -168
  366. package/src/keyboard/layouts/en-intl.darwin.ts +0 -131
  367. package/src/keyboard/layouts/en-intl.win.ts +0 -168
  368. package/src/keyboard/layouts/en-uk.darwin.ts +0 -131
  369. package/src/keyboard/layouts/en-uk.win.ts +0 -168
  370. package/src/keyboard/layouts/en.darwin.ts +0 -139
  371. package/src/keyboard/layouts/en.linux.ts +0 -186
  372. package/src/keyboard/layouts/en.win.ts +0 -173
  373. package/src/keyboard/layouts/es-latin.win.ts +0 -168
  374. package/src/keyboard/layouts/es.darwin.ts +0 -131
  375. package/src/keyboard/layouts/es.linux.ts +0 -186
  376. package/src/keyboard/layouts/es.win.ts +0 -168
  377. package/src/keyboard/layouts/fr.darwin.ts +0 -131
  378. package/src/keyboard/layouts/fr.linux.ts +0 -186
  379. package/src/keyboard/layouts/fr.win.ts +0 -168
  380. package/src/keyboard/layouts/hu.win.ts +0 -168
  381. package/src/keyboard/layouts/it.darwin.ts +0 -131
  382. package/src/keyboard/layouts/it.win.ts +0 -168
  383. package/src/keyboard/layouts/jp-roman.darwin.ts +0 -131
  384. package/src/keyboard/layouts/jp.darwin.ts +0 -131
  385. package/src/keyboard/layouts/ko.darwin.ts +0 -131
  386. package/src/keyboard/layouts/layout.contribution.darwin.ts +0 -23
  387. package/src/keyboard/layouts/layout.contribution.linux.ts +0 -12
  388. package/src/keyboard/layouts/layout.contribution.ts +0 -9
  389. package/src/keyboard/layouts/layout.contribution.win.ts +0 -29
  390. package/src/keyboard/layouts/no.win.ts +0 -168
  391. package/src/keyboard/layouts/pl.darwin.ts +0 -131
  392. package/src/keyboard/layouts/pl.win.ts +0 -168
  393. package/src/keyboard/layouts/pt-br.win.ts +0 -169
  394. package/src/keyboard/layouts/pt.darwin.ts +0 -131
  395. package/src/keyboard/layouts/pt.win.ts +0 -168
  396. package/src/keyboard/layouts/ru.darwin.ts +0 -131
  397. package/src/keyboard/layouts/ru.linux.ts +0 -186
  398. package/src/keyboard/layouts/ru.win.ts +0 -168
  399. package/src/keyboard/layouts/sv.darwin.ts +0 -131
  400. package/src/keyboard/layouts/sv.win.ts +0 -168
  401. package/src/keyboard/layouts/thai.win.ts +0 -168
  402. package/src/keyboard/layouts/tr.win.ts +0 -168
  403. package/src/keyboard/layouts/zh-hans.darwin.ts +0 -131
  404. package/src/layout/accordion/tab-bar-toolbar.tsx +0 -59
  405. package/src/layout/accordion/view-context-key.registry.ts +0 -34
  406. package/src/layout/constants.ts +0 -7
  407. package/src/layout/index.ts +0 -5
  408. package/src/layout/layout-hooks.ts +0 -68
  409. package/src/layout/layout-state.ts +0 -107
  410. package/src/layout/layout.interface.ts +0 -101
  411. package/src/layout/layout.ts +0 -80
  412. package/src/layout/view-id.ts +0 -18
  413. package/src/logger/browser-logger.ts +0 -51
  414. package/src/logger/index.ts +0 -1
  415. package/src/markdown/index.tsx +0 -30
  416. package/src/menu/next/base.ts +0 -513
  417. package/src/menu/next/ctxmenu-service.ts +0 -188
  418. package/src/menu/next/index.ts +0 -10
  419. package/src/menu/next/menu-id.ts +0 -86
  420. package/src/menu/next/menu-service.ts +0 -252
  421. package/src/menu/next/menu-util.ts +0 -77
  422. package/src/menu/next/menu.contrib.interface.ts +0 -79
  423. package/src/menu/next/menu.interface.ts +0 -253
  424. package/src/menu/next/menubar-service.ts +0 -211
  425. package/src/menu/next/renderer/ctxmenu/base.ts +0 -18
  426. package/src/menu/next/renderer/ctxmenu/browser.ts +0 -45
  427. package/src/menu/next/renderer/ctxmenu/electron.ts +0 -207
  428. package/src/menu/next/toolbar-action.service.ts +0 -132
  429. package/src/monaco/index.ts +0 -136
  430. package/src/monaco/merge-editor-widget.ts +0 -159
  431. package/src/opener/command-opener.ts +0 -42
  432. package/src/opener/default-opener.ts +0 -31
  433. package/src/opener/http-opener.ts +0 -25
  434. package/src/opener/index.ts +0 -19
  435. package/src/opener/opener.contribution.ts +0 -57
  436. package/src/opener/opener.service.ts +0 -66
  437. package/src/preferences/early-preferences.ts +0 -117
  438. package/src/preferences/index.ts +0 -9
  439. package/src/preferences/preference-configurations.ts +0 -77
  440. package/src/preferences/preference-contribution.ts +0 -395
  441. package/src/preferences/preference-provider.ts +0 -414
  442. package/src/preferences/preference-proxy.ts +0 -291
  443. package/src/preferences/preference-scope.ts +0 -3
  444. package/src/preferences/preference-service.ts +0 -623
  445. package/src/preferences/settings.ts +0 -90
  446. package/src/preferences/types.ts +0 -119
  447. package/src/progress/index.ts +0 -58
  448. package/src/progress/progress-bar.tsx +0 -34
  449. package/src/progress/progress-indicator.ts +0 -90
  450. package/src/progress/progress.module.less +0 -46
  451. package/src/progress/progress.service.tsx +0 -429
  452. package/src/quick-open/index.ts +0 -655
  453. package/src/quick-open/recent-files.ts +0 -68
  454. package/src/raw-context-key.ts +0 -116
  455. package/src/react-hooks/event.tsx +0 -80
  456. package/src/react-hooks/hot-key.tsx +0 -58
  457. package/src/react-hooks/index.ts +0 -3
  458. package/src/react-hooks/injectable-hooks.tsx +0 -35
  459. package/src/react-hooks/portal-hooks.tsx +0 -38
  460. package/src/react-hooks/useThrottleFn/index.ts +0 -34
  461. package/src/react-providers/config-provider.tsx +0 -264
  462. package/src/react-providers/index.tsx +0 -2
  463. package/src/react-providers/slot.module.less +0 -19
  464. package/src/react-providers/slot.tsx +0 -242
  465. package/src/services/clipboard.service.ts +0 -92
  466. package/src/services/credentials-service.ts +0 -91
  467. package/src/services/crypto-service.ts +0 -23
  468. package/src/services/external-uri.service.ts +0 -68
  469. package/src/services/index.ts +0 -7
  470. package/src/services/label-service.ts +0 -386
  471. package/src/services/status-bar-service.ts +0 -108
  472. package/src/services/storage-service.ts +0 -201
  473. package/src/style/codicons/README.md +0 -22
  474. package/src/style/codicons/codicon-animations.css +0 -15
  475. package/src/style/codicons/generator.js +0 -15
  476. package/src/style/entry.less +0 -25
  477. package/src/style/icon/fileicons/file-default.svg +0 -1
  478. package/src/style/icon/fileicons/folder-default.svg +0 -1
  479. package/src/style/icon/fileicons.less +0 -20
  480. package/src/style/icon/icon.ts +0 -547
  481. package/src/style/icon/ide-iconfont.ts +0 -13
  482. package/src/style/icon/index.less +0 -67
  483. package/src/style/icon/seti.woff +0 -0
  484. package/src/style/icon/symbol-icons/boolean-dark.svg +0 -3
  485. package/src/style/icon/symbol-icons/boolean-light.svg +0 -3
  486. package/src/style/icon/symbol-icons/class-dark.svg +0 -3
  487. package/src/style/icon/symbol-icons/class-light.svg +0 -3
  488. package/src/style/icon/symbol-icons/constant-dark.svg +0 -4
  489. package/src/style/icon/symbol-icons/constant-light.svg +0 -4
  490. package/src/style/icon/symbol-icons/enumerator-dark.svg +0 -3
  491. package/src/style/icon/symbol-icons/enumerator-item-dark.svg +0 -3
  492. package/src/style/icon/symbol-icons/enumerator-item-light.svg +0 -3
  493. package/src/style/icon/symbol-icons/enumerator-light.svg +0 -3
  494. package/src/style/icon/symbol-icons/event-dark.svg +0 -3
  495. package/src/style/icon/symbol-icons/event-light.svg +0 -3
  496. package/src/style/icon/symbol-icons/field-dark.svg +0 -3
  497. package/src/style/icon/symbol-icons/field-light.svg +0 -3
  498. package/src/style/icon/symbol-icons/file-dark.svg +0 -3
  499. package/src/style/icon/symbol-icons/file-light.svg +0 -3
  500. package/src/style/icon/symbol-icons/indexer-dark.svg +0 -3
  501. package/src/style/icon/symbol-icons/indexer-light.svg +0 -3
  502. package/src/style/icon/symbol-icons/interface-dark.svg +0 -3
  503. package/src/style/icon/symbol-icons/interface-light.svg +0 -3
  504. package/src/style/icon/symbol-icons/keyword-dark.svg +0 -3
  505. package/src/style/icon/symbol-icons/keyword-light.svg +0 -3
  506. package/src/style/icon/symbol-icons/method-dark.svg +0 -3
  507. package/src/style/icon/symbol-icons/method-light.svg +0 -3
  508. package/src/style/icon/symbol-icons/namespace-dark.svg +0 -3
  509. package/src/style/icon/symbol-icons/namespace-light.svg +0 -3
  510. package/src/style/icon/symbol-icons/numeric-dark.svg +0 -3
  511. package/src/style/icon/symbol-icons/numeric-light.svg +0 -3
  512. package/src/style/icon/symbol-icons/operator-dark.svg +0 -3
  513. package/src/style/icon/symbol-icons/operator-light.svg +0 -3
  514. package/src/style/icon/symbol-icons/property-dark.svg +0 -3
  515. package/src/style/icon/symbol-icons/property-light.svg +0 -3
  516. package/src/style/icon/symbol-icons/snippet-dark.svg +0 -3
  517. package/src/style/icon/symbol-icons/snippet-light.svg +0 -3
  518. package/src/style/icon/symbol-icons/string-dark.svg +0 -3
  519. package/src/style/icon/symbol-icons/string-light.svg +0 -3
  520. package/src/style/icon/symbol-icons/structure-dark.svg +0 -3
  521. package/src/style/icon/symbol-icons/structure-light.svg +0 -3
  522. package/src/style/icon/symbol-icons/symbol-icons.css +0 -284
  523. package/src/style/icon/symbol-icons/template-dark.svg +0 -3
  524. package/src/style/icon/symbol-icons/template-light.svg +0 -3
  525. package/src/style/icon/symbol-icons/variable-dark.svg +0 -3
  526. package/src/style/icon/symbol-icons/variable-light.svg +0 -3
  527. package/src/style/icon.less +0 -8
  528. package/src/style/index.less +0 -14
  529. package/src/style/monaco-override.less +0 -116
  530. package/src/style/normalize.less +0 -92
  531. package/src/style/octicons/octicons-cdn.css +0 -720
  532. package/src/style/octicons/octicons.css +0 -714
  533. package/src/style/octicons/octicons.html +0 -1882
  534. package/src/style/octicons/octicons.svg +0 -582
  535. package/src/style/octicons/octicons.ttf +0 -0
  536. package/src/style/override.less +0 -97
  537. package/src/style/toolbar.less +0 -199
  538. package/src/style/utilities.less +0 -8
  539. package/src/style/variable.less +0 -8
  540. package/src/terminal/index.ts +0 -7
  541. package/src/toolbar/components/auto-complete.tsx +0 -0
  542. package/src/toolbar/components/button.tsx +0 -440
  543. package/src/toolbar/components/index.ts +0 -2
  544. package/src/toolbar/components/select.tsx +0 -189
  545. package/src/toolbar/index.ts +0 -3
  546. package/src/toolbar/toolbar.popover.registry.ts +0 -32
  547. package/src/toolbar/toolbar.registry.ts +0 -352
  548. package/src/toolbar/toolbar.tsx +0 -710
  549. package/src/toolbar/types.ts +0 -383
  550. package/src/utils/create-overlay.tsx +0 -53
  551. package/src/utils/electron.ts +0 -92
  552. package/src/utils/env.ts +0 -26
  553. package/src/utils/icon.ts +0 -13
  554. package/src/utils/index.ts +0 -7
  555. package/src/utils/json.ts +0 -251
  556. package/src/utils/label.tsx +0 -36
  557. package/src/utils/parse.ts +0 -82
  558. package/src/utils/react-hooks.ts +0 -118
  559. package/src/variable/index.ts +0 -1
  560. package/src/variable/variable.ts +0 -84
  561. package/src/window/index.ts +0 -34
  562. package/src/window/window.service.ts +0 -100
@@ -1,253 +0,0 @@
1
- import { Autowired, Injectable, Optional } from '@opensumi/di';
2
- import { CommandRegistry, CommandService, Command, IDisposable, isMacintosh, Event } from '@opensumi/ide-core-common';
3
-
4
- import { IContextKeyService } from '../../context-key';
5
- import { KeybindingRegistry } from '../../keybinding';
6
-
7
- import { ISubmenuItem, MenuNode, IMenuActionDisplayType, IComponentMenuItem, IComponentMenuItemProps } from './base';
8
- import { MenuId } from './menu-id';
9
- import { ICtxMenuRenderer } from './renderer/ctxmenu/base';
10
-
11
- export type TupleMenuNodeResult = [MenuNode[], MenuNode[]];
12
-
13
- export interface IMenuNodeOptions {
14
- /**
15
- * 固定参数可从这里传入
16
- */
17
- args?: any[];
18
- contextDom?: HTMLElement;
19
- }
20
-
21
- export type IMenuSeparator = 'navigation' | 'inline';
22
-
23
- export interface IMenuConfig extends IMenuNodeOptions {
24
- separator?: IMenuSeparator;
25
- withAlt?: boolean; // 尚未支持
26
- }
27
-
28
- @Injectable()
29
- export class MenuItemNode extends MenuNode {
30
- readonly item: Command;
31
- private _options: IMenuNodeOptions;
32
-
33
- @Autowired(CommandService)
34
- protected readonly commandService: CommandService;
35
-
36
- @Autowired(KeybindingRegistry)
37
- protected readonly keybindings: KeybindingRegistry;
38
-
39
- @Autowired(CommandRegistry)
40
- protected readonly commandRegistry: CommandRegistry;
41
-
42
- constructor(
43
- @Optional() item: Command,
44
- @Optional() icon: string | undefined,
45
- @Optional() options: IMenuNodeOptions = {},
46
- @Optional() disabled: boolean,
47
- @Optional() checked: boolean,
48
- @Optional() type?: IMenuActionDisplayType,
49
- @Optional() nativeRole?: string,
50
- @Optional() extraDesc?: string,
51
- @Optional() private extraTailArgs?: any[],
52
- @Optional() private argsTransformer?: (...args: any[]) => any[],
53
- ) {
54
- super({
55
- id: item.id,
56
- icon,
57
- label: item.label!,
58
- type,
59
- checked,
60
- disabled,
61
- nativeRole,
62
- extraDesc,
63
- });
64
-
65
- this.className = undefined;
66
-
67
- const shortcutDesc = this.getShortcut(item.id);
68
-
69
- this.keybinding = (shortcutDesc && shortcutDesc.keybinding) || '';
70
- this.rawKeybinding = (shortcutDesc && shortcutDesc.rawKeybinding) || '';
71
- this.isKeyCombination = !!(shortcutDesc && shortcutDesc.isKeyCombination);
72
- this._options = options;
73
-
74
- this.item = item;
75
- }
76
-
77
- getExecuteArgs(args: any[] = []): any[] {
78
- let runArgs = [...(this._options.args || []), ...(args || []), ...(this.extraTailArgs || [])];
79
- // args 为 createMenu 时提供,同一个 menu 所有的都是同一 args
80
- // argsTransformer 每个 action 不同,所以先合并 args,然后再经过 transformer
81
- if (this.argsTransformer) {
82
- runArgs = this.argsTransformer(...runArgs);
83
- }
84
-
85
- return runArgs;
86
- }
87
-
88
- execute(args: any[] = []): Promise<any> {
89
- return this.commandService.executeCommand(this.item.id, ...this.getExecuteArgs(args));
90
- }
91
-
92
- private getShortcut(commandId: string) {
93
- if (commandId) {
94
- const keybindings = this.keybindings.getKeybindingsForCommand(commandId);
95
- if (keybindings.length > 0) {
96
- // 取 priority 最高的 keybinding 作展示
97
- const highPriorityKeybinding = keybindings.reduce((a, b) => ((a.priority || 0) > (b.priority || 0) ? a : b));
98
-
99
- const isKeyCombination =
100
- Array.isArray(highPriorityKeybinding.resolved) && highPriorityKeybinding.resolved.length > 1;
101
- let keybinding = this.keybindings.acceleratorFor(highPriorityKeybinding, isMacintosh ? '' : '+').join(' ');
102
- if (isKeyCombination) {
103
- keybinding = `[${keybinding}]`;
104
- }
105
- return {
106
- keybinding,
107
- rawKeybinding: highPriorityKeybinding.keybinding,
108
- isKeyCombination,
109
- };
110
- }
111
- }
112
- return null;
113
- }
114
- }
115
-
116
- @Injectable({ multiple: true })
117
- export class SubmenuItemNode extends MenuNode {
118
- static readonly ID = 'menu.item.node.submenu';
119
-
120
- @Autowired(ICtxMenuRenderer)
121
- protected readonly ctxMenuRenderer: ICtxMenuRenderer;
122
-
123
- readonly item: ISubmenuItem;
124
- readonly submenuId: string;
125
- readonly icon: string;
126
-
127
- constructor(@Optional() item: ISubmenuItem) {
128
- super({
129
- id: SubmenuItemNode.ID,
130
- label: item.label!,
131
- type: item.type,
132
- });
133
- this.submenuId = item.submenu;
134
- this.icon = item.iconClass!;
135
- this.item = item;
136
- }
137
-
138
- // 支持 submenu 点击展开
139
- execute(args: any[]): void {
140
- const [anchor, ...restArgs] = args;
141
- if (!anchor) {
142
- return;
143
- }
144
-
145
- this.ctxMenuRenderer.show({
146
- anchor,
147
- menuNodes: this.children || this.submenuId,
148
- args: restArgs,
149
- });
150
- }
151
- }
152
-
153
- @Injectable({ multiple: true })
154
- export class ComponentMenuItemNode extends MenuNode {
155
- static readonly ID = 'menu.item.node.component';
156
- static nodeIndex = -1;
157
-
158
- readonly item: IComponentMenuItem;
159
- private _options: IMenuNodeOptions;
160
- readonly component: React.ComponentType<IComponentMenuItemProps>;
161
- readonly nodeId: string;
162
-
163
- constructor(
164
- @Optional() item: IComponentMenuItem,
165
- @Optional() options: IMenuNodeOptions = {},
166
- @Optional() private extraTailArgs?: any[],
167
- @Optional() private argsTransformer?: (...args: any[]) => any[],
168
- ) {
169
- super({
170
- id: ComponentMenuItemNode.ID,
171
- label: '',
172
- });
173
- ComponentMenuItemNode.nodeIndex++;
174
- this.nodeId = String(ComponentMenuItemNode.nodeIndex);
175
- this.item = item;
176
- this.component = item.component;
177
- this._options = options;
178
- }
179
-
180
- getExecuteArgs(args: any[] = []): any[] {
181
- let runArgs = [...(this._options.args || []), ...(args || []), ...(this.extraTailArgs || [])];
182
- // args 为 createMenu 时提供,同一个 menu 所有的都是同一 args
183
- // argsTransformer 每个 action 不同,所以先合并 args,然后再经过 transformer
184
- if (this.argsTransformer) {
185
- runArgs = this.argsTransformer(...runArgs);
186
- }
187
-
188
- return runArgs;
189
- }
190
- }
191
-
192
- // 分隔符
193
- export class SeparatorMenuItemNode extends MenuNode {
194
- static readonly ID = 'menu.item.node.separator';
195
-
196
- constructor(id?: string, label?: string) {
197
- super({
198
- id: id || SeparatorMenuItemNode.ID,
199
- label: label || 'separator',
200
- });
201
- }
202
- }
203
-
204
- export interface IMenu extends IDisposable {
205
- /**
206
- * menu-id
207
- */
208
- menuId: string | MenuId;
209
- readonly onDidChange: Event<IMenu | undefined>;
210
- getMenuNodes(
211
- options?: IMenuNodeOptions,
212
- ): Array<[string, Array<MenuItemNode | SubmenuItemNode | ComponentMenuItemNode>]>;
213
- onDispose: Event<void>;
214
- }
215
-
216
- export function isIMenu(menus: IMenu | IContextMenu): menus is IMenu {
217
- return 'getMenuNodes' in menus && typeof menus.getMenuNodes === 'function';
218
- }
219
-
220
- export interface IContextMenu extends IDisposable {
221
- /**
222
- * menu-id
223
- */
224
- menuId: string | MenuId;
225
- /**
226
- * menu 重新生成后事件,监听即可拿到最新的 menu
227
- */
228
- readonly onDidChange: Event<string>;
229
-
230
- /**
231
- * 获得已分好组并合并的 MenuNodes 列表
232
- */
233
- getMergedMenuNodes(): MenuNode[];
234
-
235
- /**
236
- * 获得已分好组的 MenuNodes 列表
237
- */
238
- getGroupedMenuNodes(): TupleMenuNodeResult;
239
- }
240
-
241
- export abstract class AbstractMenuService {
242
- public abstract createMenu(id: MenuId | string, contextKeyService?: IContextKeyService): IMenu;
243
- }
244
-
245
- export interface CreateMenuPayload {
246
- id: MenuId | string;
247
- config?: IMenuConfig;
248
- contextKeyService?: IContextKeyService;
249
- }
250
-
251
- export abstract class AbstractContextMenuService {
252
- public abstract createMenu(payload: CreateMenuPayload): IContextMenu;
253
- }
@@ -1,211 +0,0 @@
1
- import { Injectable, Autowired } from '@opensumi/di';
2
- import { IDisposable, Disposable, Event, Emitter } from '@opensumi/ide-core-common';
3
-
4
- import { IMenubarItem, IMenuRegistry, MenuNode } from './base';
5
- import { generateMergedCtxMenu } from './menu-util';
6
- import { AbstractMenuService, IMenu, SubmenuItemNode } from './menu.interface';
7
-
8
- export abstract class AbstractMenubarService extends Disposable {
9
- readonly onDidMenubarChange: Event<void>;
10
- abstract getMenubarItems(): IMenubarItem[];
11
- abstract getMenubarItem(menuId: string): IMenubarItem | undefined;
12
-
13
- readonly onDidMenuChange: Event<string>;
14
- abstract getMenuNodes(menuId: string): MenuNode[];
15
- abstract rebuildMenuNodes(menuId: string): void;
16
- }
17
-
18
- @Injectable()
19
- export class MenubarServiceImpl extends Disposable implements AbstractMenubarService {
20
- @Autowired(AbstractMenuService)
21
- private readonly menuService: AbstractMenuService;
22
-
23
- @Autowired(IMenuRegistry)
24
- private readonly menuRegistry: IMenuRegistry;
25
-
26
- /**
27
- * Menubar 本身发生变化时的事件
28
- * undefined 表示整个都需要刷新
29
- * 带了 menuId 只需要刷新单个 MenuBarItem
30
- */
31
- private readonly _onDidMenuBarChange = new Emitter<void>();
32
- public get onDidMenubarChange(): Event<void> {
33
- return this._onDidMenuBarChange.event;
34
- }
35
-
36
- private readonly _onDidMenuChange = new Emitter<string>();
37
- public get onDidMenuChange(): Event<string> {
38
- return this._onDidMenuChange.event;
39
- }
40
-
41
- private readonly _onMenuChange = new Emitter<string>();
42
- // internal 的 MenuChange 监听器,监听 menu/submenu 的变化
43
- private get onMenuChange(): Event<string | undefined> {
44
- return this._onMenuChange.event;
45
- }
46
-
47
- private _menubarIds: Set<string> = new Set();
48
- private _menus: Map<string, IMenu> = new Map();
49
-
50
- private _menubarItems: IMenubarItem[] = [];
51
- private _menuItems: Map<string, MenuNode[]> = new Map();
52
-
53
- private _menusListener: Map<string, IDisposable> = new Map();
54
-
55
- constructor() {
56
- super();
57
- this._build();
58
-
59
- // 监听 menubar 刷新事件
60
- this.addDispose(Event.debounce(this.menuRegistry.onDidChangeMenubar, () => {}, 50)(this._build, this));
61
-
62
- // 监听内部的 onMenuChange 刷新单个 menubarItem 下的所有节点
63
- this.addDispose(
64
- Event.debounce(this.onMenuChange, (l, menuId: string) => menuId, 50)(this._rebuildSingleRootMenus, this),
65
- );
66
-
67
- this.addDispose(this._onDidMenuBarChange);
68
- this.addDispose(this._onDidMenuChange);
69
- }
70
-
71
- // 构建完整的 menubarIds/_menubarItems/_menubarMenus
72
- private _build() {
73
- // reset
74
- this._menubarItems = [];
75
- this._menubarIds = new Set();
76
- this._menuItems.clear();
77
-
78
- let menubarItems = this.menuRegistry.getMenubarItems();
79
- menubarItems = menubarItems.sort(menubarItemsSorter);
80
-
81
- menubarItems.forEach((menubarItem) => {
82
- const menubarId = menubarItem.id;
83
- this._menubarItems.push(menubarItem);
84
- // keep menuId for event listener
85
- this._menubarIds.add(menubarId);
86
- // build mens for Menubar
87
- this._buildMenus(menubarId);
88
- });
89
-
90
- this._onDidMenuBarChange.fire();
91
- }
92
-
93
- // 根据事件监听结果更新单个 root menuId 下的 menus
94
- private _rebuildSingleRootMenus(menuId: string) {
95
- this._buildMenus(menuId);
96
- this._onDidMenuChange.fire(menuId);
97
- }
98
-
99
- /**
100
- * 构建产生每个 menubar item 下方点击展开的 menus
101
- * 包括递归产生多层级结构
102
- * @param menubarId [string]
103
- */
104
- private _buildMenus(menubarId: string) {
105
- const menus = this.menuService.createMenu(menubarId);
106
-
107
- // clean up for IMenu
108
- const oldMenus = this._menus.get(menubarId);
109
- if (oldMenus) {
110
- oldMenus.dispose();
111
- this._menus.delete(menubarId);
112
- }
113
-
114
- // clean up for menu.onDidChange
115
- const oldMenusListener = this._menusListener.get(menubarId);
116
- if (oldMenusListener) {
117
- oldMenusListener.dispose();
118
- this._menusListener.delete(menubarId);
119
- }
120
-
121
- this._menus.set(menubarId, menus);
122
- this._menusListener.set(
123
- menubarId,
124
- menus.onDidChange(() => this._onMenuChange.fire(menubarId), this, this.disposables),
125
- );
126
-
127
- const menubarMenu = [] as MenuNode[];
128
- this._traverseMenuItems(menus, menubarMenu, menubarId);
129
- this._menuItems.set(menubarId, menubarMenu);
130
- }
131
-
132
- /**
133
- * 递归构建生成单个 Menubar 下所有层级菜单的数据结构的函数
134
- * @param menus IMenu 实例, menuService.createMenu 返回值
135
- * @param menuToPopulate 递归中用来收集数结果
136
- * @param rootMenuId 顶级的 menuId, 下方所有 submenuId 的 onDidChange 都触发顶层 menuId 事件以刷新该 menuId 下所有的数据
137
- */
138
- private _traverseMenuItems(menus: IMenu, menuToPopulate: MenuNode[], rootMenuId: string) {
139
- const menuItems = generateMergedCtxMenu({ menus });
140
- menuItems.forEach((menuItem) => {
141
- if (menuItem instanceof SubmenuItemNode) {
142
- const submenuItems = [] as MenuNode[];
143
-
144
- const submenuId = menuItem.item.submenu;
145
- if (!this._menus.has(submenuId)) {
146
- const menus = this.registerDispose(this.menuService.createMenu(submenuId));
147
- this._menus.set(submenuId, menus);
148
- this.registerDispose(
149
- menus.onDidChange(() => {
150
- // 通知外部 顶层 menuId 下所有结构变了, 需要重新生成数据结构
151
- this._onMenuChange.fire(rootMenuId);
152
- }),
153
- );
154
- }
155
-
156
- const menuToDispose = this.menuService.createMenu(submenuId);
157
- this._traverseMenuItems(menuToDispose, submenuItems, rootMenuId);
158
-
159
- // 挂载 submenu 下的子级 menuItems
160
- menuItem.children = submenuItems;
161
-
162
- menuToPopulate.push(menuItem);
163
- menuToDispose.dispose();
164
- } else {
165
- menuToPopulate.push(menuItem);
166
- }
167
- });
168
- }
169
-
170
- public dispose() {
171
- this._menusListener.forEach((disposable) => disposable.dispose());
172
- this._menusListener.clear();
173
- this._menus.forEach((menu) => menu.dispose());
174
- this._menus.clear();
175
- super.dispose();
176
- }
177
-
178
- public getMenubarItems() {
179
- return this._menubarItems;
180
- }
181
-
182
- public getMenubarItem(menuId: string) {
183
- if (!this._menubarIds.has(menuId)) {
184
- return undefined;
185
- }
186
-
187
- return this.menuRegistry.getMenubarItem(menuId);
188
- }
189
-
190
- public getMenuNodes(menuId: string) {
191
- return this._menuItems.get(menuId) || [];
192
- }
193
-
194
- // 由于现在的 command 无法通知 isEnable/isVisible/isToggle
195
- // 所以 web 版本 menubar 每次需要强制重新计算
196
- public rebuildMenuNodes(menuId: string) {
197
- this._buildMenus(menuId);
198
- }
199
- }
200
-
201
- function menubarItemsSorter(a: IMenubarItem, b: IMenubarItem): number {
202
- // sort on priority - default is 0
203
- const aPrio = a.order || 0;
204
- const bPrio = b.order || 0;
205
- if (aPrio < bPrio) {
206
- return -1;
207
- } else if (aPrio > bPrio) {
208
- return 1;
209
- }
210
- return 0;
211
- }
@@ -1,18 +0,0 @@
1
- import { IContextKeyService } from '../../../../context-key';
2
- import { MenuNode } from '../../base';
3
- import { MenuId } from '../../menu-id';
4
- import { IMenuNodeOptions } from '../../menu.interface';
5
-
6
- export interface CtxMenuParams extends IMenuNodeOptions {
7
- menuNodes: MenuNode[] | MenuId | string;
8
- contextKeyService?: IContextKeyService; // 直接传递 MenuId 时可传递 scopedContextKeyService
9
- }
10
-
11
- export interface CtxMenuRenderParams extends CtxMenuParams {
12
- anchor: MouseEvent | { x: number; y: number };
13
- onHide?: (canceled: boolean) => void;
14
- }
15
-
16
- export abstract class ICtxMenuRenderer {
17
- abstract show(payload: CtxMenuRenderParams): void;
18
- }
@@ -1,45 +0,0 @@
1
- import omit from 'lodash/omit';
2
-
3
- import { Injectable, Autowired } from '@opensumi/di';
4
-
5
- import { MenuNode } from '../../base';
6
- import { AbstractContextMenuService } from '../../menu.interface';
7
-
8
- import { ICtxMenuRenderer, CtxMenuRenderParams } from './base';
9
-
10
- export abstract class IBrowserCtxMenu extends ICtxMenuRenderer {
11
- visible: boolean;
12
- onHide: ((canceled: boolean) => void) | undefined;
13
- point?: {
14
- pageX: number;
15
- pageY: number;
16
- };
17
- context: any;
18
- menuNodes: MenuNode[];
19
- abstract hide(canceled: boolean): void;
20
- }
21
-
22
- @Injectable()
23
- export class BrowserCtxMenuRenderer implements ICtxMenuRenderer {
24
- @Autowired(IBrowserCtxMenu)
25
- protected readonly browserCtxMenu: IBrowserCtxMenu;
26
-
27
- @Autowired(AbstractContextMenuService)
28
- private readonly menuService: AbstractContextMenuService;
29
-
30
- public show(payload: CtxMenuRenderParams): void {
31
- if (typeof payload.menuNodes === 'string') {
32
- const menus = this.menuService.createMenu({
33
- id: payload.menuNodes,
34
- config: {
35
- args: payload.args,
36
- },
37
- contextKeyService: payload.contextKeyService,
38
- });
39
- payload.menuNodes = menus.getMergedMenuNodes();
40
- menus.dispose();
41
- }
42
-
43
- this.browserCtxMenu.show(omit(payload, ['contextKeyService']));
44
- }
45
- }