@jingyi0605/codingns4dsh 0.2.2-beta.1 → 0.2.2-beta.2

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 (120) hide show
  1. package/README.en.md +4 -4
  2. package/README.md +4 -4
  3. package/data/build/dist/bootstrap/dsh-connection-adapter.d.ts +1 -1
  4. package/data/build/dist/bootstrap/dsh-connection-adapter.d.ts.map +1 -1
  5. package/data/build/dist/bootstrap/index.d.ts +1 -1
  6. package/data/build/dist/bootstrap/index.d.ts.map +1 -1
  7. package/data/build/dist/client/bundle.js +1720 -1933
  8. package/data/build/dist/client/bundle.js.map +1 -1
  9. package/data/build/dist/client/cli-slots.d.ts.map +1 -1
  10. package/data/build/dist/client/cli-slots.js +24 -13
  11. package/data/build/dist/client/cli-slots.js.map +1 -1
  12. package/data/build/dist/client/client.magpie-model-tag.js +4 -0
  13. package/data/build/dist/client/client.magpie-model-tag.js.map +1 -1
  14. package/data/build/dist/client/features/file-management.d.ts.map +1 -1
  15. package/data/build/dist/client/features/file-management.js +17 -2
  16. package/data/build/dist/client/features/file-management.js.map +1 -1
  17. package/data/build/dist/client/features/magpie-management-page.d.ts +17 -4
  18. package/data/build/dist/client/features/magpie-management-page.d.ts.map +1 -1
  19. package/data/build/dist/client/features/magpie-management-page.js +52 -16
  20. package/data/build/dist/client/features/magpie-management-page.js.map +1 -1
  21. package/data/build/dist/client/features/mobile-access-panel.d.ts.map +1 -1
  22. package/data/build/dist/client/features/mobile-access-panel.js +1 -11
  23. package/data/build/dist/client/features/mobile-access-panel.js.map +1 -1
  24. package/data/build/dist/client/features/mobile-access.d.ts +3 -6
  25. package/data/build/dist/client/features/mobile-access.d.ts.map +1 -1
  26. package/data/build/dist/client/features/mobile-access.js +18 -47
  27. package/data/build/dist/client/features/mobile-access.js.map +1 -1
  28. package/data/build/dist/client/features/types.d.ts +3 -0
  29. package/data/build/dist/client/features/types.d.ts.map +1 -1
  30. package/data/build/dist/client/features/workspace-session-enhancement.d.ts.map +1 -1
  31. package/data/build/dist/client/features/workspace-session-enhancement.js +2 -0
  32. package/data/build/dist/client/features/workspace-session-enhancement.js.map +1 -1
  33. package/data/build/dist/client/file-management-context-menu.d.ts +10 -0
  34. package/data/build/dist/client/file-management-context-menu.d.ts.map +1 -0
  35. package/data/build/dist/client/file-management-context-menu.js +182 -0
  36. package/data/build/dist/client/file-management-context-menu.js.map +1 -0
  37. package/data/build/dist/client/file-management-dom.d.ts +2 -0
  38. package/data/build/dist/client/file-management-dom.d.ts.map +1 -1
  39. package/data/build/dist/client/file-management-dom.js +10 -6
  40. package/data/build/dist/client/file-management-dom.js.map +1 -1
  41. package/data/build/dist/client/index.d.ts.map +1 -1
  42. package/data/build/dist/client/index.js +3 -0
  43. package/data/build/dist/client/index.js.map +1 -1
  44. package/data/build/dist/client/locale.d.ts.map +1 -1
  45. package/data/build/dist/client/locale.js +2 -0
  46. package/data/build/dist/client/locale.js.map +1 -1
  47. package/data/build/dist/client/locales/magpie.d.ts.map +1 -1
  48. package/data/build/dist/client/locales/magpie.js +2 -0
  49. package/data/build/dist/client/locales/magpie.js.map +1 -1
  50. package/data/build/dist/client/workspace-session-visibility-dom.d.ts +3 -0
  51. package/data/build/dist/client/workspace-session-visibility-dom.d.ts.map +1 -1
  52. package/data/build/dist/client/workspace-session-visibility-dom.js +29 -11
  53. package/data/build/dist/client/workspace-session-visibility-dom.js.map +1 -1
  54. package/data/build/dist/dsh-capabilities/client/context-menu-adapter.d.ts +22 -0
  55. package/data/build/dist/dsh-capabilities/client/context-menu-adapter.d.ts.map +1 -0
  56. package/data/build/dist/dsh-capabilities/client/context-menu-adapter.js +33 -0
  57. package/data/build/dist/dsh-capabilities/client/context-menu-adapter.js.map +1 -0
  58. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts.map +1 -1
  59. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.d.ts.map +1 -1
  60. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.js +10 -1
  61. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.js.map +1 -1
  62. package/data/build/dist/dsh-capabilities/host/llm-text-adapter.d.ts.map +1 -1
  63. package/data/build/dist/dsh-capabilities/host/llm-text-adapter.js +1 -0
  64. package/data/build/dist/dsh-capabilities/host/llm-text-adapter.js.map +1 -1
  65. package/data/build/dist/dsh-capabilities/host/plugin-update-adapter.d.ts +1 -0
  66. package/data/build/dist/dsh-capabilities/host/plugin-update-adapter.d.ts.map +1 -1
  67. package/data/build/dist/dsh-capabilities/host/plugin-update-adapter.js +15 -7
  68. package/data/build/dist/dsh-capabilities/host/plugin-update-adapter.js.map +1 -1
  69. package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.d.ts.map +1 -1
  70. package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.js +10 -1
  71. package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.js.map +1 -1
  72. package/data/build/dist/dsh-capabilities/host/session-performance-adapter.d.ts +1 -1
  73. package/data/build/dist/dsh-capabilities/host/session-performance-adapter.d.ts.map +1 -1
  74. package/data/build/dist/dsh-capabilities/host/session-performance-adapter.js +10 -1
  75. package/data/build/dist/dsh-capabilities/host/session-performance-adapter.js.map +1 -1
  76. package/data/build/dist/dsh-capabilities/matrix.d.ts.map +1 -1
  77. package/data/build/dist/dsh-capabilities/matrix.js +1 -0
  78. package/data/build/dist/dsh-capabilities/matrix.js.map +1 -1
  79. package/data/build/dist/dsh-capabilities/routes.d.ts.map +1 -1
  80. package/data/build/dist/dsh-capabilities/routes.js +3 -0
  81. package/data/build/dist/dsh-capabilities/routes.js.map +1 -1
  82. package/data/build/dist/dsh-capabilities/types.d.ts +1 -1
  83. package/data/build/dist/dsh-capabilities/types.d.ts.map +1 -1
  84. package/data/build/dist/dsh-capabilities/types.js.map +1 -1
  85. package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts +5 -0
  86. package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts.map +1 -1
  87. package/data/build/dist/host/cli-adapters/antigravity-driver.js +54 -2
  88. package/data/build/dist/host/cli-adapters/antigravity-driver.js.map +1 -1
  89. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
  90. package/data/build/dist/host/cli-adapters/feature.js +70 -3
  91. package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
  92. package/data/build/dist/host/cli-adapters/magpie-usage.js +6 -2
  93. package/data/build/dist/host/cli-adapters/magpie-usage.js.map +1 -1
  94. package/data/build/dist/host/features/session-translation-recovery.js +2 -2
  95. package/data/build/dist/host/features/session-translation-recovery.js.map +1 -1
  96. package/data/build/dist/host/features/session-translation-service.d.ts +2 -2
  97. package/data/build/dist/host/features/session-translation-service.d.ts.map +1 -1
  98. package/data/build/dist/host/features/session-translation-service.js +11 -9
  99. package/data/build/dist/host/features/session-translation-service.js.map +1 -1
  100. package/data/build/dist/host/index.d.ts.map +1 -1
  101. package/data/build/dist/host/index.js +4 -1
  102. package/data/build/dist/host/index.js.map +1 -1
  103. package/data/build/dist/host/settings.d.ts.map +1 -1
  104. package/data/build/dist/host/settings.js +5 -4
  105. package/data/build/dist/host/settings.js.map +1 -1
  106. package/data/build/dist/shared/contracts/config.d.ts +2 -2
  107. package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
  108. package/data/build/dist/shared/contracts/config.js +5 -10
  109. package/data/build/dist/shared/contracts/config.js.map +1 -1
  110. package/data/build/dist/shared/contracts/errors.d.ts +1 -1
  111. package/data/build/dist/shared/contracts/errors.d.ts.map +1 -1
  112. package/data/build/dist/shared/contracts/version.d.ts +3 -3
  113. package/data/build/dist/shared/contracts/version.d.ts.map +1 -1
  114. package/data/build/dist/shared/contracts/version.js +2 -2
  115. package/data/build/dist/shared/contracts/version.js.map +1 -1
  116. package/package.json +34 -32
  117. package/profile/README.md +2 -2
  118. package/profile/package.json +2 -2
  119. package/profile/version.json +2 -2
  120. package/version.json +2 -2
@@ -1,11 +1,7 @@
1
1
  import { normalizeMobileAccessSettings } from '../../shared/contracts/config.js';
2
2
  import { debugWarn } from '../../shared/debug.js';
3
- import { startMobileSidebarRailDom, } from '../mobile-sidebar-rail-dom.js';
4
3
  import { startMobileSidebarGestures } from '../mobile-sidebar-gestures.js';
5
4
  import { notifyMobileRightbarManualOpen, notifyMobileRightbarManualClose } from '../mobile-rightbar-visibility.js';
6
- import { startMobileRightbarTabsDom } from '../mobile-rightbar-tabs-dom.js';
7
- import { startMobileSettingsModalDom } from '../mobile-settings-modal-dom.js';
8
- import { startMobileTeamPanelDom } from '../mobile-team-panel-dom.js';
9
5
  import { MobileAccessPanel } from './mobile-access-panel.js';
10
6
  import { resolveCodingNsTranslator } from '../locale.js';
11
7
  /** descriptor 的 label/description 只是词典缺失时的兜底,取内置中文词典。 */
@@ -13,12 +9,9 @@ const fallbackT = resolveCodingNsTranslator();
13
9
  /**
14
10
  * 移动端访问增强。
15
11
  *
16
- * 只做一件事:窄屏下把 DSH 左侧边栏的 56px 图标轨道彻底收成 0 宽,并在左上角放一个
17
- * 插件自有的 logo 按钮作为再次唤起入口。按钮点击只调用 DSH 官方
18
- * `ctx.layout.toggleSidebar()`,插件不接管布局状态、不改 DSH 持久化设置。
19
- *
20
- * 依赖 `layout.columns`:该能力对应的正是 0.2.0 起的三栏布局世代,插件改写的
21
- * 内联网格与 `data-sidebar-collapsed` 都来自同一代实现;能力不可用时整块禁用。
12
+ * 保留移动端横滑手势,并把侧栏开合交给 DSH 原生布局服务。移动端布局、设置弹窗、右栏
13
+ * 标签和团队面板都由当前 DSH 自己负责,插件不再改写宿主 DOM,避免与 0.2.2 的原生
14
+ * 移动端布局冲突。
22
15
  */
23
16
  export const mobileAccessFeature = {
24
17
  descriptor: {
@@ -38,58 +31,36 @@ export const mobileAccessFeature = {
38
31
  },
39
32
  },
40
33
  start(context) {
41
- // 控制器每次同步都直接读取设置快照,因此这里只需要在设置变化时让它重算。
42
- const controller = startMobileSidebarRailDom({
43
- settings: () => normalizeMobileAccessSettings(context.services.settings.getSnapshot().value?.mobileAccess),
44
- // 每次点击都重新取布局服务:宿主重建期间 services.layout 可能是后补的。
45
- toggleSidebar: () => { context.services.layout?.toggleSidebar(); },
46
- onDiagnostic: (code) => debugWarn('codingns4dsh: 移动端侧栏隐藏不可用', { code }),
47
- locale: context.services.locale,
48
- });
49
34
  // 横滑属于移动端访问基础能力,不能依赖“工作区会话增强”模块是否开启。
50
- // 手势控制器自身会按窄屏与触摸能力门禁,桌面端不会注册监听。
35
+ // 手势控制器自身会按窄屏与触摸能力门禁,桌面端不会注册监听;布局状态始终由 DSH
36
+ // 原生服务与原生 DOM 提供,插件只读取它来判断当前左栏状态。
51
37
  const gestures = startMobileSidebarGestures({
52
38
  ports: { layout: context.services.layout, sidebarRight: context.services.sidebarRight },
53
39
  onRightbarOpen: () => notifyMobileRightbarManualOpen(typeof document === 'undefined' ? undefined : document),
54
40
  onRightbarClose: () => notifyMobileRightbarManualClose(typeof document === 'undefined' ? undefined : document),
55
- // 手势需要区分“左栏尚未呼出”和“左栏已经展开”:默认映射下物理左滑
56
- // 在后一种状态应关闭左栏,而不是打开右栏。移动端侧栏 DOM 控制器在
57
- // 框架上留下稳定标记,缺少该节点时由手势控制器内部状态兜底。
58
- readLeftCollapsed: () => {
59
- if (typeof document === 'undefined')
60
- return undefined;
61
- const frame = document.querySelector('[data-codingns-mobile-sidebar-frame]');
62
- return frame?.hasAttribute('data-sidebar-collapsed');
63
- },
41
+ readLeftCollapsed: readNativeLeftCollapsed,
64
42
  settings: () => normalizeMobileAccessSettings(context.services.settings.getSnapshot().value?.mobileAccess, context.services.settings.getSnapshot().value?.workspaceSessionEnhancement),
65
43
  onDiagnostic: (code) => debugWarn('codingns4dsh: 侧栏手势不可用', { code }),
66
44
  });
67
- const settingsModal = startMobileSettingsModalDom({
68
- enabled: () => normalizeMobileAccessSettings(context.services.settings.getSnapshot().value?.mobileAccess, context.services.settings.getSnapshot().value?.workspaceSessionEnhancement).optimizeSettingsOnMobile,
69
- mobileViewportMaxPx: () => normalizeMobileAccessSettings(context.services.settings.getSnapshot().value?.mobileAccess).mobileViewportMaxPx,
70
- });
71
- const rightbarTabs = startMobileRightbarTabsDom({
72
- mobileViewportMaxPx: () => normalizeMobileAccessSettings(context.services.settings.getSnapshot().value?.mobileAccess).mobileViewportMaxPx,
73
- });
74
- const teamPanel = startMobileTeamPanelDom({
75
- locale: context.services.locale,
76
- mobileViewportMaxPx: () => normalizeMobileAccessSettings(context.services.settings.getSnapshot().value?.mobileAccess).mobileViewportMaxPx,
77
- });
78
45
  context.resources.add(context.services.settings.subscribe(() => {
79
- controller.refresh();
80
46
  gestures.refresh();
81
- settingsModal.refresh();
82
- rightbarTabs.refresh();
83
- teamPanel.refresh();
84
47
  }));
85
48
  context.resources.add(() => {
86
- controller.dispose();
87
49
  gestures.dispose();
88
- settingsModal.dispose();
89
- rightbarTabs.dispose();
90
- teamPanel.dispose();
91
50
  });
92
51
  },
93
52
  settingsPanel: MobileAccessPanel,
94
53
  };
54
+ /** Read the host frame's native collapsed state without adding a plugin marker or style. */
55
+ function readNativeLeftCollapsed() {
56
+ if (typeof document === 'undefined')
57
+ return undefined;
58
+ const overlay = document.querySelector('[data-shell-overlay]');
59
+ let current = overlay;
60
+ for (let depth = 0; depth < 8 && current !== null; depth += 1, current = current.parentElement) {
61
+ if (current.style.gridTemplateColumns !== '')
62
+ return current.hasAttribute('data-sidebar-collapsed');
63
+ }
64
+ return undefined;
65
+ }
95
66
  //# sourceMappingURL=mobile-access.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mobile-access.js","sourceRoot":"","sources":["../../../../../src/client/features/mobile-access.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAA;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EACL,yBAAyB,GAE1B,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,0BAA0B,EAAuC,MAAM,+BAA+B,CAAA;AAC/G,OAAO,EAAE,8BAA8B,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAA;AAClH,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAA;AAC3E,OAAO,EAAE,2BAA2B,EAAsC,MAAM,iCAAiC,CAAA;AACjH,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAExD,yDAAyD;AACzD,MAAM,SAAS,GAAG,yBAAyB,EAAE,CAAA;AAE7C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAgC;IAC9D,UAAU,EAAE;QACV,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,IAAI;QACtB,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAClF,EAAE,EAAE;YACF,KAAK,EAAE,SAAS,CAAC,4BAA4B,CAAC;YAC9C,WAAW,EAAE,SAAS,CAAC,kCAAkC,CAAC;YAC1D,QAAQ,EAAE,4BAA4B;YACtC,cAAc,EAAE,kCAAkC;YAClD,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,KAAK;SACnB;KACF;IACD,KAAK,CAAC,OAAO;QACX,sCAAsC;QACtC,MAAM,UAAU,GAAmC,yBAAyB,CAAC;YAC3E,QAAQ,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;YAC1G,8CAA8C;YAC9C,aAAa,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,CAAA,CAAC,CAAC;YACjE,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,0BAA0B,EAAE,EAAE,IAAI,EAAE,CAAC;YACvE,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;SAChC,CAAC,CAAA;QACF,qCAAqC;QACrC,gCAAgC;QAChC,MAAM,QAAQ,GAAmC,0BAA0B,CAAC;YAC1E,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE;YACvF,cAAc,EAAE,GAAG,EAAE,CAAC,8BAA8B,CAAC,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC5G,eAAe,EAAE,GAAG,EAAE,CAAC,+BAA+B,CAAC,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC9G,oCAAoC;YACpC,qCAAqC;YACrC,gCAAgC;YAChC,iBAAiB,EAAE,GAAG,EAAE;gBACtB,IAAI,OAAO,QAAQ,KAAK,WAAW;oBAAE,OAAO,SAAS,CAAA;gBACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAc,sCAAsC,CAAC,CAAA;gBACzF,OAAO,KAAK,EAAE,YAAY,CAAC,wBAAwB,CAAC,CAAA;YACtD,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,YAAY,EAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,2BAA2B,CAC3E;YACD,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,CAAC;SACrE,CAAC,CAAA;QACF,MAAM,aAAa,GAAkC,2BAA2B,CAAC;YAC/E,OAAO,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,YAAY,EAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,2BAA2B,CAC3E,CAAC,wBAAwB;YAC1B,mBAAmB,EAAE,GAAG,EAAE,CAAC,6BAA6B,CACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,YAAY,CAC5D,CAAC,mBAAmB;SACtB,CAAC,CAAA;QACF,MAAM,YAAY,GAAG,0BAA0B,CAAC;YAC9C,mBAAmB,EAAE,GAAG,EAAE,CAAC,6BAA6B,CACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,YAAY,CAC5D,CAAC,mBAAmB;SACtB,CAAC,CAAA;QACF,MAAM,SAAS,GAAG,uBAAuB,CAAC;YACxC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;YAC/B,mBAAmB,EAAE,GAAG,EAAE,CAAC,6BAA6B,CACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,YAAY,CAC5D,CAAC,mBAAmB;SACtB,CAAC,CAAA;QACF,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;YAC7D,UAAU,CAAC,OAAO,EAAE,CAAA;YACpB,QAAQ,CAAC,OAAO,EAAE,CAAA;YAClB,aAAa,CAAC,OAAO,EAAE,CAAA;YACvB,YAAY,CAAC,OAAO,EAAE,CAAA;YACtB,SAAS,CAAC,OAAO,EAAE,CAAA;QACrB,CAAC,CAAC,CAAC,CAAA;QACH,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE;YACzB,UAAU,CAAC,OAAO,EAAE,CAAA;YACpB,QAAQ,CAAC,OAAO,EAAE,CAAA;YAClB,aAAa,CAAC,OAAO,EAAE,CAAA;YACvB,YAAY,CAAC,OAAO,EAAE,CAAA;YACtB,SAAS,CAAC,OAAO,EAAE,CAAA;QACrB,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,aAAa,EAAE,iBAAiB;CACjC,CAAA"}
1
+ {"version":3,"file":"mobile-access.js","sourceRoot":"","sources":["../../../../../src/client/features/mobile-access.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAA;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,0BAA0B,EAAuC,MAAM,+BAA+B,CAAA;AAC/G,OAAO,EAAE,8BAA8B,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAA;AAClH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAExD,yDAAyD;AACzD,MAAM,SAAS,GAAG,yBAAyB,EAAE,CAAA;AAE7C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAgC;IAC9D,UAAU,EAAE;QACV,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,IAAI;QACtB,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAClF,EAAE,EAAE;YACF,KAAK,EAAE,SAAS,CAAC,4BAA4B,CAAC;YAC9C,WAAW,EAAE,SAAS,CAAC,kCAAkC,CAAC;YAC1D,QAAQ,EAAE,4BAA4B;YACtC,cAAc,EAAE,kCAAkC;YAClD,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,KAAK;SACnB;KACF;IACD,KAAK,CAAC,OAAO;QACX,qCAAqC;QACrC,2CAA2C;QAC3C,kCAAkC;QAClC,MAAM,QAAQ,GAAmC,0BAA0B,CAAC;YAC1E,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE;YACvF,cAAc,EAAE,GAAG,EAAE,CAAC,8BAA8B,CAAC,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC5G,eAAe,EAAE,GAAG,EAAE,CAAC,+BAA+B,CAAC,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC9G,iBAAiB,EAAE,uBAAuB;YAC1C,QAAQ,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,YAAY,EAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,2BAA2B,CAC3E;YACD,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,CAAC;SACrE,CAAC,CAAA;QACF,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;YAC7D,QAAQ,CAAC,OAAO,EAAE,CAAA;QACpB,CAAC,CAAC,CAAC,CAAA;QACH,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE;YACzB,QAAQ,CAAC,OAAO,EAAE,CAAA;QACpB,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,aAAa,EAAE,iBAAiB;CACjC,CAAA;AAED,4FAA4F;AAC5F,SAAS,uBAAuB;IAC9B,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,SAAS,CAAA;IACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAc,sBAAsB,CAAC,CAAA;IAC3E,IAAI,OAAO,GAAuB,OAAO,CAAA;IACzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,OAAO,KAAK,IAAI,EAAE,KAAK,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAC/F,IAAI,OAAO,CAAC,KAAK,CAAC,mBAAmB,KAAK,EAAE;YAAE,OAAO,OAAO,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAA;IACrG,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -10,6 +10,7 @@ import type { HostRouter } from '../host-router.js';
10
10
  import type { PeerHostSessionController } from '../peer-host-session-controller.js';
11
11
  import type { PwaNotificationClient } from '../pwa-notifications.js';
12
12
  import type { FeatureRequirement } from '../feature-requirement.js';
13
+ import type { DshContextMenuAdapter } from '../../dsh-capabilities/client/context-menu-adapter.js';
13
14
  /** 一次 Codingns4DSH RPC 的结果,与 DSH Connection 的结果形状一致。 */
14
15
  export type CodingNsRpcResult = {
15
16
  readonly ok: true;
@@ -75,6 +76,8 @@ export interface CodingNsClientServices {
75
76
  readonly notifications?: PwaNotificationClient;
76
77
  /** 当前 Client Cordis 上下文;只供需要注册 DSH UI Slot 的功能模块使用。 */
77
78
  readonly uiContext?: Context;
79
+ /** DSH alpha.3 shared context-menu service; absent on older hosts. */
80
+ readonly contextMenus?: DshContextMenuAdapter;
78
81
  }
79
82
  /** 设置页统一反馈的提示级别。 */
80
83
  export type SettingsNoticeKind = 'success' | 'error' | 'info';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/client/features/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/client/features/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-session-enhancement.d.ts","sourceRoot":"","sources":["../../../../../src/client/features/workspace-session-enhancement.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AAW7D,8CAA8C;AAC9C,eAAO,MAAM,kCAAkC,EAAE,2BAwOhD,CAAA"}
1
+ {"version":3,"file":"workspace-session-enhancement.d.ts","sourceRoot":"","sources":["../../../../../src/client/features/workspace-session-enhancement.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AAW7D,8CAA8C;AAC9C,eAAO,MAAM,kCAAkC,EAAE,2BA0OhD,CAAA"}
@@ -23,6 +23,7 @@ export const workspaceSessionEnhancementFeature = {
23
23
  enabledByDefault: false,
24
24
  dependencies: ['cliAdapters'],
25
25
  runtime: 'client',
26
+ requires: [{ capability: 'ui.context-menu', required: false, fallback: 'degrade' }],
26
27
  nativeReplacement: {
27
28
  dshFeature: 'DSH native session list, session search, plugin icons, and working-directory presentation',
28
29
  since: '0.2.2-alpha.2',
@@ -82,6 +83,7 @@ export const workspaceSessionEnhancementFeature = {
82
83
  remote: context.services.remote,
83
84
  readNativeWorkspaceSnapshot: () => readNativeWorkspaceSnapshot(context.services.uiContext),
84
85
  hiddenWorkspaceIds,
86
+ ...(context.services.contextMenus === undefined ? {} : { contextMenus: context.services.contextMenus }),
85
87
  locale: context.services.locale,
86
88
  onHiddenWorkspaceIdsChange: async (ids) => {
87
89
  await context.services.settings.mutate([{
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-session-enhancement.js","sourceRoot":"","sources":["../../../../../src/client/features/workspace-session-enhancement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-session-enhancement.js","sourceRoot":"","sources":["../../../../../src/client/features/workspace-session-enhancement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { CodingNsRpcClient } from './features/types.js';
2
+ import { type CodingNsLocale } from './locale.js';
3
+ import type { DshContextMenuAdapter } from '../dsh-capabilities/client/context-menu-adapter.js';
4
+ export interface FileManagementContextMenuController {
5
+ setEnabled(enabled: boolean): void;
6
+ dispose(): void;
7
+ }
8
+ /** Registers alpha.3 file actions while leaving the DOM menu as the old-host fallback. */
9
+ export declare function registerFileManagementContextMenus(rpc: CodingNsRpcClient, contextMenus: DshContextMenuAdapter | undefined, locale?: CodingNsLocale): FileManagementContextMenuController;
10
+ //# sourceMappingURL=file-management-context-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-management-context-menu.d.ts","sourceRoot":"","sources":["../../../../src/client/file-management-context-menu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,OAAO,EAA6B,KAAK,cAAc,EAA2B,MAAM,aAAa,CAAA;AAErG,OAAO,KAAK,EAAE,qBAAqB,EAAwB,MAAM,oDAAoD,CAAA;AAarH,MAAM,WAAW,mCAAmC;IAClD,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAClC,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,0FAA0F;AAC1F,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,iBAAiB,EACtB,YAAY,EAAE,qBAAqB,GAAG,SAAS,EAC/C,MAAM,CAAC,EAAE,cAAc,GACtB,mCAAmC,CAgIrC"}
@@ -0,0 +1,182 @@
1
+ import { callCodingNsRpc } from './settings-bridge.js';
2
+ import { resolveCodingNsTranslator } from './locale.js';
3
+ import { parseVirtualSessionId } from '../shared/contracts/peer-host.js';
4
+ import { copyResolvedFilePath, resolveFileCopyPaths } from './file-management-dom.js';
5
+ /** Registers alpha.3 file actions while leaving the DOM menu as the old-host fallback. */
6
+ export function registerFileManagementContextMenus(rpc, contextMenus, locale) {
7
+ if (contextMenus === undefined)
8
+ return { setEnabled: () => undefined, dispose: () => undefined };
9
+ const menuService = contextMenus;
10
+ const t = resolveCodingNsTranslator(locale);
11
+ let enabled = false;
12
+ let clipboard;
13
+ const disposers = [
14
+ menuService.register({
15
+ id: 'codingns.file-management.file',
16
+ target: 'file',
17
+ order: 400,
18
+ resolve: (value, signal) => resolveFileActions(value, false, signal),
19
+ }),
20
+ menuService.register({
21
+ id: 'codingns.file-management.directory',
22
+ target: 'directory',
23
+ order: 400,
24
+ resolve: (value, signal) => resolveFileActions(value, true, signal),
25
+ }),
26
+ ];
27
+ return {
28
+ setEnabled(value) { enabled = value; },
29
+ dispose() {
30
+ for (const dispose of disposers)
31
+ dispose();
32
+ },
33
+ };
34
+ function resolveFileActions(value, directory, signal) {
35
+ if (!enabled || signal.aborted)
36
+ return [];
37
+ const target = readTarget(value);
38
+ if (target === undefined)
39
+ return [];
40
+ const destination = directory ? target : { ...target, path: parentPath(target.path) };
41
+ const workspaceRoot = workspaceRootForSession(target.sessionId);
42
+ const paths = resolveFileCopyPaths({
43
+ resourcePath: target.path,
44
+ ...(workspaceRoot === undefined ? {} : { workspaceRoot }),
45
+ });
46
+ const absoluteAvailable = paths?.absolute !== undefined && paths.absolute !== '';
47
+ return [
48
+ { id: 'download', label: t('fileMenu.download'), disabled: directory, run: () => directory ? undefined : downloadFile(target) },
49
+ { id: 'newFile', label: t('fileMenu.newFile'), run: () => createEntry(destination, false) },
50
+ { id: 'newDirectory', label: t('fileMenu.newDirectory'), run: () => createEntry(destination, true) },
51
+ { id: 'rename', label: t('fileMenu.rename'), run: () => renameEntry(target) },
52
+ { id: 'copy', label: t('fileMenu.copy'), run: () => { clipboard = { mode: 'copy', target }; } },
53
+ { id: 'cut', label: t('fileMenu.cut'), run: () => { clipboard = { mode: 'cut', target }; } },
54
+ {
55
+ id: 'paste',
56
+ label: t('fileMenu.paste'),
57
+ disabled: clipboard === undefined || !sameFileHost(clipboard.target.sessionId, target.sessionId),
58
+ run: () => pasteEntry(destination),
59
+ },
60
+ {
61
+ id: 'copyRelativePath',
62
+ label: t('fileMenu.copyRelativePath'),
63
+ run: () => paths === undefined ? notify(t('fileMenu.unresolvedPath')) : copyResolvedFilePath(paths.relative, false, t),
64
+ },
65
+ {
66
+ id: 'copyAbsolutePath',
67
+ label: t('fileMenu.copyAbsolutePath'),
68
+ disabled: !absoluteAvailable,
69
+ run: () => paths === undefined ? notify(t('fileMenu.unresolvedPath')) : copyResolvedFilePath(paths.absolute, true, t),
70
+ },
71
+ { id: 'gitIgnore', label: t('fileMenu.gitIgnore'), run: () => runMutation('git-ignore', { ...target, paths: [target.path] }) },
72
+ { id: 'delete', label: t('fileMenu.delete'), danger: true, separatorBefore: true, run: () => deleteEntry(target) },
73
+ ];
74
+ }
75
+ async function createEntry(target, directory) {
76
+ const name = window.prompt(t(directory ? 'fileMenu.promptNewDirectory' : 'fileMenu.promptNewFile'), '')?.trim();
77
+ if (!name)
78
+ return;
79
+ await runMutation(directory ? 'create-directory' : 'create-file', { ...target, path: joinPath(target.path, name) });
80
+ }
81
+ async function renameEntry(target) {
82
+ const next = window.prompt(t('fileMenu.promptRename'), leaf(target.path))?.trim();
83
+ if (!next || next === leaf(target.path))
84
+ return;
85
+ const destination = isAbsoluteLike(next) ? next : joinPath(parentPath(target.path), next);
86
+ await runMutation('rename', { ...target, destination });
87
+ }
88
+ async function pasteEntry(target) {
89
+ const source = clipboard;
90
+ if (source === undefined || !sameFileHost(source.target.sessionId, target.sessionId))
91
+ return;
92
+ await runMutation(source.mode === 'copy' ? 'copy' : 'move', {
93
+ ...target, paths: [source.target.path], destination: target.path,
94
+ });
95
+ if (source.mode === 'cut' && clipboard === source)
96
+ clipboard = undefined;
97
+ }
98
+ async function deleteEntry(target) {
99
+ if (!window.confirm(t('fileMenu.confirmDelete', { name: leaf(target.path) })))
100
+ return;
101
+ await runMutation('delete', { ...target, paths: [target.path] });
102
+ }
103
+ async function downloadFile(target) {
104
+ try {
105
+ const result = await call('download', target);
106
+ const blob = new Blob([decodeBase64(result.contentBase64)], { type: result.mimeType ?? 'application/octet-stream' });
107
+ const link = document.createElement('a');
108
+ link.href = URL.createObjectURL(blob);
109
+ link.download = result.fileName ?? leaf(target.path);
110
+ document.body.append(link);
111
+ link.click();
112
+ link.remove();
113
+ globalThis.setTimeout(() => URL.revokeObjectURL(link.href), 30_000);
114
+ }
115
+ catch (error) {
116
+ notify(errorMessage(error));
117
+ }
118
+ }
119
+ async function runMutation(action, payload) {
120
+ try {
121
+ await call(action, payload);
122
+ refreshPanel(payload.sessionId);
123
+ notify(t('fileMenu.operationDone'), true);
124
+ }
125
+ catch (error) {
126
+ notify(errorMessage(error));
127
+ }
128
+ }
129
+ async function call(action, payload) {
130
+ return callCodingNsRpc(rpc, `fileManagement/${action}`, payload);
131
+ }
132
+ function notify(message, success = false) {
133
+ menuService.notify(message, success);
134
+ }
135
+ }
136
+ function readTarget(value) {
137
+ if (typeof value !== 'object' || value === null)
138
+ return undefined;
139
+ const target = value;
140
+ return typeof target.sessionId === 'string' && typeof target.path === 'string' && target.path !== ''
141
+ ? { sessionId: target.sessionId, path: target.path }
142
+ : undefined;
143
+ }
144
+ function refreshPanel(sessionId) {
145
+ if (typeof document === 'undefined' || typeof sessionId !== 'string')
146
+ return;
147
+ const panel = [...document.querySelectorAll('[data-sidebar-right-session]')]
148
+ .find(item => item.getAttribute('data-sidebar-right-session') === sessionId);
149
+ const reload = panel?.querySelector('[data-files-reload]');
150
+ reload?.click();
151
+ }
152
+ function workspaceRootForSession(sessionId) {
153
+ if (typeof document === 'undefined')
154
+ return undefined;
155
+ const scoped = [...document.querySelectorAll('[data-sidebar-right-session]')]
156
+ .find(item => item.getAttribute('data-sidebar-right-session') === sessionId)
157
+ ?.querySelector('[data-files-root]')
158
+ ?.getAttribute('data-files-root')?.trim();
159
+ return scoped || document.querySelector('[data-files-root]')?.getAttribute('data-files-root')?.trim() || undefined;
160
+ }
161
+ function sameFileHost(left, right) {
162
+ return parseVirtualSessionId(left)?.hostId === parseVirtualSessionId(right)?.hostId;
163
+ }
164
+ function parentPath(path) {
165
+ const index = Math.max(path.lastIndexOf('/'), path.lastIndexOf('\\'));
166
+ return index <= 0 ? path.slice(0, Math.max(index, 1)) : path.slice(0, index);
167
+ }
168
+ function leaf(path) { return path.split(/[\\/]/u).filter(Boolean).pop() ?? path; }
169
+ function isAbsoluteLike(path) { return path.startsWith('/') || /^[A-Za-z]:[\\/]/u.test(path); }
170
+ function joinPath(base, child) {
171
+ const separator = base.includes('\\') && !base.includes('/') ? '\\' : '/';
172
+ return `${base.replace(/[\\/]$/u, '')}${separator}${child.replace(/^[\\/]+/u, '')}`;
173
+ }
174
+ function decodeBase64(value) {
175
+ const binary = atob(value);
176
+ const bytes = new Uint8Array(binary.length);
177
+ for (let index = 0; index < binary.length; index += 1)
178
+ bytes[index] = binary.charCodeAt(index);
179
+ return bytes.buffer;
180
+ }
181
+ function errorMessage(error) { return error instanceof Error ? error.message : String(error); }
182
+ //# sourceMappingURL=file-management-context-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-management-context-menu.js","sourceRoot":"","sources":["../../../../src/client/file-management-context-menu.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ declare const loadEditorEngine: () => Promise<typeof import("./editor-engine.js"
12
12
  export interface FileManagementDomOptions {
13
13
  readonly menuEnhancement: boolean;
14
14
  readonly fileEditor: boolean;
15
+ /** Alpha.3 owns the shared menu overlay; older DSH versions use the DOM fallback. */
16
+ readonly nativeContextMenus?: boolean;
15
17
  /** DSH 语言运行时;右键菜单、原生对话框和编辑按钮文案都从它取词。 */
16
18
  readonly locale?: CodingNsLocale;
17
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"file-management-dom.d.ts","sourceRoot":"","sources":["../../../../src/client/file-management-dom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAK5D,OAAO,EAA6B,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAMrG,KAAK,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AACtD,KAAK,aAAa,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAA;AAK7E,QAAA,MAAM,gBAAgB,oDAAyD,CAAA;AAsB/E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,wCAAwC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAA;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,UAAU,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAAA;IACnD,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,+CAA+C;AAC/C,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,iBAAiB,EACtB,cAAc,EAAE,wBAAwB,EACxC,UAAU,GAAE,OAAO,gBAAmC,GACrD,2BAA2B,CAkW7B;AAiID,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAQnE;AAmBD,6CAA6C;AAC7C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKxD;AAoBD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;CACvC;AAED,yCAAyC;AACzC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,GAAG,aAAa,GAAG,SAAS,CAYxF;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAKjH;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrE"}
1
+ {"version":3,"file":"file-management-dom.d.ts","sourceRoot":"","sources":["../../../../src/client/file-management-dom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAK5D,OAAO,EAA6B,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAMrG,KAAK,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AACtD,KAAK,aAAa,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAA;AAK7E,QAAA,MAAM,gBAAgB,oDAAyD,CAAA;AAsB/E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,qFAAqF;IACrF,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IACrC,wCAAwC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAA;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,UAAU,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAAA;IACnD,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,+CAA+C;AAC/C,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,iBAAiB,EACtB,cAAc,EAAE,wBAAwB,EACxC,UAAU,GAAE,OAAO,gBAAmC,GACrD,2BAA2B,CAsW7B;AAiID,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAQnE;AAmBD,6CAA6C;AAC7C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKxD;AAoBD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;CACvC;AAED,yCAAyC;AACzC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,GAAG,aAAa,GAAG,SAAS,CAYxF;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAKjH;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrE"}
@@ -93,9 +93,11 @@ export function startFileManagementDom(rpc, initialOptions, loadEngine = loadEdi
93
93
  };
94
94
  const onKeyDown = (event) => { if (event.key === 'Escape')
95
95
  closeMenu(); };
96
- document.addEventListener('contextmenu', onContextMenu, true);
97
- document.addEventListener('pointerdown', onDocumentPointerDown, true);
98
- document.addEventListener('keydown', onKeyDown, true);
96
+ if (initialOptions.nativeContextMenus !== true) {
97
+ document.addEventListener('contextmenu', onContextMenu, true);
98
+ document.addEventListener('pointerdown', onDocumentPointerDown, true);
99
+ document.addEventListener('keydown', onKeyDown, true);
100
+ }
99
101
  if (options.fileEditor) {
100
102
  observer?.observe(document.body, { childList: true, subtree: true });
101
103
  enhanceEditors();
@@ -106,9 +108,11 @@ export function startFileManagementDom(rpc, initialOptions, loadEngine = loadEdi
106
108
  clearEditorEnhancements();
107
109
  editor = undefined;
108
110
  observer?.disconnect();
109
- document.removeEventListener('contextmenu', onContextMenu, true);
110
- document.removeEventListener('pointerdown', onDocumentPointerDown, true);
111
- document.removeEventListener('keydown', onKeyDown, true);
111
+ if (initialOptions.nativeContextMenus !== true) {
112
+ document.removeEventListener('contextmenu', onContextMenu, true);
113
+ document.removeEventListener('pointerdown', onDocumentPointerDown, true);
114
+ document.removeEventListener('keydown', onKeyDown, true);
115
+ }
112
116
  };
113
117
  return {
114
118
  setOptions(nextOptions) {