@theia/editor 1.74.0-next.9 → 1.74.0

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.
@@ -1,12 +1,11 @@
1
- import { SelectionService, Event, DisposableCollection } from '@theia/core/lib/common';
2
- import { Widget, BaseWidget, Message, Saveable, SaveableSource, Navigatable, StatefulWidget, TabBar, ExtractableWidget } from '@theia/core/lib/browser';
1
+ import { SelectionService, Event } from '@theia/core/lib/common';
2
+ import { Widget, BaseWidget, Message, Saveable, SaveableSource, Navigatable, StatefulWidget, TabBar, TabBarTracker, ExtractableWidget } from '@theia/core/lib/browser';
3
3
  import URI from '@theia/core/lib/common/uri';
4
4
  import { TextEditor } from './editor';
5
5
  export declare class EditorWidget extends BaseWidget implements SaveableSource, Navigatable, StatefulWidget, ExtractableWidget {
6
6
  readonly editor: TextEditor;
7
7
  protected readonly selectionService: SelectionService;
8
- protected toDisposeOnTabbarChange: DisposableCollection;
9
- protected currentTabbar: TabBar<Widget> | undefined;
8
+ protected readonly tabBarTracker: TabBarTracker;
10
9
  constructor(editor: TextEditor, selectionService: SelectionService);
11
10
  isExtractable: boolean;
12
11
  secondaryWindow: Window | undefined;
@@ -19,7 +18,6 @@ export declare class EditorWidget extends BaseWidget implements SaveableSource,
19
18
  getPreviewNode(): Node | undefined;
20
19
  protected onActivateRequest(msg: Message): void;
21
20
  protected onAfterAttach(msg: Message): void;
22
- protected checkForTabbarChange(): void;
23
21
  protected handleTabBarChange(oldTabBar?: TabBar<Widget>, newTabBar?: TabBar<Widget>): void;
24
22
  protected onAfterShow(msg: Message): void;
25
23
  protected onResize(msg: Widget.ResizeMessage): void;
@@ -1 +1 @@
1
- {"version":3,"file":"editor-widget.d.ts","sourceRoot":"","sources":["../../src/browser/editor-widget.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAc,gBAAgB,EAAE,KAAK,EAAmB,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACpH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAQ,MAAM,EAAqB,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjL,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,qBAAa,YAAa,SAAQ,UAAW,YAAW,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB;IAM9G,QAAQ,CAAC,MAAM,EAAE,UAAU;IAC3B,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IALzD,SAAS,CAAC,uBAAuB,uBAA8B;IAC/D,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;gBAGvC,MAAM,EAAE,UAAU,EACR,gBAAgB,EAAE,gBAAgB;IA0BzD,aAAa,EAAE,OAAO,CAAQ;IAC9B,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IAEpC,wBAAwB,EAAE,OAAO,CAAQ;IAEzC,YAAY,IAAI,IAAI;cAMD,sBAAsB,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI;IAKtE,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,cAAc,IAAI,GAAG,GAAG,SAAS;IAGjC,eAAe,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,GAAG,SAAS;IAIzC,cAAc,IAAI,IAAI,GAAG,SAAS;cAQxB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;cAMrC,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAQpD,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAgBtC,SAAS,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI;cAUvE,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;cAK/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,aAAa,GAAG,IAAI;IAQ5D,UAAU,IAAI,MAAM,GAAG,SAAS;IAIhC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIpC,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,CAE3B;CAEJ"}
1
+ {"version":3,"file":"editor-widget.d.ts","sourceRoot":"","sources":["../../src/browser/editor-widget.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAc,gBAAgB,EAAE,KAAK,EAAmB,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EACH,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAQ,MAAM,EAAE,aAAa,EAAU,iBAAiB,EAC7I,MAAM,yBAAyB,CAAC;AACjC,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,qBAAa,YAAa,SAAQ,UAAW,YAAW,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB;IAK9G,QAAQ,CAAC,MAAM,EAAE,UAAU;IAC3B,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAJzD,SAAS,CAAC,QAAQ,CAAC,aAAa,gBAAoG;gBAGvH,MAAM,EAAE,UAAU,EACR,gBAAgB,EAAE,gBAAgB;IAwBzD,aAAa,EAAE,OAAO,CAAQ;IAC9B,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IAEpC,wBAAwB,EAAE,OAAO,CAAQ;IAEzC,YAAY,IAAI,IAAI;cAMD,sBAAsB,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI;IAKtE,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,cAAc,IAAI,GAAG,GAAG,SAAS;IAGjC,eAAe,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,GAAG,SAAS;IAIzC,cAAc,IAAI,IAAI,GAAG,SAAS;cAQxB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;cAMrC,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAQpD,SAAS,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI;cAUvE,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;cAK/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,aAAa,GAAG,IAAI;IAQ5D,UAAU,IAAI,MAAM,GAAG,SAAS;IAIhC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIpC,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,CAE3B;CAEJ"}
@@ -18,13 +18,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.EditorWidget = void 0;
19
19
  const common_1 = require("@theia/core/lib/common");
20
20
  const browser_1 = require("@theia/core/lib/browser");
21
- const algorithm_1 = require("@theia/core/shared/@lumino/algorithm");
22
21
  class EditorWidget extends browser_1.BaseWidget {
23
22
  constructor(editor, selectionService) {
24
23
  super(editor);
25
24
  this.editor = editor;
26
25
  this.selectionService = selectionService;
27
- this.toDisposeOnTabbarChange = new common_1.DisposableCollection();
26
+ this.tabBarTracker = new browser_1.TabBarTracker(this, (oldTabBar, newTabBar) => this.handleTabBarChange(oldTabBar, newTabBar));
28
27
  this.isExtractable = true;
29
28
  this.navigationHistorySupport = true;
30
29
  this.addClass('theia-editor');
@@ -42,9 +41,7 @@ class EditorWidget extends browser_1.BaseWidget {
42
41
  (0, browser_1.unlock)(this.title);
43
42
  }
44
43
  }));
45
- this.toDispose.push(common_1.Disposable.create(() => {
46
- this.toDisposeOnTabbarChange.dispose();
47
- }));
44
+ this.toDispose.push(this.tabBarTracker);
48
45
  this.toDispose.push(common_1.Disposable.create(() => {
49
46
  if (this.selectionService.selection === this.editor) {
50
47
  this.selectionService.selection = undefined;
@@ -86,22 +83,7 @@ class EditorWidget extends browser_1.BaseWidget {
86
83
  if (this.isVisible) {
87
84
  this.editor.refresh();
88
85
  }
89
- this.checkForTabbarChange();
90
- }
91
- checkForTabbarChange() {
92
- const { parent } = this;
93
- if (parent instanceof browser_1.DockPanel) {
94
- const newTabbar = (0, algorithm_1.find)(parent.tabBars(), tabbar => !!tabbar.titles.find(title => title === this.title));
95
- if (this.currentTabbar !== newTabbar) {
96
- this.toDisposeOnTabbarChange.dispose();
97
- const listener = () => this.checkForTabbarChange();
98
- parent.layoutModified.connect(listener);
99
- this.toDisposeOnTabbarChange.push(common_1.Disposable.create(() => parent.layoutModified.disconnect(listener)));
100
- const last = this.currentTabbar;
101
- this.currentTabbar = newTabbar;
102
- this.handleTabBarChange(last, newTabbar);
103
- }
104
- }
86
+ this.tabBarTracker.check();
105
87
  }
106
88
  handleTabBarChange(oldTabBar, newTabBar) {
107
89
  const ownSaveable = browser_1.Saveable.get(this);
@@ -1 +1 @@
1
- {"version":3,"file":"editor-widget.js","sourceRoot":"","sources":["../../src/browser/editor-widget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-widget.js","sourceRoot":"","sources":["../../src/browser/editor-widget.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@theia/editor",
3
- "version": "1.74.0-next.9+f24bc8b12",
3
+ "version": "1.74.0",
4
4
  "description": "Theia - Editor Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.74.0-next.9+f24bc8b12",
7
- "@theia/variable-resolver": "1.74.0-next.9+f24bc8b12",
6
+ "@theia/core": "1.74.0",
7
+ "@theia/variable-resolver": "1.74.0",
8
8
  "tslib": "^2.8.1"
9
9
  },
10
10
  "publishConfig": {
@@ -42,10 +42,10 @@
42
42
  "watch": "theiaext watch"
43
43
  },
44
44
  "devDependencies": {
45
- "@theia/ext-scripts": "1.73.0"
45
+ "@theia/ext-scripts": "1.74.0"
46
46
  },
47
47
  "nyc": {
48
48
  "extends": "../../configs/nyc.json"
49
49
  },
50
- "gitHead": "f24bc8b12e11ee4b054527565df3648c363b7f86"
50
+ "gitHead": "7b7376225f0825b4f13d296d686cc13db95fdb69"
51
51
  }
@@ -14,16 +14,16 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import { Disposable, SelectionService, Event, UNTITLED_SCHEME, DisposableCollection } from '@theia/core/lib/common';
18
- import { Widget, BaseWidget, Message, Saveable, SaveableSource, Navigatable, StatefulWidget, lock, TabBar, DockPanel, unlock, ExtractableWidget } from '@theia/core/lib/browser';
17
+ import { Disposable, SelectionService, Event, UNTITLED_SCHEME } from '@theia/core/lib/common';
18
+ import {
19
+ Widget, BaseWidget, Message, Saveable, SaveableSource, Navigatable, StatefulWidget, lock, TabBar, TabBarTracker, unlock, ExtractableWidget
20
+ } from '@theia/core/lib/browser';
19
21
  import URI from '@theia/core/lib/common/uri';
20
- import { find } from '@theia/core/shared/@lumino/algorithm';
21
22
  import { TextEditor } from './editor';
22
23
 
23
24
  export class EditorWidget extends BaseWidget implements SaveableSource, Navigatable, StatefulWidget, ExtractableWidget {
24
25
 
25
- protected toDisposeOnTabbarChange = new DisposableCollection();
26
- protected currentTabbar: TabBar<Widget> | undefined;
26
+ protected readonly tabBarTracker = new TabBarTracker(this, (oldTabBar, newTabBar) => this.handleTabBarChange(oldTabBar, newTabBar));
27
27
 
28
28
  constructor(
29
29
  readonly editor: TextEditor,
@@ -44,9 +44,7 @@ export class EditorWidget extends BaseWidget implements SaveableSource, Navigata
44
44
  unlock(this.title);
45
45
  }
46
46
  }));
47
- this.toDispose.push(Disposable.create(() => {
48
- this.toDisposeOnTabbarChange.dispose();
49
- }));
47
+ this.toDispose.push(this.tabBarTracker);
50
48
  this.toDispose.push(Disposable.create(() => {
51
49
  if (this.selectionService.selection === this.editor) {
52
50
  this.selectionService.selection = undefined;
@@ -99,23 +97,7 @@ export class EditorWidget extends BaseWidget implements SaveableSource, Navigata
99
97
  if (this.isVisible) {
100
98
  this.editor.refresh();
101
99
  }
102
- this.checkForTabbarChange();
103
- }
104
-
105
- protected checkForTabbarChange(): void {
106
- const { parent } = this;
107
- if (parent instanceof DockPanel) {
108
- const newTabbar = find(parent.tabBars(), tabbar => !!tabbar.titles.find(title => title === this.title));
109
- if (this.currentTabbar !== newTabbar) {
110
- this.toDisposeOnTabbarChange.dispose();
111
- const listener = () => this.checkForTabbarChange();
112
- parent.layoutModified.connect(listener);
113
- this.toDisposeOnTabbarChange.push(Disposable.create(() => parent.layoutModified.disconnect(listener)));
114
- const last = this.currentTabbar;
115
- this.currentTabbar = newTabbar;
116
- this.handleTabBarChange(last, newTabbar);
117
- }
118
- }
100
+ this.tabBarTracker.check();
119
101
  }
120
102
 
121
103
  protected handleTabBarChange(oldTabBar?: TabBar<Widget>, newTabBar?: TabBar<Widget>): void {