@theia/getting-started 1.75.0-next.4 → 1.75.0-next.43

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 (86) hide show
  1. package/lib/browser/getting-started-contribution.d.ts +30 -2
  2. package/lib/browser/getting-started-contribution.d.ts.map +1 -1
  3. package/lib/browser/getting-started-contribution.js +120 -0
  4. package/lib/browser/getting-started-contribution.js.map +1 -1
  5. package/lib/browser/getting-started-contribution.spec.d.ts +2 -0
  6. package/lib/browser/getting-started-contribution.spec.d.ts.map +1 -0
  7. package/lib/browser/getting-started-contribution.spec.js +152 -0
  8. package/lib/browser/getting-started-contribution.spec.js.map +1 -0
  9. package/lib/browser/getting-started-frontend-module.d.ts.map +1 -1
  10. package/lib/browser/getting-started-frontend-module.js +8 -0
  11. package/lib/browser/getting-started-frontend-module.js.map +1 -1
  12. package/lib/browser/getting-started-widget.d.ts +27 -0
  13. package/lib/browser/getting-started-widget.d.ts.map +1 -1
  14. package/lib/browser/getting-started-widget.js +94 -113
  15. package/lib/browser/getting-started-widget.js.map +1 -1
  16. package/lib/browser/getting-started-widget.spec.d.ts +2 -0
  17. package/lib/browser/getting-started-widget.spec.d.ts.map +1 -0
  18. package/lib/browser/getting-started-widget.spec.js +71 -0
  19. package/lib/browser/getting-started-widget.spec.js.map +1 -0
  20. package/lib/browser/walkthrough-card.d.ts +8 -0
  21. package/lib/browser/walkthrough-card.d.ts.map +1 -0
  22. package/lib/browser/walkthrough-card.js +32 -0
  23. package/lib/browser/walkthrough-card.js.map +1 -0
  24. package/lib/browser/walkthrough-card.spec.d.ts +2 -0
  25. package/lib/browser/walkthrough-card.spec.d.ts.map +1 -0
  26. package/lib/browser/walkthrough-card.spec.js +188 -0
  27. package/lib/browser/walkthrough-card.spec.js.map +1 -0
  28. package/lib/browser/walkthrough-detail.d.ts +19 -0
  29. package/lib/browser/walkthrough-detail.d.ts.map +1 -0
  30. package/lib/browser/walkthrough-detail.js +192 -0
  31. package/lib/browser/walkthrough-detail.js.map +1 -0
  32. package/lib/browser/walkthrough-detail.spec.d.ts +2 -0
  33. package/lib/browser/walkthrough-detail.spec.d.ts.map +1 -0
  34. package/lib/browser/walkthrough-detail.spec.js +409 -0
  35. package/lib/browser/walkthrough-detail.spec.js.map +1 -0
  36. package/lib/browser/walkthrough-icon.d.ts +10 -0
  37. package/lib/browser/walkthrough-icon.d.ts.map +1 -0
  38. package/lib/browser/walkthrough-icon.js +38 -0
  39. package/lib/browser/walkthrough-icon.js.map +1 -0
  40. package/lib/browser/walkthrough-section.d.ts +23 -0
  41. package/lib/browser/walkthrough-section.d.ts.map +1 -0
  42. package/lib/browser/walkthrough-section.js +61 -0
  43. package/lib/browser/walkthrough-section.js.map +1 -0
  44. package/lib/browser/walkthrough-section.spec.d.ts +2 -0
  45. package/lib/browser/walkthrough-section.spec.d.ts.map +1 -0
  46. package/lib/browser/walkthrough-section.spec.js +328 -0
  47. package/lib/browser/walkthrough-section.spec.js.map +1 -0
  48. package/lib/browser/walkthrough-service.d.ts +166 -0
  49. package/lib/browser/walkthrough-service.d.ts.map +1 -0
  50. package/lib/browser/walkthrough-service.js +505 -0
  51. package/lib/browser/walkthrough-service.js.map +1 -0
  52. package/lib/browser/walkthrough-service.spec.d.ts +2 -0
  53. package/lib/browser/walkthrough-service.spec.d.ts.map +1 -0
  54. package/lib/browser/walkthrough-service.spec.js +1026 -0
  55. package/lib/browser/walkthrough-service.spec.js.map +1 -0
  56. package/lib/common/getting-started-preferences.d.ts +1 -0
  57. package/lib/common/getting-started-preferences.d.ts.map +1 -1
  58. package/lib/common/getting-started-preferences.js +5 -0
  59. package/lib/common/getting-started-preferences.js.map +1 -1
  60. package/lib/common/walkthrough-commands.d.ts +11 -0
  61. package/lib/common/walkthrough-commands.d.ts.map +1 -0
  62. package/lib/common/walkthrough-commands.js +41 -0
  63. package/lib/common/walkthrough-commands.js.map +1 -0
  64. package/lib/common/walkthrough-types.d.ts +22 -0
  65. package/lib/common/walkthrough-types.d.ts.map +1 -0
  66. package/lib/common/walkthrough-types.js +18 -0
  67. package/lib/common/walkthrough-types.js.map +1 -0
  68. package/package.json +8 -7
  69. package/src/browser/getting-started-contribution.spec.ts +188 -0
  70. package/src/browser/getting-started-contribution.ts +139 -3
  71. package/src/browser/getting-started-frontend-module.ts +8 -0
  72. package/src/browser/getting-started-widget.spec.tsx +88 -0
  73. package/src/browser/getting-started-widget.tsx +96 -3
  74. package/src/browser/style/index.css +279 -0
  75. package/src/browser/walkthrough-card.spec.tsx +246 -0
  76. package/src/browser/walkthrough-card.tsx +62 -0
  77. package/src/browser/walkthrough-detail.spec.tsx +674 -0
  78. package/src/browser/walkthrough-detail.tsx +347 -0
  79. package/src/browser/walkthrough-icon.tsx +42 -0
  80. package/src/browser/walkthrough-section.spec.tsx +483 -0
  81. package/src/browser/walkthrough-section.tsx +119 -0
  82. package/src/browser/walkthrough-service.spec.ts +1279 -0
  83. package/src/browser/walkthrough-service.ts +565 -0
  84. package/src/common/getting-started-preferences.ts +6 -0
  85. package/src/common/walkthrough-commands.ts +37 -0
  86. package/src/common/walkthrough-types.ts +39 -0
@@ -0,0 +1,328 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("@theia/core/shared/react/jsx-runtime");
4
+ // *****************************************************************************
5
+ // Copyright (C) 2026 EclipseSource and others.
6
+ //
7
+ // This program and the accompanying materials are made available under the
8
+ // terms of the Eclipse Public License v. 2.0 which is available at
9
+ // http://www.eclipse.org/legal/epl-2.0.
10
+ //
11
+ // This Source Code may also be made available under the following Secondary
12
+ // Licenses when the conditions for such availability set forth in the Eclipse
13
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
14
+ // with the GNU Classpath Exception which is available at
15
+ // https://www.gnu.org/software/classpath/license.html.
16
+ //
17
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
18
+ // *****************************************************************************
19
+ const assert = require("assert");
20
+ const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
21
+ let disableJSDOM = (0, jsdom_1.enableJSDOM)();
22
+ const client_1 = require("@theia/core/shared/react-dom/client");
23
+ const event_1 = require("@theia/core/lib/common/event");
24
+ const disposable_1 = require("@theia/core/lib/common/disposable");
25
+ const walkthrough_section_1 = require("./walkthrough-section");
26
+ function createMockStep(overrides) {
27
+ return {
28
+ id: 'step-1',
29
+ title: 'Test Step',
30
+ description: 'A test step description',
31
+ isComplete: false,
32
+ ...overrides
33
+ };
34
+ }
35
+ function createMockWalkthrough(overrides) {
36
+ return {
37
+ id: 'test-walkthrough',
38
+ title: 'Test Walkthrough',
39
+ description: 'A test walkthrough description',
40
+ steps: [
41
+ createMockStep({ id: 'step-1', title: 'First Step' }),
42
+ createMockStep({ id: 'step-2', title: 'Second Step' })
43
+ ],
44
+ pluginId: 'test.plugin',
45
+ ...overrides
46
+ };
47
+ }
48
+ /**
49
+ * Mirrors the selection handling of the real service: the selection is owned by the service, not by the component.
50
+ */
51
+ function createMockWalkthroughService(walkthroughs = []) {
52
+ const changeEmitter = new event_1.Emitter();
53
+ const selectionEmitter = new event_1.Emitter();
54
+ let selectedWalkthroughId;
55
+ let selectedStepId;
56
+ return {
57
+ changeEmitter,
58
+ selectionEmitter,
59
+ getWalkthroughs: () => [...walkthroughs],
60
+ getWalkthrough: (id) => walkthroughs.find(w => w.id === id),
61
+ onDidChangeWalkthroughs: changeEmitter.event,
62
+ onDidChangeSelection: selectionEmitter.event,
63
+ get selectedWalkthrough() {
64
+ return walkthroughs.find(w => w.id === selectedWalkthroughId);
65
+ },
66
+ get selectedStep() {
67
+ return this.selectedWalkthrough?.steps.find(s => s.id === selectedStepId);
68
+ },
69
+ selectWalkthrough: (id) => {
70
+ const walkthrough = walkthroughs.find(w => w.id === id);
71
+ if (walkthrough) {
72
+ selectedWalkthroughId = id;
73
+ selectedStepId = (walkthrough.steps.find(s => !s.isComplete) ?? walkthrough.steps[0])?.id;
74
+ selectionEmitter.fire();
75
+ }
76
+ },
77
+ selectStep: (stepId) => {
78
+ selectedStepId = stepId;
79
+ selectionEmitter.fire();
80
+ },
81
+ clearSelection: () => {
82
+ selectedWalkthroughId = undefined;
83
+ selectedStepId = undefined;
84
+ selectionEmitter.fire();
85
+ },
86
+ markStepComplete: () => Promise.resolve(),
87
+ markStepIncomplete: () => Promise.resolve(),
88
+ markAllStepsComplete: () => Promise.resolve(),
89
+ resetProgress: () => Promise.resolve(),
90
+ getStepProgress: () => ({ completed: 0, total: 0 }),
91
+ handleLinkClick: () => Promise.resolve()
92
+ };
93
+ }
94
+ function createMockMarkdownRenderer() {
95
+ return {
96
+ render: () => {
97
+ const div = document.createElement('div');
98
+ div.textContent = 'rendered markdown';
99
+ return { element: div, dispose: () => { } };
100
+ }
101
+ };
102
+ }
103
+ function createMockThemeService(themeType = 'dark') {
104
+ return {
105
+ getCurrentTheme: () => ({ id: 'test', label: 'Test', type: themeType }),
106
+ onDidColorThemeChange: () => disposable_1.Disposable.NULL
107
+ };
108
+ }
109
+ function createMockLogger() {
110
+ return { warn: () => { }, error: () => { }, info: () => { }, debug: () => { } };
111
+ }
112
+ describe('WalkthroughSection', () => {
113
+ let container;
114
+ let root;
115
+ let mockRenderer;
116
+ before(() => disableJSDOM = (0, jsdom_1.enableJSDOM)());
117
+ after(() => disableJSDOM());
118
+ beforeEach(() => {
119
+ container = document.createElement('div');
120
+ document.body.appendChild(container);
121
+ root = (0, client_1.createRoot)(container);
122
+ mockRenderer = createMockMarkdownRenderer();
123
+ });
124
+ afterEach(() => {
125
+ root.unmount();
126
+ document.body.removeChild(container);
127
+ });
128
+ it('should render nothing when getWalkthroughs returns empty array', done => {
129
+ const mockService = createMockWalkthroughService([]);
130
+ root.render((0, jsx_runtime_1.jsx)(walkthrough_section_1.WalkthroughSection, { walkthroughService: mockService, markdownRenderer: mockRenderer, themeService: createMockThemeService(), logger: createMockLogger() }));
131
+ setTimeout(() => {
132
+ const cards = container.querySelectorAll('.gs-walkthrough-card');
133
+ assert.strictEqual(cards.length, 0, 'Should have no walkthrough cards');
134
+ const section = container.querySelector('.gs-section');
135
+ // eslint-disable-next-line no-null/no-null
136
+ assert.strictEqual(section, null, 'Should not render the section');
137
+ done();
138
+ }, 50);
139
+ });
140
+ it('should render walkthrough cards when walkthroughs exist', done => {
141
+ const walkthroughs = [
142
+ createMockWalkthrough({ id: 'wt1', title: 'Walkthrough One' }),
143
+ createMockWalkthrough({ id: 'wt2', title: 'Walkthrough Two' })
144
+ ];
145
+ const mockService = createMockWalkthroughService(walkthroughs);
146
+ root.render((0, jsx_runtime_1.jsx)(walkthrough_section_1.WalkthroughSection, { walkthroughService: mockService, markdownRenderer: mockRenderer, themeService: createMockThemeService(), logger: createMockLogger() }));
147
+ setTimeout(() => {
148
+ const cards = container.querySelectorAll('.gs-walkthrough-card');
149
+ assert.strictEqual(cards.length, 2, 'Should render 2 walkthrough cards');
150
+ const titles = container.querySelectorAll('.gs-walkthrough-card-title');
151
+ assert.ok(titles[0]?.textContent?.includes('Walkthrough One'), 'First card should show correct title');
152
+ assert.ok(titles[1]?.textContent?.includes('Walkthrough Two'), 'Second card should show correct title');
153
+ done();
154
+ }, 50);
155
+ });
156
+ it('should transition from card list to detail view when a card is clicked', done => {
157
+ const walkthroughs = [
158
+ createMockWalkthrough({ id: 'wt1', title: 'Click Me' })
159
+ ];
160
+ const mockService = createMockWalkthroughService(walkthroughs);
161
+ root.render((0, jsx_runtime_1.jsx)(walkthrough_section_1.WalkthroughSection, { walkthroughService: mockService, markdownRenderer: mockRenderer, themeService: createMockThemeService(), logger: createMockLogger() }));
162
+ setTimeout(() => {
163
+ const card = container.querySelector('.gs-walkthrough-card');
164
+ assert.ok(card, 'Card should exist');
165
+ card.click();
166
+ setTimeout(() => {
167
+ const detailView = container.querySelector('.gs-walkthrough-detail');
168
+ assert.ok(detailView, 'Detail view should be visible after clicking card');
169
+ const detailTitle = container.querySelector('.gs-walkthrough-detail-title');
170
+ assert.ok(detailTitle?.textContent?.includes('Click Me'), 'Detail view should show walkthrough title');
171
+ const cardList = container.querySelector('.gs-walkthrough-cards');
172
+ // eslint-disable-next-line no-null/no-null
173
+ assert.strictEqual(cardList, null, 'Card list should not be visible in detail view');
174
+ done();
175
+ }, 50);
176
+ }, 50);
177
+ });
178
+ it('should return to card list when back button is clicked in detail view', done => {
179
+ const walkthroughs = [
180
+ createMockWalkthrough({ id: 'wt1', title: 'Test WT' })
181
+ ];
182
+ const mockService = createMockWalkthroughService(walkthroughs);
183
+ root.render((0, jsx_runtime_1.jsx)(walkthrough_section_1.WalkthroughSection, { walkthroughService: mockService, markdownRenderer: mockRenderer, themeService: createMockThemeService(), logger: createMockLogger() }));
184
+ setTimeout(() => {
185
+ // Click on card to enter detail view
186
+ const card = container.querySelector('.gs-walkthrough-card');
187
+ card.click();
188
+ setTimeout(() => {
189
+ assert.ok(container.querySelector('.gs-walkthrough-detail'), 'Should be in detail view');
190
+ // Click back
191
+ const backLink = container.querySelector('.gs-walkthrough-back-link');
192
+ assert.ok(backLink, 'Back link should exist');
193
+ backLink.click();
194
+ setTimeout(() => {
195
+ const cards = container.querySelectorAll('.gs-walkthrough-card');
196
+ assert.strictEqual(cards.length, 1, 'Card list should be visible again');
197
+ const detail = container.querySelector('.gs-walkthrough-detail');
198
+ // eslint-disable-next-line no-null/no-null
199
+ assert.strictEqual(detail, null, 'Detail view should not be visible');
200
+ done();
201
+ }, 50);
202
+ }, 50);
203
+ }, 50);
204
+ });
205
+ it('should re-render when onDidChangeWalkthroughs fires', done => {
206
+ const walkthroughs = [
207
+ createMockWalkthrough({ id: 'wt1', title: 'Original' })
208
+ ];
209
+ const mockService = createMockWalkthroughService(walkthroughs);
210
+ root.render((0, jsx_runtime_1.jsx)(walkthrough_section_1.WalkthroughSection, { walkthroughService: mockService, markdownRenderer: mockRenderer, themeService: createMockThemeService(), logger: createMockLogger() }));
211
+ setTimeout(() => {
212
+ let cards = container.querySelectorAll('.gs-walkthrough-card');
213
+ assert.strictEqual(cards.length, 1, 'Should have 1 card initially');
214
+ // Add a second walkthrough and fire change event
215
+ walkthroughs.push(createMockWalkthrough({ id: 'wt2', title: 'New One' }));
216
+ mockService.changeEmitter.fire();
217
+ setTimeout(() => {
218
+ cards = container.querySelectorAll('.gs-walkthrough-card');
219
+ assert.strictEqual(cards.length, 2, 'Should have 2 cards after change event');
220
+ done();
221
+ }, 50);
222
+ }, 50);
223
+ });
224
+ it('should show the detail view when the service selects a valid walkthrough id', done => {
225
+ const walkthroughs = [
226
+ createMockWalkthrough({ id: 'wt1', title: 'First' }),
227
+ createMockWalkthrough({ id: 'wt2', title: 'Second' })
228
+ ];
229
+ const mockService = createMockWalkthroughService(walkthroughs);
230
+ root.render((0, jsx_runtime_1.jsx)(walkthrough_section_1.WalkthroughSection, { walkthroughService: mockService, markdownRenderer: mockRenderer, themeService: createMockThemeService(), logger: createMockLogger() }));
231
+ setTimeout(() => {
232
+ // Select the second walkthrough through the service, as `walkthrough.open` does
233
+ mockService.selectWalkthrough('wt2');
234
+ setTimeout(() => {
235
+ const detailView = container.querySelector('.gs-walkthrough-detail');
236
+ assert.ok(detailView, 'Detail view should be visible');
237
+ const detailTitle = container.querySelector('.gs-walkthrough-detail-title');
238
+ assert.ok(detailTitle?.textContent?.includes('Second'), 'Should show the selected walkthrough');
239
+ done();
240
+ }, 50);
241
+ }, 50);
242
+ });
243
+ it('should not navigate to detail view when an unknown walkthrough id is selected', done => {
244
+ const walkthroughs = [
245
+ createMockWalkthrough({ id: 'wt1', title: 'Only One' })
246
+ ];
247
+ const mockService = createMockWalkthroughService(walkthroughs);
248
+ root.render((0, jsx_runtime_1.jsx)(walkthrough_section_1.WalkthroughSection, { walkthroughService: mockService, markdownRenderer: mockRenderer, themeService: createMockThemeService(), logger: createMockLogger() }));
249
+ setTimeout(() => {
250
+ mockService.selectWalkthrough('nonexistent');
251
+ setTimeout(() => {
252
+ const detailView = container.querySelector('.gs-walkthrough-detail');
253
+ // eslint-disable-next-line no-null/no-null
254
+ assert.strictEqual(detailView, null, 'Should not show detail view for invalid ID');
255
+ const cards = container.querySelectorAll('.gs-walkthrough-card');
256
+ assert.strictEqual(cards.length, 1, 'Should still show cards');
257
+ done();
258
+ }, 50);
259
+ }, 50);
260
+ });
261
+ it('should properly clean up event subscriptions on unmount', done => {
262
+ const walkthroughs = [
263
+ createMockWalkthrough({ id: 'wt1' })
264
+ ];
265
+ const mockService = createMockWalkthroughService(walkthroughs);
266
+ root.render((0, jsx_runtime_1.jsx)(walkthrough_section_1.WalkthroughSection, { walkthroughService: mockService, markdownRenderer: mockRenderer, themeService: createMockThemeService(), logger: createMockLogger() }));
267
+ setTimeout(() => {
268
+ // Unmount the component
269
+ root.unmount();
270
+ // Verify emitters can still fire without error (listeners were cleaned up)
271
+ assert.doesNotThrow(() => {
272
+ mockService.changeEmitter.fire();
273
+ mockService.selectionEmitter.fire();
274
+ }, 'Should not throw after unmount');
275
+ // Re-create root for afterEach cleanup
276
+ root = (0, client_1.createRoot)(container);
277
+ done();
278
+ }, 50);
279
+ });
280
+ it('should list at most WALKTHROUGH_LIST_LIMIT walkthroughs and delegate More... to the picker', done => {
281
+ const walkthroughs = [1, 2, 3, 4, 5].map(i => createMockWalkthrough({ id: `wt${i}`, title: `WT ${i}` }));
282
+ const mockService = createMockWalkthroughService(walkthroughs);
283
+ let showAllCalled = false;
284
+ root.render((0, jsx_runtime_1.jsx)(walkthrough_section_1.WalkthroughSection, { walkthroughService: mockService, markdownRenderer: mockRenderer, themeService: createMockThemeService(), logger: createMockLogger(), onShowAll: () => { showAllCalled = true; } }));
285
+ setTimeout(() => {
286
+ assert.strictEqual(container.querySelectorAll('.gs-walkthrough-card').length, walkthrough_section_1.WALKTHROUGH_LIST_LIMIT, 'Should list only the first few cards');
287
+ const more = container.querySelector('.gs-walkthrough-more');
288
+ assert.ok(more, 'More link should exist');
289
+ more.click();
290
+ setTimeout(() => {
291
+ assert.strictEqual(showAllCalled, true, 'More... should offer all walkthroughs for selection');
292
+ assert.strictEqual(container.querySelectorAll('.gs-walkthrough-card').length, walkthrough_section_1.WALKTHROUGH_LIST_LIMIT, 'The list itself should not expand');
293
+ done();
294
+ }, 50);
295
+ }, 50);
296
+ });
297
+ it('should not list a walkthrough whose steps are all complete', done => {
298
+ const walkthroughs = [
299
+ createMockWalkthrough({ id: 'pending', title: 'Pending' }),
300
+ createMockWalkthrough({
301
+ id: 'done',
302
+ title: 'Done',
303
+ steps: [createMockStep({ id: 's1', isComplete: true })]
304
+ })
305
+ ];
306
+ const mockService = createMockWalkthroughService(walkthroughs);
307
+ root.render((0, jsx_runtime_1.jsx)(walkthrough_section_1.WalkthroughSection, { walkthroughService: mockService, markdownRenderer: mockRenderer, themeService: createMockThemeService(), logger: createMockLogger(), onShowAll: () => { } }));
308
+ setTimeout(() => {
309
+ const titles = Array.from(container.querySelectorAll('.gs-walkthrough-card-title')).map(e => e.textContent);
310
+ assert.deepStrictEqual(titles, ['Pending'], 'Only the unfinished walkthrough should be listed');
311
+ // The completed one is still reachable, so the link has to stay.
312
+ assert.ok(container.querySelector('.gs-walkthrough-more'), 'More link should be offered');
313
+ done();
314
+ }, 50);
315
+ });
316
+ it('should not offer More... when every walkthrough is listed', done => {
317
+ const walkthroughs = [1, 2].map(i => createMockWalkthrough({ id: `wt${i}`, title: `WT ${i}` }));
318
+ const mockService = createMockWalkthroughService(walkthroughs);
319
+ root.render((0, jsx_runtime_1.jsx)(walkthrough_section_1.WalkthroughSection, { walkthroughService: mockService, markdownRenderer: mockRenderer, themeService: createMockThemeService(), logger: createMockLogger(), onShowAll: () => { } }));
320
+ setTimeout(() => {
321
+ assert.strictEqual(container.querySelectorAll('.gs-walkthrough-card').length, 2, 'Should list both cards');
322
+ // eslint-disable-next-line no-null/no-null
323
+ assert.strictEqual(container.querySelector('.gs-walkthrough-more'), null, 'More link should not exist');
324
+ done();
325
+ }, 50);
326
+ });
327
+ });
328
+ //# sourceMappingURL=walkthrough-section.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walkthrough-section.spec.js","sourceRoot":"","sources":["../../src/browser/walkthrough-section.spec.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,166 @@
1
+ import { Emitter, Event } from '@theia/core/lib/common/event';
2
+ import { Disposable, DisposableCollection } from '@theia/core/lib/common/disposable';
3
+ import { StorageService } from '@theia/core/lib/browser/storage-service';
4
+ import { CommandRegistry } from '@theia/core/lib/common/command';
5
+ import { PreferenceService } from '@theia/core/lib/common/preferences';
6
+ import { ContextKeyService } from '@theia/core/lib/browser/context-key-service';
7
+ import { DeployedPlugin, PluginIdentifiers, PluginMetadata, WalkthroughContribution, WalkthroughStepContribution } from '@theia/plugin-ext/lib/common/plugin-protocol';
8
+ import { OpenerService } from '@theia/core/lib/browser/opener-service';
9
+ import { ILogger } from '@theia/core/lib/common/logger';
10
+ import { MessageService } from '@theia/core/lib/common/message-service';
11
+ import { Walkthrough, WalkthroughStep } from '../common/walkthrough-types';
12
+ import { GettingStartedPreferences } from '../common/getting-started-preferences';
13
+ export declare const WalkthroughViewEventSource: unique symbol;
14
+ export interface WalkthroughViewEventSource {
15
+ readonly onDidExpandView: Event<string>;
16
+ }
17
+ export declare const WalkthroughPluginSupport: unique symbol;
18
+ export interface WalkthroughPluginSupport {
19
+ readonly plugins: PluginMetadata[];
20
+ getPlugin(id: PluginIdentifiers.UnversionedId): DeployedPlugin | undefined;
21
+ /** The plugins that are not loaded because the workspace is not trusted. */
22
+ readonly disabledByTrust: ReadonlySet<string>;
23
+ readonly onDidChangePlugins: Event<void>;
24
+ }
25
+ interface WalkthroughProgressState {
26
+ completedSteps: {
27
+ [walkthroughId: string]: string[];
28
+ };
29
+ }
30
+ export declare class WalkthroughService implements Disposable {
31
+ protected readonly storageService: StorageService;
32
+ protected readonly commandRegistry: CommandRegistry;
33
+ protected readonly preferenceService: PreferenceService;
34
+ protected readonly contextKeyService: ContextKeyService;
35
+ protected readonly gettingStartedPreferences: GettingStartedPreferences;
36
+ protected readonly pluginSupport: WalkthroughPluginSupport;
37
+ protected readonly viewEventSource: WalkthroughViewEventSource;
38
+ protected readonly openerService: OpenerService;
39
+ protected readonly messageService: MessageService;
40
+ protected readonly logger: ILogger;
41
+ protected readonly walkthroughs: Map<string, Walkthrough>;
42
+ /** The definition each walkthrough was registered from, to detect a changed contribution. */
43
+ protected readonly contributionSignatures: Map<string, string>;
44
+ protected readonly toDispose: DisposableCollection;
45
+ protected readonly onDidChangeWalkthroughsEmitter: Emitter<void>;
46
+ readonly onDidChangeWalkthroughs: Event<void>;
47
+ protected readonly onDidChangeSelectionEmitter: Emitter<void>;
48
+ readonly onDidChangeSelection: Event<void>;
49
+ protected progressState: WalkthroughProgressState;
50
+ /** Resolves once the persisted progress has been read and the initial sync has run. */
51
+ protected progressReady: Promise<void>;
52
+ protected knownPluginIds: Set<string>;
53
+ protected pluginBaselineEstablished: boolean;
54
+ protected selectedWalkthroughId: string | undefined;
55
+ protected selectedStepId: string | undefined;
56
+ /** Cache of {@link getContextKeys}, invalidated whenever the set of walkthroughs changes. */
57
+ protected contextKeys: Set<string> | undefined;
58
+ protected init(): void;
59
+ protected handlePluginsChanged(): Promise<void>;
60
+ /**
61
+ * Complete every pending step whose `onContext:` expression currently holds.
62
+ */
63
+ protected completeMatchingContextSteps(): void;
64
+ /**
65
+ * The context keys that the `when` clauses and the `onContext:` completion events of all registered
66
+ * walkthroughs depend on.
67
+ *
68
+ * The set is cached because context keys change very frequently, while walkthroughs rarely do.
69
+ */
70
+ protected getContextKeys(): Set<string>;
71
+ /**
72
+ * Whether a `when` clause currently holds. A contribution without a `when` clause is always visible.
73
+ */
74
+ protected isVisible(when: string | undefined): boolean;
75
+ /**
76
+ * Restricts a walkthrough to the steps that are currently visible.
77
+ *
78
+ * Hidden steps also stay out of the progress, so that a walkthrough whose remaining steps do not apply to
79
+ * this platform or workspace can still be completed.
80
+ */
81
+ protected toVisibleWalkthrough(walkthrough: Walkthrough): Walkthrough;
82
+ protected handleVisibilityChanged(): void;
83
+ dispose(): void;
84
+ /**
85
+ * Remember the currently deployed plugins as the set that is not considered newly installed.
86
+ *
87
+ * Plugins are deployed asynchronously while the application starts, so the baseline can only be trusted
88
+ * once plugins have actually arrived. Without this, every plugin of a fresh session would look like a new
89
+ * installation and - with `workbench.welcomePage.walkthroughs.openOnInstall` enabled - open a walkthrough
90
+ * on startup.
91
+ */
92
+ protected establishPluginBaseline(): void;
93
+ protected loadProgress(): Promise<void>;
94
+ protected saveProgress(): Promise<void>;
95
+ protected syncWalkthroughsFromPlugins(): void;
96
+ protected registerWalkthrough(contribution: WalkthroughContribution): void;
97
+ protected toWalkthroughStep(step: WalkthroughStepContribution, completedSteps: string[]): WalkthroughStep;
98
+ /**
99
+ * All walkthroughs whose `when` clause currently holds, restricted to their currently visible steps.
100
+ */
101
+ getWalkthroughs(): Walkthrough[];
102
+ /**
103
+ * The walkthrough with the given id, or `undefined` if it is unknown or its `when` clause does not hold.
104
+ */
105
+ getWalkthrough(id: string): Walkthrough | undefined;
106
+ markStepComplete(walkthroughId: string, stepId: string): Promise<void>;
107
+ /**
108
+ * Take the completion mark off a step again, for example when it was completed by mistake.
109
+ */
110
+ markStepIncomplete(walkthroughId: string, stepId: string): Promise<void>;
111
+ protected setStepComplete(walkthroughId: string, stepId: string, isComplete: boolean): Promise<void>;
112
+ /**
113
+ * Mark every step of the given walkthrough as complete, persisting the progress once.
114
+ */
115
+ markAllStepsComplete(walkthroughId: string): Promise<void>;
116
+ resetProgress(walkthroughId: string): Promise<void>;
117
+ getStepProgress(walkthroughId: string): {
118
+ completed: number;
119
+ total: number;
120
+ };
121
+ /**
122
+ * The walkthrough that is currently opened in the welcome view, if any.
123
+ * While a walkthrough is selected, the welcome view renders it instead of its regular content.
124
+ */
125
+ get selectedWalkthrough(): Walkthrough | undefined;
126
+ /**
127
+ * The step of the {@link selectedWalkthrough} whose content is currently shown, if any.
128
+ */
129
+ get selectedStep(): WalkthroughStep | undefined;
130
+ /**
131
+ * Open the given walkthrough in the welcome view and preselect its first pending step.
132
+ * Does nothing if no walkthrough is registered under that id.
133
+ */
134
+ selectWalkthrough(walkthroughId: string): void;
135
+ /**
136
+ * Show the content of the given step of the currently selected walkthrough.
137
+ */
138
+ selectStep(stepId: string): void;
139
+ /**
140
+ * Close the currently selected walkthrough and return the welcome view to its regular content.
141
+ */
142
+ clearSelection(): void;
143
+ protected getFirstPendingStep(walkthrough: Walkthrough): WalkthroughStep | undefined;
144
+ /**
145
+ * VS Code refers to a walkthrough as `publisher.name#walkthroughId`, for example in the `command:` links of a
146
+ * step description, while the ids used here are fully dot-separated.
147
+ */
148
+ protected fromVSCodeWalkthroughId(walkthroughId: string): string;
149
+ /**
150
+ * Handle a link click from a walkthrough step description.
151
+ * Fires the `onLink:{url}` completion event and opens the link.
152
+ *
153
+ * Walkthroughs commonly link to `command:` URIs that Theia does not implement. Such a link must not
154
+ * reject unhandled, so the failure is reported to the user instead.
155
+ */
156
+ handleLinkClick(url: string): Promise<void>;
157
+ /**
158
+ * VS Code walkthroughs use `command:toSide:<commandId>` to open the result of a command beside the walkthrough.
159
+ * Theia has no generic equivalent, so the command is executed as usual rather than failing to resolve.
160
+ */
161
+ protected normalizeLinkUrl(url: string): string;
162
+ protected handleCompletionEvent(event: string): void;
163
+ protected handleExtensionInstalledAutoOpen(pluginId: string): void;
164
+ }
165
+ export {};
166
+ //# sourceMappingURL=walkthrough-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walkthrough-service.d.ts","sourceRoot":"","sources":["../../src/browser/walkthrough-service.ts"],"names":[],"mappings":"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"}