@theia/notebook 1.67.0-next.56 → 1.67.0-next.86

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 (229) hide show
  1. package/lib/browser/contributions/cell-operations.d.ts +8 -0
  2. package/lib/browser/contributions/cell-operations.d.ts.map +1 -0
  3. package/lib/browser/contributions/cell-operations.js +45 -0
  4. package/lib/browser/contributions/cell-operations.js.map +1 -0
  5. package/lib/browser/contributions/notebook-actions-contribution.d.ts +48 -0
  6. package/lib/browser/contributions/notebook-actions-contribution.d.ts.map +1 -0
  7. package/lib/browser/contributions/notebook-actions-contribution.js +344 -0
  8. package/lib/browser/contributions/notebook-actions-contribution.js.map +1 -0
  9. package/lib/browser/contributions/notebook-cell-actions-contribution.d.ts +66 -0
  10. package/lib/browser/contributions/notebook-cell-actions-contribution.d.ts.map +1 -0
  11. package/lib/browser/contributions/notebook-cell-actions-contribution.js +526 -0
  12. package/lib/browser/contributions/notebook-cell-actions-contribution.js.map +1 -0
  13. package/lib/browser/contributions/notebook-color-contribution.d.ts +6 -0
  14. package/lib/browser/contributions/notebook-color-contribution.d.ts.map +1 -0
  15. package/lib/browser/contributions/notebook-color-contribution.js +247 -0
  16. package/lib/browser/contributions/notebook-color-contribution.js.map +1 -0
  17. package/lib/browser/contributions/notebook-context-keys.d.ts +44 -0
  18. package/lib/browser/contributions/notebook-context-keys.d.ts.map +1 -0
  19. package/lib/browser/contributions/notebook-context-keys.js +108 -0
  20. package/lib/browser/contributions/notebook-context-keys.js.map +1 -0
  21. package/lib/browser/contributions/notebook-label-provider-contribution.d.ts +19 -0
  22. package/lib/browser/contributions/notebook-label-provider-contribution.d.ts.map +1 -0
  23. package/lib/browser/contributions/notebook-label-provider-contribution.js +86 -0
  24. package/lib/browser/contributions/notebook-label-provider-contribution.js.map +1 -0
  25. package/lib/browser/contributions/notebook-outline-contribution.d.ts +29 -0
  26. package/lib/browser/contributions/notebook-outline-contribution.d.ts.map +1 -0
  27. package/lib/browser/contributions/notebook-outline-contribution.js +115 -0
  28. package/lib/browser/contributions/notebook-outline-contribution.js.map +1 -0
  29. package/lib/browser/contributions/notebook-output-action-contribution.d.ts +16 -0
  30. package/lib/browser/contributions/notebook-output-action-contribution.d.ts.map +1 -0
  31. package/lib/browser/contributions/notebook-output-action-contribution.js +83 -0
  32. package/lib/browser/contributions/notebook-output-action-contribution.js.map +1 -0
  33. package/lib/browser/contributions/notebook-status-bar-contribution.d.ts +12 -0
  34. package/lib/browser/contributions/notebook-status-bar-contribution.d.ts.map +1 -0
  35. package/lib/browser/contributions/notebook-status-bar-contribution.js +61 -0
  36. package/lib/browser/contributions/notebook-status-bar-contribution.js.map +1 -0
  37. package/lib/browser/contributions/notebook-undo-redo-handler.d.ts +10 -0
  38. package/lib/browser/contributions/notebook-undo-redo-handler.d.ts.map +1 -0
  39. package/lib/browser/contributions/notebook-undo-redo-handler.js +49 -0
  40. package/lib/browser/contributions/notebook-undo-redo-handler.js.map +1 -0
  41. package/lib/browser/index.d.ts +14 -0
  42. package/lib/browser/index.d.ts.map +1 -0
  43. package/lib/browser/index.js +32 -0
  44. package/lib/browser/index.js.map +1 -0
  45. package/lib/browser/notebook-cell-open-handler.d.ts +10 -0
  46. package/lib/browser/notebook-cell-open-handler.d.ts.map +1 -0
  47. package/lib/browser/notebook-cell-open-handler.js +52 -0
  48. package/lib/browser/notebook-cell-open-handler.js.map +1 -0
  49. package/lib/browser/notebook-cell-resource-resolver.d.ts +26 -0
  50. package/lib/browser/notebook-cell-resource-resolver.d.ts.map +1 -0
  51. package/lib/browser/notebook-cell-resource-resolver.js +109 -0
  52. package/lib/browser/notebook-cell-resource-resolver.js.map +1 -0
  53. package/lib/browser/notebook-editor-split-contribution.d.ts +14 -0
  54. package/lib/browser/notebook-editor-split-contribution.d.ts.map +1 -0
  55. package/lib/browser/notebook-editor-split-contribution.js +51 -0
  56. package/lib/browser/notebook-editor-split-contribution.js.map +1 -0
  57. package/lib/browser/notebook-editor-widget-factory.d.ts +20 -0
  58. package/lib/browser/notebook-editor-widget-factory.d.ts.map +1 -0
  59. package/lib/browser/notebook-editor-widget-factory.js +101 -0
  60. package/lib/browser/notebook-editor-widget-factory.js.map +1 -0
  61. package/lib/browser/notebook-editor-widget.d.ts +102 -0
  62. package/lib/browser/notebook-editor-widget.d.ts.map +1 -0
  63. package/lib/browser/notebook-editor-widget.js +336 -0
  64. package/lib/browser/notebook-editor-widget.js.map +1 -0
  65. package/lib/browser/notebook-frontend-module.d.ts +5 -0
  66. package/lib/browser/notebook-frontend-module.d.ts.map +1 -0
  67. package/lib/browser/notebook-frontend-module.js +116 -0
  68. package/lib/browser/notebook-frontend-module.js.map +1 -0
  69. package/lib/browser/notebook-open-handler.d.ts +29 -0
  70. package/lib/browser/notebook-open-handler.d.ts.map +1 -0
  71. package/lib/browser/notebook-open-handler.js +119 -0
  72. package/lib/browser/notebook-open-handler.js.map +1 -0
  73. package/lib/browser/notebook-output-utils.d.ts +13 -0
  74. package/lib/browser/notebook-output-utils.d.ts.map +1 -0
  75. package/lib/browser/notebook-output-utils.js +112 -0
  76. package/lib/browser/notebook-output-utils.js.map +1 -0
  77. package/lib/browser/notebook-renderer-registry.d.ts +25 -0
  78. package/lib/browser/notebook-renderer-registry.d.ts.map +1 -0
  79. package/lib/browser/notebook-renderer-registry.js +72 -0
  80. package/lib/browser/notebook-renderer-registry.js.map +1 -0
  81. package/lib/browser/notebook-type-registry.d.ts +12 -0
  82. package/lib/browser/notebook-type-registry.d.ts.map +1 -0
  83. package/lib/browser/notebook-type-registry.js +60 -0
  84. package/lib/browser/notebook-type-registry.js.map +1 -0
  85. package/lib/browser/notebook-types.d.ts +131 -0
  86. package/lib/browser/notebook-types.d.ts.map +1 -0
  87. package/lib/browser/notebook-types.js +28 -0
  88. package/lib/browser/notebook-types.js.map +1 -0
  89. package/lib/browser/renderers/cell-output-webview.d.ts +26 -0
  90. package/lib/browser/renderers/cell-output-webview.d.ts.map +1 -0
  91. package/lib/browser/renderers/cell-output-webview.js +21 -0
  92. package/lib/browser/renderers/cell-output-webview.js.map +1 -0
  93. package/lib/browser/service/notebook-cell-editor-service.d.ts +23 -0
  94. package/lib/browser/service/notebook-cell-editor-service.d.ts.map +1 -0
  95. package/lib/browser/service/notebook-cell-editor-service.js +89 -0
  96. package/lib/browser/service/notebook-cell-editor-service.js.map +1 -0
  97. package/lib/browser/service/notebook-cell-status-bar-service.d.ts +39 -0
  98. package/lib/browser/service/notebook-cell-status-bar-service.d.ts.map +1 -0
  99. package/lib/browser/service/notebook-cell-status-bar-service.js +69 -0
  100. package/lib/browser/service/notebook-cell-status-bar-service.js.map +1 -0
  101. package/lib/browser/service/notebook-clipboard-service.d.ts +10 -0
  102. package/lib/browser/service/notebook-clipboard-service.d.ts.map +1 -0
  103. package/lib/browser/service/notebook-clipboard-service.js +42 -0
  104. package/lib/browser/service/notebook-clipboard-service.js.map +1 -0
  105. package/lib/browser/service/notebook-context-manager.d.ts +28 -0
  106. package/lib/browser/service/notebook-context-manager.d.ts.map +1 -0
  107. package/lib/browser/service/notebook-context-manager.js +135 -0
  108. package/lib/browser/service/notebook-context-manager.js.map +1 -0
  109. package/lib/browser/service/notebook-editor-widget-service.d.ts +27 -0
  110. package/lib/browser/service/notebook-editor-widget-service.d.ts.map +1 -0
  111. package/lib/browser/service/notebook-editor-widget-service.js +124 -0
  112. package/lib/browser/service/notebook-editor-widget-service.js.map +1 -0
  113. package/lib/browser/service/notebook-execution-service.d.ts +25 -0
  114. package/lib/browser/service/notebook-execution-service.d.ts.map +1 -0
  115. package/lib/browser/service/notebook-execution-service.js +150 -0
  116. package/lib/browser/service/notebook-execution-service.js.map +1 -0
  117. package/lib/browser/service/notebook-execution-state-service.d.ts +78 -0
  118. package/lib/browser/service/notebook-execution-state-service.d.ts.map +1 -0
  119. package/lib/browser/service/notebook-execution-state-service.js +247 -0
  120. package/lib/browser/service/notebook-execution-state-service.js.map +1 -0
  121. package/lib/browser/service/notebook-kernel-history-service.d.ts +28 -0
  122. package/lib/browser/service/notebook-kernel-history-service.d.ts.map +1 -0
  123. package/lib/browser/service/notebook-kernel-history-service.js +116 -0
  124. package/lib/browser/service/notebook-kernel-history-service.js.map +1 -0
  125. package/lib/browser/service/notebook-kernel-quick-pick-service.d.ts +61 -0
  126. package/lib/browser/service/notebook-kernel-quick-pick-service.d.ts.map +1 -0
  127. package/lib/browser/service/notebook-kernel-quick-pick-service.js +425 -0
  128. package/lib/browser/service/notebook-kernel-quick-pick-service.js.map +1 -0
  129. package/lib/browser/service/notebook-kernel-service.d.ts +125 -0
  130. package/lib/browser/service/notebook-kernel-service.d.ts.map +1 -0
  131. package/lib/browser/service/notebook-kernel-service.js +268 -0
  132. package/lib/browser/service/notebook-kernel-service.js.map +1 -0
  133. package/lib/browser/service/notebook-model-resolver-service.d.ts +28 -0
  134. package/lib/browser/service/notebook-model-resolver-service.d.ts.map +1 -0
  135. package/lib/browser/service/notebook-model-resolver-service.js +157 -0
  136. package/lib/browser/service/notebook-model-resolver-service.js.map +1 -0
  137. package/lib/browser/service/notebook-monaco-text-model-service.d.ts +21 -0
  138. package/lib/browser/service/notebook-monaco-text-model-service.d.ts.map +1 -0
  139. package/lib/browser/service/notebook-monaco-text-model-service.js +73 -0
  140. package/lib/browser/service/notebook-monaco-text-model-service.js.map +1 -0
  141. package/lib/browser/service/notebook-options.d.ts +30 -0
  142. package/lib/browser/service/notebook-options.d.ts.map +1 -0
  143. package/lib/browser/service/notebook-options.js +130 -0
  144. package/lib/browser/service/notebook-options.js.map +1 -0
  145. package/lib/browser/service/notebook-renderer-messaging-service.d.ts +35 -0
  146. package/lib/browser/service/notebook-renderer-messaging-service.d.ts.map +1 -0
  147. package/lib/browser/service/notebook-renderer-messaging-service.js +100 -0
  148. package/lib/browser/service/notebook-renderer-messaging-service.js.map +1 -0
  149. package/lib/browser/service/notebook-service.d.ts +68 -0
  150. package/lib/browser/service/notebook-service.d.ts.map +1 -0
  151. package/lib/browser/service/notebook-service.js +184 -0
  152. package/lib/browser/service/notebook-service.js.map +1 -0
  153. package/lib/browser/view/notebook-cell-editor.d.ts +46 -0
  154. package/lib/browser/view/notebook-cell-editor.d.ts.map +1 -0
  155. package/lib/browser/view/notebook-cell-editor.js +271 -0
  156. package/lib/browser/view/notebook-cell-editor.js.map +1 -0
  157. package/lib/browser/view/notebook-cell-list-view.d.ts +58 -0
  158. package/lib/browser/view/notebook-cell-list-view.d.ts.map +1 -0
  159. package/lib/browser/view/notebook-cell-list-view.js +225 -0
  160. package/lib/browser/view/notebook-cell-list-view.js.map +1 -0
  161. package/lib/browser/view/notebook-cell-toolbar-factory.d.ts +33 -0
  162. package/lib/browser/view/notebook-cell-toolbar-factory.d.ts.map +1 -0
  163. package/lib/browser/view/notebook-cell-toolbar-factory.js +110 -0
  164. package/lib/browser/view/notebook-cell-toolbar-factory.js.map +1 -0
  165. package/lib/browser/view/notebook-cell-toolbar.d.ts +25 -0
  166. package/lib/browser/view/notebook-cell-toolbar.d.ts.map +1 -0
  167. package/lib/browser/view/notebook-cell-toolbar.js +51 -0
  168. package/lib/browser/view/notebook-cell-toolbar.js.map +1 -0
  169. package/lib/browser/view/notebook-code-cell-view.d.ts +93 -0
  170. package/lib/browser/view/notebook-code-cell-view.d.ts.map +1 -0
  171. package/lib/browser/view/notebook-code-cell-view.js +338 -0
  172. package/lib/browser/view/notebook-code-cell-view.js.map +1 -0
  173. package/lib/browser/view/notebook-find-widget.d.ts +63 -0
  174. package/lib/browser/view/notebook-find-widget.d.ts.map +1 -0
  175. package/lib/browser/view/notebook-find-widget.js +225 -0
  176. package/lib/browser/view/notebook-find-widget.js.map +1 -0
  177. package/lib/browser/view/notebook-main-toolbar.d.ts +53 -0
  178. package/lib/browser/view/notebook-main-toolbar.d.ts.map +1 -0
  179. package/lib/browser/view/notebook-main-toolbar.js +184 -0
  180. package/lib/browser/view/notebook-main-toolbar.js.map +1 -0
  181. package/lib/browser/view/notebook-markdown-cell-view.d.ts +28 -0
  182. package/lib/browser/view/notebook-markdown-cell-view.d.ts.map +1 -0
  183. package/lib/browser/view/notebook-markdown-cell-view.js +216 -0
  184. package/lib/browser/view/notebook-markdown-cell-view.js.map +1 -0
  185. package/lib/browser/view/notebook-viewport-service.d.ts +17 -0
  186. package/lib/browser/view/notebook-viewport-service.d.ts.map +1 -0
  187. package/lib/browser/view/notebook-viewport-service.js +61 -0
  188. package/lib/browser/view/notebook-viewport-service.js.map +1 -0
  189. package/lib/browser/view-model/notebook-cell-model.d.ts +137 -0
  190. package/lib/browser/view-model/notebook-cell-model.d.ts.map +1 -0
  191. package/lib/browser/view-model/notebook-cell-model.js +367 -0
  192. package/lib/browser/view-model/notebook-cell-model.js.map +1 -0
  193. package/lib/browser/view-model/notebook-cell-output-model.d.ts +17 -0
  194. package/lib/browser/view-model/notebook-cell-output-model.d.ts.map +1 -0
  195. package/lib/browser/view-model/notebook-cell-output-model.js +87 -0
  196. package/lib/browser/view-model/notebook-cell-output-model.js.map +1 -0
  197. package/lib/browser/view-model/notebook-model.d.ts +85 -0
  198. package/lib/browser/view-model/notebook-model.d.ts.map +1 -0
  199. package/lib/browser/view-model/notebook-model.js +446 -0
  200. package/lib/browser/view-model/notebook-model.js.map +1 -0
  201. package/lib/browser/view-model/notebook-view-model.d.ts +40 -0
  202. package/lib/browser/view-model/notebook-view-model.d.ts.map +1 -0
  203. package/lib/browser/view-model/notebook-view-model.js +120 -0
  204. package/lib/browser/view-model/notebook-view-model.js.map +1 -0
  205. package/lib/common/index.d.ts +3 -0
  206. package/lib/common/index.d.ts.map +1 -0
  207. package/lib/common/index.js +21 -0
  208. package/lib/common/index.js.map +1 -0
  209. package/lib/common/notebook-common.d.ts +227 -0
  210. package/lib/common/notebook-common.d.ts.map +1 -0
  211. package/lib/common/notebook-common.js +151 -0
  212. package/lib/common/notebook-common.js.map +1 -0
  213. package/lib/common/notebook-preferences.d.ts +15 -0
  214. package/lib/common/notebook-preferences.d.ts.map +1 -0
  215. package/lib/common/notebook-preferences.js +89 -0
  216. package/lib/common/notebook-preferences.js.map +1 -0
  217. package/lib/common/notebook-protocol.d.ts +21 -0
  218. package/lib/common/notebook-protocol.d.ts.map +1 -0
  219. package/lib/common/notebook-protocol.js +18 -0
  220. package/lib/common/notebook-protocol.js.map +1 -0
  221. package/lib/common/notebook-range.d.ts +14 -0
  222. package/lib/common/notebook-range.d.ts.map +1 -0
  223. package/lib/common/notebook-range.js +18 -0
  224. package/lib/common/notebook-range.js.map +1 -0
  225. package/lib/node/notebook-backend-module.d.ts +4 -0
  226. package/lib/node/notebook-backend-module.d.ts.map +1 -0
  227. package/lib/node/notebook-backend-module.js +23 -0
  228. package/lib/node/notebook-backend-module.js.map +1 -0
  229. package/package.json +7 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-find-widget.js","sourceRoot":"","sources":["../../../src/browser/view/notebook-find-widget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /// <reference types="react" />
2
+ import { CommandMenu, CommandRegistry, DisposableCollection, MenuModelRegistry, MenuNode, MenuPath } from '@theia/core';
3
+ import * as React from '@theia/core/shared/react';
4
+ import { ContextMenuRenderer } from '@theia/core/lib/browser';
5
+ import { NotebookModel } from '../view-model/notebook-model';
6
+ import { NotebookKernelService } from '../service/notebook-kernel-service';
7
+ import { ContextKeyService } from '@theia/core/lib/browser/context-key-service';
8
+ import { NotebookContextManager } from '../service/notebook-context-manager';
9
+ export interface NotebookMainToolbarProps {
10
+ notebookModel: NotebookModel;
11
+ menuRegistry: MenuModelRegistry;
12
+ notebookKernelService: NotebookKernelService;
13
+ commandRegistry: CommandRegistry;
14
+ contextKeyService: ContextKeyService;
15
+ editorNode: HTMLElement;
16
+ notebookContextManager: NotebookContextManager;
17
+ contextMenuRenderer: ContextMenuRenderer;
18
+ }
19
+ export declare class NotebookMainToolbarRenderer {
20
+ protected readonly notebookKernelService: NotebookKernelService;
21
+ protected readonly commandRegistry: CommandRegistry;
22
+ protected readonly menuRegistry: MenuModelRegistry;
23
+ protected readonly contextKeyService: ContextKeyService;
24
+ protected readonly notebookContextManager: NotebookContextManager;
25
+ protected readonly contextMenuRenderer: ContextMenuRenderer;
26
+ render(notebookModel: NotebookModel, editorNode: HTMLElement): React.ReactNode;
27
+ }
28
+ interface NotebookMainToolbarState {
29
+ selectedKernelLabel?: string;
30
+ numberOfHiddenItems: number;
31
+ }
32
+ export declare class NotebookMainToolbar extends React.Component<NotebookMainToolbarProps, NotebookMainToolbarState> {
33
+ static readonly MIN_FREE_AREA = 10;
34
+ protected toDispose: DisposableCollection;
35
+ protected nativeSubmenus: string[];
36
+ protected gapElement: HTMLDivElement | undefined;
37
+ protected lastGapElementWidth: number;
38
+ protected resizeObserver: ResizeObserver;
39
+ constructor(props: NotebookMainToolbarProps);
40
+ componentWillUnmount(): void;
41
+ componentDidUpdate(): void;
42
+ componentDidMount(): void;
43
+ protected calculateItemsToHide(): void;
44
+ protected renderContextMenu(event: MouseEvent, menuItems: readonly MenuNode[]): void;
45
+ render(): React.ReactNode;
46
+ protected gapElementChanged(element: HTMLDivElement | null): void;
47
+ protected renderMenuItem<T>(itemPath: MenuPath, item: MenuNode, submenu?: string): React.ReactNode;
48
+ protected getMenuItems(): readonly MenuNode[];
49
+ protected getAdditionalClasses(itemPath: MenuPath, item: CommandMenu): string;
50
+ protected calculateNumberOfHiddenItems(allMenuItems: readonly MenuNode[]): number;
51
+ }
52
+ export {};
53
+ //# sourceMappingURL=notebook-main-toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-main-toolbar.d.ts","sourceRoot":"","sources":["../../../src/browser/view/notebook-main-toolbar.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAc,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAoB,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAO,MAAM,aAAa,CAAC;AAC3J,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAW,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,MAAM,WAAW,wBAAwB;IACrC,aAAa,EAAE,aAAa,CAAA;IAC5B,YAAY,EAAE,iBAAiB,CAAC;IAChC,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,eAAe,EAAE,eAAe,CAAC;IACjC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,UAAU,EAAE,WAAW,CAAC;IACxB,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,mBAAmB,EAAE,mBAAmB,CAAC;CAC5C;AAED,qBACa,2BAA2B;IACL,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IACtE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAClD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACnD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACnD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IACrE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAEzF,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,GAAG,KAAK,CAAC,SAAS;CAUjF;AAED,UAAU,wBAAwB;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,mBAAoB,SAAQ,KAAK,CAAC,SAAS,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAGxG,MAAM,CAAC,QAAQ,CAAC,aAAa,MAAM;IAEnC,SAAS,CAAC,SAAS,uBAA8B;IAEjD,SAAS,CAAC,cAAc,WAEiG;IAEzH,SAAS,CAAC,UAAU,EAAE,cAAc,GAAG,SAAS,CAAC;IACjD,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAK;IAE1C,SAAS,CAAC,cAAc,EAAE,cAAc,CAAyD;gBAErF,KAAK,EAAE,wBAAwB;IA4BlC,oBAAoB,IAAI,IAAI;IAI5B,kBAAkB,IAAI,IAAI;IAI1B,iBAAiB,IAAI,IAAI;IAIlC,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAWtC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,QAAQ,EAAE,GAAG,IAAI;IAiB3E,MAAM,IAAI,KAAK,CAAC,SAAS;IAmBlC,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI;IAWjE,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS;IAmBlG,SAAS,CAAC,YAAY,IAAI,SAAS,QAAQ,EAAE;IAI7C,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM;IAI7E,SAAS,CAAC,4BAA4B,CAAC,YAAY,EAAE,SAAS,QAAQ,EAAE,GAAG,MAAM;CAKpF"}
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NotebookMainToolbar = exports.NotebookMainToolbarRenderer = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // *****************************************************************************
6
+ // Copyright (C) 2023 TypeFox and others.
7
+ //
8
+ // This program and the accompanying materials are made available under the
9
+ // terms of the Eclipse Public License v. 2.0 which is available at
10
+ // http://www.eclipse.org/legal/epl-2.0.
11
+ //
12
+ // This Source Code may also be made available under the following Secondary
13
+ // Licenses when the conditions for such availability set forth in the Eclipse
14
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
15
+ // with the GNU Classpath Exception which is available at
16
+ // https://www.gnu.org/software/classpath/license.html.
17
+ //
18
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
19
+ // *****************************************************************************
20
+ const core_1 = require("@theia/core");
21
+ const React = require("@theia/core/shared/react");
22
+ const browser_1 = require("@theia/core/lib/browser");
23
+ const notebook_actions_contribution_1 = require("../contributions/notebook-actions-contribution");
24
+ const notebook_kernel_service_1 = require("../service/notebook-kernel-service");
25
+ const inversify_1 = require("@theia/core/shared/inversify");
26
+ const context_key_service_1 = require("@theia/core/lib/browser/context-key-service");
27
+ const notebook_context_manager_1 = require("../service/notebook-context-manager");
28
+ let NotebookMainToolbarRenderer = class NotebookMainToolbarRenderer {
29
+ render(notebookModel, editorNode) {
30
+ return React.createElement(NotebookMainToolbar, { notebookModel: notebookModel, menuRegistry: this.menuRegistry, notebookKernelService: this.notebookKernelService, commandRegistry: this.commandRegistry, contextKeyService: this.contextKeyService, editorNode: editorNode, notebookContextManager: this.notebookContextManager, contextMenuRenderer: this.contextMenuRenderer });
31
+ }
32
+ };
33
+ exports.NotebookMainToolbarRenderer = NotebookMainToolbarRenderer;
34
+ tslib_1.__decorate([
35
+ (0, inversify_1.inject)(notebook_kernel_service_1.NotebookKernelService),
36
+ tslib_1.__metadata("design:type", notebook_kernel_service_1.NotebookKernelService)
37
+ ], NotebookMainToolbarRenderer.prototype, "notebookKernelService", void 0);
38
+ tslib_1.__decorate([
39
+ (0, inversify_1.inject)(core_1.CommandRegistry),
40
+ tslib_1.__metadata("design:type", core_1.CommandRegistry)
41
+ ], NotebookMainToolbarRenderer.prototype, "commandRegistry", void 0);
42
+ tslib_1.__decorate([
43
+ (0, inversify_1.inject)(core_1.MenuModelRegistry),
44
+ tslib_1.__metadata("design:type", core_1.MenuModelRegistry)
45
+ ], NotebookMainToolbarRenderer.prototype, "menuRegistry", void 0);
46
+ tslib_1.__decorate([
47
+ (0, inversify_1.inject)(context_key_service_1.ContextKeyService),
48
+ tslib_1.__metadata("design:type", Object)
49
+ ], NotebookMainToolbarRenderer.prototype, "contextKeyService", void 0);
50
+ tslib_1.__decorate([
51
+ (0, inversify_1.inject)(notebook_context_manager_1.NotebookContextManager),
52
+ tslib_1.__metadata("design:type", notebook_context_manager_1.NotebookContextManager)
53
+ ], NotebookMainToolbarRenderer.prototype, "notebookContextManager", void 0);
54
+ tslib_1.__decorate([
55
+ (0, inversify_1.inject)(browser_1.ContextMenuRenderer),
56
+ tslib_1.__metadata("design:type", browser_1.ContextMenuRenderer)
57
+ ], NotebookMainToolbarRenderer.prototype, "contextMenuRenderer", void 0);
58
+ exports.NotebookMainToolbarRenderer = NotebookMainToolbarRenderer = tslib_1.__decorate([
59
+ (0, inversify_1.injectable)()
60
+ ], NotebookMainToolbarRenderer);
61
+ class NotebookMainToolbar extends React.Component {
62
+ constructor(props) {
63
+ var _a;
64
+ super(props);
65
+ this.toDispose = new core_1.DisposableCollection();
66
+ this.nativeSubmenus = [
67
+ notebook_actions_contribution_1.NotebookMenus.NOTEBOOK_MAIN_TOOLBAR_CELL_ADD_GROUP[notebook_actions_contribution_1.NotebookMenus.NOTEBOOK_MAIN_TOOLBAR_CELL_ADD_GROUP.length - 1],
68
+ notebook_actions_contribution_1.NotebookMenus.NOTEBOOK_MAIN_TOOLBAR_EXECUTION_GROUP[notebook_actions_contribution_1.NotebookMenus.NOTEBOOK_MAIN_TOOLBAR_EXECUTION_GROUP.length - 1]
69
+ ];
70
+ this.lastGapElementWidth = 0;
71
+ this.resizeObserver = new ResizeObserver(() => this.calculateItemsToHide());
72
+ this.state = {
73
+ selectedKernelLabel: (_a = props.notebookKernelService.getSelectedOrSuggestedKernel(props.notebookModel)) === null || _a === void 0 ? void 0 : _a.label,
74
+ numberOfHiddenItems: 0,
75
+ };
76
+ this.toDispose.push(props.notebookKernelService.onDidChangeSelectedKernel(event => {
77
+ var _a, _b;
78
+ if (props.notebookModel.uri.isEqual(event.notebook)) {
79
+ this.setState({ selectedKernelLabel: (_b = props.notebookKernelService.getKernel((_a = event.newKernel) !== null && _a !== void 0 ? _a : '')) === null || _b === void 0 ? void 0 : _b.label });
80
+ }
81
+ }));
82
+ // in case the selected kernel is added after the notebook is loaded
83
+ this.toDispose.push(props.notebookKernelService.onDidAddKernel(() => {
84
+ var _a;
85
+ if (!this.state.selectedKernelLabel) {
86
+ this.setState({ selectedKernelLabel: (_a = props.notebookKernelService.getSelectedOrSuggestedKernel(props.notebookModel)) === null || _a === void 0 ? void 0 : _a.label });
87
+ }
88
+ }));
89
+ // TODO maybe we need a mechanism to check for changes in the menu to update this toolbar
90
+ const menuItems = this.getMenuItems();
91
+ for (const item of menuItems) {
92
+ if (item.onDidChange) {
93
+ item.onDidChange(() => this.forceUpdate());
94
+ }
95
+ }
96
+ }
97
+ componentWillUnmount() {
98
+ this.toDispose.dispose();
99
+ }
100
+ componentDidUpdate() {
101
+ this.calculateItemsToHide();
102
+ }
103
+ componentDidMount() {
104
+ this.calculateItemsToHide();
105
+ }
106
+ calculateItemsToHide() {
107
+ const numberOfMenuItems = this.getMenuItems().length;
108
+ if (this.gapElement && this.gapElement.getBoundingClientRect().width < NotebookMainToolbar.MIN_FREE_AREA && this.state.numberOfHiddenItems < numberOfMenuItems) {
109
+ this.setState({ ...this.state, numberOfHiddenItems: this.state.numberOfHiddenItems + 1 });
110
+ this.lastGapElementWidth = this.gapElement.getBoundingClientRect().width;
111
+ }
112
+ else if (this.gapElement && this.gapElement.getBoundingClientRect().width > this.lastGapElementWidth && this.state.numberOfHiddenItems > 0) {
113
+ this.setState({ ...this.state, numberOfHiddenItems: 0 });
114
+ this.lastGapElementWidth = this.gapElement.getBoundingClientRect().width;
115
+ }
116
+ }
117
+ renderContextMenu(event, menuItems) {
118
+ const hiddenItems = menuItems.slice(menuItems.length - this.calculateNumberOfHiddenItems(menuItems));
119
+ const menu = new core_1.GroupImpl(notebook_actions_contribution_1.NotebookMenus.NOTEBOOK_MAIN_TOOLBAR_HIDDEN_ITEMS_CONTEXT_MENU[0]);
120
+ hiddenItems.forEach(item => menu.addNode(item));
121
+ this.props.contextMenuRenderer.render({
122
+ anchor: event,
123
+ menuPath: notebook_actions_contribution_1.NotebookMenus.NOTEBOOK_MAIN_TOOLBAR_HIDDEN_ITEMS_CONTEXT_MENU,
124
+ menu: menu,
125
+ contextKeyService: this.props.contextKeyService,
126
+ context: this.props.editorNode,
127
+ args: [this.props.notebookModel.uri]
128
+ });
129
+ }
130
+ render() {
131
+ var _a;
132
+ const menuItems = this.getMenuItems();
133
+ return React.createElement("div", { className: 'theia-notebook-main-toolbar', id: 'notebook-main-toolbar' },
134
+ menuItems.slice(0, menuItems.length - this.calculateNumberOfHiddenItems(menuItems)).map(item => this.renderMenuItem(notebook_actions_contribution_1.NotebookMenus.NOTEBOOK_MAIN_TOOLBAR, item)),
135
+ this.state.numberOfHiddenItems > 0 &&
136
+ React.createElement("span", { className: `${(0, browser_1.codicon)('ellipsis')} action-label theia-notebook-main-toolbar-item`, onClick: e => this.renderContextMenu(e.nativeEvent, menuItems) }),
137
+ React.createElement("div", { ref: element => this.gapElementChanged(element), style: { flexGrow: 1 } }),
138
+ React.createElement("div", { className: 'theia-notebook-main-toolbar-item action-label', id: notebook_actions_contribution_1.NotebookCommands.SELECT_KERNEL_COMMAND.id, onClick: () => this.props.commandRegistry.executeCommand(notebook_actions_contribution_1.NotebookCommands.SELECT_KERNEL_COMMAND.id, this.props.notebookModel) },
139
+ React.createElement("span", { className: (0, browser_1.codicon)('server-environment') }),
140
+ React.createElement("span", { className: ' theia-notebook-main-toolbar-item-text', id: 'kernel-text' }, (_a = this.state.selectedKernelLabel) !== null && _a !== void 0 ? _a : core_1.nls.localizeByDefault('Select Kernel'))));
141
+ }
142
+ gapElementChanged(element) {
143
+ if (this.gapElement) {
144
+ this.resizeObserver.unobserve(this.gapElement);
145
+ }
146
+ this.gapElement = element !== null && element !== void 0 ? element : undefined;
147
+ if (this.gapElement) {
148
+ this.lastGapElementWidth = this.gapElement.getBoundingClientRect().width;
149
+ this.resizeObserver.observe(this.gapElement);
150
+ }
151
+ }
152
+ renderMenuItem(itemPath, item, submenu) {
153
+ var _a, _b;
154
+ if (core_1.Group.is(item)) {
155
+ const itemNodes = core_1.ArrayUtils.coalesce((_b = (_a = item.children) === null || _a === void 0 ? void 0 : _a.map(child => this.renderMenuItem([...itemPath, child.id], child, item.id))) !== null && _b !== void 0 ? _b : []);
156
+ return React.createElement(React.Fragment, { key: item.id },
157
+ itemNodes,
158
+ itemNodes && itemNodes.length > 0 && React.createElement("span", { key: `${item.id}-separator`, className: 'theia-notebook-toolbar-separator' }));
159
+ }
160
+ else if (core_1.CommandMenu.is(item) && ((this.nativeSubmenus.includes(submenu !== null && submenu !== void 0 ? submenu : '')) || item.isVisible(itemPath, this.props.contextKeyService, this.props.editorNode))) {
161
+ return React.createElement("div", { key: item.id, id: item.id, title: item.label, className: `theia-notebook-main-toolbar-item action-label${this.getAdditionalClasses(itemPath, item)}`, onClick: () => {
162
+ item.run(itemPath, this.props.notebookModel.uri);
163
+ } },
164
+ React.createElement("span", { className: item.icon }),
165
+ React.createElement("span", { className: 'theia-notebook-main-toolbar-item-text' }, item.label));
166
+ }
167
+ return undefined;
168
+ }
169
+ getMenuItems() {
170
+ return this.props.menuRegistry.getMenu(notebook_actions_contribution_1.NotebookMenus.NOTEBOOK_MAIN_TOOLBAR).children; // we contribute to this menu, so it exists
171
+ }
172
+ getAdditionalClasses(itemPath, item) {
173
+ return item.isEnabled(itemPath, this.props.editorNode) ? '' : ' theia-mod-disabled';
174
+ }
175
+ calculateNumberOfHiddenItems(allMenuItems) {
176
+ return this.state.numberOfHiddenItems >= allMenuItems.length ?
177
+ allMenuItems.length :
178
+ this.state.numberOfHiddenItems % allMenuItems.length;
179
+ }
180
+ }
181
+ exports.NotebookMainToolbar = NotebookMainToolbar;
182
+ // The minimum area between items and kernel select before hiding items in a context menu
183
+ NotebookMainToolbar.MIN_FREE_AREA = 10;
184
+ //# sourceMappingURL=notebook-main-toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-main-toolbar.js","sourceRoot":"","sources":["../../../src/browser/view/notebook-main-toolbar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /// <reference types="react" />
2
+ import * as React from '@theia/core/shared/react';
3
+ import { NotebookModel } from '../view-model/notebook-model';
4
+ import { CellRenderer } from './notebook-cell-list-view';
5
+ import { NotebookCellModel } from '../view-model/notebook-cell-model';
6
+ import { MonacoEditorServices } from '@theia/monaco/lib/browser/monaco-editor';
7
+ import { CommandRegistry } from '@theia/core';
8
+ import { NotebookContextManager } from '../service/notebook-context-manager';
9
+ import { NotebookOptionsService } from '../service/notebook-options';
10
+ import { NotebookCellEditorService } from '../service/notebook-cell-editor-service';
11
+ import { NotebookCellStatusBarService } from '../service/notebook-cell-status-bar-service';
12
+ import { LabelParser } from '@theia/core/lib/browser/label-parser';
13
+ import { NotebookViewModel } from '../view-model/notebook-view-model';
14
+ export declare class NotebookMarkdownCellRenderer implements CellRenderer {
15
+ private readonly markdownRenderer;
16
+ protected readonly monacoServices: MonacoEditorServices;
17
+ protected readonly notebookContextManager: NotebookContextManager;
18
+ protected readonly commandRegistry: CommandRegistry;
19
+ protected readonly notebookOptionsService: NotebookOptionsService;
20
+ protected readonly notebookCellEditorService: NotebookCellEditorService;
21
+ protected readonly notebookCellStatusBarService: NotebookCellStatusBarService;
22
+ protected readonly labelParser: LabelParser;
23
+ protected readonly notebookViewModel: NotebookViewModel;
24
+ render(notebookModel: NotebookModel, cell: NotebookCellModel): React.ReactNode;
25
+ renderSidebar(notebookModel: NotebookModel, cell: NotebookCellModel): React.ReactNode;
26
+ renderDragImage(cell: NotebookCellModel): HTMLElement;
27
+ }
28
+ //# sourceMappingURL=notebook-markdown-cell-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-markdown-cell-view.d.ts","sourceRoot":"","sources":["../../../src/browser/view/notebook-markdown-cell-view.tsx"],"names":[],"mappings":";AAgBA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAqB,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAO,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAIrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,qBACa,4BAA6B,YAAW,YAAY;IAG7D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAEpD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;IAGxE,SAAS,CAAC,QAAQ,CAAC,4BAA4B,EAAE,4BAA4B,CAAC;IAG9E,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAG5C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,GAAG,KAAK,CAAC,SAAS;IAgB9E,aAAa,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,GAAG,KAAK,CAAC,SAAS;IAIrF,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,WAAW;CAQxD"}
@@ -0,0 +1,216 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2023 TypeFox and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.NotebookMarkdownCellRenderer = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const React = require("@theia/core/shared/react");
21
+ const markdown_renderer_1 = require("@theia/core/lib/browser/markdown-rendering/markdown-renderer");
22
+ const markdown_string_1 = require("@theia/core/lib/common/markdown-rendering/markdown-string");
23
+ const notebook_cell_list_view_1 = require("./notebook-cell-list-view");
24
+ const notebook_cell_editor_1 = require("./notebook-cell-editor");
25
+ const inversify_1 = require("@theia/core/shared/inversify");
26
+ const monaco_editor_1 = require("@theia/monaco/lib/browser/monaco-editor");
27
+ const core_1 = require("@theia/core");
28
+ const notebook_context_manager_1 = require("../service/notebook-context-manager");
29
+ const notebook_options_1 = require("../service/notebook-options");
30
+ const notebook_code_cell_view_1 = require("./notebook-code-cell-view");
31
+ const mark = require("advanced-mark.js");
32
+ const notebook_cell_editor_service_1 = require("../service/notebook-cell-editor-service");
33
+ const notebook_cell_status_bar_service_1 = require("../service/notebook-cell-status-bar-service");
34
+ const label_parser_1 = require("@theia/core/lib/browser/label-parser");
35
+ const notebook_view_model_1 = require("../view-model/notebook-view-model");
36
+ let NotebookMarkdownCellRenderer = class NotebookMarkdownCellRenderer {
37
+ render(notebookModel, cell) {
38
+ return React.createElement(MarkdownCell, { markdownRenderer: this.markdownRenderer, commandRegistry: this.commandRegistry, monacoServices: this.monacoServices, notebookOptionsService: this.notebookOptionsService, cell: cell, notebookModel: notebookModel, notebookViewModel: this.notebookViewModel, notebookContextManager: this.notebookContextManager, notebookCellEditorService: this.notebookCellEditorService, notebookCellStatusBarService: this.notebookCellStatusBarService, labelParser: this.labelParser });
39
+ }
40
+ renderSidebar(notebookModel, cell) {
41
+ return React.createElement("div", { className: 'theia-notebook-markdown-sidebar' });
42
+ }
43
+ renderDragImage(cell) {
44
+ var _a;
45
+ const dragImage = document.createElement('div');
46
+ dragImage.style.width = ((_a = this.notebookContextManager.context) === null || _a === void 0 ? void 0 : _a.clientWidth) + 'px';
47
+ const markdownString = new markdown_string_1.MarkdownStringImpl(cell.source, { supportHtml: true, isTrusted: true });
48
+ const markdownElement = this.markdownRenderer.render(markdownString).element;
49
+ dragImage.appendChild(markdownElement);
50
+ return dragImage;
51
+ }
52
+ };
53
+ exports.NotebookMarkdownCellRenderer = NotebookMarkdownCellRenderer;
54
+ tslib_1.__decorate([
55
+ (0, inversify_1.inject)(markdown_renderer_1.MarkdownRenderer),
56
+ tslib_1.__metadata("design:type", Object)
57
+ ], NotebookMarkdownCellRenderer.prototype, "markdownRenderer", void 0);
58
+ tslib_1.__decorate([
59
+ (0, inversify_1.inject)(monaco_editor_1.MonacoEditorServices),
60
+ tslib_1.__metadata("design:type", monaco_editor_1.MonacoEditorServices)
61
+ ], NotebookMarkdownCellRenderer.prototype, "monacoServices", void 0);
62
+ tslib_1.__decorate([
63
+ (0, inversify_1.inject)(notebook_context_manager_1.NotebookContextManager),
64
+ tslib_1.__metadata("design:type", notebook_context_manager_1.NotebookContextManager)
65
+ ], NotebookMarkdownCellRenderer.prototype, "notebookContextManager", void 0);
66
+ tslib_1.__decorate([
67
+ (0, inversify_1.inject)(core_1.CommandRegistry),
68
+ tslib_1.__metadata("design:type", core_1.CommandRegistry)
69
+ ], NotebookMarkdownCellRenderer.prototype, "commandRegistry", void 0);
70
+ tslib_1.__decorate([
71
+ (0, inversify_1.inject)(notebook_options_1.NotebookOptionsService),
72
+ tslib_1.__metadata("design:type", notebook_options_1.NotebookOptionsService)
73
+ ], NotebookMarkdownCellRenderer.prototype, "notebookOptionsService", void 0);
74
+ tslib_1.__decorate([
75
+ (0, inversify_1.inject)(notebook_cell_editor_service_1.NotebookCellEditorService),
76
+ tslib_1.__metadata("design:type", notebook_cell_editor_service_1.NotebookCellEditorService)
77
+ ], NotebookMarkdownCellRenderer.prototype, "notebookCellEditorService", void 0);
78
+ tslib_1.__decorate([
79
+ (0, inversify_1.inject)(notebook_cell_status_bar_service_1.NotebookCellStatusBarService),
80
+ tslib_1.__metadata("design:type", notebook_cell_status_bar_service_1.NotebookCellStatusBarService)
81
+ ], NotebookMarkdownCellRenderer.prototype, "notebookCellStatusBarService", void 0);
82
+ tslib_1.__decorate([
83
+ (0, inversify_1.inject)(label_parser_1.LabelParser),
84
+ tslib_1.__metadata("design:type", label_parser_1.LabelParser)
85
+ ], NotebookMarkdownCellRenderer.prototype, "labelParser", void 0);
86
+ tslib_1.__decorate([
87
+ (0, inversify_1.inject)(notebook_view_model_1.NotebookViewModel),
88
+ tslib_1.__metadata("design:type", notebook_view_model_1.NotebookViewModel)
89
+ ], NotebookMarkdownCellRenderer.prototype, "notebookViewModel", void 0);
90
+ exports.NotebookMarkdownCellRenderer = NotebookMarkdownCellRenderer = tslib_1.__decorate([
91
+ (0, inversify_1.injectable)()
92
+ ], NotebookMarkdownCellRenderer);
93
+ function MarkdownCell({ markdownRenderer, monacoServices, cell, notebookModel, notebookViewModel, notebookContextManager, notebookOptionsService, commandRegistry, notebookCellEditorService, notebookCellStatusBarService, labelParser }) {
94
+ var _a;
95
+ const [editMode, setEditMode] = React.useState(((_a = notebookViewModel.cellViewModels.get(cell.handle)) === null || _a === void 0 ? void 0 : _a.editing) || false);
96
+ const [, forceUpdate] = React.useReducer(x => x + 1, 0);
97
+ let empty = false;
98
+ React.useEffect(() => {
99
+ if (!editMode) {
100
+ const listener = cell.onDidChangeContent(type => {
101
+ if (type === 'content') {
102
+ forceUpdate();
103
+ }
104
+ });
105
+ return () => listener.dispose();
106
+ }
107
+ }, [editMode, cell]);
108
+ React.useEffect(() => {
109
+ const cellViewModel = notebookViewModel.cellViewModels.get(cell.handle);
110
+ const listener = cellViewModel === null || cellViewModel === void 0 ? void 0 : cellViewModel.onDidRequestCellEditChange(cellEdit => setEditMode(cellEdit));
111
+ return () => listener === null || listener === void 0 ? void 0 : listener.dispose();
112
+ }, [editMode, notebookViewModel, cell]);
113
+ React.useEffect(() => {
114
+ if (!editMode) {
115
+ const instance = new mark(markdownContent);
116
+ cell.onMarkdownFind = options => {
117
+ instance.unmark();
118
+ if (empty) {
119
+ return [];
120
+ }
121
+ return searchInMarkdown(instance, options);
122
+ };
123
+ return () => {
124
+ cell.onMarkdownFind = undefined;
125
+ instance.unmark();
126
+ };
127
+ }
128
+ }, [editMode, cell.source]);
129
+ let markdownContent = React.useMemo(() => {
130
+ const markdownString = new markdown_string_1.MarkdownStringImpl(cell.source, { supportHtml: true, isTrusted: true });
131
+ const rendered = markdownRenderer.render(markdownString).element;
132
+ const children = [];
133
+ rendered.childNodes.forEach(child => {
134
+ if (child instanceof HTMLElement) {
135
+ children.push(child);
136
+ }
137
+ });
138
+ return children;
139
+ }, [cell.source]);
140
+ if (markdownContent.length === 0) {
141
+ const italic = document.createElement('i');
142
+ italic.className = 'theia-notebook-empty-markdown';
143
+ italic.innerText = core_1.nls.localizeByDefault('Empty markdown cell, double-click or press enter to edit.');
144
+ italic.style.pointerEvents = 'none';
145
+ markdownContent = [italic];
146
+ empty = true;
147
+ }
148
+ return editMode ?
149
+ (React.createElement("div", { className: 'theia-notebook-markdown-editor-container', key: "code", ref: ref => (0, notebook_cell_list_view_1.observeCellHeight)(ref, cell) },
150
+ React.createElement(notebook_cell_editor_1.CellEditor, { notebookModel: notebookModel, cell: cell, notebookViewModel: notebookViewModel, monacoServices: monacoServices, notebookContextManager: notebookContextManager, notebookCellEditorService: notebookCellEditorService, fontInfo: notebookOptionsService.editorFontInfo }),
151
+ React.createElement(notebook_code_cell_view_1.NotebookCodeCellStatus, { cell: cell, notebook: notebookModel, commandRegistry: commandRegistry, cellStatusBarService: notebookCellStatusBarService, labelParser: labelParser, onClick: () => { var _a; return (_a = notebookViewModel.cellViewModels.get(cell.handle)) === null || _a === void 0 ? void 0 : _a.requestFocusEditor(); } }))) :
152
+ (React.createElement("div", { className: 'theia-notebook-markdown-content', key: "markdown", onDoubleClick: () => { var _a; return (_a = notebookViewModel.cellViewModels.get(cell.handle)) === null || _a === void 0 ? void 0 : _a.requestEdit(); }, ref: node => {
153
+ node === null || node === void 0 ? void 0 : node.replaceChildren(...markdownContent);
154
+ (0, notebook_cell_list_view_1.observeCellHeight)(node, cell);
155
+ } }));
156
+ }
157
+ function searchInMarkdown(instance, options) {
158
+ const matches = [];
159
+ const markOptions = {
160
+ className: 'theia-find-match',
161
+ diacritics: false,
162
+ caseSensitive: options.matchCase,
163
+ acrossElements: true,
164
+ separateWordSearch: false,
165
+ each: node => {
166
+ matches.push(new MarkdownEditorFindMatch(node));
167
+ }
168
+ };
169
+ if (options.regex || options.wholeWord) {
170
+ let search = options.search;
171
+ if (options.wholeWord) {
172
+ if (!options.regex) {
173
+ search = escapeRegExp(search);
174
+ }
175
+ search = '\\b' + search + '\\b';
176
+ }
177
+ instance.markRegExp(new RegExp(search, options.matchCase ? '' : 'i'), markOptions);
178
+ }
179
+ else {
180
+ instance.mark(options.search, markOptions);
181
+ }
182
+ return matches;
183
+ }
184
+ function escapeRegExp(value) {
185
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
186
+ }
187
+ class MarkdownEditorFindMatch {
188
+ constructor(node) {
189
+ this.node = node;
190
+ this._selected = false;
191
+ }
192
+ get selected() {
193
+ return this._selected;
194
+ }
195
+ set selected(selected) {
196
+ this._selected = selected;
197
+ const className = 'theia-find-match-selected';
198
+ if (this.node instanceof HTMLElement) {
199
+ if (selected) {
200
+ this.node.classList.add(className);
201
+ }
202
+ else {
203
+ this.node.classList.remove(className);
204
+ }
205
+ }
206
+ }
207
+ show() {
208
+ if (this.node instanceof HTMLElement) {
209
+ this.node.scrollIntoView({
210
+ behavior: 'instant',
211
+ block: 'center'
212
+ });
213
+ }
214
+ }
215
+ }
216
+ //# sourceMappingURL=notebook-markdown-cell-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-markdown-cell-view.js","sourceRoot":"","sources":["../../../src/browser/view/notebook-markdown-cell-view.tsx"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,kDAAkD;AAClD,oGAAgG;AAChG,+FAA+F;AAE/F,uEAA4E;AAE5E,iEAAoD;AACpD,4DAAkE;AAClE,2EAA+E;AAC/E,sCAAmD;AACnD,kFAA6E;AAC7E,kEAAqE;AACrE,uEAAmE;AAEnE,yCAAyC;AACzC,0FAAoF;AACpF,kGAA2F;AAC3F,uEAAmE;AACnE,2EAAsE;AAG/D,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IA4BrC,MAAM,CAAC,aAA4B,EAAE,IAAuB;QACxD,OAAO,oBAAC,YAAY,IAChB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EACnD,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EACnD,yBAAyB,EAAE,IAAI,CAAC,yBAAyB,EACzD,4BAA4B,EAAE,IAAI,CAAC,4BAA4B,EAC/D,WAAW,EAAE,IAAI,CAAC,WAAW,GAC/B,CAAC;IACP,CAAC;IAED,aAAa,CAAC,aAA4B,EAAE,IAAuB;QAC/D,OAAO,6BAAK,SAAS,EAAC,iCAAiC,GAAO,CAAC;IACnE,CAAC;IAED,eAAe,CAAC,IAAuB;;QACnC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,CAAA,MAAA,IAAI,CAAC,sBAAsB,CAAC,OAAO,0CAAE,WAAW,IAAG,IAAI,CAAC;QAChF,MAAM,cAAc,GAAG,IAAI,oCAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnG,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;QAC7E,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACvC,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ,CAAA;AAxDY,oEAA4B;AAGpB;IADhB,IAAA,kBAAM,EAAC,oCAAgB,CAAC;;sEAC2B;AAEjC;IADlB,IAAA,kBAAM,EAAC,oCAAoB,CAAC;sCACM,oCAAoB;oEAAC;AAGrC;IADlB,IAAA,kBAAM,EAAC,iDAAsB,CAAC;sCACY,iDAAsB;4EAAC;AAG/C;IADlB,IAAA,kBAAM,EAAC,sBAAe,CAAC;sCACY,sBAAe;qEAAC;AAGjC;IADlB,IAAA,kBAAM,EAAC,yCAAsB,CAAC;sCACY,yCAAsB;4EAAC;AAG/C;IADlB,IAAA,kBAAM,EAAC,wDAAyB,CAAC;sCACY,wDAAyB;+EAAC;AAGrD;IADlB,IAAA,kBAAM,EAAC,+DAA4B,CAAC;sCACY,+DAA4B;kFAAC;AAG3D;IADlB,IAAA,kBAAM,EAAC,0BAAW,CAAC;sCACY,0BAAW;iEAAC;AAGzB;IADlB,IAAA,kBAAM,EAAC,uCAAiB,CAAC;sCACY,uCAAiB;uEAAC;uCA1B/C,4BAA4B;IADxC,IAAA,sBAAU,GAAE;GACA,4BAA4B,CAwDxC;AAiBD,SAAS,YAAY,CAAC,EAClB,gBAAgB,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,iBAAiB,EAAE,sBAAsB,EAChG,sBAAsB,EAAE,eAAe,EAAE,yBAAyB,EAAE,4BAA4B,EAChG,WAAW,EACK;;IAChB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA,MAAA,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,0CAAE,OAAO,KAAI,KAAK,CAAC,CAAC;IACpH,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,IAAI,KAAK,GAAG,KAAK,CAAC;IAElB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;gBAC5C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACrB,WAAW,EAAE,CAAC;gBAClB,CAAC;YACL,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpC,CAAC;IACL,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAErB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,MAAM,aAAa,GAAG,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9F,OAAO,GAAG,EAAE,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,EAAE,CAAC;IACrC,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;IAExC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC;YAC3C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,EAAE;gBAC5B,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAClB,IAAI,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE,CAAC;gBACd,CAAC;gBACD,OAAO,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/C,CAAC,CAAC;YACF,OAAO,GAAG,EAAE;gBACR,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;gBAChC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACtB,CAAC,CAAC;QACN,CAAC;IACL,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5B,IAAI,eAAe,GAAkB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACpD,MAAM,cAAc,GAAG,IAAI,oCAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnG,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;QACjE,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAChC,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IACpB,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAElB,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,CAAC,SAAS,GAAG,+BAA+B,CAAC;QACnD,MAAM,CAAC,SAAS,GAAG,UAAG,CAAC,iBAAiB,CAAC,2DAA2D,CAAC,CAAC;QACtG,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;QACpC,eAAe,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3B,KAAK,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,OAAO,QAAQ,CAAC,CAAC;QACb,CAAC,6BAAK,SAAS,EAAC,0CAA0C,EAAC,GAAG,EAAC,MAAM,EAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,IAAA,2CAAiB,EAAC,GAAG,EAAE,IAAI,CAAC;YAC1G,oBAAC,iCAAU,IAAC,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAChD,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,EAAE,cAAc,EAC9B,sBAAsB,EAAE,sBAAsB,EAC9C,yBAAyB,EAAE,yBAAyB,EACpD,QAAQ,EAAE,sBAAsB,CAAC,cAAc,GAAI;YACvD,oBAAC,gDAAsB,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EACvD,eAAe,EAAE,eAAe,EAChC,oBAAoB,EAAE,4BAA4B,EAClD,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,0CAAE,kBAAkB,EAAE,CAAA,EAAA,GAAI,CAC3F,CAAC,CAAC,CAAC;QACV,CAAC,6BAAK,SAAS,EAAC,iCAAiC,EAAC,GAAG,EAAC,UAAU,EAC5D,aAAa,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,0CAAE,WAAW,EAAE,CAAA,EAAA,EACrF,GAAG,EAAE,IAAI,CAAC,EAAE;gBACR,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,CAAC,GAAG,eAAe,CAAC,CAAC;gBAC1C,IAAA,2CAAiB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAClC,CAAC,GACH,CAAC,CAAC;AACZ,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAc,EAAE,OAAuC;IAC7E,MAAM,OAAO,GAA8B,EAAE,CAAC;IAC9C,MAAM,WAAW,GAA0C;QACvD,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,KAAK;QACjB,aAAa,EAAE,OAAO,CAAC,SAAS;QAChC,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,KAAK;QACzB,IAAI,EAAE,IAAI,CAAC,EAAE;YACT,OAAO,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,CAAC;KACJ,CAAC;IACF,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACrC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC5B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;YACD,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;QACpC,CAAC;QACD,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;IACvF,CAAC;SAAM,CAAC;QACJ,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,uBAAuB;IAEzB,YAAqB,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;QAEvB,cAAS,GAAG,KAAK,CAAC;IAFS,CAAC;IAIpC,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ,CAAC,QAAiB;QAC1B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,MAAM,SAAS,GAAG,2BAA2B,CAAC;QAC9C,IAAI,IAAI,CAAC,IAAI,YAAY,WAAW,EAAE,CAAC;YACnC,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI;QACA,IAAI,IAAI,CAAC,IAAI,YAAY,WAAW,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;gBACrB,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,QAAQ;aAClB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;CACJ"}
@@ -0,0 +1,17 @@
1
+ import { Disposable } from '@theia/core';
2
+ import { Emitter } from '@theia/core/shared/vscode-languageserver-protocol';
3
+ /**
4
+ * this service is for managing the viewport and scroll state of a notebook editor.
5
+ * its used both for restoring scroll state after reopening an editor and for cell to check if they are in the viewport.
6
+ */
7
+ export declare class NotebookViewportService implements Disposable {
8
+ protected onDidChangeViewportEmitter: Emitter<void>;
9
+ readonly onDidChangeViewport: import("vscode-jsonrpc/lib/common/events").Event<void>;
10
+ protected _viewportElement: HTMLDivElement | undefined;
11
+ protected resizeObserver?: ResizeObserver;
12
+ set viewportElement(element: HTMLDivElement | undefined);
13
+ isElementInViewport(element: HTMLElement): boolean;
14
+ onScroll(e: HTMLDivElement): void;
15
+ dispose(): void;
16
+ }
17
+ //# sourceMappingURL=notebook-viewport-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-viewport-service.d.ts","sourceRoot":"","sources":["../../../src/browser/view/notebook-viewport-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,mDAAmD,CAAC;AAE5E;;;GAGG;AACH,qBACa,uBAAwB,YAAW,UAAU;IAEtD,SAAS,CAAC,0BAA0B,gBAAuB;IAC3D,QAAQ,CAAC,mBAAmB,yDAAyC;IAErE,SAAS,CAAC,gBAAgB,EAAE,cAAc,GAAG,SAAS,CAAC;IAEvD,SAAS,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IAE1C,IAAI,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,SAAS,EAQtD;IAED,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IASlD,QAAQ,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI;IAIjC,OAAO,IAAI,IAAI;CAGlB"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2024 TypeFox and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.NotebookViewportService = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const vscode_languageserver_protocol_1 = require("@theia/core/shared/vscode-languageserver-protocol");
22
+ /**
23
+ * this service is for managing the viewport and scroll state of a notebook editor.
24
+ * its used both for restoring scroll state after reopening an editor and for cell to check if they are in the viewport.
25
+ */
26
+ let NotebookViewportService = class NotebookViewportService {
27
+ constructor() {
28
+ this.onDidChangeViewportEmitter = new vscode_languageserver_protocol_1.Emitter();
29
+ this.onDidChangeViewport = this.onDidChangeViewportEmitter.event;
30
+ }
31
+ set viewportElement(element) {
32
+ var _a;
33
+ this._viewportElement = element;
34
+ if (element) {
35
+ this.onDidChangeViewportEmitter.fire();
36
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
37
+ this.resizeObserver = new ResizeObserver(() => this.onDidChangeViewportEmitter.fire());
38
+ this.resizeObserver.observe(element);
39
+ }
40
+ }
41
+ isElementInViewport(element) {
42
+ if (this._viewportElement) {
43
+ const rect = element.getBoundingClientRect();
44
+ const viewRect = this._viewportElement.getBoundingClientRect();
45
+ return rect.top < viewRect.top ? rect.bottom > viewRect.top : rect.top < viewRect.bottom;
46
+ }
47
+ return false;
48
+ }
49
+ onScroll(e) {
50
+ this.onDidChangeViewportEmitter.fire();
51
+ }
52
+ dispose() {
53
+ var _a;
54
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
55
+ }
56
+ };
57
+ exports.NotebookViewportService = NotebookViewportService;
58
+ exports.NotebookViewportService = NotebookViewportService = tslib_1.__decorate([
59
+ (0, inversify_1.injectable)()
60
+ ], NotebookViewportService);
61
+ //# sourceMappingURL=notebook-viewport-service.js.map