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

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-viewport-service.js","sourceRoot":"","sources":["../../../src/browser/view/notebook-viewport-service.ts"],"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;;;;AAGhF,4DAA0D;AAC1D,sGAA4E;AAE5E;;;GAGG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAA7B;QAEO,+BAA0B,GAAG,IAAI,wCAAO,EAAQ,CAAC;QAClD,wBAAmB,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC;IAgCzE,CAAC;IA1BG,IAAI,eAAe,CAAC,OAAmC;;QACnD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAChC,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC;YACvC,MAAA,IAAI,CAAC,cAAc,0CAAE,UAAU,EAAE,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC,CAAC;YACvF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,OAAoB;QACpC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC7F,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,CAAiB;QACtB,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,OAAO;;QACH,MAAA,IAAI,CAAC,cAAc,0CAAE,UAAU,EAAE,CAAC;IACtC,CAAC;CACJ,CAAA;AAnCY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,sBAAU,GAAE;GACA,uBAAuB,CAmCnC"}
@@ -0,0 +1,137 @@
1
+ import { Disposable, DisposableCollection, Emitter, Event, URI } from '@theia/core';
2
+ import { interfaces } from '@theia/core/shared/inversify';
3
+ import { MonacoEditorModel } from '@theia/monaco/lib/browser/monaco-editor-model';
4
+ import { type MonacoEditor } from '@theia/monaco/lib/browser/monaco-editor';
5
+ import { CellKind, NotebookCellCollapseState, NotebookCellInternalMetadata, NotebookCellMetadata, CellOutput, CellData, CellOutputItem } from '../../common';
6
+ import { NotebookCellOutputsSplice } from '../notebook-types';
7
+ import { NotebookMonacoTextModelService } from '../service/notebook-monaco-text-model-service';
8
+ import { NotebookCellOutputModel } from './notebook-cell-output-model';
9
+ import { PreferenceService } from '@theia/core/lib/common';
10
+ import { LanguageService } from '@theia/core/lib/browser/language-service';
11
+ import { NotebookEditorFindMatch, NotebookEditorFindMatchOptions } from '../view/notebook-find-widget';
12
+ import { Range } from '@theia/core/shared/vscode-languageserver-protocol';
13
+ export declare const NotebookCellModelFactory: unique symbol;
14
+ export type NotebookCellModelFactory = (props: NotebookCellModelProps) => NotebookCellModel;
15
+ export declare function createNotebookCellModelContainer(parent: interfaces.Container, props: NotebookCellModelProps): interfaces.Container;
16
+ export interface CellInternalMetadataChangedEvent {
17
+ readonly lastRunSuccessChanged?: boolean;
18
+ }
19
+ export interface NotebookCell {
20
+ readonly uri: URI;
21
+ handle: number;
22
+ language: string;
23
+ cellKind: CellKind;
24
+ outputs: CellOutput[];
25
+ metadata: NotebookCellMetadata;
26
+ internalMetadata: NotebookCellInternalMetadata;
27
+ text: string;
28
+ /**
29
+ * The selection of the cell. Zero-based line/character coordinates.
30
+ */
31
+ selection: Range | undefined;
32
+ onDidChangeOutputs?: Event<NotebookCellOutputsSplice>;
33
+ onDidChangeOutputItems?: Event<CellOutput>;
34
+ onDidChangeLanguage: Event<string>;
35
+ onDidChangeMetadata: Event<void>;
36
+ onDidChangeInternalMetadata: Event<CellInternalMetadataChangedEvent>;
37
+ }
38
+ export interface NotebookCellModelProps {
39
+ readonly uri: URI;
40
+ readonly handle: number;
41
+ source: string;
42
+ language: string;
43
+ readonly cellKind: CellKind;
44
+ outputs: CellOutput[];
45
+ metadata?: NotebookCellMetadata | undefined;
46
+ internalMetadata?: NotebookCellInternalMetadata | undefined;
47
+ readonly collapseState?: NotebookCellCollapseState | undefined;
48
+ }
49
+ export declare class NotebookCellModel implements NotebookCell, Disposable {
50
+ protected readonly onDidChangeOutputsEmitter: Emitter<NotebookCellOutputsSplice>;
51
+ readonly onDidChangeOutputs: Event<NotebookCellOutputsSplice>;
52
+ protected readonly onDidChangeOutputItemsEmitter: Emitter<CellOutput>;
53
+ readonly onDidChangeOutputItems: Event<CellOutput>;
54
+ protected readonly onDidChangeContentEmitter: Emitter<"content" | "language" | "mime">;
55
+ readonly onDidChangeContent: Event<"content" | "language" | "mime">;
56
+ protected readonly onDidChangeMetadataEmitter: Emitter<void>;
57
+ readonly onDidChangeMetadata: Event<void>;
58
+ protected readonly onDidChangeInternalMetadataEmitter: Emitter<CellInternalMetadataChangedEvent>;
59
+ readonly onDidChangeInternalMetadata: Event<CellInternalMetadataChangedEvent>;
60
+ protected readonly onDidChangeLanguageEmitter: Emitter<string>;
61
+ readonly onDidChangeLanguage: Event<string>;
62
+ protected readonly onDidChangeEditorOptionsEmitter: Emitter<MonacoEditor.IOptions>;
63
+ readonly onDidChangeEditorOptions: Event<MonacoEditor.IOptions>;
64
+ protected readonly outputVisibilityChangeEmitter: Emitter<boolean>;
65
+ readonly onDidChangeOutputVisibility: Event<boolean>;
66
+ protected readonly onDidFindMatchesEmitter: Emitter<NotebookCodeEditorFindMatch[]>;
67
+ readonly onDidFindMatches: Event<NotebookCodeEditorFindMatch[]>;
68
+ protected readonly onDidSelectFindMatchEmitter: Emitter<NotebookCodeEditorFindMatch>;
69
+ readonly onDidSelectFindMatch: Event<NotebookCodeEditorFindMatch>;
70
+ protected onDidRequestCenterEditorEmitter: Emitter<void>;
71
+ readonly onDidRequestCenterEditor: Event<void>;
72
+ protected onDidCellHeightChangeEmitter: Emitter<number>;
73
+ readonly onDidCellHeightChange: Event<number>;
74
+ protected readonly props: NotebookCellModelProps;
75
+ protected readonly textModelService: NotebookMonacoTextModelService;
76
+ protected readonly languageService: LanguageService;
77
+ protected readonly preferenceService: PreferenceService;
78
+ get outputs(): NotebookCellOutputModel[];
79
+ protected _outputs: NotebookCellOutputModel[];
80
+ get metadata(): NotebookCellMetadata;
81
+ set metadata(newMetadata: NotebookCellMetadata);
82
+ protected _metadata: NotebookCellMetadata;
83
+ toDispose: DisposableCollection;
84
+ protected _internalMetadata: NotebookCellInternalMetadata;
85
+ get internalMetadata(): NotebookCellInternalMetadata;
86
+ set internalMetadata(newInternalMetadata: NotebookCellInternalMetadata);
87
+ protected textModel?: MonacoEditorModel;
88
+ get text(): string;
89
+ get isTextModelWritable(): boolean;
90
+ get source(): string;
91
+ set source(source: string);
92
+ get language(): string;
93
+ set language(newLanguage: string);
94
+ get languageName(): string;
95
+ get uri(): URI;
96
+ get handle(): number;
97
+ get cellKind(): CellKind;
98
+ protected _editorOptions: MonacoEditor.IOptions;
99
+ get editorOptions(): Readonly<MonacoEditor.IOptions>;
100
+ set editorOptions(options: MonacoEditor.IOptions);
101
+ protected _outputVisible: boolean;
102
+ get outputVisible(): boolean;
103
+ set outputVisible(visible: boolean);
104
+ protected _selection: Range | undefined;
105
+ get selection(): Range | undefined;
106
+ set selection(selection: Range | undefined);
107
+ protected _cellheight: number;
108
+ get cellHeight(): number;
109
+ set cellHeight(height: number);
110
+ protected init(): void;
111
+ dispose(): void;
112
+ requestCenterEditor(): void;
113
+ spliceNotebookCellOutputs(splice: NotebookCellOutputsSplice): void;
114
+ replaceOutputData(outputId: string, newOutputData: CellOutput): boolean;
115
+ changeOutputItems(outputId: string, append: boolean, items: CellOutputItem[]): boolean;
116
+ getData(): CellData;
117
+ resolveTextModel(): Promise<MonacoEditorModel>;
118
+ restartOutputRenderer(outputId: string): void;
119
+ onMarkdownFind: ((options: NotebookEditorFindMatchOptions) => NotebookEditorFindMatch[]) | undefined;
120
+ showMatch(selected: NotebookCodeEditorFindMatch): void;
121
+ findMatches(options: NotebookEditorFindMatchOptions): NotebookEditorFindMatch[];
122
+ replaceAll(matches: NotebookCodeEditorFindMatch[], value: string): void;
123
+ }
124
+ export interface NotebookCellFindMatches {
125
+ matches: NotebookEditorFindMatch[];
126
+ selected: NotebookEditorFindMatch;
127
+ }
128
+ export declare class NotebookCodeEditorFindMatch implements NotebookEditorFindMatch {
129
+ readonly cell: NotebookCellModel;
130
+ readonly range: Range;
131
+ readonly textModel: MonacoEditorModel;
132
+ selected: boolean;
133
+ constructor(cell: NotebookCellModel, range: Range, textModel: MonacoEditorModel);
134
+ show(): void;
135
+ replace(value: string): void;
136
+ }
137
+ //# sourceMappingURL=notebook-cell-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-cell-model.d.ts","sourceRoot":"","sources":["../../../src/browser/view-model/notebook-cell-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,367 @@
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
+ /*---------------------------------------------------------------------------------------------
18
+ * Copyright (c) Microsoft Corporation. All rights reserved.
19
+ * Licensed under the MIT License. See License.txt in the project root for license information.
20
+ *--------------------------------------------------------------------------------------------*/
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.NotebookCodeEditorFindMatch = exports.NotebookCellModel = exports.createNotebookCellModelContainer = exports.NotebookCellModelFactory = void 0;
23
+ const tslib_1 = require("tslib");
24
+ const core_1 = require("@theia/core");
25
+ const inversify_1 = require("@theia/core/shared/inversify");
26
+ const common_1 = require("../../common");
27
+ const notebook_monaco_text_model_service_1 = require("../service/notebook-monaco-text-model-service");
28
+ const notebook_cell_output_model_1 = require("./notebook-cell-output-model");
29
+ const common_2 = require("@theia/core/lib/common");
30
+ const notebook_preferences_1 = require("../../common/notebook-preferences");
31
+ const language_service_1 = require("@theia/core/lib/browser/language-service");
32
+ exports.NotebookCellModelFactory = Symbol('NotebookModelFactory');
33
+ function createNotebookCellModelContainer(parent, props) {
34
+ const child = parent.createChild();
35
+ child.bind(NotebookCellModelProps).toConstantValue(props);
36
+ child.bind(NotebookCellModel).toSelf();
37
+ return child;
38
+ }
39
+ exports.createNotebookCellModelContainer = createNotebookCellModelContainer;
40
+ const NotebookCellModelProps = Symbol('NotebookModelProps');
41
+ let NotebookCellModel = class NotebookCellModel {
42
+ constructor() {
43
+ this.onDidChangeOutputsEmitter = new core_1.Emitter();
44
+ this.onDidChangeOutputs = this.onDidChangeOutputsEmitter.event;
45
+ this.onDidChangeOutputItemsEmitter = new core_1.Emitter();
46
+ this.onDidChangeOutputItems = this.onDidChangeOutputItemsEmitter.event;
47
+ this.onDidChangeContentEmitter = new core_1.Emitter();
48
+ this.onDidChangeContent = this.onDidChangeContentEmitter.event;
49
+ this.onDidChangeMetadataEmitter = new core_1.Emitter();
50
+ this.onDidChangeMetadata = this.onDidChangeMetadataEmitter.event;
51
+ this.onDidChangeInternalMetadataEmitter = new core_1.Emitter();
52
+ this.onDidChangeInternalMetadata = this.onDidChangeInternalMetadataEmitter.event;
53
+ this.onDidChangeLanguageEmitter = new core_1.Emitter();
54
+ this.onDidChangeLanguage = this.onDidChangeLanguageEmitter.event;
55
+ this.onDidChangeEditorOptionsEmitter = new core_1.Emitter();
56
+ this.onDidChangeEditorOptions = this.onDidChangeEditorOptionsEmitter.event;
57
+ this.outputVisibilityChangeEmitter = new core_1.Emitter();
58
+ this.onDidChangeOutputVisibility = this.outputVisibilityChangeEmitter.event;
59
+ this.onDidFindMatchesEmitter = new core_1.Emitter();
60
+ this.onDidFindMatches = this.onDidFindMatchesEmitter.event;
61
+ this.onDidSelectFindMatchEmitter = new core_1.Emitter();
62
+ this.onDidSelectFindMatch = this.onDidSelectFindMatchEmitter.event;
63
+ this.onDidRequestCenterEditorEmitter = new core_1.Emitter();
64
+ this.onDidRequestCenterEditor = this.onDidRequestCenterEditorEmitter.event;
65
+ this.onDidCellHeightChangeEmitter = new core_1.Emitter();
66
+ this.onDidCellHeightChange = this.onDidCellHeightChangeEmitter.event;
67
+ this.toDispose = new core_1.DisposableCollection();
68
+ this._editorOptions = {};
69
+ this._outputVisible = true;
70
+ this._selection = undefined;
71
+ this._cellheight = 0;
72
+ }
73
+ get outputs() {
74
+ return this._outputs;
75
+ }
76
+ get metadata() {
77
+ return this._metadata;
78
+ }
79
+ set metadata(newMetadata) {
80
+ this._metadata = newMetadata;
81
+ this.onDidChangeMetadataEmitter.fire();
82
+ }
83
+ get internalMetadata() {
84
+ return this._internalMetadata;
85
+ }
86
+ set internalMetadata(newInternalMetadata) {
87
+ const lastRunSuccessChanged = this._internalMetadata.lastRunSuccess !== newInternalMetadata.lastRunSuccess;
88
+ newInternalMetadata = {
89
+ ...newInternalMetadata,
90
+ ...{ runStartTimeAdjustment: computeRunStartTimeAdjustment(this._internalMetadata, newInternalMetadata) }
91
+ };
92
+ this._internalMetadata = newInternalMetadata;
93
+ this.onDidChangeInternalMetadataEmitter.fire({ lastRunSuccessChanged });
94
+ }
95
+ get text() {
96
+ return this.textModel && !this.textModel.isDisposed() ? this.textModel.getText() : this.source;
97
+ }
98
+ get isTextModelWritable() {
99
+ return !this.textModel || !this.textModel.readOnly;
100
+ }
101
+ get source() {
102
+ return this.props.source;
103
+ }
104
+ set source(source) {
105
+ var _a;
106
+ this.props.source = source;
107
+ (_a = this.textModel) === null || _a === void 0 ? void 0 : _a.textEditorModel.setValue(source);
108
+ }
109
+ get language() {
110
+ return this.props.language;
111
+ }
112
+ set language(newLanguage) {
113
+ if (this.language === newLanguage) {
114
+ return;
115
+ }
116
+ if (this.textModel) {
117
+ this.textModel.setLanguageId(newLanguage);
118
+ }
119
+ this.props.language = newLanguage;
120
+ this.onDidChangeLanguageEmitter.fire(newLanguage);
121
+ this.onDidChangeContentEmitter.fire('language');
122
+ }
123
+ get languageName() {
124
+ var _a, _b;
125
+ return (_b = (_a = this.languageService.getLanguage(this.language)) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : this.language;
126
+ }
127
+ get uri() {
128
+ return this.props.uri;
129
+ }
130
+ get handle() {
131
+ return this.props.handle;
132
+ }
133
+ get cellKind() {
134
+ return this.props.cellKind;
135
+ }
136
+ get editorOptions() {
137
+ return this._editorOptions;
138
+ }
139
+ set editorOptions(options) {
140
+ this._editorOptions = options;
141
+ this.onDidChangeEditorOptionsEmitter.fire(options);
142
+ }
143
+ get outputVisible() {
144
+ return this._outputVisible;
145
+ }
146
+ set outputVisible(visible) {
147
+ if (this._outputVisible !== visible) {
148
+ this._outputVisible = visible;
149
+ this.outputVisibilityChangeEmitter.fire(visible);
150
+ }
151
+ }
152
+ get selection() {
153
+ return this._selection;
154
+ }
155
+ set selection(selection) {
156
+ this._selection = selection;
157
+ }
158
+ get cellHeight() {
159
+ return this._cellheight;
160
+ }
161
+ set cellHeight(height) {
162
+ if (height !== this._cellheight) {
163
+ this.onDidCellHeightChangeEmitter.fire(height);
164
+ this._cellheight = height;
165
+ }
166
+ }
167
+ init() {
168
+ var _a, _b;
169
+ this._outputs = this.props.outputs.map(op => new notebook_cell_output_model_1.NotebookCellOutputModel(op));
170
+ this._metadata = (_a = this.props.metadata) !== null && _a !== void 0 ? _a : {};
171
+ this._internalMetadata = (_b = this.props.internalMetadata) !== null && _b !== void 0 ? _b : {};
172
+ this.editorOptions = {
173
+ lineNumbers: this.preferenceService.get(notebook_preferences_1.NotebookPreferences.NOTEBOOK_LINE_NUMBERS)
174
+ };
175
+ this.toDispose.push(this.preferenceService.onPreferenceChanged(e => {
176
+ if (e.preferenceName === notebook_preferences_1.NotebookPreferences.NOTEBOOK_LINE_NUMBERS) {
177
+ this.editorOptions = {
178
+ ...this.editorOptions,
179
+ lineNumbers: this.preferenceService.get(notebook_preferences_1.NotebookPreferences.NOTEBOOK_LINE_NUMBERS)
180
+ };
181
+ }
182
+ }));
183
+ }
184
+ dispose() {
185
+ this.onDidChangeOutputsEmitter.dispose();
186
+ this.onDidChangeOutputItemsEmitter.dispose();
187
+ this.onDidChangeContentEmitter.dispose();
188
+ this.onDidChangeMetadataEmitter.dispose();
189
+ this.onDidChangeInternalMetadataEmitter.dispose();
190
+ this.onDidChangeLanguageEmitter.dispose();
191
+ this.toDispose.dispose();
192
+ }
193
+ requestCenterEditor() {
194
+ this.onDidRequestCenterEditorEmitter.fire();
195
+ }
196
+ spliceNotebookCellOutputs(splice) {
197
+ if (splice.deleteCount > 0 && splice.newOutputs.length > 0) {
198
+ const commonLen = Math.min(splice.deleteCount, splice.newOutputs.length);
199
+ // update
200
+ for (let i = 0; i < commonLen; i++) {
201
+ const currentOutput = this.outputs[splice.start + i];
202
+ const newOutput = splice.newOutputs[i];
203
+ this.replaceOutputData(currentOutput.outputId, newOutput);
204
+ }
205
+ this.outputs.splice(splice.start + commonLen, splice.deleteCount - commonLen, ...splice.newOutputs.slice(commonLen).map(op => new notebook_cell_output_model_1.NotebookCellOutputModel(op)));
206
+ this.onDidChangeOutputsEmitter.fire({ start: splice.start + commonLen, deleteCount: splice.deleteCount - commonLen, newOutputs: splice.newOutputs.slice(commonLen) });
207
+ }
208
+ else {
209
+ this.outputs.splice(splice.start, splice.deleteCount, ...splice.newOutputs.map(op => new notebook_cell_output_model_1.NotebookCellOutputModel(op)));
210
+ this.onDidChangeOutputsEmitter.fire(splice);
211
+ }
212
+ }
213
+ replaceOutputData(outputId, newOutputData) {
214
+ const output = this.outputs.find(out => out.outputId === outputId);
215
+ if (!output) {
216
+ return false;
217
+ }
218
+ output.replaceData(newOutputData);
219
+ this.onDidChangeOutputItemsEmitter.fire(output);
220
+ return true;
221
+ }
222
+ changeOutputItems(outputId, append, items) {
223
+ const output = this.outputs.find(out => out.outputId === outputId);
224
+ if (!output) {
225
+ return false;
226
+ }
227
+ if (append) {
228
+ output.appendData(items);
229
+ }
230
+ else {
231
+ output.replaceData({ outputId: outputId, outputs: items, metadata: output.metadata });
232
+ }
233
+ this.onDidChangeOutputItemsEmitter.fire(output);
234
+ return true;
235
+ }
236
+ getData() {
237
+ return {
238
+ cellKind: this.cellKind,
239
+ language: this.language,
240
+ outputs: this.outputs.map(output => output.getData()),
241
+ source: this.text,
242
+ collapseState: this.props.collapseState,
243
+ internalMetadata: this.internalMetadata,
244
+ metadata: this.metadata
245
+ };
246
+ }
247
+ async resolveTextModel() {
248
+ if (this.textModel) {
249
+ return this.textModel;
250
+ }
251
+ const ref = await this.textModelService.getOrCreateNotebookCellModelReference(this.uri);
252
+ this.textModel = ref.object;
253
+ this.toDispose.push(ref);
254
+ this.toDispose.push(this.textModel.onDidChangeContent(e => {
255
+ this.props.source = e.model.getText();
256
+ this.onDidChangeContentEmitter.fire('content');
257
+ }));
258
+ return ref.object;
259
+ }
260
+ restartOutputRenderer(outputId) {
261
+ const output = this.outputs.find(out => out.outputId === outputId);
262
+ if (output) {
263
+ this.onDidChangeOutputItemsEmitter.fire(output);
264
+ }
265
+ }
266
+ showMatch(selected) {
267
+ this.onDidSelectFindMatchEmitter.fire(selected);
268
+ }
269
+ findMatches(options) {
270
+ var _a;
271
+ if (this.cellKind === common_1.CellKind.Markup && this.onMarkdownFind) {
272
+ return (_a = this.onMarkdownFind(options)) !== null && _a !== void 0 ? _a : [];
273
+ }
274
+ if (!this.textModel) {
275
+ return [];
276
+ }
277
+ const matches = options.search ? this.textModel.findMatches({
278
+ searchString: options.search,
279
+ isRegex: options.regex,
280
+ matchCase: options.matchCase,
281
+ matchWholeWord: options.wholeWord
282
+ }) : [];
283
+ const editorFindMatches = matches.map(match => new NotebookCodeEditorFindMatch(this, match.range, this.textModel));
284
+ this.onDidFindMatchesEmitter.fire(editorFindMatches);
285
+ return editorFindMatches;
286
+ }
287
+ replaceAll(matches, value) {
288
+ var _a;
289
+ const editOperations = matches.map(match => ({
290
+ range: {
291
+ startColumn: match.range.start.character,
292
+ startLineNumber: match.range.start.line,
293
+ endColumn: match.range.end.character,
294
+ endLineNumber: match.range.end.line
295
+ },
296
+ text: value
297
+ }));
298
+ (_a = this.textModel) === null || _a === void 0 ? void 0 : _a.textEditorModel.pushEditOperations(
299
+ // eslint-disable-next-line no-null/no-null
300
+ null, editOperations,
301
+ // eslint-disable-next-line no-null/no-null
302
+ () => null);
303
+ }
304
+ };
305
+ exports.NotebookCellModel = NotebookCellModel;
306
+ tslib_1.__decorate([
307
+ (0, inversify_1.inject)(NotebookCellModelProps),
308
+ tslib_1.__metadata("design:type", Object)
309
+ ], NotebookCellModel.prototype, "props", void 0);
310
+ tslib_1.__decorate([
311
+ (0, inversify_1.inject)(notebook_monaco_text_model_service_1.NotebookMonacoTextModelService),
312
+ tslib_1.__metadata("design:type", notebook_monaco_text_model_service_1.NotebookMonacoTextModelService)
313
+ ], NotebookCellModel.prototype, "textModelService", void 0);
314
+ tslib_1.__decorate([
315
+ (0, inversify_1.inject)(language_service_1.LanguageService),
316
+ tslib_1.__metadata("design:type", language_service_1.LanguageService)
317
+ ], NotebookCellModel.prototype, "languageService", void 0);
318
+ tslib_1.__decorate([
319
+ (0, inversify_1.inject)(common_2.PreferenceService),
320
+ tslib_1.__metadata("design:type", Object)
321
+ ], NotebookCellModel.prototype, "preferenceService", void 0);
322
+ tslib_1.__decorate([
323
+ (0, inversify_1.postConstruct)(),
324
+ tslib_1.__metadata("design:type", Function),
325
+ tslib_1.__metadata("design:paramtypes", []),
326
+ tslib_1.__metadata("design:returntype", void 0)
327
+ ], NotebookCellModel.prototype, "init", null);
328
+ exports.NotebookCellModel = NotebookCellModel = tslib_1.__decorate([
329
+ (0, inversify_1.injectable)()
330
+ ], NotebookCellModel);
331
+ class NotebookCodeEditorFindMatch {
332
+ constructor(cell, range, textModel) {
333
+ this.cell = cell;
334
+ this.range = range;
335
+ this.textModel = textModel;
336
+ this.selected = false;
337
+ }
338
+ show() {
339
+ this.cell.showMatch(this);
340
+ }
341
+ replace(value) {
342
+ this.textModel.textEditorModel.pushEditOperations(
343
+ // eslint-disable-next-line no-null/no-null
344
+ null, [{
345
+ range: {
346
+ startColumn: this.range.start.character,
347
+ startLineNumber: this.range.start.line,
348
+ endColumn: this.range.end.character,
349
+ endLineNumber: this.range.end.line
350
+ },
351
+ text: value
352
+ }],
353
+ // eslint-disable-next-line no-null/no-null
354
+ () => null);
355
+ }
356
+ }
357
+ exports.NotebookCodeEditorFindMatch = NotebookCodeEditorFindMatch;
358
+ function computeRunStartTimeAdjustment(oldMetadata, newMetadata) {
359
+ if (oldMetadata.runStartTime !== newMetadata.runStartTime && typeof newMetadata.runStartTime === 'number') {
360
+ const offset = Date.now() - newMetadata.runStartTime;
361
+ return offset < 0 ? Math.abs(offset) : 0;
362
+ }
363
+ else {
364
+ return newMetadata.runStartTimeAdjustment;
365
+ }
366
+ }
367
+ //# sourceMappingURL=notebook-cell-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-cell-model.js","sourceRoot":"","sources":["../../../src/browser/view-model/notebook-cell-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { Disposable } from '@theia/core';
2
+ import { CellOutput, CellOutputItem } from '../../common';
3
+ export declare class NotebookCellOutputModel implements Disposable {
4
+ protected rawOutput: CellOutput;
5
+ private didChangeDataEmitter;
6
+ readonly onDidChangeData: import("@theia/core").Event<void>;
7
+ get outputId(): string;
8
+ get outputs(): CellOutputItem[];
9
+ get metadata(): Record<string, unknown> | undefined;
10
+ constructor(rawOutput: CellOutput);
11
+ replaceData(rawData: CellOutput): void;
12
+ appendData(items: CellOutputItem[]): void;
13
+ dispose(): void;
14
+ getData(): CellOutput;
15
+ private optimizeOutputItems;
16
+ }
17
+ //# sourceMappingURL=notebook-cell-output-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-cell-output-model.d.ts","sourceRoot":"","sources":["../../../src/browser/view-model/notebook-cell-output-model.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAW,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAoB,MAAM,cAAc,CAAC;AAG5E,qBAAa,uBAAwB,YAAW,UAAU;IAiB1C,SAAS,CAAC,SAAS,EAAE,UAAU;IAf3C,OAAO,CAAC,oBAAoB,CAAuB;IACnD,QAAQ,CAAC,eAAe,oCAAmC;IAE3D,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,OAAO,IAAI,cAAc,EAAE,CAE9B;IAED,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAElD;gBAEqB,SAAS,EAAE,UAAU;IAE3C,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAMtC,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI;IAMzC,OAAO,IAAI,IAAI;IAIf,OAAO,IAAI,UAAU;IAQrB,OAAO,CAAC,mBAAmB;CA4B9B"}
@@ -0,0 +1,87 @@
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.NotebookCellOutputModel = void 0;
19
+ const core_1 = require("@theia/core");
20
+ const common_1 = require("../../common");
21
+ const notebook_output_utils_1 = require("../notebook-output-utils");
22
+ class NotebookCellOutputModel {
23
+ get outputId() {
24
+ return this.rawOutput.outputId;
25
+ }
26
+ get outputs() {
27
+ return this.rawOutput.outputs || [];
28
+ }
29
+ get metadata() {
30
+ return this.rawOutput.metadata;
31
+ }
32
+ constructor(rawOutput) {
33
+ this.rawOutput = rawOutput;
34
+ this.didChangeDataEmitter = new core_1.Emitter();
35
+ this.onDidChangeData = this.didChangeDataEmitter.event;
36
+ }
37
+ replaceData(rawData) {
38
+ this.rawOutput = rawData;
39
+ this.optimizeOutputItems();
40
+ this.didChangeDataEmitter.fire();
41
+ }
42
+ appendData(items) {
43
+ this.rawOutput.outputs.push(...items);
44
+ this.optimizeOutputItems();
45
+ this.didChangeDataEmitter.fire();
46
+ }
47
+ dispose() {
48
+ this.didChangeDataEmitter.dispose();
49
+ }
50
+ getData() {
51
+ return {
52
+ outputs: this.outputs,
53
+ metadata: this.metadata,
54
+ outputId: this.outputId
55
+ };
56
+ }
57
+ optimizeOutputItems() {
58
+ if (this.outputs.length > 1 && this.outputs.every(item => (0, common_1.isTextStreamMime)(item.mime))) {
59
+ // Look for the mimes in the items, and keep track of their order.
60
+ // Merge the streams into one output item, per mime type.
61
+ const mimeOutputs = new Map();
62
+ const mimeTypes = [];
63
+ this.outputs.forEach(item => {
64
+ let items;
65
+ if (mimeOutputs.has(item.mime)) {
66
+ items = mimeOutputs.get(item.mime);
67
+ }
68
+ else {
69
+ items = [];
70
+ mimeOutputs.set(item.mime, items);
71
+ mimeTypes.push(item.mime);
72
+ }
73
+ items.push(item.data.buffer);
74
+ });
75
+ this.outputs.length = 0;
76
+ mimeTypes.forEach(mime => {
77
+ const compressionResult = (0, notebook_output_utils_1.compressOutputItemStreams)(mimeOutputs.get(mime));
78
+ this.outputs.push({
79
+ mime,
80
+ data: compressionResult.data
81
+ });
82
+ });
83
+ }
84
+ }
85
+ }
86
+ exports.NotebookCellOutputModel = NotebookCellOutputModel;
87
+ //# sourceMappingURL=notebook-cell-output-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-cell-output-model.js","sourceRoot":"","sources":["../../../src/browser/view-model/notebook-cell-output-model.ts"],"names":[],"mappings":"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"}