@theia/preferences 1.76.0-next.6 → 1.76.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.
- package/lib/browser/preference-frontend-contribution.d.ts +18 -0
- package/lib/browser/preference-frontend-contribution.d.ts.map +1 -1
- package/lib/browser/preference-frontend-contribution.js +48 -12
- package/lib/browser/preference-frontend-contribution.js.map +1 -1
- package/lib/browser/preference-frontend-contribution.spec.d.ts +2 -0
- package/lib/browser/preference-frontend-contribution.spec.d.ts.map +1 -0
- package/lib/browser/preference-frontend-contribution.spec.js +76 -0
- package/lib/browser/preference-frontend-contribution.spec.js.map +1 -0
- package/lib/browser/preference-frontend-module.d.ts.map +1 -1
- package/lib/browser/preference-frontend-module.js +4 -0
- package/lib/browser/preference-frontend-module.js.map +1 -1
- package/lib/browser/preference-tree-model.d.ts +38 -1
- package/lib/browser/preference-tree-model.d.ts.map +1 -1
- package/lib/browser/preference-tree-model.js +136 -3
- package/lib/browser/preference-tree-model.js.map +1 -1
- package/lib/browser/preference-tree-model.spec.d.ts +2 -0
- package/lib/browser/preference-tree-model.spec.d.ts.map +1 -0
- package/lib/browser/preference-tree-model.spec.js +320 -0
- package/lib/browser/preference-tree-model.spec.js.map +1 -0
- package/lib/browser/session-preference-remote-cli-contribution.d.ts +17 -0
- package/lib/browser/session-preference-remote-cli-contribution.d.ts.map +1 -0
- package/lib/browser/session-preference-remote-cli-contribution.js +54 -0
- package/lib/browser/session-preference-remote-cli-contribution.js.map +1 -0
- package/lib/browser/session-preference-remote-cli-contribution.spec.d.ts +2 -0
- package/lib/browser/session-preference-remote-cli-contribution.spec.d.ts.map +1 -0
- package/lib/browser/session-preference-remote-cli-contribution.spec.js +50 -0
- package/lib/browser/session-preference-remote-cli-contribution.spec.js.map +1 -0
- package/lib/browser/views/preference-editor-widget.d.ts +29 -7
- package/lib/browser/views/preference-editor-widget.d.ts.map +1 -1
- package/lib/browser/views/preference-editor-widget.js +119 -15
- package/lib/browser/views/preference-editor-widget.js.map +1 -1
- package/lib/browser/views/preference-widget.d.ts +1 -2
- package/lib/browser/views/preference-widget.d.ts.map +1 -1
- package/lib/browser/views/preference-widget.js +0 -2
- package/lib/browser/views/preference-widget.js.map +1 -1
- package/lib/common/cli-preferences.d.ts +28 -0
- package/lib/common/cli-preferences.d.ts.map +1 -1
- package/lib/common/cli-preferences.js +66 -1
- package/lib/common/cli-preferences.js.map +1 -1
- package/lib/common/cli-preferences.spec.d.ts +2 -0
- package/lib/common/cli-preferences.spec.d.ts.map +1 -0
- package/lib/common/cli-preferences.spec.js +64 -0
- package/lib/common/cli-preferences.spec.js.map +1 -0
- package/lib/node/preference-cli-contribution.d.ts.map +1 -1
- package/lib/node/preference-cli-contribution.js +3 -22
- package/lib/node/preference-cli-contribution.js.map +1 -1
- package/package.json +9 -9
- package/src/browser/preference-frontend-contribution.spec.ts +92 -0
- package/src/browser/preference-frontend-contribution.ts +50 -13
- package/src/browser/preference-frontend-module.ts +4 -0
- package/src/browser/preference-tree-model.spec.ts +362 -0
- package/src/browser/preference-tree-model.ts +144 -3
- package/src/browser/session-preference-remote-cli-contribution.spec.ts +59 -0
- package/src/browser/session-preference-remote-cli-contribution.ts +49 -0
- package/src/browser/style/index.css +6 -0
- package/src/browser/views/preference-editor-widget.ts +124 -23
- package/src/browser/views/preference-widget.tsx +1 -4
- package/src/common/cli-preferences.spec.ts +73 -0
- package/src/common/cli-preferences.ts +75 -0
- package/src/node/preference-cli-contribution.ts +3 -22
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { FrontendApplicationContribution } from '@theia/core/lib/browser';
|
|
2
|
+
import { WindowLaunchArgs } from '@theia/core/lib/browser/window/window-launch-args';
|
|
2
3
|
import { CliPreferences } from '../common/cli-preferences';
|
|
3
4
|
import { PreferenceService, PreferenceScope } from '@theia/core/lib/common/preferences';
|
|
4
5
|
import { ILogger } from '@theia/core';
|
|
@@ -6,8 +7,25 @@ export declare class PreferenceFrontendContribution implements FrontendApplicati
|
|
|
6
7
|
protected readonly CliPreferences: CliPreferences;
|
|
7
8
|
protected readonly preferenceService: PreferenceService;
|
|
8
9
|
protected readonly logger: ILogger;
|
|
10
|
+
protected readonly launchArgs: WindowLaunchArgs;
|
|
9
11
|
onStart(): void;
|
|
10
12
|
protected applyCliPreferences(): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Resolves the CLI-provided preferences to apply to this window.
|
|
15
|
+
*
|
|
16
|
+
* The shared backend reflects the original cold-start launch (it cannot distinguish between
|
|
17
|
+
* windows), so it supplies the process-wide CLI preferences. A forwarded (second-instance)
|
|
18
|
+
* window additionally carries its own options, provided by the trusted main process, and layers
|
|
19
|
+
* them on top, overriding by key. Merging (rather than replacing) means a plain
|
|
20
|
+
* second-instance window keeps the process-wide values instead of dropping them, while an attach
|
|
21
|
+
* window still gets its own overrides.
|
|
22
|
+
*/
|
|
23
|
+
protected resolveCliPreferences(): Promise<{
|
|
24
|
+
session: [string, unknown][];
|
|
25
|
+
persistent: [string, unknown][];
|
|
26
|
+
}>;
|
|
27
|
+
/** Overlays `overrides` onto `base`, later entries winning per key while preserving order (base first). */
|
|
28
|
+
protected mergeEntries(base: ReadonlyArray<[string, unknown]>, overrides: ReadonlyArray<[string, unknown]>): [string, unknown][];
|
|
11
29
|
/**
|
|
12
30
|
* Applies a batch of CLI-provided preferences sequentially. A rejection from an
|
|
13
31
|
* individual write (bad key, invalid scope, etc.) is logged and does not abort the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preference-frontend-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/preference-frontend-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"preference-frontend-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/preference-frontend-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,EAAE,cAAc,EAAsB,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,qBACa,8BAA+B,YAAW,+BAA+B;IAElF,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAEhD,OAAO,IAAI,IAAI;cAIC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBpD;;;;;;;;;OASG;cACa,qBAAqB,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QAAC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAAE,CAAC;IAwBnH,2GAA2G;IAC3G,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAQhI;;;;OAIG;cACa,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CAS7G"}
|
|
@@ -18,6 +18,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
exports.PreferenceFrontendContribution = void 0;
|
|
19
19
|
const tslib_1 = require("tslib");
|
|
20
20
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const launch_arguments_1 = require("@theia/core/lib/common/launch-arguments");
|
|
22
|
+
const window_launch_args_1 = require("@theia/core/lib/browser/window/window-launch-args");
|
|
21
23
|
const cli_preferences_1 = require("../common/cli-preferences");
|
|
22
24
|
const preferences_1 = require("@theia/core/lib/common/preferences");
|
|
23
25
|
const core_1 = require("@theia/core");
|
|
@@ -26,18 +28,7 @@ let PreferenceFrontendContribution = class PreferenceFrontendContribution {
|
|
|
26
28
|
this.applyCliPreferences();
|
|
27
29
|
}
|
|
28
30
|
async applyCliPreferences() {
|
|
29
|
-
|
|
30
|
-
// can overlap with the preference service initialising its providers.
|
|
31
|
-
const [session, persistent] = await Promise.all([
|
|
32
|
-
this.CliPreferences.getSessionPreferences().catch(e => {
|
|
33
|
-
this.logger.warn('Failed to fetch --session-preference values:', e);
|
|
34
|
-
return [];
|
|
35
|
-
}),
|
|
36
|
-
this.CliPreferences.getPreferences().catch(e => {
|
|
37
|
-
this.logger.warn('Failed to fetch --set-preference values:', e);
|
|
38
|
-
return [];
|
|
39
|
-
})
|
|
40
|
-
]);
|
|
31
|
+
const { session, persistent } = await this.resolveCliPreferences();
|
|
41
32
|
// `preferenceService.set()` needs the target provider registered in the providers
|
|
42
33
|
// map, which only happens once `initializeProviders()` has walked every scope and
|
|
43
34
|
// resolved `ready`. Writing before that returns `undefined` from `getProvider()`
|
|
@@ -55,6 +46,47 @@ let PreferenceFrontendContribution = class PreferenceFrontendContribution {
|
|
|
55
46
|
}
|
|
56
47
|
await this.applyAll(persistent, preferences_1.PreferenceScope.User);
|
|
57
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Resolves the CLI-provided preferences to apply to this window.
|
|
51
|
+
*
|
|
52
|
+
* The shared backend reflects the original cold-start launch (it cannot distinguish between
|
|
53
|
+
* windows), so it supplies the process-wide CLI preferences. A forwarded (second-instance)
|
|
54
|
+
* window additionally carries its own options, provided by the trusted main process, and layers
|
|
55
|
+
* them on top, overriding by key. Merging (rather than replacing) means a plain
|
|
56
|
+
* second-instance window keeps the process-wide values instead of dropping them, while an attach
|
|
57
|
+
* window still gets its own overrides.
|
|
58
|
+
*/
|
|
59
|
+
async resolveCliPreferences() {
|
|
60
|
+
// Fetch both buckets in parallel; both are RPC hops to the same backend and
|
|
61
|
+
// can overlap with the preference service initialising its providers.
|
|
62
|
+
const [session, persistent] = await Promise.all([
|
|
63
|
+
this.CliPreferences.getSessionPreferences().catch(e => {
|
|
64
|
+
this.logger.warn('Failed to fetch --session-preference values:', e);
|
|
65
|
+
return [];
|
|
66
|
+
}),
|
|
67
|
+
this.CliPreferences.getPreferences().catch(e => {
|
|
68
|
+
this.logger.warn('Failed to fetch --set-preference values:', e);
|
|
69
|
+
return [];
|
|
70
|
+
})
|
|
71
|
+
]);
|
|
72
|
+
const forwarded = this.launchArgs.getLaunchArgs();
|
|
73
|
+
if (forwarded === undefined) {
|
|
74
|
+
return { session, persistent };
|
|
75
|
+
}
|
|
76
|
+
const warn = (message) => this.logger.warn(message);
|
|
77
|
+
return {
|
|
78
|
+
session: this.mergeEntries(session, cli_preferences_1.CliPreferenceEntry.parseAll(launch_arguments_1.LaunchArguments.values(forwarded, 'session-preference'), warn)),
|
|
79
|
+
persistent: this.mergeEntries(persistent, cli_preferences_1.CliPreferenceEntry.parseAll(launch_arguments_1.LaunchArguments.values(forwarded, 'set-preference'), warn))
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/** Overlays `overrides` onto `base`, later entries winning per key while preserving order (base first). */
|
|
83
|
+
mergeEntries(base, overrides) {
|
|
84
|
+
const merged = new Map();
|
|
85
|
+
for (const [key, value] of [...base, ...overrides]) {
|
|
86
|
+
merged.set(key, value);
|
|
87
|
+
}
|
|
88
|
+
return [...merged];
|
|
89
|
+
}
|
|
58
90
|
/**
|
|
59
91
|
* Applies a batch of CLI-provided preferences sequentially. A rejection from an
|
|
60
92
|
* individual write (bad key, invalid scope, etc.) is logged and does not abort the
|
|
@@ -85,6 +117,10 @@ tslib_1.__decorate([
|
|
|
85
117
|
(0, inversify_1.named)('preferences:PreferenceFrontendContribution'),
|
|
86
118
|
tslib_1.__metadata("design:type", Object)
|
|
87
119
|
], PreferenceFrontendContribution.prototype, "logger", void 0);
|
|
120
|
+
tslib_1.__decorate([
|
|
121
|
+
(0, inversify_1.inject)(window_launch_args_1.WindowLaunchArgs),
|
|
122
|
+
tslib_1.__metadata("design:type", Object)
|
|
123
|
+
], PreferenceFrontendContribution.prototype, "launchArgs", void 0);
|
|
88
124
|
exports.PreferenceFrontendContribution = PreferenceFrontendContribution = tslib_1.__decorate([
|
|
89
125
|
(0, inversify_1.injectable)()
|
|
90
126
|
], PreferenceFrontendContribution);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preference-frontend-contribution.js","sourceRoot":"","sources":["../../src/browser/preference-frontend-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAyE;AAEzE,+
|
|
1
|
+
{"version":3,"file":"preference-frontend-contribution.js","sourceRoot":"","sources":["../../src/browser/preference-frontend-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preference-frontend-contribution.spec.d.ts","sourceRoot":"","sources":["../../src/browser/preference-frontend-contribution.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 EclipseSource 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
|
+
const chai_1 = require("chai");
|
|
19
|
+
const launchArgs = (values) => ({ values, negated: [] });
|
|
20
|
+
const preference_frontend_contribution_1 = require("./preference-frontend-contribution");
|
|
21
|
+
class TestPreferenceFrontendContribution extends preference_frontend_contribution_1.PreferenceFrontendContribution {
|
|
22
|
+
constructor() {
|
|
23
|
+
super(...arguments);
|
|
24
|
+
this.sessionBackendCalls = 0;
|
|
25
|
+
this.persistentBackendCalls = 0;
|
|
26
|
+
}
|
|
27
|
+
resolve() {
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
29
|
+
this.launchArgs = { getLaunchArgs: () => this.forwardedArgs };
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
31
|
+
this.CliPreferences = {
|
|
32
|
+
getSessionPreferences: async () => {
|
|
33
|
+
this.sessionBackendCalls++;
|
|
34
|
+
return [['backend.session', 1]];
|
|
35
|
+
},
|
|
36
|
+
getPreferences: async () => {
|
|
37
|
+
this.persistentBackendCalls++;
|
|
38
|
+
return [['backend.persistent', 2]];
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
return this.resolveCliPreferences();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
describe('PreferenceFrontendContribution#resolveCliPreferences', () => {
|
|
45
|
+
let contribution;
|
|
46
|
+
beforeEach(() => {
|
|
47
|
+
contribution = new TestPreferenceFrontendContribution();
|
|
48
|
+
});
|
|
49
|
+
it('reads preferences from the backend on a cold-start window (no forwarded options)', async () => {
|
|
50
|
+
contribution.forwardedArgs = undefined;
|
|
51
|
+
const result = await contribution.resolve();
|
|
52
|
+
(0, chai_1.expect)(result.session).to.deep.equal([['backend.session', 1]]);
|
|
53
|
+
(0, chai_1.expect)(result.persistent).to.deep.equal([['backend.persistent', 2]]);
|
|
54
|
+
(0, chai_1.expect)(contribution.sessionBackendCalls).to.equal(1);
|
|
55
|
+
});
|
|
56
|
+
it('layers --session-preference from the forwarded options on top of the backend values', async () => {
|
|
57
|
+
contribution.forwardedArgs = launchArgs({ 'session-preference': ['editor.fontSize=20'], 'attach-container': ['B'] });
|
|
58
|
+
const result = await contribution.resolve();
|
|
59
|
+
// Process-wide backend values are kept (base) and the forwarded value is added on top.
|
|
60
|
+
(0, chai_1.expect)(result.session).to.deep.equal([['backend.session', 1], ['editor.fontSize', 20]]);
|
|
61
|
+
(0, chai_1.expect)(result.persistent).to.deep.equal([['backend.persistent', 2]]);
|
|
62
|
+
(0, chai_1.expect)(contribution.sessionBackendCalls).to.equal(1);
|
|
63
|
+
});
|
|
64
|
+
it('layers --set-preference from the forwarded options on top of the backend values', async () => {
|
|
65
|
+
contribution.forwardedArgs = launchArgs({ 'set-preference': ['editor.tabSize=2'] });
|
|
66
|
+
const result = await contribution.resolve();
|
|
67
|
+
(0, chai_1.expect)(result.persistent).to.deep.equal([['backend.persistent', 2], ['editor.tabSize', 2]]);
|
|
68
|
+
(0, chai_1.expect)(result.session).to.deep.equal([['backend.session', 1]]);
|
|
69
|
+
});
|
|
70
|
+
it('lets a forwarded value override a same-key backend value', async () => {
|
|
71
|
+
contribution.forwardedArgs = launchArgs({ 'session-preference': ['backend.session=99'] });
|
|
72
|
+
const result = await contribution.resolve();
|
|
73
|
+
(0, chai_1.expect)(result.session).to.deep.equal([['backend.session', 99]]);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
//# sourceMappingURL=preference-frontend-contribution.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preference-frontend-contribution.spec.js","sourceRoot":"","sources":["../../src/browser/preference-frontend-contribution.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preference-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/preference-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,mCAAmC,CAAC;AAC3C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"preference-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/preference-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,mCAAmC,CAAC;AAC3C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AA0B3E,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,IAAI,CAqCtF;;AAED,wBAEG"}
|
|
@@ -34,6 +34,8 @@ const preference_open_handler_1 = require("./preference-open-handler");
|
|
|
34
34
|
const cli_preferences_1 = require("../common/cli-preferences");
|
|
35
35
|
const service_connection_provider_1 = require("@theia/core/lib/browser/messaging/service-connection-provider");
|
|
36
36
|
const preference_frontend_contribution_1 = require("./preference-frontend-contribution");
|
|
37
|
+
const remote_cli_args_contribution_1 = require("@theia/core/lib/common/remote-cli-args-contribution");
|
|
38
|
+
const session_preference_remote_cli_contribution_1 = require("./session-preference-remote-cli-contribution");
|
|
37
39
|
const session_preference_status_bar_contribution_1 = require("./session-preference-status-bar-contribution");
|
|
38
40
|
const preference_layout_1 = require("./util/preference-layout");
|
|
39
41
|
const preference_widget_1 = require("./views/preference-widget");
|
|
@@ -59,6 +61,8 @@ function bindPreferences(bind, unbind) {
|
|
|
59
61
|
bind(cli_preferences_1.CliPreferences).toDynamicValue(ctx => service_connection_provider_1.ServiceConnectionProvider.createProxy(ctx.container, cli_preferences_1.CliPreferencesPath)).inSingletonScope();
|
|
60
62
|
bind(preference_frontend_contribution_1.PreferenceFrontendContribution).toSelf().inSingletonScope();
|
|
61
63
|
bind(browser_1.FrontendApplicationContribution).toService(preference_frontend_contribution_1.PreferenceFrontendContribution);
|
|
64
|
+
bind(session_preference_remote_cli_contribution_1.SessionPreferenceRemoteCliContribution).toSelf().inSingletonScope();
|
|
65
|
+
bind(remote_cli_args_contribution_1.RemoteCliArgsContribution).toService(session_preference_remote_cli_contribution_1.SessionPreferenceRemoteCliContribution);
|
|
62
66
|
bind(session_preference_status_bar_contribution_1.SessionPreferenceStatusBarContribution).toSelf().inSingletonScope();
|
|
63
67
|
bind(browser_1.FrontendApplicationContribution).toService(session_preference_status_bar_contribution_1.SessionPreferenceStatusBarContribution);
|
|
64
68
|
bind(browser_1.WidgetStatusBarContribution).toConstantValue((0, browser_1.noopWidgetStatusBarContribution)(preference_widget_1.PreferencesWidget));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preference-frontend-module.js","sourceRoot":"","sources":["../../src/browser/preference-frontend-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,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;;
|
|
1
|
+
{"version":3,"file":"preference-frontend-module.js","sourceRoot":"","sources":["../../src/browser/preference-frontend-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,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;;AA8BhF,0CAqCC;AAjED,6CAA2C;AAC3C,6CAA2C;AAC3C,4DAA2E;AAC3E,qDAA2K;AAC3K,mFAA0F;AAC1F,gFAA2E;AAC3E,+DAAgE;AAChE,mFAA4E;AAC5E,yEAAqE;AACrE,8FAAwF;AACxF,iFAAmF;AACnF,iGAA2F;AAC3F,+DAA0D;AAC1D,qFAA4I;AAC5I,uEAAkE;AAClE,+DAA+E;AAC/E,+GAA0G;AAC1G,yFAAoF;AACpF,sGAAgG;AAChG,6GAAsG;AACtG,6GAAsG;AACtG,gEAAoE;AACpE,iEAA8D;AAC9D,2GAA2F;AAC3F,+EAA0E;AAC1E,6EAAyE;AAGzE,SAAgB,eAAe,CAAC,IAAqB,EAAE,MAAyB;IAC5E,IAAA,6CAAuB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,IAAA,mDAAsB,EAAC,IAAI,CAAC,CAAC;IAE7B,IAAI,CAAC,mDAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1D,IAAI,CAAC,4CAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAE3D,IAAA,8BAAoB,EAAC,IAAI,EAAE,kDAAuB,CAAC,CAAC;IAEpD,IAAI,CAAC,+CAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxD,IAAI,CAAC,qBAAW,CAAC,CAAC,SAAS,CAAC,+CAAqB,CAAC,CAAC;IAEnD,IAAI,CAAC,gEAA6B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAChE,IAAI,CAAC,2CAAyB,CAAC,CAAC,SAAS,CAAC,kDAAuB,CAAC,CAAC;IAEnE,IAAI,CAAC,wEAAiC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpE,IAAI,CAAC,0CAAsB,CAAC,CAAC,SAAS,CAAC,wEAAiC,CAAC,CAAC;IAE1E,IAAI,CAAC,uCAAiB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpD,IAAI,CAAC,sDAAqB,CAAC,CAAC,MAAM,EAAE,CAAC;IACrC,IAAI,CAAC,6DAA4B,CAAC,CAAC,SAAS,CAAC,oEAAmC,CAAC,CAAC;IAClF,IAAI,CAAC,gEAAwB,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,GAAQ,EAAE,KAAsB,EAAE,EAAE,CAAC,IAAI,uDAAyB,CAC3H,SAAS,CAAC,GAAG,CAAC,6DAA4B,CAAC,EAC3C,SAAS,CAAC,GAAG,CAAC,0BAAW,CAAC,EAC1B,GAAG,EACH,KAAK,CACR,CAAC,CAAC;IAEH,IAAI,CAAC,gCAAc,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,uDAAyB,CAAC,WAAW,CAAiB,GAAG,CAAC,SAAS,EAAE,oCAAkB,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACxJ,IAAI,CAAC,iEAA8B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACjE,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,iEAA8B,CAAC,CAAC;IAChF,IAAI,CAAC,mFAAsC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzE,IAAI,CAAC,wDAAyB,CAAC,CAAC,SAAS,CAAC,mFAAsC,CAAC,CAAC;IAClF,IAAI,CAAC,mFAAsC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzE,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,mFAAsC,CAAC,CAAC;IAExF,IAAI,CAAC,qCAA2B,CAAC,CAAC,eAAe,CAAC,IAAA,yCAA+B,EAAC,qCAAiB,CAAC,CAAC,CAAC;AAC1G,CAAC;AAED,kBAAe,IAAI,2BAAe,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IACjE,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC"}
|
|
@@ -15,7 +15,8 @@ export interface PreferenceTreeNodeRow extends Readonly<TreeWidget.NodeRow>, Pre
|
|
|
15
15
|
export declare enum PreferenceFilterChangeSource {
|
|
16
16
|
Schema = 0,
|
|
17
17
|
Search = 1,
|
|
18
|
-
Scope = 2
|
|
18
|
+
Scope = 2,
|
|
19
|
+
Category = 3
|
|
19
20
|
}
|
|
20
21
|
export interface PreferenceFilterChangeEvent {
|
|
21
22
|
source: PreferenceFilterChangeSource;
|
|
@@ -36,6 +37,11 @@ export declare class PreferenceTreeModel extends TreeModelImpl {
|
|
|
36
37
|
protected _currentRows: Map<string, PreferenceTreeNodeRow>;
|
|
37
38
|
protected _totalVisibleLeaves: number;
|
|
38
39
|
private _suppressSelection;
|
|
40
|
+
private preservingCategoryFilter;
|
|
41
|
+
protected _categoryFilterId: string | undefined;
|
|
42
|
+
protected _initialSelectionApplied: boolean;
|
|
43
|
+
protected lastSelectionId: string | undefined;
|
|
44
|
+
get categoryFilterId(): string | undefined;
|
|
39
45
|
get currentRows(): Readonly<Map<string, PreferenceTreeNodeRow>>;
|
|
40
46
|
get totalVisibleLeaves(): number;
|
|
41
47
|
get isFiltered(): boolean;
|
|
@@ -45,6 +51,28 @@ export declare class PreferenceTreeModel extends TreeModelImpl {
|
|
|
45
51
|
protected init(): void;
|
|
46
52
|
protected doInit(): Promise<void>;
|
|
47
53
|
private handleNewSchema;
|
|
54
|
+
/**
|
|
55
|
+
* Re-applies the selection after the tree has been rebuilt with new node instances,
|
|
56
|
+
* e.g. when plugins contribute preferences after startup. The selection state resolves
|
|
57
|
+
* nodes by id, but the rebuilt node lacks the `selected` flag that drives the tree
|
|
58
|
+
* highlight. If the selected node is gone from the new schema, falls back to the
|
|
59
|
+
* default category.
|
|
60
|
+
*/
|
|
61
|
+
protected restoreSelectionInNewTree(): void;
|
|
62
|
+
protected applyInitialSelection(): void;
|
|
63
|
+
/**
|
|
64
|
+
* Selects the 'Commonly Used' category, the default detail page of the settings editor.
|
|
65
|
+
* @returns `true` if the category was found and selected.
|
|
66
|
+
*/
|
|
67
|
+
protected selectDefaultCategory(): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Falls back to the default category when the selected category has no settings left to
|
|
70
|
+
* show, e.g. after switching to a scope in which none of its settings are valid. Otherwise
|
|
71
|
+
* the editor would show an empty page for a category the tree no longer lists. Clears the
|
|
72
|
+
* selection instead if the default category has no settings to show either.
|
|
73
|
+
*/
|
|
74
|
+
protected ensureSelectedCategoryHasVisibleSettings(): void;
|
|
75
|
+
protected hasVisibleSettings(categoryId: string): boolean;
|
|
48
76
|
protected updateRows(): void;
|
|
49
77
|
protected updateFilteredRows(source: PreferenceFilterChangeSource): void;
|
|
50
78
|
protected passesCurrentFilters(node: Preference.LeafNode, prefID: string): boolean;
|
|
@@ -56,8 +84,17 @@ export declare class PreferenceTreeModel extends TreeModelImpl {
|
|
|
56
84
|
protected withSuppressedSelection(fn: () => void): void;
|
|
57
85
|
getNodeFromPreferenceId(id: string): Preference.TreeNode | undefined;
|
|
58
86
|
/**
|
|
87
|
+
* Returns the id of the nearest composite (category) ancestor of `node`,
|
|
88
|
+
* inclusive of `node` itself. Returns `undefined` if no category ancestor is found.
|
|
89
|
+
*/
|
|
90
|
+
protected categoryIdForSelection(node: TreeNode): string | undefined;
|
|
91
|
+
/**
|
|
92
|
+
* Selects `node` to mirror the editor's scroll position in the tree. Unlike an explicit
|
|
93
|
+
* selection, this does not change the category filter: scrolling must never narrow the
|
|
94
|
+
* settings editor, only an explicit selection may.
|
|
59
95
|
* @returns true if selection changed, false otherwise
|
|
60
96
|
*/
|
|
61
97
|
selectIfNotSelected(node: SelectableTreeNode): boolean;
|
|
98
|
+
protected selectPreservingCategoryFilter(node: SelectableTreeNode): void;
|
|
62
99
|
}
|
|
63
100
|
//# sourceMappingURL=preference-tree-model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preference-tree-model.d.ts","sourceRoot":"","sources":["../../src/browser/preference-tree-model.ts"],"names":[],"mappings":"AAiBA,OAAO,EACH,aAAa,EACb,UAAU,EACV,iBAAiB,EAEjB,QAAQ,EACR,SAAS,EAET,kBAAkB,EACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC1G,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"preference-tree-model.d.ts","sourceRoot":"","sources":["../../src/browser/preference-tree-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,11 +26,14 @@ const fuzzy = require("@theia/core/shared/fuzzy");
|
|
|
26
26
|
const preference_scope_tabbar_widget_1 = require("./views/preference-scope-tabbar-widget");
|
|
27
27
|
const preference_types_1 = require("./util/preference-types");
|
|
28
28
|
const preference_layout_1 = require("./util/preference-layout");
|
|
29
|
+
/** Node id of the 'Commonly Used' group, see `PreferenceTreeGenerator`. */
|
|
30
|
+
const COMMONLY_USED_NODE_ID = `${preference_layout_1.COMMONLY_USED_SECTION_PREFIX}@${preference_layout_1.COMMONLY_USED_SECTION_PREFIX}`;
|
|
29
31
|
var PreferenceFilterChangeSource;
|
|
30
32
|
(function (PreferenceFilterChangeSource) {
|
|
31
33
|
PreferenceFilterChangeSource[PreferenceFilterChangeSource["Schema"] = 0] = "Schema";
|
|
32
34
|
PreferenceFilterChangeSource[PreferenceFilterChangeSource["Search"] = 1] = "Search";
|
|
33
35
|
PreferenceFilterChangeSource[PreferenceFilterChangeSource["Scope"] = 2] = "Scope";
|
|
36
|
+
PreferenceFilterChangeSource[PreferenceFilterChangeSource["Category"] = 3] = "Category";
|
|
34
37
|
})(PreferenceFilterChangeSource || (exports.PreferenceFilterChangeSource = PreferenceFilterChangeSource = {}));
|
|
35
38
|
let PreferenceTreeModel = class PreferenceTreeModel extends browser_1.TreeModelImpl {
|
|
36
39
|
constructor() {
|
|
@@ -45,6 +48,11 @@ let PreferenceTreeModel = class PreferenceTreeModel extends browser_1.TreeModelI
|
|
|
45
48
|
this._currentRows = new Map();
|
|
46
49
|
this._totalVisibleLeaves = 0;
|
|
47
50
|
this._suppressSelection = false;
|
|
51
|
+
this.preservingCategoryFilter = false;
|
|
52
|
+
this._initialSelectionApplied = false;
|
|
53
|
+
}
|
|
54
|
+
get categoryFilterId() {
|
|
55
|
+
return this._categoryFilterId;
|
|
48
56
|
}
|
|
49
57
|
get currentRows() {
|
|
50
58
|
return this._currentRows;
|
|
@@ -70,24 +78,45 @@ let PreferenceTreeModel = class PreferenceTreeModel extends browser_1.TreeModelI
|
|
|
70
78
|
async doInit() {
|
|
71
79
|
super.init();
|
|
72
80
|
this.toDispose.pushAll([
|
|
81
|
+
this.onSelectionChanged(selectionEvent => {
|
|
82
|
+
this.lastSelectionId = selectionEvent[0]?.id;
|
|
83
|
+
if (this.preservingCategoryFilter) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
const node = selectionEvent[0];
|
|
87
|
+
const newId = node ? this.categoryIdForSelection(node) : undefined;
|
|
88
|
+
if (newId !== this._categoryFilterId) {
|
|
89
|
+
this._categoryFilterId = newId;
|
|
90
|
+
this.updateFilteredRows(PreferenceFilterChangeSource.Category);
|
|
91
|
+
}
|
|
92
|
+
}),
|
|
73
93
|
this.treeGenerator.onSchemaChanged(newTree => this.handleNewSchema(newTree)),
|
|
74
94
|
this.scopeTracker.onScopeChanged(scopeDetails => {
|
|
75
95
|
this._currentScope = scopeDetails.scope;
|
|
76
96
|
this.updateFilteredRows(PreferenceFilterChangeSource.Scope);
|
|
97
|
+
this.ensureSelectedCategoryHasVisibleSettings();
|
|
77
98
|
}),
|
|
78
99
|
this.filterInput.onFilterChanged(newSearchTerm => {
|
|
79
100
|
this.lastSearchedTags = Array.from(newSearchTerm.matchAll(/@tag:([^\s]+)/g)).map(match => match[0].slice(5));
|
|
80
101
|
const newSearchTermWithoutTags = newSearchTerm.replace(/@tag:[^\s]+/g, '');
|
|
81
102
|
this.lastSearchedLiteral = newSearchTermWithoutTags;
|
|
82
103
|
this.lastSearchedFuzzy = newSearchTermWithoutTags.replace(/\s/g, '');
|
|
104
|
+
const wasFiltered = this._isFiltered;
|
|
83
105
|
this._isFiltered = newSearchTerm.length > 2;
|
|
84
|
-
if (this.
|
|
106
|
+
if (this._isFiltered) {
|
|
107
|
+
// Search results span all categories: drop the category filter and the
|
|
108
|
+
// now-stale selection so the tree matches the shown results.
|
|
109
|
+
this._categoryFilterId = undefined;
|
|
110
|
+
this.clearSelection();
|
|
85
111
|
this.expandAll();
|
|
86
112
|
}
|
|
87
113
|
else if (browser_1.CompositeTreeNode.is(this.root)) {
|
|
88
114
|
const root = this.root;
|
|
89
115
|
// Avoid intermediate selection events while collapsing.
|
|
90
116
|
this.withSuppressedSelection(() => this.collapseAll(root));
|
|
117
|
+
if (wasFiltered) {
|
|
118
|
+
this.selectDefaultCategory();
|
|
119
|
+
}
|
|
91
120
|
}
|
|
92
121
|
this.updateFilteredRows(PreferenceFilterChangeSource.Search);
|
|
93
122
|
}),
|
|
@@ -101,10 +130,88 @@ let PreferenceTreeModel = class PreferenceTreeModel extends browser_1.TreeModelI
|
|
|
101
130
|
}
|
|
102
131
|
handleNewSchema(newRoot) {
|
|
103
132
|
this.root = newRoot;
|
|
133
|
+
if (this._categoryFilterId && !this.getNode(this._categoryFilterId)) {
|
|
134
|
+
this._categoryFilterId = undefined;
|
|
135
|
+
}
|
|
104
136
|
if (this.isFiltered) {
|
|
105
137
|
this.expandAll();
|
|
106
138
|
}
|
|
107
139
|
this.updateFilteredRows(PreferenceFilterChangeSource.Schema);
|
|
140
|
+
this.restoreSelectionInNewTree();
|
|
141
|
+
this.ensureSelectedCategoryHasVisibleSettings();
|
|
142
|
+
this.applyInitialSelection();
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Re-applies the selection after the tree has been rebuilt with new node instances,
|
|
146
|
+
* e.g. when plugins contribute preferences after startup. The selection state resolves
|
|
147
|
+
* nodes by id, but the rebuilt node lacks the `selected` flag that drives the tree
|
|
148
|
+
* highlight. If the selected node is gone from the new schema, falls back to the
|
|
149
|
+
* default category.
|
|
150
|
+
*/
|
|
151
|
+
restoreSelectionInNewTree() {
|
|
152
|
+
if (!this.lastSelectionId) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
const node = this.getNode(this.lastSelectionId);
|
|
156
|
+
if (node && browser_1.SelectableTreeNode.is(node)) {
|
|
157
|
+
if (!node.selected) {
|
|
158
|
+
this.selectPreservingCategoryFilter(node);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
this.clearSelection();
|
|
163
|
+
this._initialSelectionApplied = false;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
applyInitialSelection() {
|
|
167
|
+
if (this._initialSelectionApplied) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
if (this.selectedNodes.length > 0) {
|
|
171
|
+
// Something is already selected, e.g. by the user before the schema change.
|
|
172
|
+
this._initialSelectionApplied = true;
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
if (this._isFiltered) {
|
|
176
|
+
// A search (e.g. restored on startup) is active; the default selection is
|
|
177
|
+
// applied when it is cleared instead.
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
if (this.selectDefaultCategory()) {
|
|
181
|
+
this._initialSelectionApplied = true;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Selects the 'Commonly Used' category, the default detail page of the settings editor.
|
|
186
|
+
* @returns `true` if the category was found and selected.
|
|
187
|
+
*/
|
|
188
|
+
selectDefaultCategory() {
|
|
189
|
+
const commonlyUsed = this.getNode(COMMONLY_USED_NODE_ID);
|
|
190
|
+
if (commonlyUsed && browser_1.SelectableTreeNode.is(commonlyUsed)) {
|
|
191
|
+
this.selectNode(commonlyUsed);
|
|
192
|
+
return true;
|
|
193
|
+
}
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Falls back to the default category when the selected category has no settings left to
|
|
198
|
+
* show, e.g. after switching to a scope in which none of its settings are valid. Otherwise
|
|
199
|
+
* the editor would show an empty page for a category the tree no longer lists. Clears the
|
|
200
|
+
* selection instead if the default category has no settings to show either.
|
|
201
|
+
*/
|
|
202
|
+
ensureSelectedCategoryHasVisibleSettings() {
|
|
203
|
+
if (!this._categoryFilterId || this.hasVisibleSettings(this._categoryFilterId)) {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
if (this.hasVisibleSettings(COMMONLY_USED_NODE_ID)) {
|
|
207
|
+
this.selectDefaultCategory();
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
this.clearSelection();
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
hasVisibleSettings(categoryId) {
|
|
214
|
+
return !!this._currentRows.get(categoryId)?.visibleChildren;
|
|
108
215
|
}
|
|
109
216
|
updateRows() {
|
|
110
217
|
const root = this.root;
|
|
@@ -220,17 +327,43 @@ let PreferenceTreeModel = class PreferenceTreeModel extends browser_1.TreeModelI
|
|
|
220
327
|
return node && preference_types_1.Preference.TreeNode.is(node) ? node : undefined;
|
|
221
328
|
}
|
|
222
329
|
/**
|
|
330
|
+
* Returns the id of the nearest composite (category) ancestor of `node`,
|
|
331
|
+
* inclusive of `node` itself. Returns `undefined` if no category ancestor is found.
|
|
332
|
+
*/
|
|
333
|
+
categoryIdForSelection(node) {
|
|
334
|
+
let current = node;
|
|
335
|
+
while (current) {
|
|
336
|
+
if (preference_types_1.Preference.TreeNode.is(current) && preference_types_1.Preference.CompositeTreeNode.is(current)) {
|
|
337
|
+
return current.id;
|
|
338
|
+
}
|
|
339
|
+
current = current.parent;
|
|
340
|
+
}
|
|
341
|
+
return undefined;
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Selects `node` to mirror the editor's scroll position in the tree. Unlike an explicit
|
|
345
|
+
* selection, this does not change the category filter: scrolling must never narrow the
|
|
346
|
+
* settings editor, only an explicit selection may.
|
|
223
347
|
* @returns true if selection changed, false otherwise
|
|
224
348
|
*/
|
|
225
349
|
selectIfNotSelected(node) {
|
|
226
350
|
const currentlySelected = this.selectedNodes[0];
|
|
227
351
|
if (!node.selected || node !== currentlySelected) {
|
|
228
|
-
node
|
|
229
|
-
this.selectNode(node);
|
|
352
|
+
this.selectPreservingCategoryFilter(node);
|
|
230
353
|
return true;
|
|
231
354
|
}
|
|
232
355
|
return false;
|
|
233
356
|
}
|
|
357
|
+
selectPreservingCategoryFilter(node) {
|
|
358
|
+
this.preservingCategoryFilter = true;
|
|
359
|
+
try {
|
|
360
|
+
node.selected = true;
|
|
361
|
+
this.selectNode(node);
|
|
362
|
+
}
|
|
363
|
+
finally {
|
|
364
|
+
this.preservingCategoryFilter = false;
|
|
365
|
+
}
|
|
366
|
+
}
|
|
234
367
|
};
|
|
235
368
|
exports.PreferenceTreeModel = PreferenceTreeModel;
|
|
236
369
|
tslib_1.__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preference-tree-model.js","sourceRoot":"","sources":["../../src/browser/preference-tree-model.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"preference-tree-model.js","sourceRoot":"","sources":["../../src/browser/preference-tree-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preference-tree-model.spec.d.ts","sourceRoot":"","sources":["../../src/browser/preference-tree-model.spec.ts"],"names":[],"mappings":""}
|