@theia/core 1.23.0-next.0 → 1.23.0-next.4

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.
package/README.md CHANGED
@@ -86,9 +86,9 @@ export class SomeClass {
86
86
  - `@phosphor/signaling` (from [`@phosphor/signaling@1`](https://www.npmjs.com/package/@phosphor/signaling))
87
87
  - `@phosphor/virtualdom` (from [`@phosphor/virtualdom@1`](https://www.npmjs.com/package/@phosphor/virtualdom))
88
88
  - `@phosphor/widgets` (from [`@phosphor/widgets@1`](https://www.npmjs.com/package/@phosphor/widgets))
89
- - `@theia/application-package` (from [`@theia/application-package@1.23.0-next.0+edeee9cfae1`](https://www.npmjs.com/package/@theia/application-package/v/1.23.0-next.0))
90
- - `@theia/application-package/lib/api` (from [`@theia/application-package@1.23.0-next.0+edeee9cfae1`](https://www.npmjs.com/package/@theia/application-package/v/1.23.0-next.0))
91
- - `@theia/application-package/lib/environment` (from [`@theia/application-package@1.23.0-next.0+edeee9cfae1`](https://www.npmjs.com/package/@theia/application-package/v/1.23.0-next.0))
89
+ - `@theia/application-package` (from [`@theia/application-package@1.23.0-next.4+d5bb4e83123`](https://www.npmjs.com/package/@theia/application-package/v/1.23.0-next.4))
90
+ - `@theia/application-package/lib/api` (from [`@theia/application-package@1.23.0-next.4+d5bb4e83123`](https://www.npmjs.com/package/@theia/application-package/v/1.23.0-next.4))
91
+ - `@theia/application-package/lib/environment` (from [`@theia/application-package@1.23.0-next.4+d5bb4e83123`](https://www.npmjs.com/package/@theia/application-package/v/1.23.0-next.4))
92
92
  - `fs-extra` (from [`fs-extra@^4.0.2`](https://www.npmjs.com/package/fs-extra))
93
93
  - `fuzzy` (from [`fuzzy@^0.1.3`](https://www.npmjs.com/package/fuzzy))
94
94
  - `inversify` (from [`inversify@^5.1.1`](https://www.npmjs.com/package/inversify))
@@ -56,13 +56,28 @@ export declare namespace Saveable {
56
56
  function getDirty(arg: any): Saveable | undefined;
57
57
  function isDirty(arg: any): boolean;
58
58
  function save(arg: any, options?: SaveOptions): Promise<void>;
59
- function apply(widget: Widget): SaveableWidget | undefined;
59
+ function confirmSaveBeforeClose(toClose: Iterable<Widget>, others: Widget[]): Promise<boolean | undefined>;
60
+ function apply(widget: Widget, getOtherSaveables?: () => Array<Widget | SaveableWidget>): SaveableWidget | undefined;
60
61
  function shouldSave(saveable: Saveable, cb: () => MaybePromise<boolean | undefined>): Promise<boolean | undefined>;
61
62
  }
62
63
  export interface SaveableWidget extends Widget {
63
- closeWithoutSaving(): Promise<void>;
64
+ /**
65
+ * @param doRevert whether the saveable should be reverted before being saved. Defaults to `true`.
66
+ */
67
+ closeWithoutSaving(doRevert?: boolean): Promise<void>;
64
68
  closeWithSaving(options?: SaveableWidget.CloseOptions): Promise<void>;
65
69
  }
70
+ export declare const close: unique symbol;
71
+ /**
72
+ * An interface describing saveable widgets that are created by the `Saveable.apply` function.
73
+ * The original `close` function is reassigned to a locally-defined `Symbol`
74
+ */
75
+ export interface PostCreationSaveableWidget extends SaveableWidget {
76
+ /**
77
+ * The original `close` function of the widget
78
+ */
79
+ [close](): void;
80
+ }
66
81
  export declare namespace SaveableWidget {
67
82
  function is(widget: Widget | undefined): widget is SaveableWidget;
68
83
  function getDirty<T extends Widget>(widgets: Iterable<T>): IterableIterator<SaveableWidget & T>;
@@ -1 +1 @@
1
- {"version":3,"file":"saveable.d.ts","sourceRoot":"","sources":["../../src/browser/saveable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"saveable.d.ts","sourceRoot":"","sources":["../../src/browser/saveable.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
16
  ********************************************************************************/
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ShouldSaveDialog = exports.setDirty = exports.SaveableWidget = exports.Saveable = void 0;
18
+ exports.ShouldSaveDialog = exports.setDirty = exports.SaveableWidget = exports.close = exports.Saveable = void 0;
19
19
  const keys_1 = require("./keyboard/keys");
20
20
  const dialogs_1 = require("./dialogs");
21
21
  const widgets_1 = require("./widgets");
@@ -64,52 +64,98 @@ var Saveable;
64
64
  }
65
65
  }
66
66
  Saveable.save = save;
67
- function apply(widget) {
68
- if (SaveableWidget.is(widget)) {
69
- return widget;
67
+ async function closeWithoutSaving(doRevert = true) {
68
+ const saveable = get(this);
69
+ if (saveable && doRevert && saveable.dirty && saveable.revert) {
70
+ await saveable.revert();
70
71
  }
71
- const saveable = Saveable.get(widget);
72
- if (!saveable) {
73
- return undefined;
74
- }
75
- setDirty(widget, saveable.dirty);
76
- saveable.onDirtyChanged(() => setDirty(widget, saveable.dirty));
77
- const closeWidget = widget.close.bind(widget);
78
- const closeWithoutSaving = async () => {
79
- if (saveable.dirty && saveable.revert) {
80
- await saveable.revert();
81
- }
82
- closeWidget();
83
- return widgets_1.waitForClosed(widget);
84
- };
72
+ this[exports.close]();
73
+ return widgets_1.waitForClosed(this);
74
+ }
75
+ function createCloseWithSaving(getOtherSaveables) {
85
76
  let closing = false;
86
- const closeWithSaving = async (options) => {
77
+ return async function (options) {
87
78
  if (closing) {
88
79
  return;
89
80
  }
81
+ const saveable = get(this);
82
+ if (!saveable) {
83
+ return;
84
+ }
90
85
  closing = true;
91
86
  try {
92
87
  const result = await shouldSave(saveable, () => {
88
+ var _a;
89
+ const notLastWithDocument = !closingWidgetWouldLoseSaveable(this, (_a = getOtherSaveables === null || getOtherSaveables === void 0 ? void 0 : getOtherSaveables()) !== null && _a !== void 0 ? _a : []);
90
+ if (notLastWithDocument) {
91
+ return this.closeWithoutSaving(false).then(() => undefined);
92
+ }
93
93
  if (options && options.shouldSave) {
94
94
  return options.shouldSave();
95
95
  }
96
- return new ShouldSaveDialog(widget).open();
96
+ return new ShouldSaveDialog(this).open();
97
97
  });
98
98
  if (typeof result === 'boolean') {
99
99
  if (result) {
100
- await Saveable.save(widget);
100
+ await Saveable.save(this);
101
101
  }
102
- await closeWithoutSaving();
102
+ await this.closeWithoutSaving();
103
103
  }
104
104
  }
105
105
  finally {
106
106
  closing = false;
107
107
  }
108
108
  };
109
- return Object.assign(widget, {
109
+ }
110
+ async function confirmSaveBeforeClose(toClose, others) {
111
+ var _a;
112
+ for (const widget of toClose) {
113
+ const saveable = Saveable.get(widget);
114
+ if (saveable === null || saveable === void 0 ? void 0 : saveable.dirty) {
115
+ if (!closingWidgetWouldLoseSaveable(widget, others)) {
116
+ continue;
117
+ }
118
+ const userWantsToSave = await new ShouldSaveDialog(widget).open();
119
+ if (userWantsToSave === undefined) { // User clicked cancel.
120
+ return undefined;
121
+ }
122
+ else if (userWantsToSave) {
123
+ await saveable.save();
124
+ }
125
+ else {
126
+ await ((_a = saveable.revert) === null || _a === void 0 ? void 0 : _a.call(saveable));
127
+ }
128
+ }
129
+ }
130
+ return true;
131
+ }
132
+ Saveable.confirmSaveBeforeClose = confirmSaveBeforeClose;
133
+ /**
134
+ * @param widget the widget that may be closed
135
+ * @param others widgets that will not be closed.
136
+ * @returns `true` if widget is saveable and no widget among the `others` refers to the same saveable. `false` otherwise.
137
+ */
138
+ function closingWidgetWouldLoseSaveable(widget, others) {
139
+ const saveable = get(widget);
140
+ return !!saveable && !others.some(otherWidget => otherWidget !== widget && get(otherWidget) === saveable);
141
+ }
142
+ function apply(widget, getOtherSaveables) {
143
+ if (SaveableWidget.is(widget)) {
144
+ return widget;
145
+ }
146
+ const saveable = Saveable.get(widget);
147
+ if (!saveable) {
148
+ return undefined;
149
+ }
150
+ const saveableWidget = widget;
151
+ setDirty(saveableWidget, saveable.dirty);
152
+ saveable.onDirtyChanged(() => setDirty(saveableWidget, saveable.dirty));
153
+ const closeWithSaving = createCloseWithSaving(getOtherSaveables);
154
+ return Object.assign(saveableWidget, {
110
155
  closeWithoutSaving,
111
156
  closeWithSaving,
112
- close: () => closeWithSaving()
157
+ close: closeWithSaving,
158
+ [exports.close]: saveableWidget.close,
113
159
  });
114
160
  }
115
161
  Saveable.apply = apply;
@@ -124,6 +170,7 @@ var Saveable;
124
170
  }
125
171
  Saveable.shouldSave = shouldSave;
126
172
  })(Saveable = exports.Saveable || (exports.Saveable = {}));
173
+ exports.close = Symbol('close');
127
174
  var SaveableWidget;
128
175
  (function (SaveableWidget) {
129
176
  function is(widget) {
@@ -1 +1 @@
1
- {"version":3,"file":"saveable.js","sourceRoot":"","sources":["../../src/browser/saveable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"saveable.js","sourceRoot":"","sources":["../../src/browser/saveable.ts"],"names":[],"mappings":"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"}
@@ -263,6 +263,11 @@ export declare class ApplicationShell extends Widget {
263
263
  * Track the given widget so it is considered in the `current` and `active` state of the shell.
264
264
  */
265
265
  protected track(widget: Widget): void;
266
+ /**
267
+ * @returns an array of Widgets, all of which are tracked by the focus tracker
268
+ * The first member of the array is the widget whose id is passed in, and the other widgets
269
+ * are its tracked parents in ascending order
270
+ */
266
271
  protected toTrackedStack(id: string): Widget[];
267
272
  /**
268
273
  * Activate a widget in the application shell. This makes the widget visible and usually
@@ -347,8 +352,18 @@ export declare class ApplicationShell extends Widget {
347
352
  * @param filter
348
353
  * If undefined, all tabs are closed; otherwise only those tabs that match the filter are closed.
349
354
  */
350
- closeTabs(tabBarOrArea: TabBar<Widget> | ApplicationShell.Area, filter?: (title: Title<Widget>, index: number) => boolean): void;
355
+ closeTabs(tabBarOrArea: TabBar<Widget> | ApplicationShell.Area, filter?: (title: Title<Widget>, index: number) => boolean): Promise<void>;
351
356
  saveTabs(tabBarOrArea: TabBar<Widget> | ApplicationShell.Area, filter?: (title: Title<Widget>, index: number) => boolean): void;
357
+ /**
358
+ * @param targets the widgets to be closed
359
+ * @return an array of all the widgets that were actually closed.
360
+ */
361
+ closeMany(targets: Widget[], options?: ApplicationShell.CloseOptions): Promise<Widget[]>;
362
+ /**
363
+ * @returns the widget that was closed, if any, `undefined` otherwise.
364
+ *
365
+ * If your use case requires closing multiple widgets, use {@link ApplicationShell#closeMany} instead. That method handles closing saveable widgets more reliably.
366
+ */
352
367
  closeWidget(id: string, options?: ApplicationShell.CloseOptions): Promise<Widget | undefined>;
353
368
  /**
354
369
  * The shell area name of the currently active tab, or undefined.
@@ -1 +1 @@
1
- {"version":3,"file":"application-shell.d.ts","sourceRoot":"","sources":["../../../src/browser/shell/application-shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application-shell.d.ts","sourceRoot":"","sources":["../../../src/browser/shell/application-shell.ts"],"names":[],"mappings":"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"}
@@ -889,7 +889,7 @@ let ApplicationShell = ApplicationShell_1 = class ApplicationShell extends widge
889
889
  }
890
890
  this.tracker.add(widget);
891
891
  this.checkActivation(widget);
892
- saveable_1.Saveable.apply(widget);
892
+ saveable_1.Saveable.apply(widget, () => this.widgets.filter((maybeSaveable) => !!saveable_1.Saveable.get(maybeSaveable)));
893
893
  if (ApplicationShell_1.TrackableWidgetProvider.is(widget)) {
894
894
  for (const toTrack of widget.getTrackableWidgets()) {
895
895
  this.track(toTrack);
@@ -899,6 +899,11 @@ let ApplicationShell = ApplicationShell_1 = class ApplicationShell extends widge
899
899
  }
900
900
  }
901
901
  }
902
+ /**
903
+ * @returns an array of Widgets, all of which are tracked by the focus tracker
904
+ * The first member of the array is the widget whose id is passed in, and the other widgets
905
+ * are its tracked parents in ascending order
906
+ */
902
907
  toTrackedStack(id) {
903
908
  const tracked = new Map(this.tracker.widgets.map(w => [w.id, w]));
904
909
  let current = tracked.get(id);
@@ -1243,26 +1248,25 @@ let ApplicationShell = ApplicationShell_1 = class ApplicationShell extends widge
1243
1248
  * @param filter
1244
1249
  * If undefined, all tabs are closed; otherwise only those tabs that match the filter are closed.
1245
1250
  */
1246
- closeTabs(tabBarOrArea, filter) {
1251
+ async closeTabs(tabBarOrArea, filter) {
1252
+ const titles = [];
1247
1253
  if (tabBarOrArea === 'main') {
1248
- this.mainAreaTabBars.forEach(tb => this.closeTabs(tb, filter));
1254
+ this.mainAreaTabBars.forEach(tabbar => titles.push(...algorithm_1.toArray(tabbar.titles)));
1249
1255
  }
1250
1256
  else if (tabBarOrArea === 'bottom') {
1251
- this.bottomAreaTabBars.forEach(tb => this.closeTabs(tb, filter));
1257
+ this.bottomAreaTabBars.forEach(tabbar => titles.push(...algorithm_1.toArray(tabbar.titles)));
1252
1258
  }
1253
1259
  else if (typeof tabBarOrArea === 'string') {
1254
- const tabBar = this.getTabBarFor(tabBarOrArea);
1255
- if (tabBar) {
1256
- this.closeTabs(tabBar, filter);
1260
+ const tabbar = this.getTabBarFor(tabBarOrArea);
1261
+ if (tabbar) {
1262
+ titles.push(...algorithm_1.toArray(tabbar.titles));
1257
1263
  }
1258
1264
  }
1259
1265
  else if (tabBarOrArea) {
1260
- const titles = algorithm_1.toArray(tabBarOrArea.titles);
1261
- for (let i = 0; i < titles.length; i++) {
1262
- if (filter === undefined || filter(titles[i], i)) {
1263
- titles[i].owner.close();
1264
- }
1265
- }
1266
+ titles.push(...algorithm_1.toArray(tabBarOrArea.titles));
1267
+ }
1268
+ if (titles.length) {
1269
+ await this.closeMany((filter ? titles.filter(filter) : titles).map(title => title.owner));
1266
1270
  }
1267
1271
  }
1268
1272
  saveTabs(tabBarOrArea, filter) {
@@ -1289,6 +1293,21 @@ let ApplicationShell = ApplicationShell_1 = class ApplicationShell extends widge
1289
1293
  }
1290
1294
  }
1291
1295
  }
1296
+ /**
1297
+ * @param targets the widgets to be closed
1298
+ * @return an array of all the widgets that were actually closed.
1299
+ */
1300
+ async closeMany(targets, options) {
1301
+ if ((options === null || options === void 0 ? void 0 : options.save) === false || await saveable_1.Saveable.confirmSaveBeforeClose(targets, this.widgets.filter(widget => !targets.includes(widget)))) {
1302
+ return (await Promise.all(targets.map(target => this.closeWidget(target.id, options)))).filter((widget) => widget !== undefined);
1303
+ }
1304
+ return [];
1305
+ }
1306
+ /**
1307
+ * @returns the widget that was closed, if any, `undefined` otherwise.
1308
+ *
1309
+ * If your use case requires closing multiple widgets, use {@link ApplicationShell#closeMany} instead. That method handles closing saveable widgets more reliably.
1310
+ */
1292
1311
  async closeWidget(id, options) {
1293
1312
  // TODO handle save for composite widgets, i.e. the preference widget has 2 editors
1294
1313
  const stack = this.toTrackedStack(id);
@@ -1296,19 +1315,10 @@ let ApplicationShell = ApplicationShell_1 = class ApplicationShell extends widge
1296
1315
  if (!current) {
1297
1316
  return undefined;
1298
1317
  }
1299
- let pendingClose;
1300
- if (saveable_1.SaveableWidget.is(current)) {
1301
- let shouldSave;
1302
- if (options && 'save' in options) {
1303
- shouldSave = () => options.save;
1304
- }
1305
- pendingClose = current.closeWithSaving({ shouldSave });
1306
- }
1307
- else {
1308
- current.close();
1309
- pendingClose = widgets_2.waitForClosed(current);
1310
- }
1311
- ;
1318
+ const saveableOptions = options && { shouldSave: () => options.save };
1319
+ const pendingClose = saveable_1.SaveableWidget.is(current)
1320
+ ? current.closeWithSaving(saveableOptions)
1321
+ : (current.close(), widgets_2.waitForClosed(current));
1312
1322
  await Promise.all([
1313
1323
  pendingClose,
1314
1324
  this.pendingUpdates
@@ -1586,8 +1596,9 @@ let ApplicationShell = ApplicationShell_1 = class ApplicationShell extends widge
1586
1596
  if (!prevBar) {
1587
1597
  return false;
1588
1598
  }
1589
- const len = prevBar.titles.length;
1590
- prevBar.currentIndex = len - 1;
1599
+ if (!prevBar.currentTitle) {
1600
+ prevBar.currentIndex = prevBar.titles.length - 1;
1601
+ }
1591
1602
  if (prevBar.currentTitle) {
1592
1603
  this.activateWidget(prevBar.currentTitle.owner.id);
1593
1604
  }