@theia/playwright 1.58.4 → 1.58.5

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 (213) hide show
  1. package/lib/index.d.ts +34 -0
  2. package/lib/index.d.ts.map +1 -0
  3. package/lib/index.js +52 -0
  4. package/lib/index.js.map +1 -0
  5. package/lib/tests/theia-app.test.d.ts +2 -0
  6. package/lib/tests/theia-app.test.d.ts.map +1 -0
  7. package/lib/tests/theia-app.test.js +30 -0
  8. package/lib/tests/theia-app.test.js.map +1 -0
  9. package/lib/tests/theia-application-shell.test.d.ts +2 -0
  10. package/lib/tests/theia-application-shell.test.d.ts.map +1 -0
  11. package/lib/tests/theia-application-shell.test.js +58 -0
  12. package/lib/tests/theia-application-shell.test.js.map +1 -0
  13. package/lib/tests/theia-explorer-view.test.d.ts +2 -0
  14. package/lib/tests/theia-explorer-view.test.d.ts.map +1 -0
  15. package/lib/tests/theia-explorer-view.test.js +185 -0
  16. package/lib/tests/theia-explorer-view.test.js.map +1 -0
  17. package/lib/tests/theia-getting-started.test.d.ts +2 -0
  18. package/lib/tests/theia-getting-started.test.d.ts.map +1 -0
  19. package/lib/tests/theia-getting-started.test.js +46 -0
  20. package/lib/tests/theia-getting-started.test.js.map +1 -0
  21. package/lib/tests/theia-main-menu.test.d.ts +2 -0
  22. package/lib/tests/theia-main-menu.test.d.ts.map +1 -0
  23. package/lib/tests/theia-main-menu.test.js +111 -0
  24. package/lib/tests/theia-main-menu.test.js.map +1 -0
  25. package/lib/tests/theia-notebook-editor.test.d.ts +2 -0
  26. package/lib/tests/theia-notebook-editor.test.d.ts.map +1 -0
  27. package/lib/tests/theia-notebook-editor.test.js +274 -0
  28. package/lib/tests/theia-notebook-editor.test.js.map +1 -0
  29. package/lib/tests/theia-output-view.test.d.ts +2 -0
  30. package/lib/tests/theia-output-view.test.d.ts.map +1 -0
  31. package/lib/tests/theia-output-view.test.js +79 -0
  32. package/lib/tests/theia-output-view.test.js.map +1 -0
  33. package/lib/tests/theia-preference-view.test.d.ts +2 -0
  34. package/lib/tests/theia-preference-view.test.d.ts.map +1 -0
  35. package/lib/tests/theia-preference-view.test.js +102 -0
  36. package/lib/tests/theia-preference-view.test.js.map +1 -0
  37. package/lib/tests/theia-problems-view.test.d.ts +2 -0
  38. package/lib/tests/theia-problems-view.test.d.ts.map +1 -0
  39. package/lib/tests/theia-problems-view.test.js +55 -0
  40. package/lib/tests/theia-problems-view.test.js.map +1 -0
  41. package/lib/tests/theia-quick-command.test.d.ts +2 -0
  42. package/lib/tests/theia-quick-command.test.d.ts.map +1 -0
  43. package/lib/tests/theia-quick-command.test.js +75 -0
  44. package/lib/tests/theia-quick-command.test.js.map +1 -0
  45. package/lib/tests/theia-sample-app.test.d.ts +2 -0
  46. package/lib/tests/theia-sample-app.test.d.ts.map +1 -0
  47. package/lib/tests/theia-sample-app.test.js +58 -0
  48. package/lib/tests/theia-sample-app.test.js.map +1 -0
  49. package/lib/tests/theia-status-bar.test.d.ts +2 -0
  50. package/lib/tests/theia-status-bar.test.d.ts.map +1 -0
  51. package/lib/tests/theia-status-bar.test.js +45 -0
  52. package/lib/tests/theia-status-bar.test.js.map +1 -0
  53. package/lib/tests/theia-terminal-view.test.d.ts +2 -0
  54. package/lib/tests/theia-terminal-view.test.d.ts.map +1 -0
  55. package/lib/tests/theia-terminal-view.test.js +79 -0
  56. package/lib/tests/theia-terminal-view.test.js.map +1 -0
  57. package/lib/tests/theia-text-editor.test.d.ts +2 -0
  58. package/lib/tests/theia-text-editor.test.d.ts.map +1 -0
  59. package/lib/tests/theia-text-editor.test.js +156 -0
  60. package/lib/tests/theia-text-editor.test.js.map +1 -0
  61. package/lib/tests/theia-toolbar.test.d.ts +2 -0
  62. package/lib/tests/theia-toolbar.test.d.ts.map +1 -0
  63. package/lib/tests/theia-toolbar.test.js +62 -0
  64. package/lib/tests/theia-toolbar.test.js.map +1 -0
  65. package/lib/tests/theia-workspace.test.d.ts +2 -0
  66. package/lib/tests/theia-workspace.test.d.ts.map +1 -0
  67. package/lib/tests/theia-workspace.test.js +73 -0
  68. package/lib/tests/theia-workspace.test.js.map +1 -0
  69. package/lib/theia-about-dialog.d.ts +5 -0
  70. package/lib/theia-about-dialog.d.ts.map +1 -0
  71. package/lib/theia-about-dialog.js +27 -0
  72. package/lib/theia-about-dialog.js.map +1 -0
  73. package/lib/theia-app-loader.d.ts +20 -0
  74. package/lib/theia-app-loader.d.ts.map +1 -0
  75. package/lib/theia-app-loader.js +124 -0
  76. package/lib/theia-app-loader.js.map +1 -0
  77. package/lib/theia-app.d.ts +51 -0
  78. package/lib/theia-app.d.ts.map +1 -0
  79. package/lib/theia-app.js +154 -0
  80. package/lib/theia-app.js.map +1 -0
  81. package/lib/theia-context-menu.d.ts +9 -0
  82. package/lib/theia-context-menu.d.ts.map +1 -0
  83. package/lib/theia-context-menu.js +38 -0
  84. package/lib/theia-context-menu.js.map +1 -0
  85. package/lib/theia-dialog.d.ts +29 -0
  86. package/lib/theia-dialog.d.ts.map +1 -0
  87. package/lib/theia-dialog.js +100 -0
  88. package/lib/theia-dialog.js.map +1 -0
  89. package/lib/theia-editor.d.ts +10 -0
  90. package/lib/theia-editor.d.ts.map +1 -0
  91. package/lib/theia-editor.js +69 -0
  92. package/lib/theia-editor.js.map +1 -0
  93. package/lib/theia-explorer-view.d.ts +48 -0
  94. package/lib/theia-explorer-view.d.ts.map +1 -0
  95. package/lib/theia-explorer-view.js +274 -0
  96. package/lib/theia-explorer-view.js.map +1 -0
  97. package/lib/theia-main-menu.d.ts +13 -0
  98. package/lib/theia-main-menu.d.ts.map +1 -0
  99. package/lib/theia-main-menu.js +54 -0
  100. package/lib/theia-main-menu.js.map +1 -0
  101. package/lib/theia-menu-item.d.ts +15 -0
  102. package/lib/theia-menu-item.d.ts.map +1 -0
  103. package/lib/theia-menu-item.js +67 -0
  104. package/lib/theia-menu-item.js.map +1 -0
  105. package/lib/theia-menu.d.ts +17 -0
  106. package/lib/theia-menu.d.ts.map +1 -0
  107. package/lib/theia-menu.js +87 -0
  108. package/lib/theia-menu.js.map +1 -0
  109. package/lib/theia-monaco-editor.d.ts +30 -0
  110. package/lib/theia-monaco-editor.d.ts.map +1 -0
  111. package/lib/theia-monaco-editor.js +117 -0
  112. package/lib/theia-monaco-editor.js.map +1 -0
  113. package/lib/theia-notebook-cell.d.ts +96 -0
  114. package/lib/theia-notebook-cell.d.ts.map +1 -0
  115. package/lib/theia-notebook-cell.js +209 -0
  116. package/lib/theia-notebook-cell.js.map +1 -0
  117. package/lib/theia-notebook-editor.d.ts +50 -0
  118. package/lib/theia-notebook-editor.d.ts.map +1 -0
  119. package/lib/theia-notebook-editor.js +153 -0
  120. package/lib/theia-notebook-editor.js.map +1 -0
  121. package/lib/theia-notebook-toolbar.d.ts +13 -0
  122. package/lib/theia-notebook-toolbar.d.ts.map +1 -0
  123. package/lib/theia-notebook-toolbar.js +47 -0
  124. package/lib/theia-notebook-toolbar.js.map +1 -0
  125. package/lib/theia-notification-indicator.d.ts +8 -0
  126. package/lib/theia-notification-indicator.d.ts.map +1 -0
  127. package/lib/theia-notification-indicator.js +45 -0
  128. package/lib/theia-notification-indicator.js.map +1 -0
  129. package/lib/theia-notification-overlay.d.ts +23 -0
  130. package/lib/theia-notification-overlay.d.ts.map +1 -0
  131. package/lib/theia-notification-overlay.js +80 -0
  132. package/lib/theia-notification-overlay.js.map +1 -0
  133. package/lib/theia-output-channel.d.ts +25 -0
  134. package/lib/theia-output-channel.d.ts.map +1 -0
  135. package/lib/theia-output-channel.js +72 -0
  136. package/lib/theia-output-channel.js.map +1 -0
  137. package/lib/theia-output-view.d.ts +10 -0
  138. package/lib/theia-output-view.d.ts.map +1 -0
  139. package/lib/theia-output-view.js +82 -0
  140. package/lib/theia-output-view.js.map +1 -0
  141. package/lib/theia-page-object.d.ts +8 -0
  142. package/lib/theia-page-object.d.ts.map +1 -0
  143. package/lib/theia-page-object.js +28 -0
  144. package/lib/theia-page-object.js.map +1 -0
  145. package/lib/theia-preference-view.d.ts +91 -0
  146. package/lib/theia-preference-view.d.ts.map +1 -0
  147. package/lib/theia-preference-view.js +224 -0
  148. package/lib/theia-preference-view.js.map +1 -0
  149. package/lib/theia-problem-indicator.d.ts +9 -0
  150. package/lib/theia-problem-indicator.d.ts.map +1 -0
  151. package/lib/theia-problem-indicator.js +39 -0
  152. package/lib/theia-problem-indicator.js.map +1 -0
  153. package/lib/theia-problem-view.d.ts +6 -0
  154. package/lib/theia-problem-view.d.ts.map +1 -0
  155. package/lib/theia-problem-view.js +31 -0
  156. package/lib/theia-problem-view.js.map +1 -0
  157. package/lib/theia-quick-command-palette.d.ts +14 -0
  158. package/lib/theia-quick-command-palette.d.ts.map +1 -0
  159. package/lib/theia-quick-command-palette.js +87 -0
  160. package/lib/theia-quick-command-palette.js.map +1 -0
  161. package/lib/theia-rename-dialog.d.ts +6 -0
  162. package/lib/theia-rename-dialog.d.ts.map +1 -0
  163. package/lib/theia-rename-dialog.js +35 -0
  164. package/lib/theia-rename-dialog.js.map +1 -0
  165. package/lib/theia-status-bar.d.ts +14 -0
  166. package/lib/theia-status-bar.d.ts.map +1 -0
  167. package/lib/theia-status-bar.js +40 -0
  168. package/lib/theia-status-bar.js.map +1 -0
  169. package/lib/theia-status-indicator.d.ts +11 -0
  170. package/lib/theia-status-indicator.d.ts.map +1 -0
  171. package/lib/theia-status-indicator.js +49 -0
  172. package/lib/theia-status-indicator.js.map +1 -0
  173. package/lib/theia-terminal.d.ts +14 -0
  174. package/lib/theia-terminal.d.ts.map +1 -0
  175. package/lib/theia-terminal.js +60 -0
  176. package/lib/theia-terminal.js.map +1 -0
  177. package/lib/theia-text-editor.d.ts +27 -0
  178. package/lib/theia-text-editor.d.ts.map +1 -0
  179. package/lib/theia-text-editor.js +121 -0
  180. package/lib/theia-text-editor.js.map +1 -0
  181. package/lib/theia-toggle-bottom-indicator.d.ts +5 -0
  182. package/lib/theia-toggle-bottom-indicator.d.ts.map +1 -0
  183. package/lib/theia-toggle-bottom-indicator.js +27 -0
  184. package/lib/theia-toggle-bottom-indicator.js.map +1 -0
  185. package/lib/theia-toolbar-item.d.ts +11 -0
  186. package/lib/theia-toolbar-item.d.ts.map +1 -0
  187. package/lib/theia-toolbar-item.js +40 -0
  188. package/lib/theia-toolbar-item.js.map +1 -0
  189. package/lib/theia-toolbar.d.ts +20 -0
  190. package/lib/theia-toolbar.d.ts.map +1 -0
  191. package/lib/theia-toolbar.js +91 -0
  192. package/lib/theia-toolbar.js.map +1 -0
  193. package/lib/theia-tree-node.d.ts +20 -0
  194. package/lib/theia-tree-node.d.ts.map +1 -0
  195. package/lib/theia-tree-node.js +73 -0
  196. package/lib/theia-tree-node.js.map +1 -0
  197. package/lib/theia-view.d.ts +33 -0
  198. package/lib/theia-view.d.ts.map +1 -0
  199. package/lib/theia-view.js +150 -0
  200. package/lib/theia-view.js.map +1 -0
  201. package/lib/theia-welcome-view.d.ts +6 -0
  202. package/lib/theia-welcome-view.d.ts.map +1 -0
  203. package/lib/theia-welcome-view.js +31 -0
  204. package/lib/theia-welcome-view.js.map +1 -0
  205. package/lib/theia-workspace.d.ts +19 -0
  206. package/lib/theia-workspace.d.ts.map +1 -0
  207. package/lib/theia-workspace.js +72 -0
  208. package/lib/theia-workspace.js.map +1 -0
  209. package/lib/util.d.ts +20 -0
  210. package/lib/util.d.ts.map +1 -0
  211. package/lib/util.js +94 -0
  212. package/lib/util.js.map +1 -0
  213. package/package.json +3 -2
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TheiaEmbeddedMonacoEditor = exports.TheiaNotebookCell = void 0;
4
+ const theia_monaco_editor_1 = require("./theia-monaco-editor");
5
+ const theia_page_object_1 = require("./theia-page-object");
6
+ /**
7
+ * Page object for a Theia notebook cell.
8
+ */
9
+ class TheiaNotebookCell extends theia_page_object_1.TheiaPageObject {
10
+ constructor(locator, notebookEditorLocator, app) {
11
+ super(app);
12
+ this.locator = locator;
13
+ this.notebookEditorLocator = notebookEditorLocator;
14
+ const editorLocator = locator.locator('div.theia-notebook-cell-editor');
15
+ this.monacoEditor = new TheiaEmbeddedMonacoEditor(editorLocator, app);
16
+ }
17
+ /**
18
+ * @returns The monaco editor page object of the cell.
19
+ */
20
+ get editor() {
21
+ return this.monacoEditor;
22
+ }
23
+ /**
24
+ * @returns Locator for the sidebar (left) of the cell.
25
+ */
26
+ sidebar() {
27
+ return this.locator.locator('div.theia-notebook-cell-sidebar');
28
+ }
29
+ /**
30
+ * @returns Locator for the toolbar (top) of the cell.
31
+ */
32
+ toolbar() {
33
+ return this.locator.locator('div.theia-notebook-cell-toolbar');
34
+ }
35
+ /**
36
+ * @returns Locator for the statusbar (bottom) of the cell.
37
+ */
38
+ statusbar() {
39
+ return this.locator.locator('div.notebook-cell-status');
40
+ }
41
+ /**
42
+ * @returns Locator for the status icon inside the statusbar of the cell.
43
+ */
44
+ statusIcon() {
45
+ return this.statusbar().locator('span.notebook-cell-status-item');
46
+ }
47
+ /**
48
+ * @returns `true` id the cell is a code cell, `false` otherwise.
49
+ */
50
+ async isCodeCell() {
51
+ const classAttribute = await this.mode();
52
+ return classAttribute !== 'markdown';
53
+ }
54
+ /**
55
+ * @returns The mode of the cell, e.g. 'python', 'markdown', etc.
56
+ */
57
+ async mode() {
58
+ await this.locator.waitFor({ state: 'visible' });
59
+ const editorElement = await this.editor.locator.elementHandle();
60
+ if (editorElement === null) {
61
+ throw new Error('Could not find editor element for the notebook cell.');
62
+ }
63
+ const classAttribute = await editorElement.getAttribute('data-mode-id');
64
+ if (classAttribute === null) {
65
+ throw new Error('Could not find mode attribute for the notebook cell.');
66
+ }
67
+ return classAttribute;
68
+ }
69
+ /**
70
+ * @returns The text content of the cell editor.
71
+ */
72
+ async editorText() {
73
+ return this.editor.editorText();
74
+ }
75
+ /**
76
+ * Adds text to the editor of the cell.
77
+ * @param text The text to add to the editor.
78
+ * @param lineNumber The line number where to add the text. Default is 1.
79
+ */
80
+ async addEditorText(text, lineNumber = 1) {
81
+ await this.editor.addEditorText(text, lineNumber);
82
+ }
83
+ /**
84
+ * @param wait If `true` waits for the cell to finish execution, otherwise returns immediately.
85
+ */
86
+ async execute(wait = true) {
87
+ const execButton = this.sidebar().locator('[id="notebook.cell.execute-cell"]');
88
+ await execButton.waitFor({ state: 'visible' });
89
+ await execButton.click();
90
+ if (wait) {
91
+ // wait for the cell to finish execution
92
+ await this.waitForCellStatus('success', 'error');
93
+ }
94
+ }
95
+ /**
96
+ * Splits the cell into two cells by dividing the cell text on current cursor position.
97
+ */
98
+ async splitCell() {
99
+ const execButton = this.toolbar().locator('[id="notebook.cell.split"]');
100
+ await execButton.waitFor({ state: 'visible' });
101
+ await execButton.click();
102
+ }
103
+ /**
104
+ * Waits for the cell to reach a specific status.
105
+ * @param status The status to wait for. Possible values are 'success', 'error', 'waiting'.
106
+ */
107
+ async waitForCellStatus(...status) {
108
+ await this.statusIcon().waitFor({ state: 'visible' });
109
+ await this.statusIcon().evaluate((element, expect) => {
110
+ if (expect.length === 0) {
111
+ return true;
112
+ }
113
+ const classes = element.getAttribute('class');
114
+ if (classes !== null) {
115
+ const cellStatus = classes.includes('codicon-check') ? 'success'
116
+ : classes.includes('codicon-error') ? 'error'
117
+ : 'waiting';
118
+ return expect.includes(cellStatus);
119
+ }
120
+ return false;
121
+ }, status);
122
+ }
123
+ /**
124
+ * @returns The status of the cell. Possible values are 'success', 'error', 'waiting'.
125
+ */
126
+ async status() {
127
+ var _a, _b;
128
+ const statusLocator = this.statusIcon();
129
+ const status = this.toCellStatus((_b = await ((_a = (await statusLocator.elementHandle())) === null || _a === void 0 ? void 0 : _a.getAttribute('class'))) !== null && _b !== void 0 ? _b : '');
130
+ return status;
131
+ }
132
+ toCellStatus(classes) {
133
+ return classes.includes('codicon-check') ? 'success'
134
+ : classes.includes('codicon-error') ? 'error'
135
+ : 'waiting';
136
+ }
137
+ /**
138
+ * @returns The execution count of the cell.
139
+ */
140
+ async executionCount() {
141
+ const countNode = this.sidebar().locator('span.theia-notebook-code-cell-execution-order');
142
+ await countNode.waitFor({ state: 'visible' });
143
+ await this.waitForCellStatus('success', 'error');
144
+ const text = await countNode.textContent();
145
+ return text === null || text === void 0 ? void 0 : text.substring(1, text.length - 1);
146
+ }
147
+ /**
148
+ * @returns `true` if the cell is selected (blue vertical line), `false` otherwise.
149
+ */
150
+ async isSelected() {
151
+ var _a;
152
+ const markerClass = await this.locator.locator('div.theia-notebook-cell-marker').getAttribute('class');
153
+ return (_a = markerClass === null || markerClass === void 0 ? void 0 : markerClass.includes('theia-notebook-cell-marker-selected')) !== null && _a !== void 0 ? _a : false;
154
+ }
155
+ /**
156
+ * @returns The output text of the cell.
157
+ */
158
+ async outputText() {
159
+ const outputContainer = await this.outputContainer();
160
+ await outputContainer.waitFor({ state: 'visible' });
161
+ // By default just collect all spans text.
162
+ const spansLocator = outputContainer.locator('span:not(:has(*))'); // ignore nested spans
163
+ const spanTexts = await spansLocator.evaluateAll(spans => spans.map(span => { var _a; return (_a = span.textContent) === null || _a === void 0 ? void 0 : _a.trim(); })
164
+ .filter(text => text !== undefined && text.length > 0));
165
+ return spanTexts.join('');
166
+ }
167
+ /**
168
+ * Selects the cell itself not it's editor. Important for shortcut usage like copy-, cut-, paste-cell.
169
+ */
170
+ async selectCell() {
171
+ await this.sidebar().click();
172
+ }
173
+ async outputContainer() {
174
+ const outFrame = await this.outputFrame();
175
+ // each cell has it's own output div with a unique id = cellHandle<handle>
176
+ const cellOutput = outFrame.locator(`div#cellHandle${await this.cellHandle()}`);
177
+ return cellOutput.locator('div.output-container');
178
+ }
179
+ async cellHandle() {
180
+ const handle = await this.locator.getAttribute('data-cell-handle');
181
+ if (handle === null) {
182
+ throw new Error('Could not find cell handle attribute `data-cell-handle` for the notebook cell.');
183
+ }
184
+ return handle;
185
+ }
186
+ async outputFrame() {
187
+ const containerDiv = this.notebookEditorLocator.locator('div.theia-notebook-cell-output-webview');
188
+ const webViewFrame = containerDiv.frameLocator('iframe.webview');
189
+ await webViewFrame.locator('iframe').waitFor({ state: 'attached' });
190
+ return webViewFrame.frameLocator('iframe');
191
+ }
192
+ }
193
+ exports.TheiaNotebookCell = TheiaNotebookCell;
194
+ class TheiaEmbeddedMonacoEditor extends theia_monaco_editor_1.TheiaMonacoEditor {
195
+ constructor(locator, app) {
196
+ super('', app);
197
+ this.locator = locator;
198
+ }
199
+ async waitForVisible() {
200
+ // Use locator instead of page to find the editor element.
201
+ await this.locator.waitFor({ state: 'visible' });
202
+ }
203
+ viewElement() {
204
+ // Use locator instead of page to find the editor element.
205
+ return this.locator.elementHandle();
206
+ }
207
+ }
208
+ exports.TheiaEmbeddedMonacoEditor = TheiaEmbeddedMonacoEditor;
209
+ //# sourceMappingURL=theia-notebook-cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-notebook-cell.js","sourceRoot":"","sources":["../src/theia-notebook-cell.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { Locator } from '@playwright/test';
2
+ import { TheiaApp } from './theia-app';
3
+ import { TheiaEditor } from './theia-editor';
4
+ import { TheiaNotebookCell } from './theia-notebook-cell';
5
+ import { TheiaNotebookToolbar } from './theia-notebook-toolbar';
6
+ import { TheiaToolbarItem } from './theia-toolbar-item';
7
+ export declare namespace NotebookCommands {
8
+ const SELECT_KERNEL_COMMAND = "notebook.selectKernel";
9
+ const ADD_NEW_CELL_COMMAND = "notebook.add-new-code-cell";
10
+ const ADD_NEW_MARKDOWN_CELL_COMMAND = "notebook.add-new-markdown-cell";
11
+ const EXECUTE_NOTEBOOK_COMMAND = "notebook.execute";
12
+ const CLEAR_ALL_OUTPUTS_COMMAND = "notebook.clear-all-outputs";
13
+ const EXPORT_COMMAND = "jupyter.notebookeditor.export";
14
+ }
15
+ export declare class TheiaNotebookEditor extends TheiaEditor {
16
+ constructor(filePath: string, app: TheiaApp);
17
+ protected viewLocator(): Locator;
18
+ tabLocator(): Locator;
19
+ waitForVisible(): Promise<void>;
20
+ /**
21
+ * @returns The main toolbar of the notebook editor.
22
+ */
23
+ notebookToolbar(): TheiaNotebookToolbar;
24
+ /**
25
+ * @returns The name of the selected kernel.
26
+ */
27
+ selectedKernel(): Promise<string | undefined | null>;
28
+ /**
29
+ * Allows to select a kernel using toolbar item.
30
+ * @param kernelName The name of the kernel to select.
31
+ */
32
+ selectKernel(kernelName: string): Promise<void>;
33
+ availableKernels(): Promise<string[]>;
34
+ /**
35
+ * Adds a new code cell to the notebook.
36
+ */
37
+ addCodeCell(): Promise<void>;
38
+ /**
39
+ * Adds a new markdown cell to the notebook.
40
+ */
41
+ addMarkdownCell(): Promise<void>;
42
+ waitForCellCountChanged(prevCount: number): Promise<void>;
43
+ executeAllCells(): Promise<void>;
44
+ clearAllOutputs(): Promise<void>;
45
+ exportAs(): Promise<void>;
46
+ cells(): Promise<TheiaNotebookCell[]>;
47
+ protected triggerToolbarItem(id: string): Promise<void>;
48
+ protected toolbarItem(id: string): Promise<TheiaToolbarItem | undefined>;
49
+ }
50
+ //# sourceMappingURL=theia-notebook-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-notebook-editor.d.ts","sourceRoot":"","sources":["../src/theia-notebook-editor.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,yBAAiB,gBAAgB,CAAC;IACvB,MAAM,qBAAqB,0BAA0B,CAAC;IACtD,MAAM,oBAAoB,+BAA+B,CAAC;IAC1D,MAAM,6BAA6B,mCAAmC,CAAC;IACvE,MAAM,wBAAwB,qBAAqB,CAAC;IACpD,MAAM,yBAAyB,+BAA+B,CAAC;IAC/D,MAAM,cAAc,kCAAkC,CAAC;CACjE;AAED,qBAAa,mBAAoB,SAAQ,WAAW;gBAEpC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ;IAS3C,SAAS,CAAC,WAAW,IAAI,OAAO;IAIhC,UAAU,IAAI,OAAO;IAIN,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAM9C;;OAEG;IACH,eAAe,IAAI,oBAAoB;IAIvC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAQ1D;;;OAGG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/C,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAkB3C;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAMlC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAMhC,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzD,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,KAAK,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;cAU3B,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAQ7C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;CAKjF"}
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2024 TypeFox GmbH 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.TheiaNotebookEditor = exports.NotebookCommands = void 0;
19
+ const path_1 = require("path");
20
+ const theia_editor_1 = require("./theia-editor");
21
+ const theia_notebook_cell_1 = require("./theia-notebook-cell");
22
+ const theia_notebook_toolbar_1 = require("./theia-notebook-toolbar");
23
+ const theia_quick_command_palette_1 = require("./theia-quick-command-palette");
24
+ const util_1 = require("./util");
25
+ var NotebookCommands;
26
+ (function (NotebookCommands) {
27
+ NotebookCommands.SELECT_KERNEL_COMMAND = 'notebook.selectKernel';
28
+ NotebookCommands.ADD_NEW_CELL_COMMAND = 'notebook.add-new-code-cell';
29
+ NotebookCommands.ADD_NEW_MARKDOWN_CELL_COMMAND = 'notebook.add-new-markdown-cell';
30
+ NotebookCommands.EXECUTE_NOTEBOOK_COMMAND = 'notebook.execute';
31
+ NotebookCommands.CLEAR_ALL_OUTPUTS_COMMAND = 'notebook.clear-all-outputs';
32
+ NotebookCommands.EXPORT_COMMAND = 'jupyter.notebookeditor.export';
33
+ })(NotebookCommands || (exports.NotebookCommands = NotebookCommands = {}));
34
+ class TheiaNotebookEditor extends theia_editor_1.TheiaEditor {
35
+ constructor(filePath, app) {
36
+ // shell-tab-notebook::file://<path>
37
+ // notebook:file://<path>
38
+ super({
39
+ tabSelector: (0, util_1.normalizeId)(`#shell-tab-notebook:file://${(0, util_1.urlEncodePath)((0, path_1.join)(app.workspace.escapedPath, util_1.OSUtil.fileSeparator, filePath))}`),
40
+ viewSelector: (0, util_1.normalizeId)(`#notebook:file://${(0, util_1.urlEncodePath)((0, path_1.join)(app.workspace.escapedPath, util_1.OSUtil.fileSeparator, filePath))}`)
41
+ }, app);
42
+ }
43
+ viewLocator() {
44
+ return this.page.locator(this.data.viewSelector);
45
+ }
46
+ tabLocator() {
47
+ return this.page.locator(this.data.viewSelector);
48
+ }
49
+ async waitForVisible() {
50
+ await super.waitForVisible();
51
+ // wait for toolbar being rendered as it takes some time to load the kernel data.
52
+ await this.notebookToolbar().waitForVisible();
53
+ }
54
+ /**
55
+ * @returns The main toolbar of the notebook editor.
56
+ */
57
+ notebookToolbar() {
58
+ return new theia_notebook_toolbar_1.TheiaNotebookToolbar(this.viewLocator(), this.app);
59
+ }
60
+ /**
61
+ * @returns The name of the selected kernel.
62
+ */
63
+ async selectedKernel() {
64
+ const kernelItem = await this.toolbarItem(NotebookCommands.SELECT_KERNEL_COMMAND);
65
+ if (!kernelItem) {
66
+ throw new Error('Select kernel toolbar item not found.');
67
+ }
68
+ return this.notebookToolbar().locator.locator('#kernel-text').innerText();
69
+ }
70
+ /**
71
+ * Allows to select a kernel using toolbar item.
72
+ * @param kernelName The name of the kernel to select.
73
+ */
74
+ async selectKernel(kernelName) {
75
+ await this.triggerToolbarItem(NotebookCommands.SELECT_KERNEL_COMMAND);
76
+ const qInput = new theia_quick_command_palette_1.TheiaQuickCommandPalette(this.app);
77
+ const widget = await this.page.waitForSelector(qInput.selector, { timeout: 5000 });
78
+ if (widget && !await qInput.isOpen()) {
79
+ throw new Error('Failed to trigger kernel selection');
80
+ }
81
+ await qInput.type(kernelName, true);
82
+ await qInput.hide();
83
+ }
84
+ async availableKernels() {
85
+ await this.triggerToolbarItem(NotebookCommands.SELECT_KERNEL_COMMAND);
86
+ const qInput = new theia_quick_command_palette_1.TheiaQuickCommandPalette(this.app);
87
+ const widget = await this.page.waitForSelector(qInput.selector, { timeout: 5000 });
88
+ if (widget && !await qInput.isOpen()) {
89
+ throw new Error('Failed to trigger kernel selection');
90
+ }
91
+ await qInput.type('Python', false);
92
+ try {
93
+ const listItems = await Promise.all((await qInput.visibleItems()).map(async (item) => item.textContent()));
94
+ await this.page.keyboard.press('Enter');
95
+ await qInput.hide();
96
+ return listItems.filter(item => item !== null);
97
+ }
98
+ finally {
99
+ await qInput.hide();
100
+ }
101
+ }
102
+ /**
103
+ * Adds a new code cell to the notebook.
104
+ */
105
+ async addCodeCell() {
106
+ const currentCellsCount = (await this.cells()).length;
107
+ await this.triggerToolbarItem(NotebookCommands.ADD_NEW_CELL_COMMAND);
108
+ await this.waitForCellCountChanged(currentCellsCount);
109
+ }
110
+ /**
111
+ * Adds a new markdown cell to the notebook.
112
+ */
113
+ async addMarkdownCell() {
114
+ const currentCellsCount = (await this.cells()).length;
115
+ await this.triggerToolbarItem(NotebookCommands.ADD_NEW_MARKDOWN_CELL_COMMAND);
116
+ await this.waitForCellCountChanged(currentCellsCount);
117
+ }
118
+ async waitForCellCountChanged(prevCount) {
119
+ await this.viewLocator().locator('li.theia-notebook-cell').evaluateAll((elements, currentCount) => elements.length !== currentCount, prevCount);
120
+ }
121
+ async executeAllCells() {
122
+ await this.triggerToolbarItem(NotebookCommands.EXECUTE_NOTEBOOK_COMMAND);
123
+ }
124
+ async clearAllOutputs() {
125
+ await this.triggerToolbarItem(NotebookCommands.CLEAR_ALL_OUTPUTS_COMMAND);
126
+ }
127
+ async exportAs() {
128
+ await this.triggerToolbarItem(NotebookCommands.EXPORT_COMMAND);
129
+ }
130
+ async cells() {
131
+ const cellsLocator = this.viewLocator().locator('li.theia-notebook-cell');
132
+ const cells = [];
133
+ for (const cellLocator of await cellsLocator.all()) {
134
+ await cellLocator.waitFor({ state: 'visible' });
135
+ cells.push(new theia_notebook_cell_1.TheiaNotebookCell(cellLocator, this.viewLocator(), this.app));
136
+ }
137
+ return cells;
138
+ }
139
+ async triggerToolbarItem(id) {
140
+ const item = await this.toolbarItem(id);
141
+ if (!item) {
142
+ throw new Error(`Toolbar item with id ${id} not found`);
143
+ }
144
+ await item.trigger();
145
+ }
146
+ async toolbarItem(id) {
147
+ const toolBar = this.notebookToolbar();
148
+ await toolBar.waitForVisible();
149
+ return toolBar.toolBarItem(id);
150
+ }
151
+ }
152
+ exports.TheiaNotebookEditor = TheiaNotebookEditor;
153
+ //# sourceMappingURL=theia-notebook-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-notebook-editor.js","sourceRoot":"","sources":["../src/theia-notebook-editor.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,8CAA8C;AAC9C,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,+BAA4B;AAE5B,iDAA6C;AAC7C,+DAA0D;AAC1D,qEAAgE;AAChE,+EAAyE;AAEzE,iCAA4D;AAE5D,IAAiB,gBAAgB,CAOhC;AAPD,WAAiB,gBAAgB;IAChB,sCAAqB,GAAG,uBAAuB,CAAC;IAChD,qCAAoB,GAAG,4BAA4B,CAAC;IACpD,8CAA6B,GAAG,gCAAgC,CAAC;IACjE,yCAAwB,GAAG,kBAAkB,CAAC;IAC9C,0CAAyB,GAAG,4BAA4B,CAAC;IACzD,+BAAc,GAAG,+BAA+B,CAAC;AAClE,CAAC,EAPgB,gBAAgB,gCAAhB,gBAAgB,QAOhC;AAED,MAAa,mBAAoB,SAAQ,0BAAW;IAEhD,YAAY,QAAgB,EAAE,GAAa;QACvC,oCAAoC;QACpC,yBAAyB;QACzB,KAAK,CAAC;YACF,WAAW,EAAE,IAAA,kBAAW,EAAC,8BAA8B,IAAA,oBAAa,EAAC,IAAA,WAAI,EAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,aAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YACxI,YAAY,EAAE,IAAA,kBAAW,EAAC,oBAAoB,IAAA,oBAAa,EAAC,IAAA,WAAI,EAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,aAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;SAClI,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC;IAES,WAAW;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC;IAEQ,KAAK,CAAC,cAAc;QACzB,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;QAC7B,iFAAiF;QACjF,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,cAAc,EAAE,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,eAAe;QACX,OAAO,IAAI,6CAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAChB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;QAClF,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,UAAkB;QACjC,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,sDAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACnF,IAAI,MAAM,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,sDAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACnF,IAAI,MAAM,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACzG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAa,CAAC;QAC/D,CAAC;gBAAS,CAAC;YACP,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACb,MAAM,iBAAiB,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACtD,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;QACrE,MAAM,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACjB,MAAM,iBAAiB,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACtD,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,CAAC;QAC9E,MAAM,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,SAAiB;QAC3C,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,WAAW,CAClE,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,YAAY,EAAE,SAAS,CAC1E,CAAC;IACN,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,KAAK;QACP,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAC1E,MAAM,KAAK,GAA6B,EAAE,CAAC;QAC3C,KAAK,MAAM,WAAW,IAAI,MAAM,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC;YACjD,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,IAAI,uCAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,KAAK,CAAC,kBAAkB,CAAC,EAAU;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,wBAAwB,EAAE,YAAY,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,EAAU;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACvC,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;CACJ;AAvID,kDAuIC"}
@@ -0,0 +1,13 @@
1
+ import { ElementHandle, Locator } from '@playwright/test';
2
+ import { TheiaApp } from './theia-app';
3
+ import { TheiaToolbar } from './theia-toolbar';
4
+ export declare class TheiaNotebookToolbar extends TheiaToolbar {
5
+ readonly locator: Locator;
6
+ constructor(parentLocator: Locator, app: TheiaApp);
7
+ protected toolBarItemSelector(toolbarItemId?: string): string;
8
+ protected toolbarElementHandle(): Promise<ElementHandle<SVGElement | HTMLElement> | null>;
9
+ waitForVisible(): Promise<void>;
10
+ waitUntilHidden(): Promise<void>;
11
+ waitUntilShown(): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=theia-notebook-toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-notebook-toolbar.d.ts","sourceRoot":"","sources":["../src/theia-notebook-toolbar.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,oBAAqB,SAAQ,YAAY;IAClD,SAAgB,OAAO,EAAE,OAAO,CAAC;gBAErB,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ;cAM9B,mBAAmB,CAAC,aAAa,SAAK,GAAG,MAAM;cAIzC,oBAAoB,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC;IAKzF,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAK/B,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAKhC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CAIjD"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2024 TypeFox GmbH 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.TheiaNotebookToolbar = void 0;
19
+ const theia_toolbar_1 = require("./theia-toolbar");
20
+ class TheiaNotebookToolbar extends theia_toolbar_1.TheiaToolbar {
21
+ constructor(parentLocator, app) {
22
+ super(app);
23
+ this.selector = 'div#notebook-main-toolbar';
24
+ this.locator = parentLocator.locator(this.selector);
25
+ }
26
+ toolBarItemSelector(toolbarItemId = '') {
27
+ return `div.theia-notebook-main-toolbar-item${toolbarItemId ? `[id="${toolbarItemId}"]` : ''}`;
28
+ }
29
+ async toolbarElementHandle() {
30
+ // Use locator instead of page to find the toolbar element.
31
+ return this.locator.elementHandle();
32
+ }
33
+ async waitForVisible() {
34
+ // Use locator instead of page to find the toolbar element.
35
+ await this.locator.waitFor({ state: 'visible' });
36
+ }
37
+ async waitUntilHidden() {
38
+ // Use locator instead of page to find the toolbar element.
39
+ await this.locator.waitFor({ state: 'hidden' });
40
+ }
41
+ async waitUntilShown() {
42
+ // Use locator instead of page to find the toolbar element.
43
+ await this.locator.waitFor({ state: 'visible' });
44
+ }
45
+ }
46
+ exports.TheiaNotebookToolbar = TheiaNotebookToolbar;
47
+ //# sourceMappingURL=theia-notebook-toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-notebook-toolbar.js","sourceRoot":"","sources":["../src/theia-notebook-toolbar.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,8CAA8C;AAC9C,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;;;AAIhF,mDAA+C;AAE/C,MAAa,oBAAqB,SAAQ,4BAAY;IAGlD,YAAY,aAAsB,EAAE,GAAa;QAC7C,KAAK,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,QAAQ,GAAG,2BAA2B,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAEkB,mBAAmB,CAAC,aAAa,GAAG,EAAE;QACrD,OAAO,uCAAuC,aAAa,CAAC,CAAC,CAAC,QAAQ,aAAa,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACnG,CAAC;IAEkB,KAAK,CAAC,oBAAoB;QACzC,2DAA2D;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IACxC,CAAC;IAEQ,KAAK,CAAC,cAAc;QACzB,2DAA2D;QAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACrD,CAAC;IAEQ,KAAK,CAAC,eAAe;QAC1B,2DAA2D;QAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;IAEQ,KAAK,CAAC,cAAc;QACzB,2DAA2D;QAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACrD,CAAC;CACJ;AAhCD,oDAgCC"}
@@ -0,0 +1,8 @@
1
+ import { TheiaStatusIndicator } from './theia-status-indicator';
2
+ export declare class TheiaNotificationIndicator extends TheiaStatusIndicator {
3
+ id: string;
4
+ hasNotifications(): Promise<boolean>;
5
+ waitForVisible(expectNotifications?: boolean): Promise<void>;
6
+ toggleOverlay(): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=theia-notification-indicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-notification-indicator.d.ts","sourceRoot":"","sources":["../src/theia-notification-indicator.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAIhE,qBAAa,0BAA2B,SAAQ,oBAAoB;IAChE,EAAE,SAA+B;IAE3B,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAM3B,cAAc,CAAC,mBAAmB,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnE,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAOvC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2021 logi.cals GmbH, EclipseSource 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.TheiaNotificationIndicator = void 0;
19
+ const theia_status_indicator_1 = require("./theia-status-indicator");
20
+ const NOTIFICATION_DOT_ICON = 'codicon-bell-dot';
21
+ class TheiaNotificationIndicator extends theia_status_indicator_1.TheiaStatusIndicator {
22
+ constructor() {
23
+ super(...arguments);
24
+ this.id = 'theia-notification-center';
25
+ }
26
+ async hasNotifications() {
27
+ const container = await this.getElementHandle();
28
+ const bellWithDot = await container.$(`.${NOTIFICATION_DOT_ICON}`);
29
+ return Boolean(bellWithDot === null || bellWithDot === void 0 ? void 0 : bellWithDot.isVisible());
30
+ }
31
+ async waitForVisible(expectNotifications = false) {
32
+ await super.waitForVisible();
33
+ if (expectNotifications && !(await this.hasNotifications())) {
34
+ throw new Error('No notifications when notifications expected.');
35
+ }
36
+ }
37
+ async toggleOverlay() {
38
+ const element = await this.getElementHandle();
39
+ if (element) {
40
+ await element.click();
41
+ }
42
+ }
43
+ }
44
+ exports.TheiaNotificationIndicator = TheiaNotificationIndicator;
45
+ //# sourceMappingURL=theia-notification-indicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-notification-indicator.js","sourceRoot":"","sources":["../src/theia-notification-indicator.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+DAA+D;AAC/D,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,qEAAgE;AAEhE,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAEjD,MAAa,0BAA2B,SAAQ,6CAAoB;IAApE;;QACI,OAAE,GAAG,2BAA2B,CAAC;IAsBrC,CAAC;IApBG,KAAK,CAAC,gBAAgB;QAClB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAChD,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QACnE,OAAO,OAAO,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,EAAE,CAAC,CAAC;IAC7C,CAAC;IAEQ,KAAK,CAAC,cAAc,CAAC,mBAAmB,GAAG,KAAK;QACrD,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;QAC7B,IAAI,mBAAmB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa;QACf,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9C,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;IACL,CAAC;CAEJ;AAvBD,gEAuBC"}
@@ -0,0 +1,23 @@
1
+ import { TheiaApp } from './theia-app';
2
+ import { TheiaNotificationIndicator } from './theia-notification-indicator';
3
+ import { TheiaPageObject } from './theia-page-object';
4
+ export declare class TheiaNotificationOverlay extends TheiaPageObject {
5
+ protected notificationIndicator: TheiaNotificationIndicator;
6
+ protected readonly HEADER_NOTIFICATIONS = "NOTIFICATIONS";
7
+ protected readonly HEADER_NO_NOTIFICATIONS = "NO NEW NOTIFICATIONS";
8
+ constructor(app: TheiaApp, notificationIndicator: TheiaNotificationIndicator);
9
+ protected get selector(): string;
10
+ protected get containerSelector(): string;
11
+ protected get titleSelector(): string;
12
+ isVisible(): Promise<boolean>;
13
+ waitForVisible(): Promise<void>;
14
+ activate(): Promise<void>;
15
+ toggle(): Promise<void>;
16
+ protected entrySelector(entryText: string): string;
17
+ waitForEntry(entryText: string): Promise<void>;
18
+ waitForEntryDetached(entryText: string): Promise<void>;
19
+ isEntryVisible(entryText: string): Promise<boolean>;
20
+ protected get clearAllButtonSelector(): string;
21
+ clearAllNotifications(): Promise<void>;
22
+ }
23
+ //# sourceMappingURL=theia-notification-overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-notification-overlay.d.ts","sourceRoot":"","sources":["../src/theia-notification-overlay.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,wBAAyB,SAAQ,eAAe;IAK9B,SAAS,CAAC,qBAAqB,EAAE,0BAA0B;IAHtF,SAAS,CAAC,QAAQ,CAAC,oBAAoB,mBAAmB;IAC1D,SAAS,CAAC,QAAQ,CAAC,uBAAuB,0BAA0B;gBAExD,GAAG,EAAE,QAAQ,EAAY,qBAAqB,EAAE,0BAA0B;IAItF,SAAS,KAAK,QAAQ,IAAI,MAAM,CAE/B;IAED,SAAS,KAAK,iBAAiB,IAAI,MAAM,CAExC;IAED,SAAS,KAAK,aAAa,IAAI,MAAM,CAEpC;IAEK,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAK7B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAOzB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI5C,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMzD,SAAS,KAAK,sBAAsB,IAAI,MAAM,CAE7C;IAEK,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;CAO/C"}