@theia/preferences 1.76.0-next.0 → 1.76.0-next.14

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.
@@ -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":"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"}
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.isFiltered) {
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.selected = true;
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=preference-tree-model.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preference-tree-model.spec.d.ts","sourceRoot":"","sources":["../../src/browser/preference-tree-model.spec.ts"],"names":[],"mappings":""}